:root{--bg: #12102a;--ink: #f7f5ff;--muted: #b9b4d9;--accent: #ff5964;--accent-2: #ffca3a;--panel: rgba(18, 16, 42, .8);--radius: 18px;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;overflow-x:hidden}body{min-height:100%;color:var(--ink);background:radial-gradient(circle at 20% 10%,#3b2a8a 0,transparent 40%),radial-gradient(circle at 80% 90%,#0f6e7a 0,transparent 45%),var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}#game{position:fixed;inset:0;width:100%;height:100%;display:none;touch-action:none}body.in-room #game{display:block}#game-hud{position:fixed;inset:0;z-index:2;display:none;pointer-events:none;overflow:hidden}body.in-room #game-hud{display:block}#app{position:relative;z-index:1;min-height:100%;padding:16px}body.in-room #app{position:fixed;inset:0;padding:0;pointer-events:none}.home{max-width:420px;margin:0 auto;padding-top:6vh;display:flex;flex-direction:column;gap:20px}.brand h1{margin:0;font-size:clamp(48px,14vw,88px);line-height:1;font-weight:900;letter-spacing:-.02em;background:linear-gradient(90deg,#ff5964,#ffca3a,#8ac926);-webkit-background-clip:text;background-clip:text;color:transparent}.tagline{margin:8px 0 0;color:var(--muted)}.card{display:grid;gap:16px;padding:20px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);background:var(--panel);backdrop-filter:blur(8px)}.field{display:grid;gap:6px;min-width:0;font-weight:600}.field>span{font-size:14px;color:var(--muted)}input{width:100%;min-width:0;padding:14px 16px;border:2px solid rgba(255,255,255,.14);border-radius:12px;background:#00000040;color:var(--ink);font:inherit;font-size:16px}input:focus{outline:none;border-color:var(--accent-2)}.swatches{display:flex;flex-wrap:wrap;gap:10px}.swatch{width:40px;height:40px;padding:0;border:3px solid transparent;border-radius:50%;cursor:pointer;box-shadow:inset 0 0 0 2px #00000026;transition:transform .1s}.swatch[aria-pressed=true]{border-color:#fff;transform:scale(1.12)}.hats{display:flex;flex-wrap:wrap;gap:8px}.hat-btn{display:grid;place-items:center;width:40px;height:40px;padding:0;border:3px solid transparent;border-radius:50%;background:#ffffff24;cursor:pointer;transition:transform .1s}.hat-btn[aria-pressed=true]{border-color:#fff;background:#ffffff47;transform:scale(1.12)}.my-stats{margin:0;font-size:14px;opacity:.8;text-align:center}.hat-mini{display:inline-flex;width:20px;height:20px;flex:none}.hat-mini svg{width:20px;height:20px}.btn{min-height:52px;padding:14px 22px;border:0;border-radius:999px;background:#fff;color:#1a1030;font:inherit;font-size:18px;font-weight:800;cursor:pointer;transition:transform .1s,opacity .2s}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:wait;transform:none}.btn:focus-visible{outline:3px solid var(--accent-2);outline-offset:3px}.btn.primary{width:100%;background:linear-gradient(135deg,#ff5964,#ffca3a)}.btn.secondary{background:#6ae3d4}.btn.small{min-height:40px;padding:8px 14px;background:#ffffff1f;color:var(--ink);font-size:14px}.join{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.join input{text-transform:uppercase;letter-spacing:.3em;font-weight:800}.divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:14px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#ffffff26}.error{margin:0;padding:12px 14px;border-radius:12px;background:#ff596426;color:#ffb3b8;font-weight:600}.hud{position:absolute;inset:0;pointer-events:none}.hud-panel{position:absolute;top:16px;left:16px;width:min(300px,calc(100% - 32px));display:grid;gap:12px;padding:16px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);background:var(--panel);box-shadow:0 10px 30px #00000059;backdrop-filter:blur(10px);pointer-events:auto}.hud-label{margin:0;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.room-code{font-size:44px;font-weight:900;line-height:1;letter-spacing:.12em;font-variant-numeric:tabular-nums}.players{display:grid;gap:6px;margin:0;padding:0;list-style:none}.players li{display:flex;align-items:center;gap:8px;font-weight:600}.dot{flex:none;width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 2px #fff3}.name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag{color:var(--accent-2);font-size:12px;font-weight:700}.ping{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.status{margin:0;color:var(--muted);font-size:14px}.fatal{display:grid;gap:10px;padding:12px;border-radius:12px;background:#ff59642e;pointer-events:auto}.fatal p{margin:0;font-weight:600}.hint{position:absolute;bottom:16px;left:50%;transform:translate(-50%);width:max-content;max-width:calc(100% - 32px);margin:0;padding:10px 16px;border-radius:999px;background:var(--panel);font-size:14px;text-align:center}.hud[data-phase=lobby] .hint{display:none}.lobby{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(420px,calc(100% - 32px));max-height:calc(100% - 32px);overflow-y:auto;display:grid;gap:16px;padding:22px;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);background:var(--panel);box-shadow:0 16px 40px #0006;backdrop-filter:blur(10px);pointer-events:auto}.lobby[hidden]{display:none}.lobby h2{margin:0;font-size:26px;font-weight:900;letter-spacing:-.01em}.lobby-game{display:grid;gap:8px}.lobby-section-label{margin:0;color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.game-picker{display:flex;flex-wrap:wrap;gap:8px}.game-picker[hidden]{display:none}.chip{min-height:44px;padding:10px 16px;border:2px solid rgba(255,255,255,.14);border-radius:999px;background:#00000040;color:var(--ink);font:inherit;font-weight:700;cursor:pointer}.chip[aria-pressed=true]{border-color:var(--accent-2);background:linear-gradient(135deg,#ff5964,#ffca3a);color:#1a1030}.chip:focus-visible{outline:3px solid var(--accent-2);outline-offset:3px}.game-name{margin:0;font-weight:700}.game-name[hidden]{display:none}.lobby-players{display:grid;gap:8px;margin:0;padding:0;list-style:none}.lobby-players li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#0003;font-weight:600}.lobby-players .name{flex:1}.ready-state{color:var(--muted);font-size:14px;font-weight:700;white-space:nowrap}.lobby-players li[data-ready=true] .ready-state{color:#8ac926}.lobby-actions{display:grid;gap:10px}.lobby-actions .btn[hidden]{display:none}.lobby-hint{margin:0;color:var(--muted);font-size:14px;text-align:center}.btn.secondary[aria-pressed=true]{background:#ffca3a}@media(max-width:480px){.room-code{font-size:36px}.lobby{top:auto;bottom:16px;transform:translate(-50%);max-height:62%;padding:18px}.lobby h2{font-size:22px}}.options{padding:14px 20px}.options summary{cursor:pointer;font-weight:800;list-style-position:inside}.options-body{display:grid;gap:14px;margin-top:14px}.field-label{margin:0;color:var(--muted);font-size:14px;font-weight:600}.lang-switch{display:flex;gap:8px}.lang-chip{min-width:64px}.check{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;font-weight:600;cursor:pointer}.check input{width:22px;height:22px;margin:0;padding:0;accent-color:var(--accent-2)}.check-hint{margin:-6px 0 0 34px;color:var(--muted);font-size:13px}.join .check,.join>.btn{grid-column:1 / -1}.publish{display:grid;gap:10px}.publish .field{margin-left:34px}.public-rooms{padding:14px 16px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);background:var(--panel);backdrop-filter:blur(8px)}.public-summary{cursor:pointer;color:var(--muted);font-size:14px;font-weight:700;letter-spacing:.04em;list-style-position:inside}.public-summary:focus-visible{outline:3px solid var(--accent-2);outline-offset:3px;border-radius:6px}.room-list{display:grid;gap:8px;margin:12px 0 0;padding:0;list-style:none}.room-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;background:#0003}.room-info{display:grid;min-width:0;gap:2px}.room-name{overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.room-meta,.room-empty{margin:0;color:var(--muted);font-size:13px}.room-empty{margin-top:10px}.room-row .btn.small{flex:none}.account{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;padding:12px 16px;border:1px solid rgba(255,255,255,.08);border-radius:var(--radius);background:var(--panel);backdrop-filter:blur(8px)}.account-line{margin:0;color:var(--muted);font-size:14px}.account-line strong{color:var(--ink)}.account-actions{display:flex;flex-wrap:wrap;gap:8px}.account .btn.small{min-height:36px;padding:6px 12px;font-size:14px}.account .btn.danger{background:#ff596438;color:#ffd0d4}.account-error{flex-basis:100%;margin:0;color:#ffb3b8;font-size:14px;font-weight:600}.panel-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.lang-switch .lang-chip{min-height:36px;padding:6px 12px;font-size:13px}.tag.muted,.ready-state.muted{color:var(--muted);font-weight:700}.players li[data-connected=false],.lobby-players li[data-connected=false]{opacity:.5}.kick-btn{flex:none;width:32px;height:32px;min-height:32px;padding:0;border:0;border-radius:50%;background:#ff596433;color:#ffb3b8;font:inherit;font-size:14px;font-weight:900;line-height:1;cursor:pointer}.kick-btn:hover{background:#ff596466}.kick-btn:focus-visible{outline:3px solid var(--accent-2);outline-offset:2px}.touch{position:fixed;inset:0;z-index:3;display:none;pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}body[data-phase=playing] .touch.touch-on{display:block}body[data-touch=off] .touch.touch-on{display:none}.touch-zone{position:absolute;left:0;top:28%;bottom:0;width:50%;pointer-events:auto;touch-action:none}.joy-base{position:absolute;left:0;top:0;width:120px;height:120px;border:2px solid rgba(255,255,255,.25);border-radius:50%;background:#12102a59;opacity:0;transition:opacity .12s;pointer-events:none}.joy-base.active{opacity:1}.joy-knob{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#b9b4d9);box-shadow:0 4px 14px #00000059;will-change:transform}.dash-btn{position:absolute;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));width:96px;height:96px;min-height:96px;padding:0;border:3px solid rgba(255,255,255,.75);border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffe27a,#ff5964 75%);color:#1a1030;font:inherit;font-size:16px;font-weight:900;letter-spacing:.08em;box-shadow:0 8px 22px #0006;pointer-events:auto;touch-action:none;transition:transform .06s,box-shadow .06s,filter .06s}.dash-btn.pressed{transform:scale(.92);filter:brightness(1.2);box-shadow:0 0 0 10px #ffca3a59,0 4px 12px #0006}body.in-room{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body.in-room .hud-panel{top:calc(16px + env(safe-area-inset-top,0px));left:calc(16px + env(safe-area-inset-left,0px))}body.in-room .hint{bottom:calc(16px + env(safe-area-inset-bottom,0px))}@media(max-width:480px){.hud-panel{width:min(260px,calc(100% - 32px));padding:12px}.room-code{font-size:36px}}@media(pointer:coarse){body.in-room .hint{display:none}}@media(max-width:480px){body[data-phase=playing] .hud-panel{top:calc(64px + env(safe-area-inset-top,0px));width:160px;padding:10px;gap:8px}body[data-phase=playing] .hud-panel .panel-row,body[data-phase=playing] .hud-panel .status{display:none}}.ip-notice{margin:0;color:var(--muted);font-size:13px;line-height:1.4}.ip-notice a{color:var(--accent-2);font-weight:700}.site-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;color:var(--muted);font-size:14px}.site-footer a{color:var(--ink);font-weight:600;padding:8px 4px}body.is-legal{height:auto;overflow:visible}.legal{max-width:760px;margin:0 auto;padding:8px 0 32px;display:grid;gap:16px}.legal-nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.legal-nav .btn.small{text-decoration:none}.legal-tabs{display:flex;flex-wrap:wrap;gap:8px;flex:1;min-width:0}.legal-tabs .chip{display:inline-flex;align-items:center;white-space:nowrap;text-decoration:none;color:var(--ink)}.legal-nav .lang-switch{margin-left:auto}.legal-doc{gap:20px;padding:clamp(18px,4vw,32px);line-height:1.6;overflow-wrap:anywhere}.legal-doc h1{margin:0;font-size:clamp(28px,7vw,40px);line-height:1.15;font-weight:900;letter-spacing:-.01em}.legal-intro{margin:0;color:var(--muted);font-size:17px}.legal-section{display:grid;gap:10px}.legal-doc h2{margin:8px 0 0;font-size:20px;line-height:1.25;color:var(--accent-2)}.legal-doc p,.legal-doc ul{margin:0}.legal-doc ul{padding-left:20px;display:grid;gap:6px}.legal-doc mark.todo{padding:0 4px;border-radius:6px;background:#ffca3a;color:#1a1030;font-weight:700}@media(max-width:480px){.legal{padding-bottom:24px}.legal-nav{display:grid;justify-items:start}.legal-tabs{width:100%;flex:none}.legal-nav .lang-switch{margin-left:0}}.game-chip{display:inline-flex;align-items:center;gap:8px}.vote-count{min-width:22px;padding:0 6px;border-radius:999px;background:var(--accent-2);color:#1a1030;font-size:12px;line-height:22px;text-align:center}.vote-count[hidden]{display:none}.voter-dots{display:inline-flex;gap:3px}.voter-dots .dot{width:10px;height:10px;box-shadow:none}.party-box{display:grid;gap:8px}.party-box[hidden]{display:none}.party-ranking{display:grid;gap:4px;margin:0;padding:0;list-style:none}.party-ranking li{display:flex;align-items:center;gap:8px;font-weight:600}.party-ranking .points{margin-left:auto;color:var(--muted);font-size:14px}body.tv #app{pointer-events:none}.tv{position:absolute;inset:0;pointer-events:none;color:var(--ink)}.tv-lobby{position:absolute;inset:0;z-index:1;pointer-events:auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:3vh;padding:4.5vh 4vw 4vh;overflow:hidden;background:radial-gradient(circle at 12% 0%,#3b2a8a 0,transparent 45%),radial-gradient(circle at 92% 100%,#0f6e7a 0,transparent 50%),var(--bg)}.tv-lobby[hidden]{display:none}.tv-top{display:flex;align-items:center;justify-content:space-between;gap:2vw}.tv-brand{margin:0;font-size:min(4.2vh,3vw);font-weight:900;letter-spacing:-.02em;background:linear-gradient(90deg,#ff5964,#ffca3a,#8ac926);-webkit-background-clip:text;background-clip:text;color:transparent}.tv-status{margin:0;color:var(--muted);font-size:min(2.6vh,2vw);font-weight:700}.tv-main{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:4vw;min-height:0}.tv-join{display:grid;align-content:center;justify-items:center;gap:2.2vh;min-height:0;text-align:center}.tv-qr{width:min(56vh,38vw);aspect-ratio:1;padding:2.4vh;border-radius:3vh;background:#fff;box-shadow:0 2vh 6vh #00000073}.tv-qr svg{display:block;width:100%;height:100%}.tv-scan{margin:0;font-size:min(3.6vh,2.6vw);font-weight:800;line-height:1.2}.tv-or{margin:0;color:var(--muted);font-size:min(2.6vh,1.9vw);font-weight:600}.tv-side{display:flex;flex-direction:column;gap:1.6vh;min-height:0}.tv-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:1.6vw 2.4vw}.tv-label{margin:0;color:var(--muted);font-size:min(2.6vh,2vw);font-weight:800;letter-spacing:.14em;text-transform:uppercase}.tv-code{font-size:min(15vh,11vw);font-weight:900;line-height:.95;letter-spacing:.1em;font-variant-numeric:tabular-nums;text-shadow:0 .6vh 2.4vh rgba(0,0,0,.35)}.tv-section{margin:1.2vh 0 0;color:var(--muted);font-size:min(2.6vh,2vw);font-weight:800;letter-spacing:.14em;text-transform:uppercase}.tv-games{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));gap:1.4vh}.tv-game{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:1.2vh;min-height:12vh;padding:2vh 1.6vw;border:3px solid rgba(255,255,255,.14);border-radius:2.4vh;background:#00000047;color:var(--ink);font:inherit;font-size:min(3vh,2.3vw);font-weight:800;line-height:1.15;text-align:left;cursor:pointer}.tv-game[aria-pressed=true]{border-color:var(--accent-2);background:linear-gradient(135deg,#ff5964,#ffca3a);color:#1a1030}.tv-game:focus-visible,.tv-start:focus-visible{outline:4px solid #ffffff;outline-offset:4px}.tv-game-name{padding-right:3vw}.tv-count{padding:.5vh 1vh;border-radius:999px;background:#1a1030;color:#fff;font-size:min(2.2vh,1.6vw);font-weight:800;white-space:nowrap}.tv-game[aria-pressed=true] .tv-count{background:#1a1030}.tv-voters{display:flex;flex-wrap:wrap;gap:.6vh}.tv-dot{flex:none;width:2.6vh;height:2.6vh;border-radius:50%;box-shadow:0 0 0 .3vh #ffffff40}.tv-players{flex:1 1 auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));align-content:start;gap:1.4vh;margin:0;padding:0;list-style:none;min-height:0;overflow:hidden}.tv-player{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;column-gap:1.2vw;row-gap:.6vh;padding:1.8vh 1.4vw;border:3px solid transparent;border-radius:2.2vh;background:#00000042}.tv-player[data-leader=true]{border-color:var(--accent-2)}.tv-player .tv-dot{grid-row:span 2;width:3.4vh;height:3.4vh}.tv-player[data-connected=false]{opacity:.45}.tv-pname-wrap{display:flex;align-items:center;gap:.8vw;min-width:0}.tv-pname{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:min(3.4vh,2.4vw);font-weight:800}.crown{flex:none;width:2.6vh;height:2.6vh;fill:var(--accent-2)}.tv-pstate{color:var(--muted);font-size:min(2.4vh,1.8vw);font-weight:800;white-space:nowrap}.tv-player[data-ready=true] .tv-pstate{color:#8ac926}.tv-pvote{grid-column:2 / 4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:min(2.2vh,1.6vw);font-weight:700}.tv-empty{display:block;grid-column:1 / -1;padding:3vh 2vw;border:3px dashed rgba(255,255,255,.2);background:transparent;color:var(--muted);font-size:min(3vh,2.2vw);font-weight:700;text-align:center}.tv-bottom{display:flex;align-items:center;justify-content:space-between;gap:3vw}.tv-hint{margin:0;color:var(--muted);font-size:min(3vh,2.2vw);font-weight:700}.tv-start-wrap{display:grid;justify-items:center;gap:.8vh}.tv-start{min-height:9vh;padding:0 4vw;border:0;border-radius:999px;background:linear-gradient(135deg,#ff5964,#ffca3a);color:#1a1030;font:inherit;font-size:min(3.8vh,2.8vw);font-weight:900;box-shadow:0 1vh 3vh #00000059;cursor:pointer}.tv-start:disabled{opacity:.45;cursor:default}.tv-enter{margin:0;color:var(--muted);font-size:min(2.2vh,1.6vw);font-weight:700}.tv-fatal{position:absolute;left:50%;top:50%;z-index:2;display:grid;gap:2vh;width:min(60vw,900px);padding:3vh 3vw;border-radius:3vh;background:#ff596438;transform:translate(-50%,-50%);pointer-events:auto}.tv-fatal p{margin:0;font-size:min(3.2vh,2.4vw);font-weight:700}.tv-badge{position:absolute;left:2vw;bottom:3vh;display:flex;align-items:center;gap:1.2vh;padding:1.2vh 1.6vw;border-radius:999px;background:var(--panel);color:var(--ink);pointer-events:none}.tv-badge-label{color:var(--muted);font-size:min(2.2vh,1.6vw);font-weight:800;letter-spacing:.12em;text-transform:uppercase}.tv-badge-code{font-size:min(3.4vh,2.4vw);font-weight:900;letter-spacing:.14em}body.pad #game{display:none}body.pad #app{pointer-events:auto;overflow:hidden}.pad{--pad-accent: #ff5964;position:absolute;inset:0;display:grid;grid-template-rows:auto minmax(0,1fr);padding:calc(12px + env(safe-area-inset-top,0px)) calc(16px + env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) calc(16px + env(safe-area-inset-left,0px));overflow:hidden;color:var(--ink);background:radial-gradient(circle at 50% -15%,color-mix(in srgb,var(--pad-accent) 55%,transparent) 0,transparent 58%),var(--bg);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;overscroll-behavior:none}.pad .pad-top{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px}.pad .pad-dot{width:16px;height:16px;box-shadow:0 0 0 3px #ffffff4d}.pad .pad-label{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.pad .pad-code{font-size:26px;font-weight:900;line-height:1;letter-spacing:.12em}.pad .pad-status{margin:0 0 0 auto;color:var(--muted);font-size:13px;font-weight:700}.pad .pad-top .lang-switch .lang-chip{min-width:44px;min-height:34px}.pad-lobby,.pad-play{grid-row:2;min-height:0}.pad-lobby{display:grid;align-content:start;gap:14px;overflow-y:auto;padding:14px 0 12px;-webkit-overflow-scrolling:touch}.pad-lobby[hidden],.pad-play[hidden]{display:none}.pad-state{margin:0;color:var(--ink);font-size:16px;font-weight:700;opacity:.85}.pad-ready{min-height:96px;padding:16px 20px;border:0;border-radius:28px;background:#fff;color:#1a1030;font:inherit;font-size:26px;font-weight:900;box-shadow:0 8px 22px #0000004d;cursor:pointer}.pad-ready[aria-pressed=true]{background:linear-gradient(135deg,#8ac926,#ffca3a)}.pad-ready:active{transform:scale(.98)}.pad-ready:disabled{opacity:.55}.pad-games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pad .pad-game{display:flex;align-items:center;justify-content:space-between;min-height:60px;padding:10px 14px;border-radius:18px;font-size:16px;line-height:1.15;text-align:left}.pad .pad-game .vote-count{flex:none}.pad-players{display:grid;gap:8px;margin:0;padding:0;list-style:none}.pad-players li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:#00000038;font-weight:600}.pad-players li[data-connected=false]{opacity:.5}.pad-players li[data-self=true]{box-shadow:inset 0 0 0 2px var(--pad-accent)}.pad-players .name{flex:1}.pad-hint{margin:0;color:var(--muted);font-size:15px;line-height:1.35;text-align:center}.pad-start{width:100%;min-height:64px}.pad-play{position:relative}.pad-play-top{position:absolute;top:0;left:0;right:0;z-index:1;display:grid;gap:4px;pointer-events:none}.pad-play-name{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(30px,9vw,44px);font-weight:900;line-height:1.05;color:var(--pad-accent);text-shadow:0 2px 10px rgba(0,0,0,.35)}.pad-play-top .pad-state{font-size:17px}.pad-banner{position:absolute;left:50%;top:36%;z-index:2;margin:0;padding:14px 22px;border-radius:999px;background:#ffca3af5;color:#1a1030;font-size:22px;font-weight:900;white-space:nowrap;transform:translate(-50%);box-shadow:0 8px 24px #00000059;pointer-events:none}.pad-controls{position:absolute;inset:0;touch-action:none}.pad-surface{position:absolute;inset:0;touch-action:none;overflow:hidden}.pad-surface[hidden],.pad-play.has-controller .pad-play-top,.pad[data-phase=lobby] .pad-controls{display:none}.pad-controls .touch-zone{top:0;width:62%;bottom:0}.pad-controls .joy-base{width:144px;height:144px}.pad-controls .joy-knob{width:64px;height:64px;margin:-32px 0 0 -32px}.pad-controls .dash-btn{right:calc(22px + env(safe-area-inset-right,0px));bottom:calc(26px + env(safe-area-inset-bottom,0px));width:136px;height:136px;min-height:136px;font-size:18px}@media(orientation:landscape)and (max-height:560px){.pad-lobby{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:18px;align-content:start}.pad-lobby>.pad-ready,.pad-lobby>.pad-hint,.pad-lobby>.pad-start{grid-column:1 / -1}.pad-ready{min-height:72px;font-size:22px}.pad-play-name{font-size:32px}}body{background-repeat:no-repeat;background-size:130% 130%;animation:backdrop-drift 28s ease-in-out infinite alternate}@keyframes backdrop-drift{0%{background-position:0% 0%}to{background-position:100% 100%}}.card{box-shadow:0 24px 60px -28px #000000b3}.btn.primary{box-shadow:0 10px 26px -10px #ff5964b3}.btn.primary:hover{filter:brightness(1.06)}
