html.anim-playing,html.anim-playing body{overflow:clip}.card-face.anim-on{z-index:100;pointer-events:none;will-change:transform;animation-fill-mode:forwards}.table.anim-shake{animation:anim-shake .35s linear var(--shake-delay) both}@keyframes anim-shake{0%,to{transform:none}20%{transform:translate(-5px,3px)}40%{transform:translate(5px,-3px)}60%{transform:translate(-3px,2px)}80%{transform:translate(2px,-1px)}}@keyframes anim-squash{0%{animation-timing-function:ease-out;transform:none}60%{animation-timing-function:ease-in-out;transform:scale(1.22,.62)}to{transform:scale(.96,1.06)}}@keyframes anim-squash-center{0%{animation-timing-function:ease-out;transform:none}60%{animation-timing-function:ease-in-out;transform:translateY(19%)scale(1.22,.62)}to{transform:translateY(-3%)scale(.96,1.06)}}.anim-lunge-attacker{transform-origin:50% 100%;animation:anim-lunge-attacker var(--dur) linear}@keyframes anim-lunge-attacker{0%{animation-timing-function:cubic-bezier(.3,0,.4,1);transform:none}32%{transform:rotate(var(--lean-back));animation-timing-function:linear}38%{transform:rotate(var(--lean-back));animation-timing-function:cubic-bezier(.55,0,1,.6)}52%{transform:translate(var(--through-x), var(--through-y)) rotate(var(--lean-fwd));animation-timing-function:linear}62%{transform:translate(var(--through-x), var(--through-y)) rotate(var(--lean-fwd));animation-timing-function:ease-in-out}to{transform:none}}.anim-lunge-victim{animation:anim-lunge-victim var(--dur) cubic-bezier(.05, .7, .3, 1) var(--delay)}@keyframes anim-lunge-victim{to{transform:translate(var(--fly-x), var(--fly-y)) rotate(var(--spin))}}.anim-blast-attacker{transform-origin:50% 100%;animation:anim-blast-attacker var(--dur) linear}@keyframes anim-blast-attacker{0%{animation-timing-function:cubic-bezier(.3,0,.4,1);transform:none}30%{transform:rotate(var(--lean-back));animation-timing-function:linear}36%{transform:rotate(var(--lean-back));animation-timing-function:cubic-bezier(.55,0,1,.6)}44%{transform:rotate(var(--lean-fwd));animation-timing-function:linear}62%{transform:rotate(var(--lean-fwd));animation-timing-function:ease-in-out}to{transform:none}}.anim-blast-victim{animation:anim-lunge-victim var(--dur) cubic-bezier(.05, .7, .3, 1) var(--delay)}.anim-stomp-attacker{transform-origin:50% 100%;animation:anim-squash var(--sq) linear, anim-stomp-attacker var(--dur) linear var(--sq), anim-home var(--ret) ease-in-out var(--ret-delay)}@keyframes anim-stomp-attacker{0%{animation-timing-function:ease-out;transform:none}34%{transform:translateY(calc(var(--up) * -1));animation-timing-function:linear}64%{transform:translateY(calc(var(--up) * -1));animation-timing-function:linear}64.5%{transform:translate(var(--dx), calc(var(--up) * -1)) scale(var(--k));animation-timing-function:cubic-bezier(.6,0,1,.7)}80%{transform:translate(var(--dx), var(--dy)) scale(var(--k));animation-timing-function:ease-out}86%{transform:translate(var(--dx), var(--dy)) scale(calc(var(--k) * 1.18), calc(var(--k) * .82));animation-timing-function:ease-out}to{transform:translate(var(--dx), var(--dy)) scale(var(--k))}}@keyframes anim-home{0%{transform:translate(var(--dx), var(--dy)) scale(var(--k));clip-path:inset(0)}to{transform:translate(var(--hx), var(--hy)) scale(var(--k));clip-path:var(--clip)}}.anim-stomp-victim,.anim-quake-victim{animation:anim-fall var(--dur) cubic-bezier(.05, .7, .3, 1) var(--delay)}@keyframes anim-fall{to{transform:translate(var(--fly-x), var(--fall)) rotate(var(--spin))}}.anim-wrap-attacker{animation:anim-squash-center var(--sq) linear, anim-wrap-out var(--d1) linear var(--sq), anim-wrap-in var(--d2) linear calc(var(--d1) + var(--sq)), anim-wrap-away var(--d3) linear var(--d3-delay), anim-wrap-back var(--d4) cubic-bezier(0, 0, .25, 1) var(--d4-delay)}@keyframes anim-wrap-out{0%{transform:none}to{transform:translate(var(--ex), var(--ey)) rotate(var(--rot))}}@keyframes anim-wrap-in{0%{transform:translate(var(--ex), var(--ey2)) rotate(var(--rot)) scale(var(--k))}to{transform:translate(var(--dx), var(--dy)) rotate(var(--rot)) scale(var(--k))}}@keyframes anim-wrap-away{0%{transform:translate(var(--dx), var(--dy)) rotate(var(--rot)) scale(var(--k))}to{transform:translate(var(--hx), var(--ey)) rotate(0deg) scale(var(--k))}}@keyframes anim-wrap-back{0%{transform:translate(var(--hx), var(--ey2)) scale(var(--k));clip-path:inset(0)}to{transform:translate(var(--hx), var(--hy)) scale(var(--k));clip-path:var(--clip)}}.anim-wrap-victim{animation:anim-twirl var(--dur) cubic-bezier(.05, .7, .3, 1) var(--delay)}@keyframes anim-twirl{to{transform:translate(var(--fly-x), var(--fall)) rotate(var(--spin))}}.anim-quake-attacker{transform-origin:50% 100%;animation:anim-squash var(--sq) linear, anim-quake-attacker var(--dur) linear var(--sq)}@keyframes anim-quake-attacker{0%{animation-timing-function:ease-out;transform:none}25%{animation-timing-function:linear;transform:translateY(-630px)scale(1.04)}50%{animation-timing-function:cubic-bezier(.6,0,1,.8);transform:translateY(-630px)scale(1.04)}56%{animation-timing-function:ease-out;transform:none}62%{animation-timing-function:ease-out;transform:scale(1.15,.85)}72%,to{transform:none}}.table.has-fx{position:relative}.fx-layer{pointer-events:none;position:absolute;inset:0}.fx-layer.under{z-index:50}.fx-layer.over{z-index:200}.fx{height:auto;image-rendering:pixelated;position:absolute}@media (prefers-reduced-motion:reduce){.card-face.anim-on,.table.anim-shake{animation:none}}.learn{z-index:40;background:var(--bg);padding:max(.5rem, env(safe-area-inset-top)) 16px max(.6rem, env(safe-area-inset-bottom));flex-direction:column;gap:.5rem;display:flex;position:fixed;inset:0;overflow:hidden}.learn>:not(.welcome-box){width:100%;max-width:36rem;margin-inline:auto}.learn-head{flex:none;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.learn-progress{color:var(--muted);font-size:.85rem;font-weight:600}.learn-skip{padding:.3rem .9rem}.learn-texts{z-index:100;background:var(--bg);border:1px solid #ffffff26;border-radius:12px;flex:none;align-items:center;height:clamp(6.5rem,24dvh,12rem);padding:.4rem .7rem;display:grid;position:relative;overflow:hidden;box-shadow:0 6px 14px #00000080}.learn-text{visibility:hidden;opacity:0;grid-area:1/1}.learn-text.live{visibility:visible;opacity:1;animation:.3s war-ex-in}.learn-text p{margin:0;font-weight:600;line-height:1.25}.learn-loading{flex:1;place-items:center;display:grid}.table.learn-table{flex:1;justify-content:space-between;gap:.5rem;min-height:0;padding:.5rem;overflow:visible;container-type:size}.learn-top{justify-content:space-between;gap:.35rem;display:flex}.learn-bottom{justify-content:center;display:flex}.seat.learn-seat{--dx:6px;--dy:4px;--seat-card:clamp(36px, min(18vw, calc((100cqh - 230px) * .24)), 96px);flex:1 1 0;gap:.25rem;width:auto;min-width:0;padding:.35rem .3rem;transition:opacity .4s,scale .4s,box-shadow .2s}.seat.learn-seat .card-stack{--dx:6px;--dy:4px}.seat.learn-seat .seat-name{font-size:.8rem}.seat.learn-seat .dice.small{width:100%;max-width:calc(var(--seat-card) * 1.5)}.seat.learn-seat .dice.small .die{flex:1 1 0}.seat.learn-seat .dealer-chip{width:32px;height:32px;top:-10px;right:-10px}.learn-body{align-items:center;gap:.6rem;display:flex;position:relative}.seat.learn-dim{opacity:.35}.seat.learn-hidden{opacity:0;scale:.8}.seat.learn-pick{box-shadow:0 0 0 3px var(--accent), 0 0 16px 4px #f2c14e99}.seat.learn-war{box-shadow:0 0 0 3px var(--danger), 0 0 16px 4px #d9534f8c}.learn-starter{z-index:5;background:var(--accent);color:#111;text-transform:uppercase;border-radius:999px;padding:0 .35rem;font-size:.62rem;font-weight:800;position:absolute;top:20px;right:-14px}.learn-turn-tag{z-index:5;border:2px solid var(--turn);color:var(--accent);white-space:nowrap;background:#111;border-radius:999px;padding:.05rem .8rem;font-size:.9rem;font-weight:800;animation:.35s cubic-bezier(.3,1.6,.6,1) learn-pop;position:absolute;top:0;left:50%;translate:-50% -55%}.card.learn-flip{animation:.35s seq-flip}.seat.learn-seat.learn-big{--seat-card:clamp(52px, min(27vw, calc((100cqh - 230px) * .335)), 150px);flex:0 auto;gap:.35rem;width:100%;max-width:34rem;padding:.45rem .6rem}.seat.learn-big .seat-name{font-size:.95rem}.learn-info{flex-direction:column;flex:1;align-items:flex-start;gap:.4rem;min-width:0;display:flex}.learn-quest,.learn-power{border:2px solid #0000;border-radius:6px;padding:.15rem .45rem;font-size:clamp(.8rem,min(3.6vw,2dvh),1.05rem);line-height:1.25;transition:background .2s,border-color .2s}.learn-quest.lit{border-color:var(--danger);background:#a81e1a73;animation:.45s ease-in-out infinite alternate learn-pulse;box-shadow:0 0 14px 3px #d9534fcc}.learn-power.lit{border-color:var(--accent);background:#f2c14e33;animation:.6s ease-in-out infinite alternate learn-pulse}.learn-quest.small{white-space:nowrap;text-overflow:ellipsis;max-width:100%;padding:0 .3rem;font-size:.72rem;font-weight:700;overflow:hidden}.learn-quest.blank{visibility:hidden}@keyframes learn-pulse{to{filter:brightness(1.35);scale:1.04}}.learn-ring{z-index:2;pointer-events:none;border-radius:14px;animation:.55s ease-in-out infinite alternate learn-ring;position:absolute}.learn-ring.quest{border:6px solid var(--danger);inset:50% -10% -6%;box-shadow:0 0 22px 8px #d9534fd9,inset 0 0 18px 4px #d9534f99}.learn-ring.power{border:6px solid var(--accent);height:24%;top:-5%;left:-8%;right:-8%;box-shadow:0 0 22px 8px #f2c14ed9,inset 0 0 18px 4px #f2c14e99}@keyframes learn-ring{0%{opacity:1;scale:1}to{opacity:.3;scale:1.08}}.learn-deck-label{white-space:nowrap;color:var(--accent);font-weight:800;animation:.4s war-ex-in;position:absolute;bottom:-.2rem;left:50%;translate:-50% 100%}.learn-action{align-items:center;min-height:2.4rem;display:flex}.learn-btn{background:var(--accent);color:#111;border-radius:8px;padding:.45rem .9rem;font-weight:800;transition:transform .1s,box-shadow .1s;animation:.25s war-ex-in;display:inline-block;box-shadow:0 3px #a47a10}.learn-btn.pressed{filter:brightness(1.15);transform:translateY(3px)scale(.96);box-shadow:0 0 #a47a10}.learn-discard{color:var(--muted);align-items:center;gap:.3rem;font-size:.75rem;animation:.3s war-ex-in;display:inline-flex}.learn-discard img{filter:grayscale();opacity:.7;border-radius:3px;width:1.6rem;rotate:-8deg}.learn-discard.small img{width:1.2rem}.learn-dice.none .die.ghost{visibility:hidden!important}.learn-dice .dice-line{padding:.5rem 0 .2rem;overflow:visible}.learn-dice .die-slot{position:relative}.learn-dice .die{width:clamp(1.8rem,min(11vw,8cqh),3.4rem);height:clamp(1.8rem,min(11vw,8cqh),3.4rem);font-size:1rem}.learn-dice .die.ghost{visibility:visible;background:0 0;border:2px dashed #ffffff4d}.learn-arrow{z-index:4;color:#fff;text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000;font-size:1.1rem;line-height:1;animation:.26s ease-out learn-arrow;position:absolute;left:50%;translate:-50%}.learn-arrow.up{bottom:100%}.learn-arrow.down{color:#000;text-shadow:1px 0 #fff,-1px 0 #fff,0 1px #fff,0 -1px #fff;top:100%}@keyframes learn-arrow{0%{opacity:.4;scale:1.6}}.learn-war-dice{min-height:calc(var(--seat-card) / 5 + 1.2rem);flex-direction:column;align-items:center;gap:.15rem;display:flex}.learn-war-dice .dice{flex-wrap:nowrap;gap:.2rem}.learn-war-dice .die{width:calc(var(--seat-card) / 2.6);height:calc(var(--seat-card) / 2.6);font-size:.6rem}.learn-war-total{font-size:.75rem;font-weight:800}.learn-war-total.tie{color:var(--accent)}.learn-banner,.learn-thumb{z-index:60;pointer-events:none;text-align:center;position:absolute;top:46%;left:50%;translate:-50% -50%}.learn-banner{border:2px solid var(--accent);max-width:92%;color:var(--accent);white-space:nowrap;background:#000000b8;border-radius:12px;padding:.35rem 1.1rem;font-size:clamp(1.3rem,7vw,2.4rem);font-weight:900;animation:.35s cubic-bezier(.3,1.6,.6,1) learn-pop}.learn-thumb{background:#000000c7;border:3px solid;border-radius:14px;flex-direction:column;align-items:center;gap:.2rem;width:min(92%,22rem);padding:.5rem .8rem .7rem;animation:.4s cubic-bezier(.3,1.6,.6,1) learn-pop;display:flex}.learn-thumb.up{border-color:var(--ok);color:var(--ok)}.learn-thumb.down{border-color:var(--danger);color:var(--danger)}.learn-thumb-icon{font-size:clamp(3rem,16vw,5rem);line-height:1.1}.learn-thumb strong{font-size:clamp(1rem,4.8vw,1.4rem)}@keyframes learn-pop{0%{opacity:0;scale:.3}}.learn-confetti{z-index:55;pointer-events:none;border-radius:inherit;position:absolute;inset:0;overflow:hidden}.learn-confetti span{top:-5%;left:var(--x);background:var(--c);width:.55rem;height:.9rem;rotate:var(--r);animation:learn-fall 2.6s linear var(--d) infinite;position:absolute}@keyframes learn-fall{to{rotate:calc(var(--r) + 540deg);top:105%}}.learn-foot{flex:none;justify-content:space-between;gap:.5rem;display:flex}.learn-foot button{flex:1;min-height:44px}.learn-foot button.primary{flex:1.4}.learn.learn-welcome{z-index:45;justify-content:center;align-items:center}.welcome-box{width:min(24rem,100%)}.welcome-box .logo{width:min(14rem,70%);height:auto}.welcome-actions{justify-content:center;gap:.8rem;width:100%}.welcome-actions button{flex:1;min-height:48px;font-size:1.15rem}@media (prefers-reduced-motion:reduce){.learn-quest.lit,.learn-power.lit,.learn-ring,.learn-confetti span{animation:none}}:root{--turn:#7dd3fc;--hint:#5eead4;--bg:#12161c;--felt:#1d3b2f;--panel:#1b2129;--line:#2c3540;--text:#e8ecf1;--muted:#8b97a6;--accent:#f2c14e;--danger:#d9534f;--quest:#a81e1a;--ok:#4caf50;--blue:#3b82f6;--gray:#9ca3af;--green:#22c55e;--purple:#a855f7;--red:#ef4444;--yellow:#eab308;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body,h2,h3{margin:0}button,input,select{font:inherit;color:inherit}button{background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:6px;padding:.4rem .9rem}button:hover:not(:disabled){border-color:var(--muted)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#1a1a1a;font-weight:600}button.danger{background:var(--danger);border-color:var(--danger);font-weight:600}button.link{background:0 0;border:none;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}input,select{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:.35rem .5rem}.muted{color:var(--muted)}.small{font-size:.8rem}.error{color:var(--danger)}.center{text-align:center;margin-top:30vh}.spacer{flex:1}.row{align-items:center;gap:.75rem;display:flex}.inline{gap:.4rem;display:flex}.inline input{flex:1;min-width:0}.badge{opacity:.85;border:1px solid;border-radius:999px;padding:.1rem .5rem;font-size:.85rem}.badge.warn{opacity:1;color:var(--accent);border:none;padding:0;font-size:.85rem}.login{flex-direction:column;justify-content:center;align-items:center;gap:2rem;min-height:100vh;display:flex}.logo{max-width:320px}@media (width<=800px){.login{justify-content:flex-start;gap:1.5rem;min-height:100dvh;padding:12dvh 16px 16px}.login .logo{width:min(80vw,320px)}.login form.inline{flex-direction:column;gap:.6rem;width:min(100%,22rem)}.login input,.login button{padding:.75rem .9rem;font-size:1rem}.login .error{text-align:center}}.logo.small{height:36px}.shell{grid-template:"top top""content side"minmax(0,1fr)/minmax(0,1fr) 300px;height:100dvh;display:grid}.topbar{border-bottom:1px solid var(--line);grid-area:top;align-items:center;gap:.75rem;padding:.5rem 1rem;display:flex}.content{overflow-anchor:none;grid-area:content;min-width:0;padding:1rem;overflow:auto}.sidebar{border-left:1px solid var(--line);grid-area:side;min-width:0;min-height:0;display:flex}@media (width<=1300px){.shell{grid-template:"top""content"minmax(0,1fr)"side"/minmax(0,1fr)}.content{min-height:0}.sidebar{border-left:none;border-top:1px solid var(--line)}}@media (width<=800px),(height<=500px){.topbar{gap:.4rem;padding:.2rem .5rem}.shell{--chat-min:3.4rem;grid-template-rows:auto minmax(0,1fr) auto}.shell.no-topbar{grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"content""side"}.sidebar{min-height:var(--chat-min)}.content{padding:.4rem}html:has(.shell){overscroll-behavior:none;overflow:clip}html:has(.shell) body{overscroll-behavior:none;overflow:clip}html:has(.shell) body{position:fixed;inset:0}}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:1rem;padding:1rem;display:flex}.home{--home-gap:.9rem;gap:var(--home-gap);flex-direction:column;width:100%;max-width:36rem;margin:0 auto;padding:.4rem .4rem 1.2rem;display:flex}.home-hero{background:radial-gradient(closest-side,#f2c14e29,#0000);flex-direction:column;align-items:center;gap:.35rem;padding:.6rem 0 .2rem;display:flex}.home-logo{filter:drop-shadow(0 6px 14px #00000080);width:min(50vw,240px);height:auto}.home-hello{align-items:center;gap:.5rem;margin:0;font-weight:600;display:flex}.home-hello .avatar{width:1.8rem;height:1.8rem}button.home-quick{background:linear-gradient(135deg, #f8dc85, var(--accent) 50%, #d8961c);color:#1a1a1a;text-align:left;border:none;border-radius:14px;align-items:center;gap:.9rem;width:100%;padding:1rem 1.2rem;transition:transform .12s;display:flex;box-shadow:0 8px 22px #f2c14e40,inset 0 1px #ffffff73}button.home-quick:hover:not(:disabled){transform:translateY(-1px)}button.home-quick:active{transform:scale(.98)}.home-quick-icon{font-size:2.2rem;line-height:1}.home-quick-text{flex-direction:column;flex:1;display:flex}.home-quick-text strong{letter-spacing:.02em;font-size:1.45rem}.home-quick-text small{opacity:.75;font-size:.85rem}.home-quick-go{opacity:.6;font-size:1.3rem}.home-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;display:grid}button.home-tile{background:linear-gradient(180deg, #232b35, var(--panel));text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:.2rem;padding:.8rem .4rem;transition:transform .12s;display:flex}button.home-tile:active{transform:scale(.97)}.home-tile-icon{font-size:1.6rem;line-height:1.2}.home-tile small{color:var(--muted);font-size:.75rem;line-height:1.2}.home-style{border:1px solid var(--line);background:var(--panel);border-radius:12px;flex-direction:column;gap:.45rem;padding:.75rem;display:flex}.home-style-label{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.segmented{background:var(--bg);border-radius:10px;grid-template-columns:1fr 1fr;gap:.25rem;padding:.25rem;display:grid}.segmented button{color:var(--muted);background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;align-items:center;padding:.45rem .4rem;display:flex}.segmented button small{font-size:.72rem}.segmented button.on{border-color:var(--accent);color:var(--text);background:#f2c14e24;font-weight:600}.segmented button.on small{color:var(--muted);font-weight:400}.home-section{flex-direction:column;gap:.5rem;display:flex}.home-section h2{align-items:center;gap:.5rem;font-size:1.05rem;display:flex}.home-count{background:var(--line);min-width:1.5rem;color:var(--text);text-align:center;border-radius:999px;padding:0 .45rem;font-size:.8rem}.home-fold summary{cursor:pointer;border:1px solid var(--line);background:var(--panel);border-radius:10px;padding:.55rem .75rem;list-style:none}.home-fold summary::-webkit-details-marker{display:none}.home-fold summary h2:after{content:"▸";color:var(--muted);margin-left:auto;transition:transform .15s}.home-fold[open] summary h2:after{transform:rotate(90deg)}.home-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;border-radius:10px;margin:0;padding:1rem}.home .lobbies li{background:var(--panel);border-radius:10px}.lobbies{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.lobbies li{border:1px solid var(--line);border-radius:8px;align-items:center;gap:1rem;padding:.6rem .8rem;display:flex}.lobbies li>div{flex:1}.lobbies li:has(.lobby-idle){flex-wrap:wrap;row-gap:.2rem}.lobby-idle{flex-basis:100%}.lobbies li.stale{opacity:.8}.table{--table-pad:1rem;background:var(--felt);padding:var(--table-pad);border-radius:14px;flex-direction:column;gap:1rem;display:flex;position:relative}.table-overlays{display:contents}.opponents{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.table-center{text-align:center;background:#0000004d;border-radius:10px;padding:.75rem 1rem}.table-center p{margin:0}.table-center:empty{background:0 0;padding:0}.ghost-panel{flex-direction:column;align-items:center;gap:.4rem;display:flex}.ghost-panel h3{color:var(--accent);margin:0}.ghost-hit{color:var(--accent);font-weight:700}.ghost-miss{font-weight:700}.modal-backdrop:has(>.war-lesson){padding:.5rem}.modal.war-lesson{gap:.8rem;width:min(30rem,100%);padding:1rem;font-size:1.55rem;line-height:1.3}.war-lesson h2{color:var(--accent)}.war-lesson-intro{text-align:left;align-self:stretch}.war-lesson .intro-next{padding:.5rem 2rem;font-size:1.3rem}.war-ex-stage{border-top:1px solid var(--line);width:100%;padding-top:.8rem;transition:border-color .3s;display:grid}.war-ex-stage.waiting{border-top-color:#0000}.war-ex-sizer,.war-ex-live{flex-direction:column;grid-area:1/1;align-items:center;gap:.8rem;display:flex}.war-ex-sizer{visibility:hidden}.war-ex-live{align-self:start}.war-ex-texts{width:100%;display:grid}.war-ex-texts>.war-ex-text{grid-area:1/1}.war-ex-text{flex-direction:column;gap:.4rem;width:100%;display:flex}.war-ex-live .war-ex-text{animation:.3s war-ex-in}.war-ex-stage.waiting .war-ex-live .war-ex-text{visibility:hidden;animation:none}@keyframes war-ex-in{0%{opacity:0}}.war-ex-live .war-ex-text,.war-ex-side>:not(.war-ex-name){transition:opacity .3s,filter .8s}.war-ex-stage.leaving .war-ex-live .war-ex-text,.war-ex-stage.leaving .war-ex-side>:not(.war-ex-name){opacity:0}.war-ex-note{font-size:.85em}.war-ex-row{justify-content:center;gap:.75rem;width:100%;display:flex}.war-ex-side{flex-direction:column;flex:1 1 0;align-items:center;gap:.25rem;min-width:0;max-width:12rem;display:flex}.war-ex-name{justify-content:center;max-width:100%;display:flex}.war-ex-side .pname{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.war-ex-side .dice.small{gap:.25rem}.war-ex-side .dice.small .die{flex:0 0 3.3rem;font-size:1rem}.war-ex-total{font-weight:700}.war-ex-tag{text-transform:uppercase;font-size:.85em;font-weight:700}.war-ex-side.won .war-ex-tag{color:var(--accent)}.war-ex-side.won{z-index:1;animation:.45s ease-in-out war-ex-lunge;position:relative}@keyframes war-ex-lunge{45%{transform:translate(55%)rotate(-4deg)}}.war-ex-side.lost>:not(.war-ex-name){opacity:.4;filter:grayscale();transition-duration:.8s}.war-ex-side>.dice{transition:opacity .3s,filter .8s,rotate .3s cubic-bezier(.3,1.6,.6,1),translate .3s ease-out}.war-ex-side.lost>.dice{transition-duration:.8s,.8s,.3s,.3s;translate:.4rem .2rem;rotate:10deg}.war-ex-side.lost .war-ex-tag{color:var(--danger)}@media (prefers-reduced-motion:reduce){.war-ex-stage,.war-ex-live .war-ex-text,.war-ex-side,.war-ex-side>*{transition:none;animation:none}}.your-turn{color:var(--accent);font-size:1.2rem;font-weight:700}.seat{--seat-card:110px;--seat-die:calc((var(--seat-card) - .6rem) / 5);border:2px solid var(--line);background:var(--felt);border-radius:10px;flex-direction:column;align-items:center;gap:.35rem;width:175px;padding:.7rem;display:flex;position:relative}.seat.you{border-color:var(--accent);background:linear-gradient(#ffffff14, #ffffff14), var(--felt)}.seat.you .you-badge{flex:none;padding:0 .5rem;font-size:.7rem}.seat.turn{box-shadow:0 0 0 3px var(--turn)}.seat.winner{box-shadow:0 0 0 3px var(--ok)}.seat.out>*{opacity:.5}.seat.selectable{cursor:crosshair}.seat.selected{box-shadow:0 0 0 3px var(--danger)}.seat-name{align-items:center;gap:.3rem;max-width:100%;font-weight:600;display:flex}.seat-name span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.content:has(.table.fitted){padding-inline:.35rem}.table.fitted{--table-pad:.35rem;padding:.5rem var(--table-pad);gap:.6rem}.opponents.fit{gap:.5rem}.opponents.fit .seat{--seat-card:var(--fit-card,76px);width:auto;max-width:none;padding:.5rem}.opponents.fit.war{padding-bottom:calc(var(--fit-card,76px) * .2 + 1.2rem)}.opponents.fit .seat-name{justify-content:center;width:0;min-width:100%}.opponents.strips{flex-wrap:nowrap;gap:.5rem}.opponents.strips .seat{flex:0 1 calc((100% - (var(--cols,3) - 1) * .5rem) / var(--cols,3));gap:.2rem;width:auto;min-width:0;max-width:11rem;padding:.3rem;font-size:.8rem;container-type:inline-size}.seat.strip .card-stack{width:100%;padding:0}.seat.strip .card-face{width:100%;display:block}.strip-window{aspect-ratio:318/298;background:#0000004d;border-radius:6px;width:100%;position:relative;overflow:hidden}.seat.strip .strip-window .card{border-radius:0;width:116.35%;max-width:none;position:absolute;bottom:0;left:-8.18%}.seat.strip .strip-window .card.dead{object-fit:cover;object-position:50% 52%;width:100%;height:100%;top:0;bottom:auto;left:0}.opponents.strips.full .strip-window{aspect-ratio:370/640}.opponents.strips.full .seat.strip .strip-window .card:not(.dead){width:100%;top:0;left:0}.seat.strip .card-hint{left:0}.seat.strip.killable .strip-window{box-shadow:0 0 0 3px var(--ok), 0 0 14px 4px var(--ok)}.seat.strip.free-kill .strip-window{box-shadow:0 0 0 3px var(--purple), 0 0 14px 4px var(--purple)}.seat.strip{padding-inline:.1rem}.seat.strip>.seat-name{z-index:2;pointer-events:none;background:#000000d1;border-radius:5px;justify-content:center;width:auto;min-width:0;padding:.1rem .25rem;position:absolute;top:calc(.3rem - 2px);left:.1rem;right:.1rem}.seat.strip>.seat-name .remove-bot{pointer-events:auto}.seat.strip>.seat-name .you-badge{padding:0 .3rem;font-size:.6rem}.quest-label{z-index:1;color:#fff;text-align:center;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:#000000d1;border-radius:5px;padding:.1rem .25rem;font-weight:700;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.seat.strip .dice.small{gap:0}.seat.strip>:is(.dice,.seat-dice-ph){z-index:1;margin-top:-6px;position:relative}.seat.strip .dice.small .die{width:20cqi}.seat.spot{animation:.4s ease-out spot-in}.seat.spot>.seat-name,.seat.spot .strip-window{filter:grayscale();opacity:.55}.seat.full-spot .spot-card{width:var(--seat-card);aspect-ratio:370/640;border:1px dashed var(--line);background:#ffffff14;border-radius:6px;position:relative}.seat.full-spot .quest-label{filter:grayscale();opacity:.55}.spot-rolling{z-index:1;color:#fff;text-shadow:0 1px 3px #000c;pointer-events:none;justify-content:center;align-items:center;font-size:1.1em;font-weight:700;animation:1.4s ease-in-out infinite spot-pulse;display:flex;position:absolute;inset:0}@keyframes spot-pulse{to{transform:scale(1.03)}}.seat.spot .strip-window{border:1px dashed var(--line);background:#ffffff14}.seat.spot .seat-dice-ph{visibility:hidden}@keyframes spot-in{0%{opacity:0}}.seat.big.leaving{z-index:5;pointer-events:none;position:relative}.seat.big.leaving>:not(.card-stack),.seat.big.leaving .card-stack>:not(.card-face),.seat.big.leaving .dealer-chip{opacity:0;transition:opacity .2s ease-out}.seat.spot.leaving{animation:none}.seat.fade-out{opacity:0;transition:opacity .4s ease-in}.seat.fade-in{animation:.4s ease-out seat-fade-in}@keyframes seat-fade-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.seat.spot,.spot-rolling,.seat.fade-in{animation:none}.seat.fade-out{transition:none}}.big-wrap{justify-content:center;margin-top:1.25rem;display:flex;position:relative}.seat.big{--seat-card:var(--big-card,180px);width:100%;max-width:100%;box-shadow:none;background:0 0;border:none;border-radius:0;grid-template:"card name""card power""card btns"1fr"dice dice"/max-content minmax(0,1fr);align-items:start;gap:0 .4rem;padding:0;display:grid;container-type:inline-size}.seat.big>*{grid-column:1/-1}.seat.big>.card-stack{--dx:3px;--dy:5px;grid-area:card;justify-self:start}.seat.big>.seat-name{padding-top:calc(var(--dy) * 4);flex-wrap:wrap;grid-area:name;justify-content:flex-start;font-size:1.35rem;line-height:1.25}.seat.big>.seat-name span{white-space:normal;overflow-wrap:anywhere}.seat.big>.seat-power{grid-area:power;margin:.4rem 0 0;font-size:1.15rem;line-height:1.3}.seat-power .power-short{color:inherit}.seat.big>.dice-row,.seat.big>.turn>.dice-row{grid-area:dice}.seat.big>.turn{text-align:center;display:contents}.seat.big>.turn>.actions{grid-area:btns;grid-template-columns:max-content;place-self:center;margin:.5rem 0;display:grid}.seat.big>.turn>.actions>button{white-space:nowrap}.seat.big>.turn>.actions>.attack-btn{margin-top:.6rem;padding-block:.65em;font-size:1.12em}.seat.big>.turn>p{text-align:center;grid-column:1/-1}.seat.big .dice-row{--die-fs:min(1.6rem, calc((100cqi - 2.2rem) / 13));gap:.3rem}.seat.big .dice-row .die,.seat.big .dice-row .die-fx{font-size:var(--die-fs)}.seat.big .dice-row .die-arrow{width:100%}.seat.big .die-slot{gap:.05rem}.opponents .seat.big{--seat-card:calc(var(--fit-card,76px) * 1.5);--panel-w:calc(var(--fit-card,76px) * 1.7);grid-template-columns:max-content var(--panel-w);border:2px solid var(--line);background:var(--felt);border-radius:10px;grid-template-rows:auto auto 1fr auto auto;grid-template-areas:"card name""card power""card btns""card dice""card hints";column-gap:.6rem;width:auto;padding:.5rem;container-type:normal}.opponents:has(>.seat.big){align-items:flex-start}.opponents .seat.big.you{border-color:var(--accent)}.opponents .seat.big.turn{box-shadow:0 0 0 3px var(--turn)}.opponents .seat.big>.seat-name{font-size:1.15rem}.opponents .seat.big>.seat-power{font-size:1rem}.opponents .seat.big>.turn>.actions{align-self:end}.opponents .seat.big>.turn>p{grid-area:hints}.opponents .seat.big .dice-row{--die-fs:min(1.6rem, calc((var(--panel-w) - 2.2rem) / 13))}.side-layout{grid-template-columns:minmax(0, 1fr) var(--list-w,28%);align-items:start;gap:.5rem;display:grid}.side-stage{min-width:0;position:relative}.side-stage>.big-wrap{margin-top:0}.opponents.side-list{flex-flow:column;align-items:stretch;gap:.4rem}.opponents.side-list .seat{gap:.2rem;width:100%;min-width:0;max-width:none;padding:.3rem;font-size:.75rem;container-type:inline-size}@container (width<=110px){.opponents.side-list .seat-name .avatar{display:none}}.opponents.side-list .dealer-chip{z-index:10}.opponents.side-list.roomy{flex-flow:wrap;place-content:start center;gap:.4rem}.opponents.side-list.roomy .seat{--seat-card:var(--fit-card,76px);width:auto;font-size:inherit;gap:.35rem;padding:.5rem;container-type:normal}.opponents.side-list.roomy .seat-name{justify-content:center;width:0;min-width:100%}.opponents.side-list .seat.gap{visibility:hidden}.opponents.side-list .seat.name{gap:0}.side-layout .seat.big{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-template-areas:"name""card""dice""btns";row-gap:.4rem}.side-layout .seat.big>.seat-name{justify-content:center;padding-top:0;font-size:1.15rem}.side-layout .seat.big>.card-stack{justify-self:center}.side-layout .seat.big>.turn>.actions{flex-wrap:wrap;justify-content:center;gap:.4rem;margin:.6rem 0 0;display:flex}.side-layout .seat.big>.turn>.actions>button{padding-inline:.75em}.side-layout .seat.big>.turn>.actions>.attack-btn{margin:0 0 0 .8rem}.side-plus .seat.big>.turn>.actions{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:.4rem;width:100%;max-width:28rem;margin:.45rem auto 0;display:flex}.side-plus .seat.big>.turn>.actions>button{white-space:nowrap;touch-action:manipulation;flex:auto;min-height:2.75rem;padding-inline:.6em;font-size:1rem}.side-plus .seat.big>.turn>.actions>.primary:not([aria-pressed]),.side-plus .seat.big>.turn>.actions>.attack-btn:not(:disabled){flex:1 0 100%;order:-1;min-height:3.4rem;margin:0;padding-block:.45em;font-size:1.3rem}.side-plus .seat.big>.turn>.actions:has(>.attack-btn:disabled):not(:has(>.primary))>button:not([class]):not([aria-pressed]){flex:1 0 100%;order:-1;min-height:3.4rem;margin:0;padding-block:.45em;font-size:1.3rem}.side-plus .seat.big>.turn>.actions>:is(.hint-btn,.deal-btn){flex:0 auto;font-size:.9rem}.side-plus .seat.big>.turn>.actions:has(>.primary)>.attack-btn{flex:auto;order:0;min-height:2.75rem;font-size:1rem}.side-plus .seat.big .dice-row .die-arrow{width:100%;min-height:1.7rem;padding-block:.2rem;font-size:.95rem}.side-plus .seat.big .die-slot{gap:.15rem}.side-plus .seat.big>.turn>p{margin:.15rem 0 0;line-height:1.25}.plus-mode .table-top{margin-bottom:0}.plus-mode .table-top>h2{margin:0;line-height:1.2}.dice-row{justify-content:center;align-items:center;gap:.4rem;display:flex}.dice-row .dice-line{gap:.4rem;padding:0;overflow:visible}.dice-row-end{flex:none;justify-content:center;min-width:2.1rem;display:flex}.dice-row .die.kept{transform:translateY(-4px)}.die-lock{z-index:3;pointer-events:none;background:#14181eeb;border:2px solid #fff;border-radius:50%;place-items:center;width:1.5rem;height:1.5rem;font-size:.85rem;line-height:1;display:grid;position:absolute;top:-.55rem;right:-.55rem;box-shadow:0 2px 6px #0009}.die.dropping{z-index:2;border-color:var(--danger);box-shadow:0 0 0 3px var(--danger);animation:1s ease-in forwards die-drop;position:relative}html.img-dice .die.dropping .die-art:before{background:var(--danger)}.die-lock.unlocking{animation:1s ease-out forwards die-unlock}@keyframes die-drop{0%{transform:none}12%{transform:translate(-4px)rotate(-6deg)}24%{transform:translate(4px)rotate(6deg)}36%{opacity:1;transform:translate(-3px)rotate(-4deg)}to{opacity:0;transform:translateY(2.4rem)rotate(28deg)scale(.4)}}@keyframes die-unlock{0%{transform:scale(.4)}20%{transform:scale(1.4)rotate(-12deg)}45%{opacity:1;transform:scale(1)rotate(0)}to{opacity:0;transform:translate(.9rem,2.8rem)rotate(40deg)}}@media (prefers-reduced-motion:reduce){.die.dropping,.die-lock.unlocking{opacity:.45;animation:none}}.dice-row.no-arrows .die-arrow{display:none}.offline{height:18px}.first-turn-guide ol{text-align:left;margin:.5rem 0;padding-left:1.4rem}.first-turn-guide li+li{margin-top:.4rem}.first-turn-power{font-weight:600}.seq-stage{--seq-card:max(3.6rem, min(6.5rem, 24vw, calc((100dvh - 26rem) * 37 / 64)));width:100%;display:grid}.seq-sizer,.seq-live{flex-direction:column;grid-area:1/1;gap:.8rem;display:flex}.seq-sizer{visibility:hidden}.seq-live{align-self:start;transition:opacity .3s;animation:.3s war-ex-in}.seq-live.leaving{opacity:0}.seq-texts{display:grid}.seq-texts>.seq-step{grid-area:1/1}.seq-step{text-align:left;flex-direction:column;gap:.3rem;margin:0;display:flex}.sequence-or{font-weight:600}.seq-room{min-height:calc(var(--seq-card) * 64 / 37 + 2.6rem)}.seq-ex{flex-direction:column;align-items:center;gap:.5rem;display:flex}.seq-cards{justify-content:center;gap:.9rem;display:flex}.seq-card{border-radius:6px;transition:box-shadow .3s,opacity .6s,filter .6s,rotate .3s cubic-bezier(.3,1.6,.6,1),translate .3s ease-out;display:inline-flex;position:relative}.seq-card .card{width:var(--seq-card)}.seq-card.flips .card{animation:.35s seq-flip}.seq-card.turn{box-shadow:0 0 0 3px var(--turn)}.seq-card.out{opacity:.35;filter:grayscale();translate:.35rem .2rem;rotate:14deg}.seq-card.lunge-1,.seq-card.lunge-2{z-index:1;animation:.45s ease-in-out seq-lunge-1}.seq-card.lunge-1{--lunge:calc(var(--seq-card) * .55 + .9rem)}.seq-card.lunge-2{--lunge:calc(var(--seq-card) * 1.55 + 1.8rem);animation-name:seq-lunge-2}@keyframes seq-lunge-1{45%{transform:translateX(var(--lunge)) rotate(-6deg)}}@keyframes seq-lunge-2{45%{transform:translateX(var(--lunge)) rotate(-6deg)}}.seq-card.won{box-shadow:0 0 0 3px var(--accent), 0 0 14px 4px #f2c14eb3}.seq-dealer{width:30px;height:30px;box-shadow:0 0 0 2px var(--accent);border-radius:50%;animation:.3s war-ex-in;position:absolute;top:-10px;right:-10px}@keyframes seq-flip{0%{transform:scaleX(0)}}.seq-dice{justify-content:center;min-height:2.1rem;display:flex}.seq-dice .dice.small{gap:.45rem}.seq-dice .dice.small .die{flex:0 0 2rem;font-size:.75rem}.seq-war-dice{gap:calc(var(--seq-card) + .9rem - 2rem);display:flex}.die.winning,.die.losing{transition:scale .3s,opacity .3s;position:relative}.die.winning{z-index:1;border-color:var(--green);box-shadow:0 0 0 2px var(--green);animation:.2s ease-in-out 4 alternate die-win;scale:1.2}.die.losing{opacity:.7;scale:.8}@keyframes die-win{to{background:var(--green);box-shadow:0 0 0 2px var(--green), 0 0 12px 3px #22c55eb3}}@media (prefers-reduced-motion:reduce){.die.winning,.die.losing,.seq-live,.seq-card,.seq-card .card,.seq-dealer{transition:none;animation:none}}.voice-bar{align-items:center;gap:.35rem;display:inline-flex}.in-voice{flex:none;font-size:.85em}.seat.speaking .avatar{box-shadow:0 0 0 2px #2ecc71,0 0 8px #2ecc71}.avatar{object-fit:cover;border-radius:4px;flex:none;width:1.5em;height:1.5em}.avatar.large{border-radius:8px;width:4rem;height:4rem}.avatar-editor{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.avatar-defaults{flex-wrap:wrap;gap:.25rem;display:flex}.avatar-choice{padding:2px;line-height:0}.avatar-choice .avatar{width:2rem;height:2rem}.avatar-editor .hint{opacity:.75;flex-basis:100%}.remove-bot{padding:0 .4rem;line-height:1.2}.seat.killable .card-face .card{box-shadow:0 0 0 3px var(--ok), 0 0 22px 6px var(--ok)}.kill-hint{color:var(--ok)}.seat.free-kill .card-face .card{box-shadow:0 0 0 3px var(--purple), 0 0 22px 6px var(--purple)}.free-hint{color:var(--purple)}.power-hint{color:var(--purple);font-weight:600}.card{aspect-ratio:37/64;object-fit:contain;border-radius:6px;width:110px}.card.empty{border:1px dashed var(--line)}.seat .card{width:var(--seat-card)}.card-face{display:inline-flex;position:relative}.dealer-chip{width:48px;height:48px;box-shadow:0 0 0 3px var(--accent), 0 0 12px 3px #f2c14eb3, 0 3px 8px #0009;z-index:4;border-radius:50%;position:absolute;top:-14px;right:-14px}.turn-tag{z-index:3;text-overflow:ellipsis;white-space:nowrap;border:2px solid var(--line);background:var(--panel);max-width:calc(100% - 2rem);color:var(--muted);pointer-events:none;border-radius:999px;margin:0;padding:.1rem .8rem;font-size:.9rem;font-weight:700;position:absolute;top:0;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.turn-tag.mine{border-color:var(--turn);color:var(--accent);background:#111;font-size:1rem;font-weight:800}.you-badge{background:var(--accent);color:#111;text-transform:uppercase;letter-spacing:.08em;border-radius:999px;padding:.1rem .7rem;font-size:.85rem}.card-stack{--dx:10px;--dy:6px;padding:calc(var(--dy) * 4) 0 0 calc(var(--dx) * 4);position:relative}.seat:not(.strip) .card-stack:has(>.card-face>.card.dead)>.card-face{left:calc(var(--dx) * -2)}.card-hint{left:calc(var(--dx) * 4);z-index:2;text-align:center;pointer-events:none;background:#000000bf;font-size:.75rem;position:absolute;bottom:4px;right:0}.card-stack .card-face{position:relative}.deck-stack{left:calc(var(--dx) * 4);top:calc(var(--dy) * 4);background:0 0;border:none;padding:0;position:absolute}.deck-stack:disabled{opacity:1;cursor:default}.deck-stack .card{transform:translate(calc(var(--depth) * var(--dx) * -1), calc(var(--depth) * var(--dy) * -1));position:absolute;top:0;left:0;box-shadow:0 2px 6px #00000080}.lobby-panel{flex-direction:column;align-items:center;gap:.6rem;display:flex}.game-options{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;justify-content:center;gap:.4rem 1rem;margin:0;padding:.4rem .8rem .6rem;display:flex}.game-options legend{padding:0 .3rem;font-weight:700}.color-picker{flex-wrap:wrap;justify-content:center;gap:.4rem;display:flex}.color-picker button{background:0 0;border:2px solid #0000;border-radius:6px;padding:0}.color-picker button[aria-pressed=true]{border-color:var(--accent)}.color-picker button:disabled{opacity:.3;cursor:not-allowed}.color-picker img{aspect-ratio:37/64;border-radius:4px;width:40px;display:block}.deck-count{left:calc(var(--depth) * var(--dx) * -1 - 6px);top:calc(var(--depth) * var(--dy) * -1 - 6px);z-index:3;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:0 .45rem;font-size:.8rem;font-weight:700;line-height:1.4;position:absolute}.seat.big .actions{flex-wrap:wrap;justify-content:center;gap:.4rem;margin-top:.15rem}.seat.big .turn p{max-width:34rem;margin:.15rem .5rem 0}.power-short{color:var(--muted)}.power-help{color:#fff;background:#000;border-radius:50%;flex:none;width:1.4rem;height:1.4rem;padding:0;font-size:.8rem;font-weight:800;line-height:1}.modal.power-modal{text-align:center;align-items:center;max-width:min(26rem,100%)}.modal.power-modal h3{color:var(--accent);margin:0}@media (width<=800px),(height<=500px){.table{--table-pad:.6rem;padding:var(--table-pad);border-radius:10px;gap:.6rem}.table>.row h2{font-size:1rem}.opponents{gap:.4rem}.seat{--seat-card:76px;gap:.25rem;width:calc(33.3333% - .266667rem);max-width:130px;padding:.5rem;font-size:.85rem}.seat .card-stack{--dx:5px;--dy:4px}.deck-count{padding:0 .35rem;font-size:.7rem}.seat .small{font-size:.7rem}.dealer-chip{width:30px;height:30px;top:-9px;right:-9px}.table-center{padding:.5rem}.dice-row .die{font-size:.85rem}.dice-row .die-arrow{width:2.2rem}.dice-row .dice-line{gap:.25rem}.seat.big .turn p{margin-top:.1rem;font-size:.85rem}.seat.big>.seat-name{font-size:1.15rem}.seat.big>.seat-power{font-size:1rem}.opponents.multi .seat{--seat-card:min(76px, 9.5dvh)}.table-top{gap:.4rem}.table-top>button{padding:.2rem .6rem;font-size:.85rem}}.header-tools{align-items:center;gap:.75rem;display:flex}.header-tools.compact{gap:.25rem}.icon-btn{padding:.15rem .35rem;font-size:1rem;line-height:1.2;text-decoration:none}@media (height<=500px){.table{--table-pad:.4rem;padding:var(--table-pad);gap:.4rem}.opponents{flex-wrap:nowrap}.seat{--seat-card:calc(24dvh * 37 / 64);gap:.15rem;width:auto;max-width:none;padding:.35rem .45rem}.seat .card-stack{--dx:4px;--dy:3px}.table-center{padding:.3rem}}.winner{color:var(--accent);font-size:1.6rem;font-weight:700}.hand-cards{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.card-button{background:0 0;border:2px solid #0000;padding:0}.card-button:disabled{opacity:.8;cursor:default}.hand.choosing .card-button:hover:not(:disabled){border-color:var(--accent)}.discard-pile{border-top:1px solid var(--muted);margin-top:1rem;padding-top:.5rem}.discard-pile h4{margin:0}.card.discarded{opacity:.6;filter:grayscale(.6)}.dice{flex-wrap:wrap;justify-content:center;gap:.4rem;display:flex}.die{color:#1a1a1a;background:#f5f5f0;border:2px solid #cfcfc8;border-radius:8px;grid-template:repeat(3,1fr)/repeat(3,1fr);width:2.6em;height:2.6em;padding:.3em;font-size:1rem;display:inline-grid}.pip{background:currentColor;border-radius:50%;place-self:center;width:72%;height:72%}.dice.small{flex-wrap:nowrap;gap:.2rem}.seat .dice.small{gap:.15rem}.seat .dice.small .die{width:var(--seat-die);flex:none}.seat-dice-ph{visibility:hidden}.dice.small .die{aspect-ratio:1;border-width:1px;border-radius:4px;flex:0 1.56rem;width:auto;min-width:0;height:auto;font-size:.6rem}button.die{background:#f5f5f0;border-color:#cfcfc8;padding:.3em}button.die.fresh{border-color:var(--muted)}button.die.kept{background:var(--accent);border-color:#a47a10;transform:translateY(-4px)}.dice.small .die.held{background:var(--accent);border-color:#a47a10}.dice.small .die.kept{background:var(--accent);border-color:#a47a10;transform:translateY(-2px)}button.die.modded{outline:2px dashed var(--purple);outline-offset:2px}.die-slot{flex-direction:column;align-items:center;gap:.3rem;display:flex}.dice-line{flex-wrap:nowrap;justify-content:safe center;gap:.6rem;padding:.3rem 1.2rem;overflow-x:auto}.die-fx{justify-content:center;display:inline-flex;position:relative}.die-fx .fire{z-index:0;pointer-events:none;width:auto;height:7em;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.die-fx .die{z-index:1;position:relative}.die-flash{z-index:2;pointer-events:none;font-size:.8em;line-height:1;animation:ease-out both die-flash;position:absolute;left:50%}.die-flash.up{color:#fff;bottom:100%}.die-flash.down{color:#000;top:100%}@keyframes die-flash{0%{opacity:1;transform:translate(-50%)scale(1.4)}to{opacity:0;transform:translate(-50%)scale(1)}}.dice-row .hold-all{border-radius:50%;width:2.1rem;height:2.1rem;padding:0;font-size:.65rem;font-weight:800;line-height:1;box-shadow:0 2px 5px #00000080}.hint-btn[aria-pressed=true]{background:var(--hint);border-color:var(--hint);color:#111}.turn.controls-hidden .hold-all,.turn.controls-hidden .hint-btn,.turn.controls-hidden .actions{visibility:hidden}.dice-row button.die.hint{border-color:var(--hint);box-shadow:0 0 0 2px var(--hint), 0 0 12px 4px var(--hint)}.dice-row .die.ghost,.ghost-panel .die.ghost{visibility:visible;background:0 0;border:2px dashed #ffffff59}button.die-arrow,button.die-arrow:hover:not(:disabled){background:linear-gradient(#ffffff47,#00000047),#6e6e6e8c;border:2px solid #000;border-color:#fff #000 #000 #fff;box-shadow:0 0 0 1px #000,inset 1px 1px #fff9,inset -1px -1px #0009}button.die-arrow:active:not(:disabled){border-color:#000 #fff #fff #000}.on-fire .die-arrow{color:#000;text-shadow:1px 0 #fff,-1px 0 #fff,0 1px #fff,0 -1px #fff}.on-fire .die-arrow.up{color:#fff;text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000}.die-arrow{z-index:2;width:2.6rem;padding:.1rem 0;font-size:.8rem;line-height:1;position:relative}.modal-backdrop{z-index:20;background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:1rem;max-width:min(720px,100%);max-height:100%;padding:1.25rem;display:flex;overflow:auto;box-shadow:0 10px 40px #00000080}.modal p{margin:0}.modal .actions{margin-top:0}.actions{margin-top:.75rem}.round-banner{z-index:30;text-align:center;background:#000000bf;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:1rem;animation:.3s ease-out round-banner-in;display:flex;position:fixed;inset:0}.round-banner h2{letter-spacing:.05em;color:var(--accent);text-shadow:0 4px 24px #000c;margin:0;font-size:clamp(3rem,16vw,7rem);animation:.4s ease-out round-banner-pop}.round-banner p{margin:0}@keyframes round-banner-in{0%{opacity:0}}@keyframes round-banner-pop{0%{transform:scale(.6)}}.targets-intro{z-index:30;--ring-room:16px;text-align:center;cursor:pointer;flex-direction:column;justify-content:flex-start;align-items:center;gap:1rem;padding:1rem;display:flex;position:fixed;inset:0;overflow:auto}.targets-intro:before{content:"";z-index:-1;background:#000000e6;transition:opacity .8s;animation:.25s ease-out round-banner-in;position:fixed;inset:0}.targets-intro.leaving:before{opacity:0}.targets-intro h2{color:var(--accent);margin:0;font-size:clamp(1.6rem,6vw,2.8rem)}.targets-intro p{margin:0}.targets-intro.leaving,.targets-intro.arriving{pointer-events:none;overflow:hidden}.targets-intro .intro-fade{transition:opacity .3s}.targets-intro.leaving .intro-fade,.targets-intro.arriving .intro-fade{opacity:0}.intro-layout{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;display:flex}.intro-self,.intro-enemies{flex-direction:column;align-items:center;gap:.6rem;display:flex}.intro-self{max-width:220px}.intro-label{text-transform:uppercase;letter-spacing:.08em;font-size:1.3rem;font-weight:800}.intro-label.safe{color:var(--ok)}.intro-label.danger{color:var(--danger)}.intro-vs{color:var(--muted);font-size:2rem;font-weight:800}.intro-targets{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.intro-target{flex-direction:column;align-items:center;gap:.4rem;width:190px;display:flex}.intro-text{flex-direction:column;gap:.2rem;font-size:.95rem;display:flex}.intro-card{perspective:1200px;display:inline-flex;position:relative}.intro-card .card{z-index:1;width:120px;position:relative}.intro-card.self .card{width:160px;box-shadow:0 0 0 4px var(--ok), 0 0 28px #4caf50b3}.intro-card.enemy{padding:var(--ring-room)}.intro-card.enemy .card{box-shadow:0 0 0 4px var(--danger), 0 0 24px #d9534fcc;animation:1.2s ease-in-out infinite alternate intro-pulse}.targets-intro.leaving .intro-card .card,.targets-intro.arriving .intro-card .card{animation:none}.intro-flip{transform-style:preserve-3d;position:relative}.intro-flip .card{backface-visibility:hidden;display:block}.intro-flip .card.back{position:absolute;inset:0;transform:rotateY(180deg)}@keyframes intro-pulse{to{box-shadow:0 0 0 4px var(--danger), 0 0 40px #d9534f}}.intro-shield{z-index:2;font-size:2rem;position:absolute;top:-14px;right:-14px}.intro-how{max-width:34rem;font-size:1.05rem}@media (width<=800px),(height<=500px){.intro-card .card{width:84px}.intro-card.self .card{width:110px}.intro-target{width:150px}.targets-intro{gap:.75rem}.intro-targets{gap:.25rem}.intro-vs{display:none}}@media (width<=800px) and (orientation:portrait){.targets-intro{justify-content:flex-start}.targets-intro>*{flex:none}.intro-targets{flex-flow:column;place-content:flex-start;align-self:stretch;align-items:stretch;gap:0}.intro-target{text-align:left;flex-direction:row;flex:none;align-items:flex-start;gap:.5rem;width:auto}.intro-card.enemy .card{width:clamp(28vw, ((100dvh - 15rem) / var(--rows,1) - 2 * var(--ring-room)) * 37 / 64, 42vw)}.intro-text{min-width:0;font-size:var(--intro-fs,1.05rem);padding-block:var(--ring-room);--ex-die:min(calc(var(--intro-fs,1.05rem) * 1.9), (100cqi - 1rem) / 5);flex:1;gap:.5em;line-height:1.3;container-type:inline-size}.intro-text .small{font-size:.8em}.intro-text .dice.small{justify-content:flex-start}.intro-text .dice.small .die{width:var(--ex-die);font-size:calc(var(--ex-die) * .375);flex:none}}.example{flex-direction:column;gap:.3rem;display:flex}.example-dice{align-items:center;gap:.4rem;display:flex}.example-dice .dice.small{width:auto}.example-dice .dice.small .die,.intro-text .dice.small .die,.card-lesson .dice.small .die,.card-intro-step .dice.small .die{flex:0 0 1.6rem}.dice:has(.nudged){align-items:center}.die.nudged{margin-block:1.3em;position:relative}.die-nudge{color:var(--text);font-size:.8em;line-height:1;animation:.9s ease-in-out infinite nudge-blink;position:absolute;left:50%;transform:translate(-50%)}.die-nudge.up{bottom:calc(100% + .4em)}.die-nudge.down{top:calc(100% + .4em)}@keyframes nudge-blink{50%{opacity:.15}}@media (prefers-reduced-motion:reduce){.die-nudge{animation:none}}.die-nudge.pressed{color:#fff;transition:transform .1s;animation:none;transform:translate(-50%)scale(.75)}.example-step.up .die.nudged{margin-block:1.9em 0}.example-step.down .die.nudged{margin-block:0 1.9em}.example-step.up .dice:has(.nudged){align-items:flex-end}.example-step.down .dice:has(.nudged){align-items:flex-start}.example .die-nudge{color:var(--accent);text-shadow:0 0 6px #000000e6;font-size:1.35em}.example-step{flex-direction:column;align-items:center;gap:.15rem;margin:0;display:flex}.example-step figcaption{color:var(--muted);white-space:nowrap;font-size:.95rem;font-weight:700;transition:color .3s}.example-step.after figcaption{color:var(--accent)}.example-step.after .die.nudged{animation:.45s ease-out die-pop}@keyframes die-pop{40%{transform:scale(1.25)}}@media (prefers-reduced-motion:reduce){.example-step.after .die.nudged{animation:none}}.example-caption{font-size:.95rem;line-height:1.35}.card-intro{z-index:30;background:#000000e0;grid-template-columns:auto minmax(0,34rem);grid-template-areas:"stage head""stage steps""stage next";place-content:center;gap:.8rem clamp(1rem,4vw,3rem);padding:1rem;transition:background .8s;animation:.3s ease-out round-banner-in;display:grid;position:fixed;inset:0;overflow:auto}.card-intro.leaving,.card-intro.arriving{pointer-events:none;background:0 0}.card-intro.flown{animation:none}.card-intro-stage{perspective:1200px;grid-area:stage;align-self:center}.card-flip{transform-style:preserve-3d;width:min(330px,38vw);position:relative}.card-flip .card{width:100%;display:block}.card-flip .card.back{backface-visibility:hidden;position:absolute;inset:0;transform:rotateY(180deg)}.card-flip-front{backface-visibility:hidden;position:relative}.card-spot{border:4px solid var(--accent);opacity:0;pointer-events:none;border-radius:10px;transition:opacity .5s;position:absolute;box-shadow:0 0 22px #f2c14ee6}.card-spot.on{opacity:1;animation:1s ease-in-out infinite alternate spot-pulse}.card-spot.power{width:92%;height:10%;top:5%;left:4%}.card-spot.quest{border-color:var(--quest);border-radius:50% 50% 12px 12px;width:84%;height:48%;top:50%;left:8%;box-shadow:0 0 22px #a81e1ae6}.card-intro-head,.card-intro-steps{text-align:left;flex-direction:column;gap:.8rem;display:flex}.card-intro-head{grid-area:head}.card-intro-steps{grid-area:steps;padding-top:.9rem;display:grid}.card-intro-steps>.card-intro-step{grid-area:1/1}.card-intro-step:not(.on){pointer-events:none}.card-intro>.intro-next{grid-area:next;justify-self:end}.card-intro-fade{transition:opacity .3s}.card-intro.leaving .card-intro-fade,.card-intro.arriving .card-intro-fade{opacity:0}.card-intro-head h2{color:var(--accent);margin:0;font-size:clamp(1.6rem,5vw,2.6rem)}.card-intro-head p,.card-intro-steps p{margin:0}.card-intro-sub{color:var(--muted);font-size:1.1rem}.card-intro-step{--step-color:var(--accent);border:2px solid var(--step-color);opacity:0;background:#ffffff0a;border-radius:8px;flex-direction:column;gap:.45rem;padding:1.1rem .9rem .7rem;font-size:1.4rem;transition:opacity .5s,transform .5s;display:flex;position:relative;transform:translate(16px)}.card-intro-step.quest{--step-color:var(--quest)}.card-intro-step.quest h3{color:#fff}.card-intro-step.on{opacity:1;transform:none}.card-intro-step h3{background:var(--step-color);color:#111;white-space:nowrap;border-radius:999px;margin:0;padding:.1rem .8rem;font-size:1.35rem;line-height:1.3;position:absolute;top:0;left:50%;transform:translate(-50%,-50%)}.card-intro-arrows{z-index:2;pointer-events:none;width:100%;height:100%;position:fixed;inset:0;overflow:visible}.card-intro-arrows line{stroke-width:8px;stroke-linecap:round;filter:drop-shadow(0 0 4px #000c);animation:.4s ease-out arrow-in}.card-intro-arrows line.power,.card-intro-arrows marker.power path{stroke:var(--accent);fill:var(--accent)}.card-intro-arrows line.quest,.card-intro-arrows marker.quest path{stroke:var(--quest);fill:var(--quest)}@keyframes arrow-in{0%{opacity:0}}.card-intro-this{font-size:1.35rem}.card-intro-step .power-line{flex-wrap:wrap;align-items:center;gap:0 .35rem;display:flex}.card-intro-step .power-short{color:inherit}.power-help-backdrop{z-index:40}.card-intro-step{--ex-die:min(3.2rem, (100cqi - 2.4rem) / 5);container-type:inline-size}.card-intro-step .example-step{flex:none}.card-intro-step .dice.small .die{width:var(--ex-die);font-size:calc(var(--ex-die) * .375);flex:none}.card-intro-step .example-dice{justify-content:center}.card-intro-step .example-step figcaption{font-size:1.3rem}.card-intro-step .example-caption{font-size:1.2rem}.intro-next{align-self:flex-end;padding:.5rem 2rem;font-size:1.1rem}@media (width<=800px),(height<=500px){.card-intro{--card-w:min(94vw, calc((100dvh - 8.5rem) * 37 / 64));grid-template-columns:var(--card-w);grid-template-areas:"head""stage""next";row-gap:.4rem;padding:.5rem;overflow:hidden}.card-intro-head{text-align:center;gap:.1rem}.card-intro-head h2{font-size:1.3rem}.card-intro-sub{font-size:.85rem}.card-flip{width:var(--card-w)}.card-intro-steps{z-index:1;padding:calc(var(--card-w) * .36) 5% 0;grid-area:stage;align-self:stretch;gap:1rem;position:relative}.card-intro-step{background:#0c1016e0;align-self:start;gap:.4rem;padding:.9rem .7rem .6rem;font-size:1.25rem;line-height:1.3;transform:translateY(8px)}.card-intro-step h3{padding:.05rem .75rem;font-size:1.3rem}.card-intro-this{font-size:1.25rem}}.card-face.zoomable{cursor:zoom-in}.modal.card-zoom{max-width:min(760px,100%)}.card-zoom h2{margin:0}.card-zoom-body{flex-wrap:wrap;align-items:flex-start;gap:1.25rem;display:flex}.card-zoom-card{flex-direction:column;align-items:center;gap:.75rem;width:min(300px,100%);display:flex;container-type:inline-size}.card-zoom-card>.card{width:100%}.card-zoom-dice .dice{flex-wrap:nowrap}.card-zoom-dice .die{font-size:calc(7.69231cqi - .123077rem)}.card-lesson{flex-direction:column;flex:16rem;gap:1rem;display:flex}.card-lesson section{flex-direction:column;gap:.4rem;display:flex}.card-lesson h3{margin:0}.seat.targeting .dice .die{animation:.4s ease-in-out 8 alternate target-flash}@keyframes target-flash{to{background:var(--danger);box-shadow:0 0 10px var(--danger);border-color:#fff}}.targeted-banner{z-index:25;text-align:center;border-block:3px solid var(--danger);pointer-events:none;background:#961e1eeb;flex-direction:column;align-items:center;gap:.3rem;padding:1rem;animation:3s forwards targeted-banner;display:flex;position:fixed;top:50%;left:0;right:0;transform:translateY(-50%)}.targeted-banner strong{font-size:clamp(1.4rem,5vw,2.4rem)}@keyframes targeted-banner{0%{opacity:0;transform:translateY(-50%)scaleY(.4)}10%,80%{opacity:1;transform:translateY(-50%)}to{opacity:0;transform:translateY(-50%)}}.modal.splash{text-align:center;align-items:center;min-width:min(320px,100%)}.modal.splash h2{font-size:2rem}.end-actions{flex-direction:column;align-items:stretch;gap:.5rem;width:min(16rem,100%);display:flex}.loser{color:var(--danger)}.splash-dealer{align-items:center;gap:.6rem;display:flex}.round-banner .splash-dealer{text-align:center;gap:.8rem;max-width:min(40rem,92vw);font-size:clamp(1.4rem,6vw,2.2rem);font-weight:700}.round-banner .splash-chip{width:1.6em;height:1.6em}.splash-chip{width:36px;height:36px;box-shadow:0 0 0 2px var(--accent);border-radius:50%}.seat-dice-ph.war-anchor{position:relative}.war-dice{visibility:visible;z-index:5;width:calc(var(--seat-card) * 1.25);flex-direction:column;align-items:center;gap:.15rem;display:flex;position:absolute;top:0;left:50%;transform:translate(-50%)}.war-dice .dice{flex-wrap:nowrap;justify-content:center;gap:.2rem}.war-dice .die{--war-die:min(calc(var(--seat-die) * 2), calc((var(--seat-card) * 1.25 - (var(--war-n,1) - 1) * .2rem) / var(--war-n,1)));width:var(--war-die);height:var(--war-die);font-size:calc(var(--war-die) / 2.6);border-radius:18%;flex:none;padding:.3em}.war-total{background:#0009;border-radius:6px;padding:0 .5rem}.modal.options{min-width:min(420px,100%)}.book-buttons{flex-wrap:wrap}.modal.book{max-width:min(960px,100%);height:100%}.book-page{object-fit:contain;flex:1;width:100%;min-height:0}.book-nav{justify-content:space-between}.modal.admin-tools{width:min(560px,100%)}.admin-sections{flex-direction:column;gap:.9rem;display:flex}.admin-sections h4{margin:0 0 .35rem}.admin-live{flex-wrap:wrap;gap:.4rem 1rem;display:flex}.admin-counts{border-collapse:collapse;width:100%}.admin-counts th,.admin-counts td{border-bottom:1px solid var(--line);text-align:right;padding:.2rem .4rem}.admin-counts tbody th{text-align:left;font-weight:400}.admin-recent{flex-direction:column;gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.admin-recent li{flex-direction:column;min-width:0;display:flex}.admin-recent a{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.modal.leaderboard{width:min(560px,100%)}.stats-tabs{flex-wrap:wrap;gap:.4rem;display:flex}.stats-tabs button{flex:auto}.stats-filters{flex-wrap:wrap;gap:.4rem;display:flex}.stats-filter{flex-direction:column;flex:6.5rem;gap:.1rem;min-width:0;display:flex}.stats-filter select{width:100%;min-width:0}.stats-list{flex-direction:column;gap:.35rem;display:flex}.stats-metric{border:1px solid var(--line);border-radius:8px;padding:.45rem .6rem}.stats-metric summary{cursor:pointer;align-items:baseline;gap:.5rem;display:flex}.stats-name{flex:1;min-width:0}.stats-leader{text-align:right;overflow-wrap:anywhere}.stats-who{color:var(--accent)}.stats-top ol{margin:.5rem 0;padding:0;list-style:none}.stats-top li{gap:.5rem;padding:.15rem 0;display:flex}.stats-top li.mine{font-weight:700}.stats-rank{min-width:2.5rem;color:var(--muted)}.stats-top li .stats-who{overflow-wrap:anywhere;flex:1;min-width:0}.stats-you{border-top:1px solid var(--line);padding-top:.35rem}.stats-table{border-collapse:collapse;width:100%;margin-top:.75rem}.stats-table caption{text-align:left;color:var(--accent);padding-bottom:.25rem;font-weight:700}.stats-table th,.stats-table td{text-align:left;border-bottom:1px solid var(--line);padding:.2rem .4rem}.stats-table th{color:var(--muted);font-weight:400}.stats-table td.top{color:var(--accent);font-weight:700}.game-records{width:100%}.game-records h4{color:var(--accent);margin:0 0 .4rem}.game-records ul{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.game-records li{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.record-kind{color:var(--muted);font-weight:700}.game-records li.top .record-kind{color:var(--accent)}.record-value{font-weight:700}.chat{flex-direction:column;gap:.5rem;width:100%;min-width:0;min-height:0;padding:.75rem;display:flex}.chat-log{overflow-wrap:anywhere;flex-direction:column;flex:1;gap:.3rem;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.pname{color:var(--accent);font-weight:800}.chat-log .from{color:var(--accent);font-weight:600}.chat-log .mine .from{color:var(--muted)}.chat-log .private{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 18%, transparent);border-radius:4px;padding:.15rem .4rem}.chat-log .dm-tag{color:var(--muted);font-size:.8em;font-style:italic}.chat-to{flex:none;max-width:8rem}.chat-full{flex-direction:column;flex:1;gap:.5rem;min-height:0;display:flex}.chat-full h4{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:.8rem}.chat-log .update{border-left:3px solid var(--muted);color:var(--muted);padding-left:.4rem}.chat-log .update.success{border-left-color:var(--ok)}.chat-log .update.error{border-left-color:var(--danger)}.chat-log .update.debug{border-left-color:var(--accent)}.chat-peek,.chat-close,.chat-updates{display:none}@media (width<=1300px){.chat{padding:.35rem .6rem}.chat-peek{align-items:center;gap:.5rem;display:flex}.chat-peek .chat-log{justify-content:flex-end;gap:0;min-width:0;height:2.6em;font-size:.85rem;line-height:1.3;overflow:hidden}.chat-peek .chat-log li{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.chat-peek>button{flex:none}.chat-close{display:inline-block}@media (width<=800px),(height<=500px){.chat-peek{flex:1;align-items:stretch;min-height:0}.chat-peek .chat-log{height:auto;min-height:2.6em}.chat-peek>button,.chat-peek>.emote-picker{align-self:flex-end}}.chat-full{display:none}.chat-updates{flex-direction:column;flex:1;gap:.5rem;min-height:0;display:flex}.chat.open .chat-full{z-index:15;background:var(--panel);border-top:1px solid var(--line);border-radius:14px 14px 0 0;height:50dvh;padding:.75rem;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 30px #00000080}}.notices{z-index:10;pointer-events:none;flex-direction:column;gap:.4rem;display:flex;position:fixed;top:1rem;left:50%;transform:translate(-50%)}.notice{background:var(--panel);border-left:4px solid var(--muted);border-radius:8px;padding:.5rem 1rem;box-shadow:0 4px 12px #0006}.notice.success{border-left-color:var(--ok)}.notice.error{border-left-color:var(--danger)}@media (width<=1300px){.notices{width:calc(100% - 2rem)}}@media (width<=800px),(height<=500px){.notices{display:none}}.odds-mini{font-variant-numeric:tabular-nums;text-align:left;cursor:pointer;gap:1px;width:100%;margin-top:4px;padding:3px 4px;font-size:.68rem;line-height:1.25;display:grid}.odds-mini .odds-head,.odds-mini .odds-line{grid-template-columns:1.2fr 1fr 1fr;gap:4px;display:grid}.odds-head{color:var(--muted);border-bottom:1px solid var(--line)}.odds-line>span:nth-child(n+2){text-align:right}.odds-self{color:var(--accent)}.modal.odds-modal{width:calc(100vw - 32px);max-width:560px;max-height:calc(100vh - 32px);overflow:auto}.odds-modal h4{margin:14px 0 6px}.odds-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.85rem}.odds-table th,.odds-table td{border:1px solid color-mix(in srgb, var(--muted) 60%, transparent);text-align:right;padding:4px 8px}.odds-table thead th{background:color-mix(in srgb, var(--line) 35%, transparent)}.odds-table th:first-child{text-align:left}.odds-table thead th{text-align:center}.odds-sub th{color:var(--muted);font-size:.72rem;font-weight:400}.odds-boost{color:var(--ok);font-weight:600}.odds-none{color:var(--muted)}.odds-table .odds-self td{text-align:center;color:var(--accent)}.notice.debug{border-left-color:var(--accent);opacity:.92;font-size:.8rem}.modal.feedback{width:min(640px,100%)}.modal.feedback textarea{box-sizing:border-box;resize:vertical;background:var(--bg);width:100%;color:var(--text);border:1px solid var(--line);font:inherit;border-radius:6px;padding:.5rem}.feedback-categories{flex-wrap:wrap}.feedback-images{flex-wrap:wrap;gap:.5rem;display:flex}.feedback-thumb{position:relative}.feedback-thumb img{object-fit:cover;border:1px solid var(--line);border-radius:6px;max-width:160px;height:90px;display:block}.feedback-thumb .remove-bot{position:absolute;top:2px;right:2px}.feedback-add{border:1px dashed var(--line);cursor:pointer;width:90px;height:90px;color:var(--muted);border-radius:6px;justify-content:center;align-items:center;display:flex}.feedback-add input{display:none}.feedback-snapshot pre,.admin-feedback-report pre{background:var(--bg);border:1px solid var(--line);border-radius:6px;max-height:300px;padding:.5rem;font-size:.75rem;overflow:auto}.admin-feedback{max-width:1200px;margin:0 auto;padding:1rem}.admin-feedback-body{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;gap:1rem;display:grid}@media (width<=800px),(height<=500px){.admin-feedback-body{grid-template-columns:minmax(0,1fr)}}.admin-feedback-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.admin-feedback-list button{text-align:left;flex-direction:column;align-items:flex-start;gap:.2rem;width:100%;display:flex}.admin-feedback-list button.open{border-color:var(--accent)}.badge.cat-bug{color:var(--danger)}.badge.cat-suggestion{color:var(--ok)}.admin-feedback-text{white-space:pre-wrap}.admin-feedback-images{flex-wrap:wrap;gap:.5rem;display:flex}.admin-feedback-images img{border:1px solid var(--line);border-radius:6px;max-width:100%;max-height:360px}.admin-gamelog-stats{overflow-x:auto}.admin-gamelog-stats table{border-collapse:collapse;font-size:.85rem}.admin-gamelog-stats th,.admin-gamelog-stats td{border:1px solid var(--line);text-align:right;padding:.2rem .45rem}.admin-gamelog-stats th:nth-child(2),.admin-gamelog-stats td:nth-child(2){text-align:left}.admin-gamelog-stats table+table{margin-top:.75rem}.admin-gamelog-stats caption{text-align:left;font-weight:600}.admin-gamelog-stats th[scope],.admin-gamelog-stats tbody th{text-align:left;font-weight:400}.admin-gamelog-events{max-height:70vh;padding-left:0;font-size:.85rem;list-style:none;overflow:auto}.admin-gamelog-events li{padding:.1rem 0}.admin-gamelog-events .ev-reason{color:var(--muted);font-style:italic}.admin-gamelog-events .ev-round,.admin-gamelog-events .ev-war,.admin-gamelog-events .ev-finish{margin-top:.4rem;font-weight:600}.seat-name .idle-pill{background:var(--danger);color:#fff;font-variant-numeric:tabular-nums;border-radius:999px;flex:none;padding:0 .35rem;font-size:.8em;animation:1s ease-in-out infinite alternate idle-pulse}@keyframes idle-pulse{to{opacity:.55}}.idle-banner{z-index:30;border:2px solid var(--danger);text-align:center;font-variant-numeric:tabular-nums;pointer-events:none;background:#961e1ef0;border-radius:10px;flex-direction:column;align-items:center;gap:.2rem;width:max-content;max-width:calc(100vw - 2rem);padding:.6rem 1.2rem;display:flex;position:fixed;top:.75rem;left:50%;transform:translate(-50%)}.idle-banner strong{font-size:1.3rem}.option-table{border-collapse:collapse;width:100%}.option-table tr+tr{border-top:1px solid var(--line)}.option-table th,.option-table td{vertical-align:middle;padding:.45rem .4rem}.option-table th{text-align:left;width:45%;font-weight:600}.option-table th label{cursor:pointer}.option-table .hint{color:var(--muted);font-size:.75rem;font-weight:400;display:block}.option-table td{text-align:left}.option-table td .block{display:block}.option-table tr.suboption th{padding-left:1.5rem}.game-options .option-table{width:auto}.add-bot{gap:.3rem;display:inline-flex}.wild-splash{z-index:60;pointer-events:none;background:radial-gradient(circle,#f2c14e59,#000000eb 60%);grid-template-rows:1fr 1fr;animation:linear forwards wild-splash;display:grid;position:fixed;inset:0;overflow:hidden}.wild-splash:before{content:"";background:repeating-conic-gradient(#ffffff21 0deg 2deg,#0000 2deg 9deg);animation:6s linear infinite wild-lines;position:absolute;inset:-50%}@keyframes wild-splash{0%{opacity:0}6%,88%{opacity:1}to{opacity:0}}@keyframes wild-lines{to{transform:rotate(360deg)}}.wild-half{flex-direction:column;align-items:center;padding-inline:16px;display:flex;position:relative}.wild-top{justify-content:flex-end;padding-bottom:.5rem}.wild-bottom{justify-content:flex-start;gap:.75rem;padding-top:.5rem}.wild-band{text-transform:uppercase;text-align:center;letter-spacing:.02em;-webkit-text-stroke:2px #000;paint-order:stroke fill;text-shadow:4px 4px #000,0 0 24px #f2c14ecc;max-width:100%;padding:.1em .6em;font-style:italic;font-weight:900;line-height:1.05;display:block;transform:skew(-12deg)}.wild-title{color:var(--accent);background:linear-gradient(90deg, transparent, var(--danger) 12%, var(--danger) 88%, transparent);font-size:clamp(2.2rem,10vw,6.5rem);animation:.55s cubic-bezier(.2,1.4,.4,1) both wild-in-left}.wild-sub{color:#fff;background:linear-gradient(90deg,#0000,#1e3a8a 12% 88%,#0000);font-size:clamp(2.4rem,11vw,8rem);animation:.55s cubic-bezier(.2,1.4,.4,1) .45s both wild-in-right}.wild-by{text-shadow:2px 2px #000;margin:0;font-size:clamp(1rem,3.5vw,1.4rem);animation:.4s .9s both wild-fade}@keyframes wild-in-left{0%{transform:translate(-120vw)skew(-12deg)}to{transform:translate(0)skew(-12deg)}}@keyframes wild-in-right{0%{transform:translate(120vw)skew(-12deg)}to{transform:translate(0)skew(-12deg)}}@keyframes wild-fade{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.wild-splash:before,.wild-title,.wild-sub,.wild-by{animation:none}}.dice-row.wild .die{box-shadow:0 0 10px 2px #f2c14ed9}.wild-lesson{max-width:min(34rem,100%)}.wild-examples{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.wild-examples li{align-items:center;gap:.75rem;animation:.4s both wild-fade;display:flex}.invite-banner{border:1px solid var(--accent);background:#f2c14e1f;border-radius:8px;align-items:center;gap:.5rem;padding:.6rem .8rem;display:flex}.lobby-invite{align-items:center;gap:.5rem}.quick-fill{font-variant-numeric:tabular-nums}.lobbies.recent li{flex-wrap:wrap;gap:.5rem}.emote-picker{flex:none;position:relative}.emote-menu{z-index:15;background:var(--panel);border:1px solid var(--line);border-radius:8px;grid-template-columns:repeat(2,auto);gap:.25rem;max-width:calc(100vw - 1rem);padding:.4rem;display:grid;position:absolute;bottom:calc(100% + 4px);right:0;box-shadow:0 6px 20px #00000080}.emote-menu button{text-align:left}@media (width<=1300px){.emote-in-form{display:none}}.emote-bubble{z-index:6;color:#111;white-space:nowrap;pointer-events:none;background:#fff;border-radius:999px;padding:.25rem .6rem;font-weight:600;animation:3s ease-out forwards emote-pop;position:absolute;top:-.6rem;left:50%;transform:translate(-50%);box-shadow:0 3px 10px #00000073}.emote-float{z-index:16;pointer-events:none;flex-direction:column;align-items:center;gap:.3rem;display:flex;position:fixed;top:3.5rem;left:50%;transform:translate(-50%)}.emote-bubble.loose{position:static;transform:none}@keyframes emote-pop{0%{opacity:0;scale:.6}8%{opacity:1;scale:1.08}14%{scale:1}80%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.emote-bubble{animation:none}}.modal.review{width:min(900px,100%)}.review-head{flex-wrap:wrap;gap:.4rem}.recap{flex-direction:column;gap:.8rem;display:flex}.recap-result{font-size:1.15rem}.recap-mvp{align-items:center;gap:.5rem;display:flex}.recap-mvp-tag{background:var(--accent);color:#111;border-radius:999px;padding:.1rem .5rem;font-size:.85rem;font-weight:700}.recap-highlights{flex-direction:column;gap:.3rem;margin:0;padding-left:1.2rem;display:flex}.recap-table-wrap{overflow-x:auto}.recap-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.recap-table th,.recap-table td{border-bottom:1px solid var(--line);text-align:right;padding:.3rem .5rem}.recap-table th:first-child,.recap-table td:first-child{text-align:left}.recap-table tr.mvp td{color:var(--accent)}.replay{flex-direction:column;gap:.6rem;display:flex}.replay-seats{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:.5rem;display:grid}.replay-seat{border:2px solid var(--line);background:var(--felt);border-radius:10px;flex-direction:column;align-items:center;gap:.3rem;padding:.4rem;transition:border-color .2s;display:flex}.replay-seat.actor{border-color:var(--turn)}.replay-seat.at-war{border-color:#fb923c}.replay-seat.victim{border-color:var(--danger)}.replay-seat.won{border-color:var(--accent)}.replay-seat.out{opacity:.55}.replay-seats.war{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.replay-seats.war .replay-card{width:min(100%,180px)}.replay-seat.fade-out{opacity:0;transition:opacity .3s ease-in}.replay-seat.fade-in{animation:.3s ease-out seat-fade-in}@media (prefers-reduced-motion:reduce){.replay-seat.fade-out{transition:none}.replay-seat.fade-in{animation:none}}.replay-name{align-items:center;gap:.3rem;max-width:100%;font-size:.85rem;display:flex}.replay-name span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.replay-card{aspect-ratio:5/7;width:80px;position:relative}.replay-card img,.replay-card-empty{border-radius:6px;width:100%;height:100%}.replay-card-empty{border:1px dashed var(--line);color:var(--muted);text-align:center;justify-content:center;align-items:center;font-size:.8rem;display:flex}.replay-hand{background:var(--panel);border:1px solid var(--line);text-align:center;border-radius:999px;min-width:1.4rem;padding:0 .3rem;font-size:.75rem;position:absolute;top:-.4rem;left:-.4rem}.replay-dice{min-height:1.4rem}.replay-dice .dice.small{flex-wrap:nowrap;gap:.15rem}.replay-dice .dice.small .die{flex:0 0 1.25rem;font-size:.48rem}.replay-caption{min-height:2.6em;font-size:1.05rem}.replay-round{background:var(--line);border-radius:999px;margin-right:.5rem;padding:.05rem .45rem;font-size:.8rem}.replay-controls{justify-content:center;gap:.35rem;display:flex}.replay-controls button{min-width:2.6rem}.replay-scrub{width:100%}.replay-step{text-align:center}@media (width<=800px){.replay-seats{grid-template-columns:repeat(3,1fr)}.replay-card{width:64px}}.tutorial-close{z-index:1000;color:#fff;background:#14181eeb;border:2px solid #fff;border-radius:50%;place-items:center;width:2rem;height:2rem;padding:0;font-size:1rem;font-weight:800;line-height:1;transition:opacity .25s,visibility .25s;display:grid;position:fixed;box-shadow:0 3px 12px #0009}.tutorial-close:hover:not(:disabled){background:#000;border-color:#fff}.with-close{display:contents}.kill-warn-backdrop{background:#00000040}.modal.kill-warn-box{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-color:var(--danger);text-align:center;background:#161b22c7;max-width:min(26rem,100%)}.kill-warn-box h2{color:var(--danger);margin:0 0 .4rem}.kill-warn-box p{margin:0 0 .8rem;font-size:1.1rem}.kill-warn-box .actions{justify-content:center;gap:.6rem}.modal.kill-warn-box.deal-box{border-color:var(--accent)}.kill-warn-box.deal-box h2{color:var(--accent)}.modal.deal-box{width:min(26rem,100%)}.deal-box h2,.deal-box p{margin:0}.deal-note{color:var(--muted);font-size:.95rem}.deal-terms{font-style:italic}.deal-choices{flex-direction:column;gap:.4rem;display:flex}.deal-choices button{text-align:left}.deal-clock{border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;height:1.4rem;font-size:.85rem;display:flex;position:relative;overflow:hidden}.deal-clock-bar{background:var(--accent);opacity:.35;transition:width .25s linear;position:absolute;inset:0 auto 0 0}.deal-clock span{position:relative}.seat-name .deal-badge{flex:none;font-size:.9em}.seat>.kill-fire{z-index:0;pointer-events:none;width:135%;height:165%;position:absolute;bottom:-6%;left:50%;transform:translate(-50%)}.seat .card-face>.card{z-index:1;position:relative}.seat .deck-stack,.seat.spot .strip-window,.seat.full-spot .spot-card{z-index:1}.seat:not(.strip)>:is(.seat-name,.dice,.seat-dice-ph,.seat-power),.seat>.turn>:is(.actions,p),.table-top{z-index:1;position:relative}html.img-dice .die:not(.ghost):not(.pip-die){position:relative;box-shadow:none!important;background:0 0!important;border-color:#0000!important}html.img-dice .die-art{isolation:isolate;pointer-events:none;position:absolute;inset:-21.5%}html.img-dice .die-art img{mix-blend-mode:multiply;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}html.img-dice .die-art:before{content:"";-webkit-mask:var(--die-src) center / 100% 100% no-repeat;-webkit-mask:var(--die-src) center / 100% 100% no-repeat;mask:var(--die-src) center / 100% 100% no-repeat;position:absolute;inset:0}html.img-dice .die.held .die-art:before,html.img-dice .die.kept .die-art:before{background:var(--accent)}html.img-dice .dice-row button.die.hint .die-art{filter:drop-shadow(0 0 2px var(--hint)) drop-shadow(0 0 6px var(--hint))}html.img-dice .dice-row.wild .die .die-art{filter:drop-shadow(0 0 5px #f2c14ed9)}html.img-dice .die.winning .die-art{filter:drop-shadow(0 0 2px var(--green))}html.img-dice .die.winning .die-art:before{animation:.2s ease-in-out 4 alternate die-art-win}@keyframes die-art-win{to{background:var(--green)}}html.img-dice .seat.targeting .dice .die .die-art:before{animation:.4s ease-in-out 8 alternate die-art-target}@keyframes die-art-target{to{background:var(--danger)}}@media (prefers-reduced-motion:reduce){html.img-dice .die .die-art:before{animation:none}}.dice-tray{z-index:950;touch-action:none;-webkit-user-select:none;user-select:none;opacity:1;background:#3a2414;transition:opacity .3s;display:none;position:fixed;inset:0}.dice-tray.open{display:block}.dice-tray.fading{opacity:0}.dice-tray-canvas{width:100%;height:100%;display:block}.dice-tray-prompt,.dice-tray-loading{left:50%;top:max(1.5rem, env(safe-area-inset-top));color:#fff6e8;text-align:center;pointer-events:none;background:#140a04b8;border-radius:.6rem;width:max-content;max-width:calc(100% - 5rem);margin:0;padding:.45rem .9rem;font-size:1.35rem;font-weight:600;position:absolute;transform:translate(-50%)}.dice-tray-loading{top:50%}.dice-tray-prompt.playing{top:auto;bottom:max(1.5rem, env(safe-area-inset-bottom))}.dice-tray-actions{left:50%;bottom:max(1.5rem, env(safe-area-inset-bottom));gap:.8rem;display:flex;position:absolute;transform:translate(-50%)}.dice-tray-actions button{white-space:nowrap;min-width:8rem;padding:.7rem 1.2rem;font-size:1.15rem;font-weight:700}.dice-tray-actions.over-hand{bottom:24%}.dice-tray-prompt.playing.over-actions{bottom:calc(max(1.5rem, env(safe-area-inset-bottom)) + 5rem)}.dice-tray-callout{color:#fff6e8;text-align:center;pointer-events:none;background:#140a04e6;border:5px solid #ff5a3c;border-radius:1.2rem;gap:.6rem;width:min(32rem,100% - 2rem);padding:1.6rem 1.4rem;font-size:clamp(1.4rem,6vmin,2rem);font-weight:600;line-height:1.25;animation:.3s ease-out dice-callout-in;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 2.5rem #ff5a3c8c}.dice-tray-callout strong{color:#ff8a6a;font-size:clamp(2.2rem,11vmin,3.4rem);line-height:1.1}@keyframes dice-callout-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.7)}}.dice-tray-cancel{top:max(1rem, env(safe-area-inset-top));color:#fff6e8;background:#140a04b8;border:2px solid #fff6e899;border-radius:50%;place-items:center;width:2.4rem;height:2.4rem;padding:0;font-size:1.1rem;display:grid;position:absolute;right:1rem}.modal.dice-lab{gap:.8rem;width:min(640px,100%)}.dice-lab h4{margin:.2rem 0 .4rem}.dice-lab section{border-top:1px solid var(--line);flex-direction:column;gap:.6rem;padding-top:.6rem;display:flex}.dice-lab-actions{flex-wrap:wrap;align-items:center;gap:.5rem}.dice-lab-field{flex-direction:column;gap:.2rem;display:flex}.dice-lab-field>span{flex-wrap:wrap;align-items:baseline;gap:.4rem;display:flex}.dice-lab-field input[type=range]{width:100%}.dice-lab-field.changed>span strong{color:var(--accent,#ffb347)}.dice-lab-field small{line-height:1.3}.dice-lab-check{align-items:center;gap:.5rem;display:flex}.dice-lab-choice{flex-wrap:wrap;gap:.3rem;display:flex}.dice-lab-choice button{min-width:2.4rem}.dice-lab-choice button.on{outline:2px solid var(--accent,#ffb347);font-weight:700}.dice-lab-report ul,.dice-lab-results{margin:.2rem 0 0;padding-left:1.2rem}.dice-lab-report li.bad{color:#ff8a6a;font-weight:700}
