:root{color:#eef2ff;font-synthesis:none;text-rendering:optimizelegibility;--bg:#090d18;--surface:#111827;--surface-2:#172033;--surface-3:#202a40;--text:#f8fafc;--muted:#96a2b8;--line:#ffffff1a;--primary:#7c5cff;--primary-2:#9b87ff;--red:#e84c61;--yellow:#f6c84c;--green:#45bd84;--blue:#4d8df7;--danger:#ff6b7a;--shadow:0 24px 80px #00000059;background:#090d18;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--bg);min-width:320px}body{background:radial-gradient(circle at 10% -10%, #7c5cff38, transparent 34rem), radial-gradient(circle at 95% 20%, #4d8df71c, transparent 30rem), var(--bg);min-width:320px;min-height:100vh;color:var(--text);margin:0}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #9b87ff8c}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.app-shell{width:min(1480px,100%);margin:0 auto;padding:18px clamp(14px,3vw,34px) 42px}.home-shell{place-content:center;gap:22px;min-height:100vh;padding:28px 18px;display:grid}.hero-card,.panel,.score-sheet,.action-panel,.dice-section,.activity-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(145deg,#172033f5,#0e1422f5);border-radius:24px}.hero-card{width:min(580px,100vw - 28px);padding:clamp(24px,5vw,48px)}.hero-card h1{letter-spacing:-.055em;max-width:8ch;margin:32px 0 8px;font-size:clamp(2.1rem,7vw,4rem);line-height:.98}.lead{color:var(--muted);margin:0 0 30px;font-size:1.05rem;line-height:1.65}.brand{align-items:center;gap:14px;display:flex}.brand__mark{border:1px solid var(--line);background:#ffffff0f;border-radius:14px;align-items:center;gap:3px;padding:8px;display:flex;transform:rotate(-2deg)}.brand__mark span{aspect-ratio:1;color:#fff;border-radius:8px;place-items:center;width:28px;font-size:.78rem;font-weight:900;display:grid}.brand__mark span:first-child{background:var(--red)}.brand__mark span:nth-child(2){background:var(--yellow);color:#332600}.brand__mark span:nth-child(3){background:var(--blue)}.brand strong{letter-spacing:-.035em;font-size:1.3rem;display:block}.brand small{color:var(--muted);margin-top:2px;display:block}.brand--compact .brand__mark{border-radius:11px;padding:5px}.brand--compact .brand__mark span{border-radius:6px;width:21px;font-size:.64rem}.brand--compact strong{font-size:1.05rem}.field{gap:8px;margin-bottom:14px;display:grid}.field>span,.setting-row>span{color:var(--muted);font-size:.83rem;font-weight:750}input,select{border:1px solid var(--line);width:100%;min-height:48px;color:var(--text);background:#03071273;border-radius:13px;padding:0 14px}input::placeholder{color:#657086}.code-input{font-variant-numeric:tabular-nums;letter-spacing:.2em;font-weight:900}.button{cursor:pointer;border:1px solid #0000;border-radius:13px;min-height:44px;padding:0 18px;font-weight:800;transition:transform .16s,background .16s,border-color .16s}.button:not(:disabled):hover{transform:translateY(-1px)}.button--primary{background:linear-gradient(135deg, var(--primary), #6346e8);color:#fff;box-shadow:0 10px 28px #7c5cff40}.button--secondary{color:#172033;background:#ecf0ff}.button--ghost{border-color:var(--line);color:var(--text);background:#ffffff0e}.button--large{width:100%;min-height:54px}.button--small{min-height:36px;padding:0 12px;font-size:.84rem}.button--roll{min-width:180px;min-height:58px;font-size:1.05rem}.icon-button{border:1px solid var(--line);cursor:pointer;background:#ffffff0f;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.divider{color:var(--muted);align-items:center;gap:12px;margin:24px 0 18px;font-size:.8rem;display:flex}.divider:before,.divider:after{content:"";background:var(--line);flex:1;height:1px}.join-grid{grid-template-columns:1fr auto auto;align-items:end;gap:10px;display:grid}.join-grid .field{margin:0}.connection-pill{width:max-content;color:var(--muted);align-items:center;gap:7px;margin:22px auto 0;font-size:.78rem;display:flex}.connection-pill span{background:#697386;border-radius:50%;width:8px;height:8px}.connection-pill.is-online span{background:var(--green);box-shadow:0 0 0 5px #45bd841f}.connection-pill.is-offline span{background:var(--danger)}.connection-pill.compact{margin:0 0 0 auto}.feature-row{grid-template-columns:repeat(3,1fr);gap:10px;width:min(580px,100vw - 28px);display:grid}.feature-row article{border:1px solid var(--line);background:#111827b8;border-radius:16px;padding:14px}.feature-row strong,.feature-row span{display:block}.feature-row strong{font-size:.83rem}.feature-row span{color:var(--muted);margin-top:3px;font-size:.72rem}.topbar{align-items:center;gap:14px;min-height:58px;margin-bottom:18px;display:flex}.topbar>.button:last-child{margin-left:auto}.room-mini{align-items:baseline;gap:7px;margin-left:10px;display:flex}.room-mini span{color:var(--muted);font-size:.72rem}.room-mini strong{letter-spacing:.12em}.lobby-grid{grid-template-columns:minmax(250px,.72fr) minmax(380px,1.45fr);align-items:start;gap:18px;display:grid}.panel{padding:24px}.invite-panel{text-align:center;grid-row:span 2}.invite-panel h1{letter-spacing:.13em;margin:4px 0 10px;font-size:clamp(2.6rem,7vw,5.2rem)}.invite-panel p{color:var(--muted);line-height:1.6}.invite-panel code{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);margin-top:16px;font-size:.7rem;display:block;overflow:hidden}.qr-wrap{background:#fff;border-radius:18px;width:max-content;margin:20px auto;padding:10px}.eyebrow{color:var(--primary-2);text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:900}.panel-heading{justify-content:space-between;align-items:start;gap:15px;margin-bottom:20px;display:flex}.panel-heading h2{letter-spacing:-.035em;margin:4px 0 0;font-size:1.45rem}.tag{color:#c7bcff;background:#7c5cff24;border-radius:999px;align-items:center;min-height:22px;margin-left:7px;padding:0 8px;font-size:.68rem;font-weight:800;display:inline-flex}.tag--warning{color:#f7d874;background:#f6c84c1f}.lobby-players{gap:9px;margin-bottom:18px;display:grid}.lobby-player{border:1px solid var(--line);background:#ffffff06;border-radius:15px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:12px;display:grid}.avatar,.ranking-avatar{aspect-ratio:1;background:var(--surface-3);border-radius:13px;place-items:center;width:42px;font-weight:900;display:grid}.lobby-player strong,.lobby-player small{display:block}.lobby-player small{color:var(--muted);margin-top:2px;font-size:.75rem}.ready-dot{background:#5b6474;border-radius:50%;width:9px;height:9px}.ready-dot.is-ready{background:var(--green);box-shadow:0 0 0 5px #45bd841c}.host-actions{border-top:1px solid var(--line);gap:10px;margin-top:14px;padding-top:18px;display:grid}.host-actions small{color:var(--muted);text-align:center}.settings-panel{gap:12px;display:grid}.setting-row{border-top:1px solid var(--line);grid-template-columns:1fr minmax(130px,.6fr);align-items:center;gap:14px;padding:10px 0;display:grid}.setting-row select{min-height:42px}.setting-row input[type=checkbox]{appearance:none;cursor:pointer;background:#384157;border-radius:999px;justify-self:end;width:48px;height:27px;min-height:27px;padding:3px}.setting-row input[type=checkbox]:after{content:"";background:#fff;border-radius:50%;width:19px;height:19px;transition:transform .18s;display:block}.setting-row input[type=checkbox]:checked{background:var(--primary)}.setting-row input[type=checkbox]:checked:after{transform:translate(19px)}.player-strip{scrollbar-width:thin;gap:9px;padding:3px 1px 12px;display:flex;overflow-x:auto}.player-chip{border:1px solid var(--line);cursor:pointer;text-align:left;background:#111827d6;border-radius:15px;flex:none;grid-template-columns:auto 1fr auto;align-items:center;gap:9px;min-width:160px;padding:9px 11px;display:grid}.player-chip.is-selected{background:#7c5cff1c;border-color:#9b87ff9e}.player-chip.is-active{box-shadow:inset 0 0 0 1px #45bd8473}.player-chip__avatar{aspect-ratio:1;background:var(--surface-3);border-radius:10px;place-items:center;width:34px;font-weight:900;display:grid}.player-chip strong,.player-chip small{text-overflow:ellipsis;white-space:nowrap;max-width:92px;display:block;overflow:hidden}.player-chip small{color:var(--muted);margin-top:2px;font-size:.7rem}.player-chip i{color:var(--green);font-size:.7rem;font-style:normal}.game-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:18px;display:grid}.game-main{gap:16px;min-width:0;display:grid}.dice-section{z-index:4;isolation:isolate;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:16px 20px;display:grid;position:relative;overflow:visible}.dice-section:before{content:"";border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(circle at 42%,#9b87ff33,#0000 58%);transition:opacity .2s;position:absolute;inset:0}.dice-section.is-rolling:before{opacity:1;animation:.72s ease-in-out infinite alternate diceGlow}.dice-section--empty{grid-template-columns:minmax(0,1fr) auto}.white-total{z-index:1;border-right:1px solid var(--line);text-align:center;min-width:80px;padding-right:18px;position:relative}.white-total span,.white-total strong{display:block}.white-total span{color:var(--muted);font-size:.7rem}.white-total strong{font-variant-numeric:tabular-nums;margin-top:4px;font-size:2rem;line-height:1}.white-total.is-rolling strong{animation:.16s steps(2,end) infinite totalFlicker}.white-total.has-landed strong{animation:.5s cubic-bezier(.2,1.45,.35,1) totalLand}.dice-tray{z-index:1;scrollbar-width:thin;perspective:800px;align-items:center;gap:10px;min-width:0;padding:8px 3px 10px;display:flex;position:relative;overflow:auto visible}.die{--die-delay:calc(var(--die-index) * 37ms);aspect-ratio:1;transform-origin:50% 70%;width:54px;transform-style:preserve-3d;will-change:transform, filter;background:#f6f7fb;border-radius:14px;flex:none;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:2px;padding:9px;display:grid;box-shadow:inset 0 -4px #0000001f,0 8px 15px #0000002e}.die i{border-radius:50%;transition:opacity 70ms linear}.die i.is-on{background:#182035;box-shadow:inset 0 1px 1px #ffffff40}.die--red{background:var(--red)}.die--yellow{background:var(--yellow)}.die--green{background:var(--green)}.die--blue{background:var(--blue)}.die--red i.is-on,.die--green i.is-on,.die--blue i.is-on{background:#fff}.die.is-rolling{animation:diceTumble .54s cubic-bezier(.42,0,.58,1) var(--die-delay) infinite;filter:saturate(1.08)}.die.has-landed{animation:diceLand .5s cubic-bezier(.18,1.55,.28,1) var(--die-delay) both}.die.is-locked{color:#8992a3;opacity:.72;background:#333b4b;place-items:center}.die__lock{grid-area:1/1/4/4;place-items:center;font-size:1.7rem;display:grid}.dice-placeholder{border:1px dashed var(--line);text-align:center;min-width:0;color:var(--muted);border-radius:20px;padding:24px}.dice-effects{z-index:6;justify-self:end;position:relative}.dice-effects summary{border:1px solid var(--line);min-height:38px;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff0e;border-radius:12px;align-items:center;gap:7px;padding:0 11px;font-size:.76rem;font-weight:800;list-style:none;display:inline-flex}.dice-effects summary::-webkit-details-marker{display:none}.dice-effects[open] summary{color:var(--text);background:#7c5cff21;border-color:#9b87ff73}.dice-effects__panel{border:1px solid var(--line);background:#161e30;border-radius:15px;width:min(270px,100vw - 32px);padding:14px;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 20px 55px #00000080}.dice-effects__panel>strong{margin-bottom:8px;font-size:.85rem;display:block}.dice-effects__panel>small{color:var(--muted);margin-top:8px;font-size:.68rem;line-height:1.4;display:block}.effect-toggle{border-top:1px solid var(--line);min-height:38px;color:var(--muted);justify-content:space-between;align-items:center;gap:14px;font-size:.78rem;display:flex}.effect-toggle input{appearance:none;cursor:pointer;background:#384157;border:0;border-radius:999px;width:40px;height:23px;min-height:23px;padding:3px}.effect-toggle input:after{content:"";background:#fff;border-radius:50%;width:17px;height:17px;transition:transform .18s;display:block}.effect-toggle input:checked{background:var(--primary)}.effect-toggle input:checked:after{transform:translate(17px)}.effect-toggle.is-disabled{opacity:.45}.effect-toggle input:disabled{cursor:not-allowed}@keyframes diceTumble{0%{transform:translateY(1px)rotateX(0)rotateY(0)rotate(0)scale(1)}24%{transform:translate3d(2px,-10px,20px)rotateX(92deg)rotateY(70deg)rotate(38deg)scale(1.05)}52%{transform:translate3d(-3px,-4px,10px)rotateX(182deg)rotateY(148deg)rotate(105deg)scale(.98)}78%{transform:translate3d(3px,-12px,18px)rotateX(276deg)rotateY(236deg)rotate(165deg)scale(1.04)}to{transform:translateY(1px)rotateX(360deg)rotateY(360deg)rotate(220deg)scale(1)}}@keyframes diceLand{0%{filter:brightness(1.18);transform:translateY(-11px)rotate(-8deg)scale(.92)}58%{transform:translateY(3px)rotate(2deg)scale(1.11,.91)}78%{transform:translateY(-2px)rotate(-1deg)scale(.98,1.03)}to{filter:brightness();transform:translateY(0)rotate(0)scale(1)}}@keyframes diceGlow{to{opacity:.72}}@keyframes totalFlicker{50%{opacity:.55;transform:translateY(-1px)}}@keyframes totalLand{0%{opacity:.35;transform:scale(.7)}70%{transform:scale(1.25)}to{opacity:1;transform:scale(1)}}.action-panel{min-height:110px;box-shadow:none;align-items:center;gap:18px;padding:18px 20px;display:flex}.action-panel__status{min-width:min(360px,50%)}.action-panel__status strong,.action-panel__status small{display:block}.action-panel__status strong{margin-top:4px;font-size:1.1rem}.action-panel__status small{color:var(--muted);margin-top:4px;line-height:1.45}.action-panel--finished{background:linear-gradient(135deg,#7c5cff40,#172033f5)}.action-panel--rolling{background:linear-gradient(135deg,#7c5cff2b,#172033f5)}.roll-status{justify-content:center;align-items:center;gap:7px;min-width:70px;display:flex}.roll-status i{background:#f7f8ff;border-radius:4px;width:11px;height:11px;animation:.72s ease-in-out infinite rollStatus;box-shadow:inset 0 -2px #0000002e}.roll-status i:nth-child(2){background:var(--yellow);animation-delay:.12s}.roll-status i:nth-child(3){background:var(--red);animation-delay:.24s}@keyframes rollStatus{50%{transform:translateY(-8px)rotate(135deg)}}.action-panel h2{margin:4px 0}.action-panel p{color:var(--muted)}.waiting-text,.hint-arrow{color:var(--muted);flex:1;font-size:.85rem}.choice-confirmed{color:#8be0b3;flex:1;font-weight:750}.turn-timer{background:conic-gradient(var(--primary) var(--progress), #ffffff14 0);border-radius:50%;flex:none;place-items:center;width:54px;height:54px;margin-left:auto;display:grid;position:relative}.turn-timer:after{content:"";background:var(--surface);border-radius:50%;position:absolute;inset:5px}.turn-timer strong{z-index:1;font-size:.8rem;position:relative}.turn-timer.is-urgent{background:conic-gradient(var(--danger) var(--progress), #ffffff14 0);animation:1s infinite pulse}@keyframes pulse{50%{transform:scale(1.06)}}.score-sheet{box-shadow:none;overflow:hidden}.score-sheet__header{border-bottom:1px solid var(--line);background:#ffffff08;justify-content:space-between;align-items:center;gap:12px;padding:15px 18px;display:flex}.score-sheet__header strong{font-size:1.06rem}.score-total{color:#d9d2ff;font-weight:900}.rows{gap:7px;padding:12px;display:grid}.score-row{grid-template-columns:52px minmax(0,1fr) 34px;align-items:center;gap:8px;display:grid}.score-row__label{text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:850}.score-row--red .score-row__label{color:#ff8594}.score-row--yellow .score-row__label{color:#ffe287}.score-row--green .score-row__label{color:#83ddb0}.score-row--blue .score-row__label{color:#8eb7ff}.score-row__numbers{grid-template-columns:repeat(11,minmax(31px,1fr)) 34px;gap:4px;min-width:0;display:grid}.number-cell,.lock-cell{aspect-ratio:1;background:#ffffff0e;border:1px solid #ffffff1f;border-radius:9px;place-items:center;min-width:0;font-size:clamp(.68rem,1.5vw,.9rem);font-weight:850;display:grid}.number-cell{cursor:default;padding:0}.number-cell:disabled{opacity:1}.number-cell.is-marked{color:#fff;font-size:1.45rem}.score-row--red .number-cell.is-marked{background:var(--red);border-color:#0000}.score-row--yellow .number-cell.is-marked{background:var(--yellow);color:#372a00;border-color:#0000}.score-row--green .number-cell.is-marked{background:var(--green);border-color:#0000}.score-row--blue .number-cell.is-marked{background:var(--blue);border-color:#0000}.number-cell.is-skipped{opacity:.25;background:repeating-linear-gradient(135deg,#ffffff08 0 4px,#0000001f 4px 8px)}.number-cell.is-available{cursor:pointer;border-color:#fff;animation:1.2s infinite available;transform:translateY(-1px)}.score-row--red .number-cell.is-available{box-shadow:0 0 0 3px #e84c6147,0 7px 20px #e84c6140}.score-row--yellow .number-cell.is-available{box-shadow:0 0 0 3px #f6c84c47,0 7px 20px #f6c84c2e}.score-row--green .number-cell.is-available{box-shadow:0 0 0 3px #45bd8447,0 7px 20px #45bd8433}.score-row--blue .number-cell.is-available{box-shadow:0 0 0 3px #4d8df747,0 7px 20px #4d8df740}@keyframes available{50%{filter:brightness(1.35)}}.number-cell.is-final{border-width:2px}.lock-cell{font-size:1rem}.lock-cell.is-owned{color:#111827;background:#f8fafc}.lock-cell.is-closed:not(.is-owned){opacity:.45}.score-row.is-locked .score-row__label:after{content:" ✓"}.row-score{background:#ffffff0f;border-radius:9px;place-items:center;height:32px;font-size:.78rem;font-weight:900;display:grid}.score-sheet__footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:14px 18px;display:flex}.penalties{align-items:center;gap:6px;display:flex}.penalties>span{color:var(--muted);margin-right:3px;font-size:.72rem}.penalties i{border:1px solid var(--line);width:31px;height:28px;color:var(--muted);border-radius:8px;place-items:center;font-size:.65rem;font-style:normal;display:grid}.penalties i.is-filled{background:var(--danger);color:#fff;border-color:#0000;font-size:1rem}.score-formula{align-items:center;gap:8px;font-size:.85rem;display:flex}.score-formula b{color:var(--muted)}.score-formula strong{font-size:1.1rem}.score-sheet--compact .score-sheet__footer{display:none}.score-sheet--compact .score-row{grid-template-columns:42px minmax(0,1fr) 30px}.score-sheet--compact .number-cell,.score-sheet--compact .lock-cell{border-radius:7px}.activity-panel{box-shadow:none;position:sticky;top:12px;overflow:hidden}.activity-panel details+details{border-top:1px solid var(--line)}.activity-panel summary,.all-sheets summary{cursor:pointer;justify-content:space-between;padding:15px 17px;font-weight:850;list-style:none;display:flex}.activity-panel summary::-webkit-details-marker{display:none}.all-sheets summary::-webkit-details-marker{display:none}.activity-panel summary span{text-align:center;min-width:24px;color:var(--muted);background:#ffffff12;border-radius:999px;padding:3px 6px;font-size:.7rem}.activity-list,.chat-list{max-height:360px;padding:0 14px 14px;overflow-y:auto}.activity{border-top:1px solid #ffffff0e;grid-template-columns:38px 1fr;gap:8px;margin:0;padding:8px 0;font-size:.76rem;line-height:1.4;display:grid}.activity time{color:#68738a}.activity--lock span,.activity--finish span{color:#d2caff;font-weight:800}.activity--penalty span{color:#ff9aa5}.chat-message{border-top:1px solid #ffffff0e;margin:0;padding:8px 0}.chat-message strong,.chat-message span{font-size:.78rem;display:block}.chat-message span{color:var(--muted);overflow-wrap:anywhere;margin-top:2px;line-height:1.45}.chat-form{border-top:1px solid var(--line);grid-template-columns:1fr auto;gap:8px;padding:12px;display:grid}.chat-form input{min-height:40px}.muted{color:var(--muted);font-size:.78rem}.all-sheets{border:1px solid var(--line);border-radius:18px;overflow:hidden}.all-sheets__grid{gap:12px;padding:0 12px 12px;display:grid}.ranking-list{gap:8px;display:grid}.ranking-row{border:1px solid var(--line);border-radius:14px;grid-template-columns:34px auto 1fr auto;align-items:center;gap:11px;padding:11px;display:grid}.rank-number{text-align:center;font-size:1.3rem;font-weight:950}.ranking-row small{color:var(--muted);margin-top:3px;font-size:.7rem;display:block}.ranking-row.rank-1{background:linear-gradient(90deg,#f6c84c21,#0000);border-color:#f6c84c47}.toast{z-index:50;left:50%;bottom:max(18px, env(safe-area-inset-bottom));color:#151b2a;max-width:min(520px,100vw - 28px);box-shadow:var(--shadow);background:#e9edff;border-radius:13px;align-items:center;gap:16px;padding:12px 16px;font-weight:700;display:flex;position:fixed;transform:translate(-50%)}.toast--error{color:#7c1e2a;background:#ffe7ea}.toast button{color:inherit;cursor:pointer;background:0 0;border:0;font-size:1.2rem}.busy-indicator{z-index:60;border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#070a12d1;border-radius:999px;gap:5px;padding:8px 12px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.busy-indicator i{background:var(--primary-2);border-radius:50%;width:6px;height:6px;animation:1s infinite alternate busy}.busy-indicator i:nth-child(2){animation-delay:.2s}.busy-indicator i:nth-child(3){animation-delay:.4s}@keyframes busy{to{opacity:.45;transform:translateY(-4px)}}@media (width<=980px){.lobby-grid{grid-template-columns:1fr}.invite-panel{grid-row:auto}.game-layout{grid-template-columns:1fr}.activity-panel{position:static}.activity-panel details{display:block}.activity-list,.chat-list{max-height:240px}}@media (width<=720px){.app-shell{padding:8px 8px 24px}.topbar{margin-bottom:8px}.game-topbar .brand strong{display:none}.room-mini{margin-left:0}.connection-pill.compact{font-size:0}.join-grid{grid-template-columns:1fr 1fr}.join-grid .field{grid-column:1/-1}.feature-row{grid-template-columns:1fr}.lobby-grid{gap:10px}.panel{border-radius:19px;padding:17px}.invite-panel .qr-wrap svg{width:150px;height:150px}.dice-section{border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:12px}.dice-section--empty{grid-template-columns:minmax(0,1fr) auto}.white-total{min-width:59px;padding-right:9px}.white-total span{font-size:.62rem}.white-total strong{font-size:1.7rem}.dice-tray{gap:8px;padding-right:4px}.die{border-radius:11px;width:43px;padding:7px}.dice-effects summary{justify-content:center;width:38px;padding:0}.dice-effects summary b{display:none}.action-panel{border-radius:16px;flex-wrap:wrap;gap:9px;min-height:96px;padding:12px}.action-panel__status{flex:1;min-width:calc(100% - 74px)}.action-panel__status strong{font-size:1rem}.action-panel__status small{font-size:.75rem;line-height:1.32}.action-panel .hint-arrow,.action-panel .choice-confirmed,.action-panel .waiting-text{order:3;min-width:55%}.action-panel .button:not(.button--roll){order:4}.score-sheet{border-radius:16px;overflow:hidden}.score-sheet__header{padding:8px 10px}.score-sheet__header strong{font-size:.9rem}.rows{gap:4px;min-width:0;padding:6px}.score-row{grid-template-columns:31px minmax(0,1fr) 22px;gap:3px}.score-row__label{box-shadow:none;letter-spacing:0;background:0 0;padding:0;font-size:.56rem;position:static}.score-row__numbers{grid-template-columns:repeat(11,minmax(0,1fr)) minmax(20px,1fr);gap:2px}.number-cell,.lock-cell{aspect-ratio:auto;border-radius:6px;width:100%;min-width:0;height:clamp(27px,8.4vw,34px);font-size:clamp(.56rem,2.5vw,.72rem)}.number-cell.is-marked{font-size:1rem}.number-cell.is-available{z-index:1;box-shadow:0 0 0 2px,0 0 14px}.lock-cell{font-size:.76rem}.row-score{border-radius:6px;height:27px;font-size:.66rem}.score-sheet__footer{align-items:center;min-width:0;padding:7px 9px}.penalties{gap:3px}.penalties>span{font-size:.6rem}.penalties i{border-radius:6px;width:23px;height:22px;font-size:.55rem}.score-formula{gap:5px;font-size:.72rem}.score-formula strong{font-size:.9rem}.player-chip{min-width:126px;padding:6px 8px}.player-chip__avatar{width:28px}.player-chip strong{font-size:.78rem}.player-chip small{font-size:.62rem}}@media (width<=520px){.dice-section{grid-template-columns:auto minmax(0,1fr)}.dice-effects{position:absolute;top:10px;right:10px}.dice-tray{grid-column:1/-1;width:100%;padding-top:4px}.white-total{text-align:left;border-right:0;align-items:baseline;gap:8px;padding-right:48px;display:flex}.white-total span,.white-total strong{display:inline}.dice-section--empty{min-height:76px}.dice-section--empty .dice-placeholder{padding-right:50px}}@media (width<=430px){.hero-card{padding:22px 18px}.hero-card h1{margin-top:26px}.join-grid{grid-template-columns:1fr}.join-grid .field{grid-column:auto}.feature-row{display:none}.home-shell{padding:14px}.lobby-player{grid-template-columns:auto 1fr auto}.lobby-player .icon-button{grid-area:1/3}.ready-dot{display:none}.setting-row{grid-template-columns:1fr}.setting-row input[type=checkbox]{justify-self:start}.score-sheet__footer{flex-direction:row}}@media (orientation:landscape) and (height<=520px) and (width<=1280px){.app-shell.game-shell{width:100%;height:100dvh;padding:3px 6px;overflow:hidden}.game-topbar{height:30px;min-height:30px;margin:0 0 3px}.game-topbar .brand{display:none}.game-topbar .button{min-height:28px;padding:0 9px;font-size:.7rem}.room-mini{margin-left:2px}.player-strip{gap:5px;height:38px;padding:2px 0 4px}.player-chip{border-radius:9px;min-width:106px;height:32px;padding:3px 6px}.player-chip__avatar{border-radius:7px;width:24px}.player-chip small{display:none}.game-layout{display:block}.game-main{grid-template-rows:68px minmax(0,1fr);grid-template-columns:minmax(285px,.85fr) minmax(310px,1.15fr);align-items:stretch;gap:5px;display:grid}.dice-section{border-radius:12px;grid-area:1/1;grid-template-columns:auto minmax(0,1fr);gap:4px;min-height:68px;padding:5px 38px 5px 7px;position:relative}.dice-section--empty{min-height:68px}.dice-placeholder{padding:10px;font-size:.7rem}.white-total{min-width:40px;padding-right:4px}.white-total span{font-size:.52rem}.white-total strong{font-size:1.3rem}.dice-tray{justify-content:space-evenly;gap:3px;min-width:0;padding:3px 0;overflow:visible}.die{border-radius:8px;flex:none;width:clamp(29px,4.1vw,38px);padding:4px}.dice-effects{position:absolute;top:4px;right:4px}.dice-effects summary{width:28px;min-height:28px}.action-panel{border-radius:12px;flex-direction:row;grid-area:1/2;justify-content:flex-start;align-items:center;gap:7px;min-height:0;padding:7px 48px 7px 9px;position:relative;overflow:hidden}.action-panel__status{width:auto;min-width:125px;padding-right:0}.action-panel__status strong{font-size:.84rem}.action-panel__status small,.hint-arrow,.choice-confirmed,.waiting-text{font-size:.62rem;line-height:1.2}.action-panel .hint-arrow,.action-panel .choice-confirmed,.action-panel .waiting-text{order:initial;min-width:0;margin:0}.action-panel .button,.action-panel .button:not(.button--roll){order:initial;min-height:30px;padding:0 9px;font-size:.66rem}.action-panel--finished{flex-direction:column;justify-content:center;align-items:flex-start;display:flex}.action-panel--finished h2{margin:0;font-size:1.15rem}.action-panel--finished p{display:none}.turn-timer{width:34px;height:34px;margin:0;position:absolute;top:7px;right:7px}.turn-timer strong{font-size:.65rem}.score-sheet{border-radius:12px;grid-area:2/1/auto/-1;align-self:stretch}.score-sheet__header{min-height:28px;padding:4px 9px}.score-sheet__header strong{font-size:1rem}.rows{gap:4px;padding:4px 7px}.score-row{grid-template-columns:54px minmax(0,1fr) 42px;gap:7px}.row-label{font-size:.78rem}.number-cell,.lock-cell{border-radius:8px;height:clamp(34px,8.5vh,40px);font-size:clamp(.72rem,1.8vw,.95rem)}.score-sheet__footer{min-height:31px;padding:4px 9px}.all-sheets,.activity-panel{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
