:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#fff8e8;--ink:#263b35;--muted:#5f6a61;--cream:#f3e7ce;--paper:#fff3d8;--amber:#c9673c;--amber-light:#d7a565;--red:#a64635;--green:#365949;--line:#70835e55;--shadow:0 16px 50px #08040266;background:#1c120d;font-family:Arial Rounded MT Bold,Trebuchet MS,Arial,sans-serif;font-size:16px}*{box-sizing:border-box}html{background:#1c120d;min-width:320px}body{background:radial-gradient(circle at 50% -20%,#70835e 0,#365949 38%,#263b35 78%);min-height:100dvh;margin:0}button,input,select{font:inherit}button,summary,label,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:3px solid var(--amber-light);outline-offset:3px}h1,h2,h3,.brand{font-family:Arial Rounded MT Bold,Trebuchet MS,Arial,sans-serif;line-height:1.05}h1{margin:.25rem 0 .8rem;font-size:clamp(2.7rem,8vw,5.8rem)}h2{margin:0 0 .75rem;font-size:clamp(2rem,5vw,3.2rem)}h3{margin:0 0 .5rem;font-size:1.45rem}p{line-height:1.55}.skip-link{z-index:100;color:var(--ink);background:var(--cream);border-radius:.5rem;padding:.8rem 1rem;position:fixed;top:-5rem;left:1rem}.skip-link:focus{top:1rem}.site-header{height:68px;padding:max(.7rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) .7rem max(1rem, env(safe-area-inset-left));z-index:20;justify-content:space-between;align-items:center;gap:1rem;display:flex;position:relative}.brand{color:#fff4da;background:0 0;border:0;align-items:center;gap:.55rem;font-size:1.9rem;display:flex}.brand b{color:var(--amber-light)}.brand-mark{border:2px solid #d7a565;border-radius:10px;place-items:center;width:32px;height:32px;font:1.6rem system-ui;display:grid}main{min-height:calc(100dvh - 68px)}.site-footer{padding:.6rem max(1rem, env(safe-area-inset-right)) max(.6rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));color:#d9c6a3;font-size:.82rem}.site-footer nav{flex-wrap:wrap;justify-content:center;gap:0 1.4rem;display:flex}.site-footer a{min-height:44px;color:inherit;align-items:center;display:inline-flex}.in-game .site-footer{display:none}.panel{color:var(--ink);background:var(--cream);box-shadow:var(--shadow);border:1px solid #70835e;border-radius:16px}.boot{max-width:680px;margin:12vh auto;padding:2rem}.eyebrow{color:#8d561d;letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:800}.lede{color:#f3dfbd;max-width:59ch;font-size:1.08rem}.home{min-height:calc(100dvh - 68px);padding:clamp(1rem,4vw,4rem);position:relative;overflow:hidden}.home:before{content:"";pointer-events:none;opacity:.28;background:repeating-linear-gradient(115deg,#0000 0 44px,#efad3b0a 45px 46px);position:absolute;inset:0}.hero{grid-template-columns:minmax(0,1.15fr) minmax(310px,.85fr);align-items:center;gap:clamp(2rem,7vw,7rem);max-width:1160px;margin:5vh auto 2rem;display:grid;position:relative}.hero-copy{padding-block:2rem}.hero.landing{grid-template-columns:minmax(0,1fr);max-width:820px}.play-button{justify-content:center;align-items:center;min-width:12rem;margin-top:.5rem;font-size:1.2rem;text-decoration:none;display:inline-flex}.hero h1 span{color:var(--amber-light);display:block}.feature-row{flex-wrap:wrap;gap:.7rem;margin:1.6rem 0;display:flex}.feature-row span,.pill{color:#f8dfb4;background:#2c1a1099;border:1px solid #dba24a66;border-radius:999px;padding:.42rem .7rem;font-size:.84rem}.field{color:#503724;gap:.35rem;margin:.8rem 0;font-size:.87rem;font-weight:800;display:grid}.field[hidden]{display:none}input,select{width:100%;min-height:46px;color:var(--ink);background:#fffdf5;border:1px solid #9b754b;border-radius:9px;padding:.7rem .8rem}.primary,.secondary,.danger,.quiet{border-radius:10px;min-height:44px;padding:.68rem 1rem;font-weight:800}.primary{color:#fff3d8;background:#365949;border:1px solid #263b35;box-shadow:0 4px #263b35}.primary:active{transform:translateY(2px);box-shadow:0 2px #263b35}.secondary{color:#402a1a;background:#fff8e6;border:1px solid #97704a}.danger{color:#fff;background:var(--red);border:1px solid #d58272}.quiet{color:inherit;background:0 0;border:1px solid}.actions{flex-wrap:wrap;gap:.65rem;margin-top:1rem;display:flex}.actions>*{flex:auto}.rooms{gap:.65rem;max-height:350px;padding:.15rem;display:grid;overflow:auto}.room-row{color:var(--ink);text-align:left;background:#fffaf0;border:1px solid #b58c5e;border-radius:10px;grid-template-columns:1fr auto;align-items:center;gap:.5rem;padding:.75rem;display:grid}.room-row strong,.room-row small{display:block}.room-row small{color:var(--muted);margin-top:.2rem}.empty{text-align:center;color:var(--muted);border:1px dashed #a47a4c;border-radius:10px;padding:2rem 1rem}.tables-page .site-header,.tables-page .site-footer{display:none}.tables-page main{min-height:100dvh}.tables{height:100dvh;padding:max(1rem, env(safe-area-inset-top)) max(clamp(1rem, 3vw, 2.5rem), env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(clamp(1rem, 3vw, 2.5rem), env(safe-area-inset-left));grid-template-rows:auto minmax(0,1fr);gap:1rem;display:grid;overflow:hidden}.tables-top{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1rem;display:flex}.tables-top h1{margin:.2rem 0 0;font-size:clamp(2rem,4vw,3rem)}.tables-brand{color:#fff4da;font-size:1.3rem;text-decoration:none}.tables-brand b{color:var(--amber-light)}.tables .field{color:#f3dfbd}.tables-top .field{flex:0 340px;margin:0}.tables-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1rem,3vw,3rem);min-height:0;display:grid}.tables-pane{flex-direction:column;min-height:0;display:flex}.tables-pane h2{margin:0 0 .6rem;font-size:1.5rem}.rooms-pane{flex-direction:column;flex:auto;min-height:0;display:flex}.rooms-heading{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.6rem;display:flex}.tables .rooms{flex:auto;align-content:start;max-height:none;padding-right:.3rem}.tables .empty{color:#d9c6a3}.join-inline{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.6rem;margin-top:.8rem;display:grid}.join-inline .field{margin:0}.tables-create{padding-right:.3rem;overflow:auto}.tables-create .power-group h4{color:#f3dfbd}.room-shell{min-height:calc(100dvh - 68px);padding:1rem max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left))}.room-top{justify-content:space-between;align-items:center;gap:.7rem;max-width:1400px;margin:0 auto .7rem;display:flex}.room-title{align-items:center;gap:.7rem;min-width:0;display:flex}.room-title h1{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:clamp(1.75rem,4vw,2.7rem);overflow:hidden}.connection{color:#e9d4b5;align-items:center;gap:.35rem;font-size:.78rem;display:inline-flex}button.connection{background:#21150d;border:1px solid #dca85888;border-radius:999px;min-height:44px;padding:.3rem .5rem}.connection:before{content:"";background:#83cf9f;border-radius:50%;width:.55rem;height:.55rem}.connection.offline:before{background:#eb7b66}.lobby{gap:1rem;max-width:1400px;margin:1rem auto 2rem;display:grid}.lobby>.panel{min-width:0;padding:clamp(1rem,3vw,1.7rem)}.lobby-heading{justify-content:space-between;align-items:end;gap:1rem;display:flex}.lobby-heading>p{max-width:54ch;margin:0 0 .4rem}.lobby-roster-scroll{overscroll-behavior-inline:contain;scrollbar-color:#9c6b35 #ead3a7;overflow-x:auto}.lobby-roster-content{width:100%;min-width:var(--roster-min-width)}#lobby-character-canvas{background:linear-gradient(#dce1c788,#f4e7ca 72%);width:100%;height:170px;display:block}.lobby-roster-labels{grid-template-columns:repeat(var(--roster-count), minmax(132px, 1fr));margin:0;padding:0;list-style:none;display:grid}.lobby-roster-labels li{text-align:center;align-content:start;justify-items:center;gap:.22rem;min-width:0;min-height:100px;padding:.6rem .5rem;display:grid}.lobby-roster-labels b{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.roster-tags{min-height:20px;color:var(--muted);text-transform:uppercase;justify-content:center;align-items:center;gap:.28rem;font-size:.66rem;font-weight:800;display:flex}.remove-player{min-height:44px;padding:.4rem .65rem}.ai-marker{color:#42533f;letter-spacing:.08em;vertical-align:.12rem;background:#e8ecd8;border:1px solid #6d765f;border-radius:3px;margin-left:.3rem;padding:.12rem .3rem;font-size:.65rem;display:inline-block}.roster-tags .ai-marker{margin-left:0}#character-dialog{width:min(92vw,430px);color:var(--ink);background:var(--cream);border:2px solid #884e32;border-radius:12px;box-shadow:0 18px 50px #12090699,inset 0 0 0 3px #f8efd8}.character-menu{padding:1rem}.character-menu h2{margin-bottom:.35rem;font-size:2rem}#character-preview-canvas{background:radial-gradient(at bottom,#c7d1b0 0 36%,#f2dfbd 38% 100%);border-radius:6px;width:100%;height:165px;margin-bottom:.6rem;display:block}.character-menu fieldset{border:0;gap:.45rem;margin:0;padding:0;display:grid}.character-choice{color:#503724;grid-template-columns:76px 1fr;align-items:center;gap:.5rem;font-size:.78rem;font-weight:900;display:grid}.character-choice>div{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:.3rem;display:grid}.character-choice button{color:#fff8e8;background:var(--green);border:1px solid #21372f;border-radius:8px;width:44px;height:44px;padding:0;font-size:1.25rem}.character-choice output{color:#693b27;letter-spacing:.08em;text-align:center;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.82rem;overflow:hidden}.character-menu-actions{grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.4rem;display:grid}.lobby-controls{justify-content:space-between;align-items:end;gap:1rem;display:flex}.lobby-controls>.actions{min-width:min(100%,330px)}.lobby-ai{color:var(--muted);align-items:center;gap:.7rem;margin-top:.8rem;display:flex}.lobby-ai small{line-height:1.35}.lobby-note{color:var(--muted);font-size:.8rem}.ready{color:var(--green);font-weight:800}.not-ready{color:#815e43}.setting-grid{grid-template-columns:1fr 1fr;gap:.7rem;display:grid}.power-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;min-width:0;display:grid}.power-group{min-width:0}.power-group h4{color:#693b27;letter-spacing:.06em;text-transform:uppercase;margin:0 0 .35rem;font-size:.82rem}.power-card-list{overscroll-behavior:contain;scrollbar-color:#9c6b35 #ead3a7;gap:.45rem;max-height:250px;padding:.2rem;display:grid;overflow-y:auto}.check-card{background:#fff9e9;border:1px solid #a98155;border-radius:9px;grid-template-columns:auto 1fr;align-items:start;gap:.55rem;padding:.55rem;font-size:.79rem;font-weight:400;display:grid}.check-card input{width:20px;min-height:20px;margin:.1rem 0}.check-card b{font-size:.9rem;display:block}.warning{border-left:4px solid var(--amber);color:#694217;background:#fff4ce;padding:.7rem}.in-game{overflow:hidden}.in-game .site-header{display:none}.in-game main{height:100dvh;min-height:0}.in-game .room-shell{flex-direction:column;height:100%;min-height:0;padding-block:.4rem;display:flex;overflow:hidden}.in-game .room-top{flex:0 0 42px;width:100%;margin-bottom:.4rem}.in-game .room-title h1{font-size:clamp(1.55rem,3vw,2.2rem)}.in-game .room-top .actions{flex-wrap:nowrap;margin:0}.game{flex:auto;grid-template-rows:minmax(0,1fr) clamp(188px,27vh,205px);grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:.7rem;width:100%;max-width:1500px;min-height:0;margin:auto;display:grid;position:relative}.scene-wrap{min-height:0;box-shadow:inset 0 0 60px #0009, var(--shadow);background:radial-gradient(#70421e,#21140e 74%);border:1px solid #d39b4855;border-radius:18px;grid-area:1/1;position:relative;overflow:hidden}#table-canvas{touch-action:manipulation;width:100%;height:100%;display:block}.scene-loading{text-align:center;color:#efdfc1;pointer-events:none;place-content:center;padding:2rem;display:grid;position:absolute;inset:0}.seat-label{color:#fff2d4;text-align:center;pointer-events:auto;background:#21140de6;border:1px solid #d6a758;border-radius:999px;min-width:90px;padding:.35rem .55rem;font-size:.8rem;position:absolute;transform:translate(-50%,-50%)}.side-panel{flex-direction:column;grid-area:1/2/3;gap:.7rem;min-height:0;display:flex}.turn-card,.opponents,.history{padding:.8rem}.turn-card{flex:none}.turn-line{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.timer{color:#762f26;text-align:right;font-variant-numeric:tabular-nums;min-width:62px;font-size:1.5rem;font-weight:900}.timer.warning-time{color:#c33d2e;animation:1s infinite pulse}@keyframes pulse{50%{opacity:.55}}.opponents{overscroll-behavior:contain;min-height:0;overflow:auto}.opponent{border-bottom:1px solid var(--line);width:100%;min-height:48px;color:var(--ink);align-items:center;display:flex}.opponent>button:first-child{min-height:48px;color:inherit;text-align:left;background:0 0;border:0;flex:1;grid-template-columns:auto 1fr auto;align-items:center;gap:.5rem;padding:.45rem;display:grid}.opponent b,.opponent small{display:block}.opponent small{margin-top:.15rem}.mute-seat{color:#6c4b31;background:0 0;border:0;min-height:44px;padding:.4rem;font-size:.75rem;text-decoration:underline}.opponent.active{background:#f0c977}.history{overscroll-behavior:contain;flex:1;min-height:76px;overflow:auto}.history ul{margin:.4rem 0;padding-left:1.2rem;font-size:.82rem}.play-dock{min-width:0;min-height:0;color:var(--ink);background:#f8e6c4ee;border:1px solid #e9c887;border-radius:16px;grid-area:2/1;padding:.5rem .65rem;overflow:hidden;box-shadow:0 -8px 35px #0b05065c}.dice-controls{align-items:center;gap:.45rem;padding:.2rem;display:flex;overflow-x:auto}.die-button{height:48px;color:var(--ink);background:#fffdf4;border:2px solid #704522;border-radius:11px;flex:0 0 48px;font-weight:900}.die-button.kept{background:#ffe19a;border-style:double;border-width:5px}.die-button.frozen{color:#24485e;background:#d6f1fa;border-color:#5792ac}.roll-button{flex:1 0 115px;min-height:52px}.hand-label{justify-content:space-between;align-items:center;gap:.5rem;margin:.3rem .2rem .1rem;display:flex}.hand-label span,.hand-label small{display:block}.hand-label small{color:var(--muted);font-size:.7rem;line-height:1.2}.hand-label .quiet{min-height:36px;padding-block:.3rem}.hand{scroll-snap-type:x proximity;scrollbar-color:#9c6b35 #ead3a7;gap:.5rem;height:76px;padding:.15rem .2rem .4rem;display:flex;overflow-x:auto}.power-card{scroll-snap-align:start;color:#332015;text-align:left;background:linear-gradient(155deg,#fffbed,#e8c88d);border:2px solid #83562c;border-radius:12px;flex:0 0 144px;min-height:62px;padding:.42rem .55rem;position:relative;box-shadow:0 3px #72411d}.power-card:after{content:attr(data-kind);color:#875628;text-transform:uppercase;font-size:.62rem;font-weight:900;position:absolute;top:.4rem;right:.45rem}.power-card b{margin-right:2rem;font-family:inherit;font-size:1.05rem;display:block}.power-card small{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.15rem;font-size:.68rem;line-height:1.15;display:-webkit-box;overflow:hidden}.power-card:disabled{filter:saturate(.45)}.table-notice{border-left:3px solid var(--amber);color:#6d4524;background:#fff7df;margin:-.25rem 0 .35rem;padding:.35rem .5rem;font-size:.75rem}.rules-summary{border-top:1px solid var(--line);margin-top:1rem;padding-top:.65rem}.rules-summary p{font-size:.82rem}.toast{z-index:80;left:50%;bottom:max(1rem, env(safe-area-inset-bottom));color:#fff8e8;max-width:min(90vw,560px);box-shadow:var(--shadow);background:#2c1b12;border:1px solid #f5c66b;border-radius:10px;padding:.8rem 1rem;position:fixed;transform:translate(-50%)}.in-game .toast{top:60px;bottom:auto}.world-game{background:#120b08;position:fixed;inset:0;overflow:hidden}.world-wrap{position:fixed;inset:0;overflow:hidden}#game-world-canvas{touch-action:manipulation;width:100vw;height:100dvh;display:block}.world-loading{color:#f6e7c8;text-align:center;background:radial-gradient(circle,#6f4123,#1a0f0a 75%);place-content:center;gap:.35rem;padding:2rem;display:grid;position:absolute;inset:0}.world-loading span{font-size:.85rem}.world-status{z-index:10;top:max(.7rem, env(safe-area-inset-top));left:max(.7rem, env(safe-area-inset-left));color:#fff4d7;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;background:#1b110dc9;border:1px solid #f3cd86aa;border-radius:999px;flex-wrap:wrap;align-items:center;gap:.55rem;max-width:min(440px,55vw);padding:.3rem .7rem;font-size:.82rem;font-weight:800;display:flex;position:fixed;box-shadow:0 3px 12px #0006}.world-status .status-round{color:#ffc863;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem}.world-status .connection{color:#f8e9c9}.connection.paused:before{background:#ffc863}.world-status .world-notice{border-left:2px solid #ffc863;flex-basis:100%;margin:0 0 .15rem;padding-left:.45rem;font-size:.76rem;font-weight:600}.world-status .timer{color:#ffd987;text-align:right;font-variant-numeric:tabular-nums;min-width:3ch;font-size:1.05rem}.kept-dice{z-index:10;top:max(.7rem, env(safe-area-inset-top));color:#fff4d7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1b110d99;border:1px solid #f3cd86aa;border-radius:14px;align-items:center;gap:.35rem;padding:.35rem .55rem;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 3px 12px #0006}.kept-label{color:#ffc863;letter-spacing:.06em;text-transform:uppercase;margin-right:.2rem;font-size:.7rem;font-weight:800}.kept-die{color:#2b1b12;background:0 0;border:1px dashed #f3cd8677;border-radius:10px;place-items:center;width:44px;height:44px;padding:0;display:grid}.kept-die svg{fill:currentColor;width:34px;height:34px}.kept-die.loose{color:#f3cd8699;border-style:solid;border-color:#f3cd8655}.kept-die.filled{background:#fff8e6;border:1px solid #fff;box-shadow:0 2px #b89c6c}.kept-die.frozen{background:#cfe9f2;border-color:#7fbad0}button.kept-die{cursor:pointer}button.kept-die:hover,button.kept-die:focus-visible{border-color:#ffc863}.world-corner,.world-primary-actions{z-index:12;gap:.4rem;display:flex;position:fixed}.world-corner{top:max(.7rem, env(safe-area-inset-top));right:max(.7rem, env(safe-area-inset-right))}.world-primary-actions{top:50%;right:max(.7rem, env(safe-area-inset-right));flex-direction:column;transform:translateY(-50%)}.glass-button,.world-roll{color:#fff6df;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1b110dc9;border:1px solid #f3cd86aa;border-radius:999px;min-height:44px;padding:.55rem .8rem;font-weight:800;box-shadow:0 3px 12px #0006}.glass-button[aria-pressed=true]{color:var(--ink);background:#ffc863}.glass-button.icon-only{place-items:center;width:44px;padding:0;display:inline-grid}.world-roll{color:var(--ink);background:linear-gradient(#ffd376,#dc9229);border-color:#ffe0a0;min-width:120px}.turn-score-sheet{z-index:11;top:calc(max(.7rem, env(safe-area-inset-top)) + 104px);left:max(.7rem, env(safe-area-inset-left));color:#35463f;background:#f7efd9e8;border:1px solid #766f5c;border-radius:2px 4px 2px 1px;width:206px;padding:.38rem;font:700 .8125rem/1.05 Trebuchet MS,Arial,sans-serif;position:fixed;box-shadow:3px 5px 14px #1116}.turn-score-sheet header{border-bottom:2px solid #69776b55;gap:.15rem;padding-bottom:.2rem;display:grid}.turn-score-sheet header b{color:#693b27;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.turn-score-sheet header small{color:#6b5a44;font-size:.66rem;font-weight:700}.turn-score-sheet ol{margin:.2rem 0 0;padding:0;list-style:none}.turn-score-sheet li{border-bottom:1px solid #69776b33;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.25rem;min-height:16px;display:grid}.turn-score-sheet li>button{width:100%;min-height:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.25rem;padding:0;display:grid}.turn-score-sheet li>button:hover,.turn-score-sheet li>button:focus-visible{background:#d99c5d24}.turn-score-sheet li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.turn-score-sheet strong{font-variant-numeric:tabular-nums}.turn-score-potential{color:#a64f2f;font-style:italic}.turn-score-hint{color:#6b5a44;border-top:1px dashed #69776b55;margin:.3rem 0 0;padding-top:.25rem;font-size:.66rem;font-weight:700;line-height:1.3}.turn-score-committed{color:#274c3d}.turn-score-blocked,.turn-score-sheet .blocked{color:#765e56;text-decoration:line-through}.turn-score-total{border-top:2px double #40534a;font-size:.68rem;border-bottom:0!important}.direct-access{z-index:30;clip-path:inset(50%);width:1px;height:1px;position:fixed;bottom:8px;left:8px;overflow:hidden}.direct-access:focus-within{clip-path:none;width:min(330px,100vw - 16px);height:auto;max-height:min(72dvh,520px);color:var(--ink);background:var(--cream);box-shadow:var(--shadow);border:1px solid #7d6043;gap:.35rem;padding:.55rem;display:grid;overflow:auto}.direct-access button{text-align:left;min-height:44px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}dialog{width:min(92vw,560px);max-height:90dvh;color:var(--ink);background:var(--cream);box-shadow:var(--shadow);border:1px solid #70835e;border-radius:16px;padding:0;overflow:auto}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#100905b8}.dialog-body{padding:1.25rem}.world-chat{z-index:12;right:max(.7rem, env(safe-area-inset-right));bottom:max(.7rem, env(safe-area-inset-bottom));flex-direction:column;align-items:flex-end;gap:.4rem;display:flex;position:fixed}.emote-menu{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1b110dc9;border:1px solid #f3cd86aa;border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;padding:.5rem;display:grid;box-shadow:0 3px 12px #0006}.emote-menu[hidden]{display:none}.chat-bubble{z-index:6;color:#2b1b12;text-align:center;pointer-events:none;background:#fff8e6;border:1px solid #9b754b;border-radius:14px;max-width:190px;padding:.45rem .75rem;font-size:.88rem;font-weight:800;animation:.18s ease-out bubble-in;position:absolute;transform:translate(-50%,-100%)}.chat-bubble:after{content:"";background:inherit;border-bottom:1px solid #9b754b;border-right:1px solid #9b754b;width:12px;height:12px;position:absolute;bottom:-7px;left:50%;transform:translate(-50%)rotate(45deg)}.chat-bubble.own{transform:translate(-50%)}.chat-bubble.below{animation-name:bubble-in-below;transform:translate(-50%)}.chat-bubble.below:after{border:0;border-top:1px solid #9b754b;border-left:1px solid #9b754b;top:-7px;bottom:auto}@keyframes bubble-in-below{0%{opacity:0;transform:translate(-50%)scale(.85)}}@keyframes bubble-in{0%{opacity:0;transform:translate(-50%,-100%)scale(.85)}}.settings-list{gap:.8rem;margin:0 0 1rem;padding:0;list-style:none;display:grid}.settings-list label{color:var(--ink);grid-template-columns:auto 1fr;align-items:start;gap:.6rem;display:grid}.settings-list input{width:20px;min-height:20px;margin-top:.2rem}.settings-list small{color:var(--muted);margin-top:.15rem;font-weight:400;line-height:1.4;display:block}.target-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.5rem;margin:.8rem 0;display:grid}.target-option{min-height:48px;color:var(--ink);background:#fffaf0;border:1px solid #9f764a;border-radius:8px;padding:.5rem}.target-option[aria-pressed=true]{color:#fff;background:var(--green)}.results{text-align:center;max-width:800px;margin:5vh auto;padding:clamp(1.2rem,4vw,2.5rem)}.podium{gap:.6rem;margin:1rem 0;display:grid}.podium .player{text-align:left;grid-template-columns:auto 1fr auto}@media (width<=900px){.tables{height:auto;overflow:visible}.tables-split{grid-template-columns:1fr}.tables .rooms{max-height:320px}.tables-create{overflow:visible}.join-inline{grid-template-columns:1fr}.hero{grid-template-columns:1fr;gap:1rem;margin-top:0}.hero-copy{padding-block:.5rem}.lobby{margin-top:.5rem}.lobby-heading,.lobby-controls{flex-direction:column;align-items:stretch}.in-game .room-top{flex-basis:38px}.game{grid-template-rows:minmax(200px,1fr) 190px 128px;grid-template-columns:1fr}.scene-wrap{grid-area:1/1;min-height:0}.side-panel{grid-area:3/1;grid-template-columns:1fr 1fr;display:grid}.turn-card{z-index:5;color:var(--ink);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fff1ceb8;position:absolute;top:.5rem;left:.5rem;right:.5rem}.opponents,.history{max-height:128px}.play-dock{z-index:7;grid-area:2/1;position:relative}}@media (width<=520px){.site-header{height:58px}.brand{font-size:1.55rem}.brand-mark{width:27px;height:27px}main{min-height:calc(100dvh - 58px)}.home{padding:.75rem}.hero h1{font-size:3.2rem}.feature-row{margin:1rem 0}.room-shell{padding:.45rem}.room-top{padding-inline:.25rem}.room-title .pill{display:none}.setting-grid,.power-groups{grid-template-columns:1fr}.power-card-list{max-height:210px}#lobby-character-canvas{height:150px}#character-dialog{max-height:calc(100dvh - 16px)}#character-preview-canvas{height:135px}.lobby-ai{flex-direction:column;align-items:stretch}.in-game main{height:100dvh}.in-game .room-shell{padding:.3rem .45rem max(.3rem, env(safe-area-inset-bottom))}.in-game .room-top{flex-basis:34px;margin-bottom:.25rem}.in-game .room-title h1{font-size:1.35rem}.in-game .room-top .quiet{min-height:34px;padding:.25rem .45rem;font-size:.72rem}.game{grid-template-rows:minmax(180px,1fr) 220px 104px;gap:.35rem}.scene-wrap{border-radius:12px;min-height:0}.turn-card{font-size:.84rem}.side-panel{grid-template-columns:1fr}.history{display:none}.opponents{max-height:104px}.play-dock{border-radius:12px;padding:.45rem}.dice-controls{grid-template-columns:repeat(6,minmax(0,1fr));gap:.25rem;display:grid;overflow:visible}.die-button{width:100%;min-width:0;height:44px}.roll-button{order:-1;grid-column:1/4;min-height:44px;padding:.4rem}.turn-card{padding:.55rem}.turn-card h3{font-size:1.25rem}.turn-card #phase-label{margin:.25rem 0;font-size:.76rem;line-height:1.25}.turn-card>small,.hand-label small{display:none}.power-card{flex-basis:132px;min-height:62px}.world-status{top:max(.4rem, env(safe-area-inset-top));left:max(.4rem, env(safe-area-inset-left));max-width:calc(100vw - 86px);padding:.25rem .55rem;font-size:.74rem}.kept-dice{gap:.25rem;padding:.25rem .4rem;top:58px}.kept-die{width:34px;height:34px}.kept-die svg{width:26px;height:26px}.kept-label{display:none}.world-status h1{font-size:1.25rem}.world-status p{font-size:.73rem}.world-corner{top:max(.4rem, env(safe-area-inset-top));right:max(.4rem, env(safe-area-inset-right));flex-direction:column;gap:.25rem}.world-corner .glass-button{width:66px;min-height:44px;padding:.3rem;font-size:.7rem}.world-primary-actions{top:10.2rem;left:auto;right:max(.4rem, env(safe-area-inset-right));flex-direction:row;justify-content:flex-start;gap:.25rem;bottom:auto;transform:none}.world-primary-actions>button{min-width:0;padding-inline:.65rem;font-size:.76rem}.turn-score-sheet{top:62px;left:max(.35rem, env(safe-area-inset-left));width:166px;padding:.3rem;font-size:.75rem;line-height:1}.turn-score-sheet li{min-height:14px}}@media (height<=440px) and (orientation:landscape){.site-header{display:none}.in-game main,.in-game .room-shell{height:100dvh;min-height:0}.room-shell{padding:.3rem max(.4rem, env(safe-area-inset-right)) .3rem max(.4rem, env(safe-area-inset-left))}.room-top{z-index:8;pointer-events:none;position:absolute;top:.5rem;left:.7rem}.in-game .room-top{width:auto;right:.7rem}.room-top .quiet,.room-top .connection{display:none}.game{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(250px,42vw);min-height:0}.scene-wrap{grid-area:1/1;min-height:0}.play-dock{grid-area:1/2;position:static;overflow:auto}.dice-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;display:grid;overflow:visible}.die-button{width:100%;min-width:0;height:44px}.roll-button{order:-1;grid-column:1/3;min-height:44px;padding:.35rem}.side-panel{display:none}.hand{flex-wrap:nowrap}.power-card{flex-basis:125px;min-height:62px}.world-status{max-width:min(300px,100vw - 290px);top:.4rem;left:200px}.world-corner{flex-direction:column}.world-primary-actions{top:50%;left:auto;right:max(.5rem, env(safe-area-inset-right));flex-direction:column;bottom:auto;transform:translateY(-50%)}.turn-score-sheet{width:150px;padding:.25rem;font-size:.625rem;line-height:1;top:8px}.turn-score-sheet li{min-height:10px}}.reduced-motion *,.reduced-motion :before,.reduced-motion :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.scorecard-dialog{width:fit-content;max-width:min(94vw,1120px);max-height:94dvh;margin:auto auto max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));color:#273b35;transform-origin:0 100%;background:#f7efd9;border:1px solid #766f5c;border-radius:2px 5px 3px 1px;padding:0;animation:.18s ease-out score-sheet-lift;overflow:visible;box-shadow:3px 5px #3d382c55,8px 13px 28px #1118}.scorecard-dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.scorecard-shell{background:linear-gradient(88deg,#0000 0 72%,#7d69460d 72.2% 72.5%,#0000 72.7%),repeating-linear-gradient(0deg,#8b846f0a 0 1px,#0000 1px 27px),#f7efd9;padding:.7rem .8rem .8rem;position:relative}.scorecard-shell:after{content:"";pointer-events:none;background:linear-gradient(225deg,#d8ceb4 0 48%,#857b6522 50%,#0000 52%);width:34px;height:34px;position:absolute;top:0;right:0}.scorecard-shell>header{pointer-events:auto;background:0 0;justify-content:space-between;align-items:center;gap:1rem;padding:0 1.6rem .4rem 0;display:flex;position:static}.scorecard-shell h2{color:#273b35;letter-spacing:.08em;text-transform:uppercase;margin:0;font:900 clamp(1rem,1.8vw,1.3rem)/1 Arial Rounded MT Bold,Trebuchet MS,Arial,sans-serif}.scorecard-label{color:#75533b;letter-spacing:.11em;text-transform:uppercase;margin:0 0 .15rem;font:700 .65rem/1.2 Trebuchet MS,Arial,sans-serif}.scorecard-close{z-index:1;color:#273b35;cursor:pointer;background:#f7efd9aa;border:1px solid #77705e;border-radius:2px;min-height:44px;padding:.35rem .55rem;font:800 .72rem Trebuchet MS,Arial,sans-serif;position:relative;transform:rotate(1deg)}.scorecard-shell form{margin:0}.score-matrix-wrap{overscroll-behavior:contain;background:#f9f2df88;border:1px solid #5f685f;border-radius:0;max-height:calc(94dvh - 84px);overflow:auto}.score-matrix{table-layout:fixed;border-collapse:separate;border-spacing:0;color:#273b35;background:0 0;width:auto;font:600 .74rem Trebuchet MS,Arial,sans-serif}.score-matrix th:not(:first-child),.score-matrix td{width:118px}.score-matrix th,.score-matrix td{text-align:center;border-bottom:1px solid #66706766;border-right:1px solid #66706766;height:28px;padding:.1rem .45rem}.score-matrix th:first-child{text-align:left;white-space:nowrap;text-overflow:ellipsis;width:168px;overflow:hidden}.scorecard-dialog[data-score-mode=maxi] .score-matrix th,.scorecard-dialog[data-score-mode=maxi] .score-matrix td{height:26px}.score-matrix tbody th{white-space:nowrap}.score-matrix thead th{z-index:2;background:#eee3c8;border-bottom-color:#3f5149;position:sticky;top:0}.score-matrix tr>:first-child{z-index:1;background:#f3e8cf;position:sticky;left:0}.score-matrix thead th:first-child{z-index:3;background:#e7d9b9}.score-matrix .score-last{position:relative}.score-matrix .score-last:after{content:"";pointer-events:none;border:2px solid #b8342a;border-radius:48% 52% 46% 54%/58% 44% 56% 42%;position:absolute;inset:1px 14%;transform:rotate(-4deg)}.score-matrix .viewer-score{background:#91a18124;font-weight:800;box-shadow:inset 1px 0 #52665599,inset -1px 0 #52665599}.score-matrix thead .viewer-score{background:#cbd1b8}.score-matrix .score-summary th,.score-matrix .score-summary td{background-color:#eee4cc;font-weight:800}.score-matrix .score-summary .viewer-score{background-color:#dce0c8}.score-matrix .score-summary:last-child>*{border-top:2px double #40534a;font-weight:900}.score-cell{color:#334c42;width:100%;min-height:24px;font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px dashed #526655;border-radius:0;padding:0 .2rem;font-weight:900}.score-preliminary{color:#a64f2f;font-style:italic;font-weight:900}.score-blocked{color:#765e56;font-size:.68rem;text-decoration:line-through}.score-hint-button{vertical-align:middle;color:#425a50;cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;margin:-10px -8px -10px 1px;padding:0;display:inline-grid}.score-hint-button>span{border:1px solid;border-radius:50%;place-items:center;width:20px;height:20px;font:800 .72rem/1 Trebuchet MS,Arial,sans-serif;display:grid}.score-hint-button[aria-expanded=true]>span{color:#f7efd9;background:#425a50}.score-hint-popover{color:#273b35;background:repeating-linear-gradient(0deg,#8b846f0a 0 1px,#0000 1px 25px),#f7efd9;border:1px solid #657067;border-radius:2px;width:min(310px,100vw - 16px);max-height:min(250px,100dvh - 16px);margin:0;padding:.7rem 2.4rem .7rem .8rem;font:600 .78rem/1.4 Trebuchet MS,Arial,sans-serif;position:fixed;inset:auto;overflow:auto;box-shadow:3px 4px #3d382c44,6px 9px 18px #1115}.score-hint-popover strong{text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem;font-size:.95rem;display:block}.score-hint-popover p{margin:.25rem 0}.score-hint-example{border-top:1px dashed #66706788;padding-top:.25rem;font-weight:800}.score-hint-close{color:#425a50;cursor:pointer;background:0 0;border:0;width:44px;height:44px;padding:0;font:800 1.15rem/1 Trebuchet MS,Arial,sans-serif;position:absolute;top:2px;right:2px}.scorecard-dialog :focus-visible{outline-offset:2px;outline:3px solid #c9673c}@keyframes score-sheet-lift{0%{opacity:.55;transform:translateY(24px)rotate(-1deg)}to{opacity:1;transform:none}}@media (width<=520px){.scorecard-dialog{width:calc(100vw - 8px);max-height:92dvh;margin:auto auto max(4px, env(safe-area-inset-bottom)) max(4px, env(safe-area-inset-left))}.scorecard-shell{padding:.55rem}.score-matrix-wrap{max-height:calc(92dvh - 96px)}.score-matrix th,.score-matrix td{height:40px;padding:.35rem .45rem}.score-cell{min-height:44px}.score-hint-button{margin:-8px -8px -8px 1px}}@media (prefers-reduced-motion:reduce){.scorecard-dialog{animation:none}}
