@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2")}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2")}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/nunito-latin-800-normal-Dz8SOQK_.woff2)format("woff2")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--night:#141a29;--night-raised:#1f2840;--ink:#1b1f2e;--paper:#fbf3df;--paper-shade:#eadcb8;--grid-line:#3a6ea521;--text:#f6efe0;--text-muted:#c9c5d6;--on-paper-muted:#4a4458;--accent:#ffb020;--accent-deep:#c97f00;--you:#ff3d7f;--target:#19c4a6;--ok:#3ddc84;--focus:#fff;--gutter:16px;--radius:16px;--font-display:"Fredoka", "Nunito", system-ui, sans-serif;--font-body:"Nunito", system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{background:var(--night);-webkit-text-size-adjust:100%}body{background:var(--night);color:var(--text);font:400 1rem/1.45 var(--font-body);overscroll-behavior:none;margin:0;overflow-x:hidden}h1,h2{font-family:var(--font-display);margin:0;font-weight:600;line-height:1.15}p{margin:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page{max-width:30rem;min-height:100dvh;padding:max(var(--gutter), env(safe-area-inset-top)) max(var(--gutter), env(safe-area-inset-right)) max(var(--gutter), env(safe-area-inset-bottom)) max(var(--gutter), env(safe-area-inset-left));flex-direction:column;gap:14px;margin:0 auto;display:flex}.note{color:var(--text-muted)}.text-field{border:3px solid var(--ink);background:var(--paper);width:100%;min-height:48px;color:var(--ink);font:800 1.125rem/1 var(--font-body);letter-spacing:.2em;text-transform:uppercase;border-radius:12px;padding:0 12px}.button{border:3px solid var(--ink);border-radius:var(--radius);background:var(--paper);min-width:48px;min-height:48px;color:var(--ink);font:600 1.125rem/1 var(--font-display);cursor:pointer;box-shadow:0 5px 0 var(--ink);-webkit-tap-highlight-color:transparent;touch-action:manipulation;justify-content:center;align-items:center;padding:0 20px;text-decoration:none;transition:transform 80ms,box-shadow 80ms;display:inline-flex}.button:active:not(:disabled){box-shadow:0 1px 0 var(--ink);transform:translateY(4px)}.button:disabled{opacity:.55;cursor:not-allowed}.button-primary{background:var(--accent)}.button-large{min-height:58px;font-size:1.375rem}.button-small{align-self:flex-start;min-height:44px;padding:0 16px;font-size:1rem}:focus-visible{outline:4px solid var(--focus);outline-offset:3px}.button:focus-visible,.pen-card-input:focus-visible+.pen-card-face{outline-color:var(--focus)}.home{text-align:center;padding:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left));justify-content:center}.home-sheet{--focus:var(--ink);border:3px solid var(--ink);color:var(--ink);background-color:var(--paper);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);box-shadow:0 6px 0 var(--ink);background-size:24px 24px;border-radius:24px;flex-direction:column;gap:14px;padding:12px;display:flex}.home-sheet .form-error{color:#9b1c0f}.home-sheet .text-field{background:#fff}.join-row{gap:8px;display:flex}.join-row .text-field{flex:1;min-width:0}.join-row .button{flex:none}.home-soon:disabled{white-space:nowrap;opacity:1;color:var(--on-paper-muted);box-shadow:none;background:0 0;border-style:dashed;gap:10px;padding:0 10px}.home-soon-tag{background:var(--paper-shade);color:var(--ink);font:800 1rem/1.2 var(--font-body);white-space:nowrap;border-radius:999px;padding:2px 8px}.home-header{text-align:left;gap:8px;display:flex}.home-profile{flex:999 13.5rem;min-width:0;min-height:62px;display:flex}.sound-control-header{flex:none;align-self:stretch}.sound-control-header>.button{min-width:62px;padding:0 12px}.home-showcase,.home-actions{flex-direction:column;gap:14px;min-width:0;display:flex}.home .title{letter-spacing:.01em;font-size:clamp(2.25rem,11vw,3.25rem)}.home-logo{vertical-align:-.08em;width:.9em;height:.9em;margin-right:.2em}.tagline{font-size:1.125rem}.home-art{justify-content:center;align-items:center;min-height:150px;display:flex}.home-pens{--pen-step:32px;width:100%;height:calc(6 * var(--pen-step));position:relative}.home-pens .pen-illustration{width:80%;max-width:350px;position:absolute;top:50%;left:50%}.home-pens .pen-illustration:first-child{transform:translate(-50%, -50%) translateY(calc(-2 * var(--pen-step))) rotate(-6deg)}.home-pens .pen-illustration:nth-child(2){transform:translate(-50%, -50%) translateY(calc(-1 * var(--pen-step))) rotate(5deg)}.home-pens .pen-illustration:nth-child(3){transform:translate(-50%,-50%)translateY(0)rotate(-3deg)}.home-pens .pen-illustration:nth-child(4){transform:translate(-50%, -50%) translateY(var(--pen-step)) rotate(4deg)}.home-pens .pen-illustration:nth-child(5){transform:translate(-50%, -50%) translateY(calc(2 * var(--pen-step))) rotate(-5deg)}@media (width>=800px){.home{max-width:64rem;padding:max(var(--gutter), env(safe-area-inset-top)) max(var(--gutter), env(safe-area-inset-right)) max(var(--gutter), env(safe-area-inset-bottom)) max(var(--gutter), env(safe-area-inset-left))}.home-sheet{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:center;gap:20px 36px;padding:20px 28px 28px;display:grid}.home-header{grid-column:1/-1}.home-profile{flex:0 20rem}.sound-control-header{margin-left:auto}.home-pens{--pen-step:44px}.home-pens .pen-illustration{width:90%;max-width:480px}}.pen-illustration{filter:drop-shadow(0 4px 3px #00000073);width:100%;height:auto;display:block;overflow:visible}.chooser-header{flex-direction:column;gap:8px;display:flex}.chooser-header h1{font-size:1.75rem}.pen-cards{border:0;flex-direction:column;gap:14px;min-width:0;margin:0;padding:0;display:flex}.pen-card{cursor:pointer;display:block;position:relative}.pen-card-input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.pen-card-face{border:3px solid var(--ink);background:var(--paper);color:var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:20px;flex-direction:column;gap:8px;min-width:0;padding:12px 14px 14px;display:flex}.pen-card[data-chosen=true] .pen-card-face{outline:5px solid var(--accent);outline-offset:2px;background:#fff4c8}.pen-card[data-chosen=true] .pen-card-name:after{content:" ✓Chosen";color:var(--accent-deep);font-size:1rem}.pen-card .pen-illustration{filter:drop-shadow(0 3px 2px #3c280a59);width:100%;height:62px}.pen-card-name{font:600 1.375rem/1.15 var(--font-display)}.attribute{grid-template-columns:auto 1fr;align-items:center;gap:0 10px;display:grid}.attribute-name{min-width:5.5rem;font-weight:800}.attribute-line{color:var(--on-paper-muted);grid-column:1/-1}.stars{gap:2px;display:inline-flex}.star{fill:#0000;width:22px;height:22px;stroke:var(--ink);stroke-width:1.8px;stroke-linejoin:round;opacity:.45}.star-filled{fill:var(--accent);opacity:1}.chooser-footer{margin:0 calc(-1 * var(--gutter));padding:12px var(--gutter) max(12px, env(safe-area-inset-bottom));background:linear-gradient(to top, var(--night) 70%, transparent);flex-direction:column;display:flex;position:sticky;bottom:0}.screen-heading{font-size:1.75rem}.screen-heading:focus{outline:none}.stack,.form{flex-direction:column;gap:10px;display:flex}.form-label{font-weight:800}.form-error{color:#ffb4a8;min-height:1.45em}.form-error:empty{min-height:0}.card .form-error{color:#9b1c0f}.text-field-name{text-transform:none;letter-spacing:0;font-weight:600}.text-field-link{text-transform:none;letter-spacing:0;font-size:1rem;font-weight:600}.text-field[aria-invalid=true]{border-color:#c4301e}.button-row{flex-wrap:wrap;gap:12px;display:flex}.section-title{font-size:1.375rem}.series-picker{border:3px solid var(--ink);background:var(--paper);min-width:0;color:var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:20px;margin:0;padding:16px}.series-picker legend{float:left;width:100%;color:var(--ink);font:600 1.375rem/1.15 var(--font-display);margin-bottom:8px;padding:0}.series-picker legend+*{clear:both}.series-picker .note{color:var(--on-paper-muted);font-weight:600}.series-options{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.series-option{cursor:pointer}.series-option input{opacity:0;position:absolute}.series-option span{border:3px solid var(--ink);min-height:44px;color:var(--ink);background:#fff;border-radius:12px;padding:8px 14px;font-weight:800;line-height:1.5;display:inline-block}.series-option input:checked+span{background:var(--accent)}.series-option input:focus-visible+span{outline:3px solid var(--ink);outline-offset:3px}.series-picker:disabled .series-option{cursor:default}.series-picker:disabled .series-option input:not(:checked)+span{background:var(--paper-shade);color:var(--on-paper-muted)}.card{border:3px solid var(--ink);background:var(--paper);color:var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:20px;flex-direction:column;gap:12px;padding:16px;display:flex}.card .note{color:var(--on-paper-muted)}.card-title{font:600 1.25rem/1.2 var(--font-display)}.room-code{font:600 2.25rem/1 var(--font-display);letter-spacing:.25em;overflow-wrap:anywhere}.copy-feedback{min-height:1.45em;font-weight:800}.room-header{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.room-header-code{font:600 1.125rem/1 var(--font-display);letter-spacing:.15em}.connection{align-items:center;gap:8px;min-height:44px;margin-left:auto;display:inline-flex}.connection-dot{border:2px solid var(--text);background:var(--text-muted);border-radius:50%;flex:none;width:14px;height:14px}.connection[data-quality=good] .connection-dot{background:var(--ok)}.connection[data-quality=fair] .connection-dot{background:var(--accent)}.connection[data-quality=poor] .connection-dot{background:#ff5a4d;border-radius:3px}.connection[data-state=reconnecting] .connection-dot,.connection[data-state=failed] .connection-dot,.connection[data-state=closed] .connection-dot{background:0 0}.players{flex-direction:column;gap:18px;margin:0;padding:12px 0 0;list-style:none;display:flex}.player{border:3px solid var(--ink);background:#fff;border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:2px 12px;padding:10px 12px;display:grid}.player>.seat-avatar,.player-avatar-empty{grid-area:1/1/span 2}.player .player-name{grid-area:1/2}.player .player-ready{grid-area:1/3}.player-avatar-empty{border:3px dashed var(--paper-shade);border-radius:50%;width:44px;height:44px}.player[data-mine=true]{background:#fff4c8}.player-name{overflow-wrap:anywhere;font-weight:800}.player-ready{text-align:right;font-weight:800}.player-ready[data-ready=true]{color:#0b6b3a}.player-pen{color:var(--on-paper-muted);grid-area:2/2/auto/-1}.room .chooser-footer{align-items:stretch}.practice{background:var(--night);position:fixed;inset:0;overflow:hidden}.arena-host{position:absolute;inset:0}.arena-host canvas{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;outline-offset:-4px;display:block}.hud{left:max(var(--gutter), env(safe-area-inset-left));right:max(var(--gutter), env(safe-area-inset-right));pointer-events:none;gap:8px;display:flex;position:absolute}.hud>*{pointer-events:auto}.hud-top{top:max(10px, env(safe-area-inset-top));justify-content:space-between}.hud-bottom{bottom:max(14px, env(safe-area-inset-bottom));justify-content:center}.hud-center{justify-content:center;top:50%;transform:translateY(-50%)}.button-hud{min-height:44px;padding:0 12px;font-size:1rem}.hint{border:3px solid var(--ink);background:var(--paper);min-height:48px;color:var(--ink);font:800 1rem/1.2 var(--font-body);box-shadow:0 4px 0 var(--ink);cursor:pointer;text-align:left;border-radius:999px;align-items:center;gap:10px;padding:6px 14px;display:flex}.hint-dismiss{color:var(--on-paper-muted);white-space:nowrap;font-weight:400;text-decoration:underline}.panel{border:3px solid var(--ink);background:var(--paper);max-width:22rem;color:var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:20px;flex-direction:column;gap:12px;padding:16px;font-weight:800;display:flex}.panel-title{font:600 1.25rem/1.2 var(--font-display)}.outcome{border:3px solid var(--ink);background:var(--paper);width:100%;max-width:24rem;color:var(--ink);box-shadow:0 6px 0 var(--ink);text-align:center;border-radius:22px;flex-direction:column;gap:4px;padding:14px 16px 16px;display:flex}.outcome>.button{margin-top:10px}.outcome-title{font:600 1.75rem/1.1 var(--font-display)}.outcome-help{color:var(--on-paper-muted)}.aim-chip{z-index:2;border:3px solid var(--ink);background:var(--paper);min-width:56px;color:var(--ink);font:600 1.375rem/1 var(--font-display);text-align:center;white-space:nowrap;pointer-events:none;box-shadow:0 3px 0 var(--ink);will-change:transform;border-radius:999px;padding:6px 12px;position:absolute;top:0;left:0}.aim-chip[data-zone=cancel]{background:#ffe3dc;font-size:1.125rem}.aim-chip[data-overdraw=true]{background:#ffd1cc}.aim-chip[hidden]{display:none}.room-match.page{gap:0;max-width:none;min-height:0;padding:0}.room-match .screen-heading{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.room-match .room-header{z-index:3;top:max(6px, env(safe-area-inset-top));left:max(8px, env(safe-area-inset-left));right:max(8px, env(safe-area-inset-right));background:#141a29e0;border-radius:16px;flex-wrap:nowrap;padding:2px 8px;position:fixed}.match{background:var(--night);position:fixed;inset:0;overflow:hidden}.match-hud{z-index:3;top:calc(max(6px, env(safe-area-inset-top)) + 58px);left:max(8px, env(safe-area-inset-left));right:max(8px, env(safe-area-inset-right));pointer-events:none;justify-content:space-between;align-items:center;gap:8px;display:flex;position:absolute}.match-hud button{pointer-events:auto}.match-controls{display:contents}.match-controls .button-small{align-self:center}@media (orientation:portrait){.match .arena-host,.match .match-result{top:calc(max(6px, env(safe-area-inset-top)) + 58px + 68px);bottom:calc(max(14px, env(safe-area-inset-bottom)) + 64px);left:10px;right:10px}}.match-players{flex:1;justify-content:center;gap:8px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.match-player{border:3px solid var(--ink);border-left:12px solid var(--player-color);background:var(--paper);min-width:0;color:var(--ink);border-radius:12px;flex:0 auto;padding:3px 12px 3px 8px;font-weight:800;line-height:1.15;display:flex;position:relative}.match-player[aria-current=true]{box-shadow:0 0 0 3px #fff, 0 0 0 6px var(--ink)}.match-player{flex-direction:row;align-items:center;gap:8px}.match-player-score{font:600 1.5rem/1 var(--font-display);font-variant-numeric:tabular-nums}.match-player:has(.match-player-effect){flex:1 1 0}.clock-wrap{flex:none;position:relative}.clock-reason{border:3px solid var(--ink);color:#8a1f12;text-align:center;background:#ffe3dc;border-radius:12px;width:11rem;padding:4px 8px;font-size:1rem;font-weight:800;position:absolute;top:calc(100% + 10px);right:0}.clock{background:var(--paper);border:3px solid var(--ink);box-sizing:content-box;border-radius:50%;flex:none;width:64px;height:64px;margin:-3px;position:relative}.clock svg{display:block;transform:rotate(-90deg)}.clock-track{fill:none;stroke:var(--paper-shade);stroke-width:7px}.clock-ring{fill:none;stroke:var(--ok);stroke-width:7px;stroke-linecap:round}.clock[data-urgent=true] .clock-ring{stroke:#ff3b30}.clock[data-active=false] .clock-ring{stroke:var(--paper-shade)}.clock-seconds{font:600 1.125rem/1 var(--font-display);color:var(--ink);place-items:center;display:grid;position:absolute;inset:0}.clock[data-urgent=true] .clock-seconds{color:#b3150b}.match-status{z-index:2;bottom:max(14px, env(safe-area-inset-bottom));border:3px solid var(--ink);background:var(--paper);width:min(24rem,100% - 16px);color:var(--ink);text-align:center;pointer-events:none;border-radius:18px;flex-direction:column;gap:4px;padding:8px 14px;font-weight:800;display:flex;position:absolute;left:50%;transform:translate(-50%)}.match-status[data-mine=true]{background:#fff4c8}.match-turn{font:600 1.25rem/1.2 var(--font-display)}.match-turn:empty{display:none}.match-turn[data-thinking=true]:after{content:"...";vertical-align:bottom;text-align:left;width:1.1em;animation:1.2s steps(4,end) infinite thinking-dots;display:inline-block;overflow:hidden}@keyframes thinking-dots{0%{width:0}to{width:1.1em}}@media (prefers-reduced-motion:reduce){.match-turn[data-thinking=true]:after{width:1.1em;animation:none}}.match-notice{color:#8a1f12}.match-presence{color:var(--on-paper-muted)}.match-center{z-index:4;pointer-events:none;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.match-center>*{pointer-events:auto}.match-center.match-result{z-index:2}@media (orientation:landscape) and (width<=1099px),(orientation:landscape) and (aspect-ratio<=4/3){.match[data-finished=true] :is(.match-players,.clock-wrap,.match-help){visibility:hidden}.match .match-result{top:calc(max(6px, env(safe-area-inset-top)) + 52px)}}.match-countdown{z-index:5;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.match-countdown-number{color:var(--paper);-webkit-text-stroke:4px var(--ink);paint-order:stroke fill;text-shadow:0 8px 0 var(--ink);font-family:inherit;font-size:clamp(6rem,30vw,11rem);font-weight:700;line-height:1;animation:.9s ease-out both countdown-pop}.match-countdown-number[data-go=true]{color:var(--accent);animation-duration:.7s}@keyframes countdown-pop{0%{opacity:0;transform:scale(1.6)}20%{opacity:1;transform:scale(1)}to{opacity:.85;transform:scale(.92)}}@media (prefers-reduced-motion:reduce){.match-countdown-number{animation:none}}.sound-control{pointer-events:auto;flex:none;display:inline-flex;position:relative}.sound-control>.button{flex:1;align-self:stretch}.sound-control-corner{right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:3;position:fixed}.sound-panel{z-index:20;border:3px solid var(--ink);background:var(--paper);width:min(14rem,100vw - 24px);color:var(--ink);box-shadow:0 5px 0 var(--ink);pointer-events:auto;border-radius:16px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.sound-control-corner .sound-panel{top:auto;bottom:calc(100% + 10px)}.sound-control-hud .sound-panel{left:0;right:auto}.settings-button{justify-content:center;min-width:44px}.settings-icon{width:24px;height:24px;display:block}.settings-section{flex-direction:column;gap:2px;display:flex}.settings-section+.settings-section{border-top:2px solid var(--paper-shade);margin-top:4px;padding-top:6px}.settings-heading{color:var(--on-paper-muted);font:800 1rem/1.2 var(--font-body);text-transform:uppercase;letter-spacing:.04em;margin:0;padding:4px 10px 0}.sound-switch{width:100%;min-height:44px;color:var(--ink);font:800 1rem/1.2 var(--font-body);text-align:left;cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:6px 10px;display:flex}.sound-switch:hover:not(:disabled){background:var(--paper-shade)}.sound-switch:disabled{color:var(--on-paper-muted);cursor:not-allowed}.sound-switch-state{border:2px solid var(--ink);text-align:center;background:#fff;border-radius:999px;min-width:2.75rem;padding:2px 8px}.sound-switch[aria-checked=true] .sound-switch-state{background:var(--accent)}.sound-switch:disabled .sound-switch-state{border-color:var(--on-paper-muted);background:0 0}.sound-panel :focus-visible{outline-color:var(--ink);outline-offset:1px}.match-hud .match-controls .sound-switch{min-height:44px;padding:6px 10px;font-size:1rem}.panel .note{color:var(--on-paper-muted);font-weight:600}.result-panel{width:min(22rem,100%);max-height:100%;overflow-y:auto}.result-title{font-size:1.75rem}.result-title:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.tally{flex-direction:column;gap:6px;display:flex}.tally-rows{flex-direction:column;gap:16px;margin:0;padding:12px 0 0;list-style:none;display:flex}.tally-row{border:3px solid var(--ink);background:#fff;border-radius:12px;align-items:center;gap:8px;min-height:44px;padding:4px 10px;display:flex}.tally-row[data-winner=true]{background:#fff4c8}.tally-swatch{border:3px solid var(--ink);border-radius:50%;flex:none;width:16px;height:16px}.tally-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tally-tag{border:3px solid var(--ink);background:var(--accent);border-radius:999px;padding:0 8px;font-weight:800}.tally-draws{color:var(--on-paper-muted);font-weight:600}.leave-reason{border:3px solid var(--ink);color:#8a1f12;background:#ffe3dc;border-radius:12px;max-width:16rem;padding:4px 8px;font-weight:800;position:absolute;top:calc(100% + 6px);left:0}.dialog-backdrop{z-index:10;background:#141a29c7;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{width:min(22rem,100%)}.room-match .leave-reason{top:calc(max(6px, env(safe-area-inset-top)) + 58px + 3.45rem + 20px);left:max(8px, env(safe-area-inset-left));flex-direction:column;gap:6px;max-width:min(16rem,100vw - 12.5rem);display:flex;position:fixed}.button[aria-disabled=true]{opacity:.55;cursor:not-allowed}.panel .form-error{color:#9b1c0f;font-weight:800}.match-hint{z-index:3;left:0;right:0;bottom:calc(max(14px, env(safe-area-inset-bottom)) + 7.5rem);pointer-events:none;justify-content:center;padding:0 8px;display:flex;position:absolute}.match-hint .hint{pointer-events:auto}@media (prefers-reduced-motion:reduce){.button{transition:none}}@media (height<=480px){.hud-top{top:max(6px, env(safe-area-inset-top))}.outcome{max-width:20rem;padding:8px 12px 12px}.outcome-title{font-size:1.375rem}.outcome-help{display:none}.match-center.match-result{padding-top:8px;padding-bottom:8px}.result-panel{gap:6px;padding:10px 14px}.result-panel .result-title{font-size:1.375rem}.tally{gap:4px}.tally-rows{gap:12px}.tally-row{min-height:0;padding-top:1px;padding-bottom:1px}.tally-row .quick-pill{bottom:calc(100% - 10px)}}@media (width>=1100px) and (aspect-ratio>=4/3){.room-match .room-header{max-width:42%;right:auto}.room-match .match-hud{top:8px;left:45%;right:12px}.match .arena-host,.match .match-result{top:90px;bottom:100px}.practice .arena-host{top:70px;bottom:100px}}.pen-role{color:var(--accent-deep);text-transform:uppercase;letter-spacing:.06em;font-size:.85rem;font-weight:800}.pen-summary{color:var(--on-paper-muted);min-height:2.5em}.attribute{border-top:1px solid #d9cfb5;grid-template-columns:6rem 1fr;padding-top:8px}.attribute .stars{justify-self:end}.attribute-line{font-size:.85rem}.game-guide{z-index:5;right:max(12px, env(safe-area-inset-right));top:max(76px, env(safe-area-inset-top));overscroll-behavior:contain;border:3px solid var(--ink);background:var(--paper);width:min(440px,100% - 24px);max-height:min(620px,100dvh - 160px);color:var(--ink);border-radius:20px;padding:18px;position:absolute;overflow:auto;box-shadow:0 8px 30px #0006}.guide-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.guide-heading h2{font:600 1.5rem/1.2 var(--font-display);margin:3px 0 10px}.guide-eyebrow{letter-spacing:.08em;color:#126f66;font-size:.7rem;font-weight:800}.guide-lesson{margin-bottom:14px;line-height:1.45}.guide-actions{justify-content:space-between;gap:8px;margin:10px 0 16px;display:flex}.guide-footnote{color:var(--on-paper-muted);margin-top:14px;font-size:.8rem}.guide-dismiss{margin-top:12px}.rune-guide-grid{gap:10px;padding:0;list-style:none;display:grid}.rune-guide-grid li{border-top:1px solid #d9cfb5;align-items:start;gap:10px;padding-top:10px;display:flex}.rune-guide-grid svg{flex:none}.rune-guide-grid p{font-size:.86rem;line-height:1.35}.practice-count{bottom:max(5px, env(safe-area-inset-bottom));color:var(--paper);background:var(--night);pointer-events:none;border-radius:8px;padding:3px 7px;font-size:.75rem;position:absolute;left:10px}.match-flick-count{font-size:.78rem;font-weight:600}.match-flick-count[data-urgent=true]{color:#a72e11;font-weight:800}@media (width<=600px) and (orientation:portrait){.room-match .room-header{top:max(2px, env(safe-area-inset-top));gap:6px;height:40px;padding:0 4px;left:4px;right:4px}.room-match .room-header .button{min-height:36px;padding:4px 10px;font-size:.8rem}.room-match .room-header-code{font-size:.75rem}.room-match .connection{margin-left:auto;font-size:.7rem}.room-match .connection-quality{display:none}.match-hud{top:calc(max(2px, env(safe-area-inset-top)) + 42px);gap:5px;left:7px;right:7px}.match-hud button{min-height:38px;padding:4px 6px;font-size:.7rem}.match-hud .quick-chat-phrase,.match-hud .quick-chat-mute{min-height:44px;padding:6px 10px;font-size:1rem}.match-hud .quick-chat-toggle{padding:0 10px;font-size:1rem}.match-hud .quick-chat-toggle svg{display:none}.match-players{gap:5px}.match-player{border-width:1px 1px 1px 4px;border-radius:7px;flex-direction:row;align-items:center;gap:5px;min-height:32px;padding:5px 8px 5px 5px;font-size:.75rem}.match-player[aria-current=true]{box-shadow:0 0 0 2px #fff}.match-player .avatar-art{width:24px;height:24px}.match-player-score{font-size:1.25rem}.quick-chat-toggle{height:44px;min-height:44px}.clock{border-width:2px;width:38px;height:38px;margin:0}.clock svg{width:38px;height:38px}.clock-seconds{font-size:.8rem}.match .arena-host,.match .match-result{top:calc(max(2px, env(safe-area-inset-top)) + 86px);bottom:calc(max(4px, env(safe-area-inset-bottom)) + 50px);left:0;right:0}.match-status{bottom:max(4px, env(safe-area-inset-bottom));border-width:1px;border-radius:10px;gap:1px;width:calc(100% - 16px);padding:4px 8px}.match-turn{font-size:.9rem}.match-presence,.match-notice{font-size:.7rem}.match-hint{bottom:calc(max(4px, env(safe-area-inset-bottom)) + 58px)}.hint{border-width:2px;min-height:36px;padding:5px 9px;font-size:.75rem}.practice .hud-top{left:6px;right:6px;top:max(4px, env(safe-area-inset-top));gap:4px}.practice .button-hud{min-width:0;min-height:40px;padding:3px 7px;font-size:.75rem}.practice .arena-host{top:calc(max(4px, env(safe-area-inset-top)) + 44px);bottom:max(22px, env(safe-area-inset-bottom))}.practice .hud-bottom{bottom:max(24px, env(safe-area-inset-bottom))}.game-guide{top:calc(max(4px, env(safe-area-inset-top)) + 90px);max-height:calc(100dvh - 164px);padding:14px}.practice .game-guide{top:calc(max(4px, env(safe-area-inset-top)) + 50px)}}@media (width>=800px){.chooser{max-width:64rem}.pen-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:stretch;display:grid}.pen-card-face{height:100%}}.match-player-effect{grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:6px;margin-top:2px;line-height:1.1;display:grid}.match-player-effect .rune-icon{color:var(--ink);grid-row:1/span 2}.match-effect-name{overflow-wrap:anywhere;font-weight:800}.match-effect-duration{color:var(--on-paper-muted);overflow-wrap:anywhere;font-size:.85rem;font-weight:600}@media (width<=600px) and (orientation:portrait){.room-match .room-header{align-items:center;overflow:hidden}.room-match .room-header>*{min-width:0}.room-match .connection{white-space:nowrap;gap:5px;min-height:0;overflow:hidden}.room-match .connection>span:last-child{text-overflow:ellipsis;overflow:hidden}.room-match .connection-dot{border-width:1.5px;width:10px;height:10px}.room-match .room-header .button{white-space:nowrap;flex:none}.room-match .room-header-code{flex:none}.match .arena-host,.match .match-result{top:calc(max(2px, env(safe-area-inset-top)) + 104px)}.match-hud{align-items:flex-start}.match-player{flex-wrap:wrap;align-content:flex-start;row-gap:1px}.match-player-effect{flex:1 0 100%;column-gap:4px;margin-top:1px}.match-player-effect .rune-icon{width:18px;height:18px}.match-effect-name{font-size:.7rem}.match-effect-duration{font-size:.6rem}}@media (width<=430px) and (orientation:portrait){.match-controls{flex-direction:column;flex:none;gap:2px;display:flex}.match-hud .match-controls button{min-height:34px;padding:2px 6px}.match .arena-host,.match .match-result{top:calc(max(2px, env(safe-area-inset-top)) + 114px)}.match-hud{grid-template-columns:auto minmax(0,1fr) auto;gap:2px 5px;display:grid}.match-controls,.match-players{grid-row:1/span 2}.clock-wrap,.quick-chat{grid-column:3;justify-self:center}.clock,.clock svg{width:34px;height:34px}.match-hud .quick-chat-toggle{height:34px;min-height:34px}}@media (width<=340px) and (orientation:portrait){.match .arena-host,.match .match-result{top:calc(max(2px, env(safe-area-inset-top)) + 126px)}}.label-short{display:none}.pen-role,.pen-summary,.attribute-line,.guide-eyebrow,.guide-footnote,.rune-guide-grid p,.practice-count{font-size:1rem}@media (width<=600px) and (orientation:portrait){.hint{min-height:44px;font-size:1rem}.practice .hud-top{justify-content:space-between;gap:3px;left:15px;right:15px}.practice .button-hud{min-width:44px;min-height:44px;padding:0 6px;font-size:1rem}.practice .button-hud[aria-label] .label-full{display:none}.practice .button-hud[aria-label] .label-short{display:inline}.practice .arena-host{top:calc(max(4px, env(safe-area-inset-top)) + 52px)}}.blink-bar{z-index:3;left:50%;bottom:max(14px, env(safe-area-inset-bottom));border:3px solid var(--ink);background:var(--paper);width:min(26rem,100% - 16px);color:var(--ink);box-shadow:0 4px 0 var(--ink);border-radius:18px;align-items:center;gap:10px;padding:6px 8px 6px 14px;font-weight:800;display:flex;position:absolute;transform:translate(-50%)}.blink-bar-text{flex:1;min-width:0}.blink-bar-title{font:600 1.1rem/1.15 var(--font-display)}.blink-bar-check{font-size:1rem;line-height:1.15}.blink-bar[data-valid=true] .blink-bar-mark{color:#126f66}.blink-bar[data-valid=false] .blink-bar-mark{color:#8a1f12}.blink-bar-key{white-space:nowrap;flex:none;font-size:1rem}.blink-bar-key kbd{font:inherit;border:1px solid;border-radius:5px;padding:2px 5px}.practice[data-blinking=true] .arena-host,.match[data-blinking=true] .arena-host{bottom:calc(max(14px, env(safe-area-inset-bottom)) + 74px)}.match[data-blinking=true] .match-status{display:none}.guide-subheading{font:600 1.1rem/1.2 var(--font-display);margin:14px 0 6px}.guide-expiry{padding:0 0 0 1.2em;font-size:1rem;line-height:1.35}@media (height<=480px) and (orientation:landscape) and (width<=1099px){.blink-bar{left:auto;right:max(8px, env(safe-area-inset-right));bottom:max(8px, env(safe-area-inset-bottom));flex-direction:column;align-items:stretch;width:min(15rem,50vw - 26vh - 16px);padding:6px 10px 8px;transform:none}.practice[data-blinking=true] .arena-host,.match[data-blinking=true] .arena-host{bottom:0}}@media (width<=600px) and (orientation:portrait){.blink-bar{bottom:max(4px, env(safe-area-inset-bottom));width:calc(100% - 16px);box-shadow:none;border-width:1px;border-radius:10px;gap:8px;padding:2px 4px 2px 8px}.blink-bar-title{font-size:1rem}.blink-bar-title,.blink-bar-check{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.blink-bar-key{display:none}.blink-bar{min-height:44px}.practice[data-blinking=true] .arena-host,.match[data-blinking=true] .arena-host{bottom:calc(max(4px, env(safe-area-inset-bottom)) + 50px)}}.avatar-art{flex:none;display:block}.profile-chip{border:3px solid var(--ink);border-radius:var(--radius);background:var(--paper);min-width:0;min-height:56px;color:var(--ink);box-shadow:0 5px 0 var(--ink);text-align:left;flex:1;align-items:center;gap:12px;padding:6px 16px 6px 6px;text-decoration:none;display:flex}.profile-chip-text{flex-direction:column;min-width:0;line-height:1.2;display:flex}.profile-chip-name{font:600 1.125rem/1.2 var(--font-display);overflow-wrap:anywhere}.profile-chip-action{color:var(--on-paper-muted);font-size:1rem}.profile-form{gap:10px}.profile-preview{flex-direction:column;align-items:center;gap:8px;padding:8px 0;display:flex}.profile-preview-name{font:600 1.5rem/1.2 var(--font-display);overflow-wrap:anywhere;text-align:center}.avatar-picker{border:0;flex-direction:column;gap:6px;min-width:0;margin:6px 0 0;padding:0;display:flex}.avatar-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}.avatar-option{cursor:pointer;text-align:center;border:3px solid #0000;border-radius:14px;flex-direction:column;align-items:center;gap:4px;min-height:44px;padding:8px 4px;display:flex}.avatar-option[data-chosen=true]{border-color:var(--accent);background:#ffb02029}.avatar-option:has(input:focus-visible){outline:4px solid var(--focus);outline-offset:2px}.avatar-picker:disabled .avatar-option{cursor:not-allowed;opacity:.6}.avatar-option-name{font-size:1rem;line-height:1.2}.card .avatar-option-name{color:var(--ink)}.invite-host{align-items:center;gap:12px;display:flex}.versus-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.card-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.seat-avatar{flex:none;display:inline-flex;position:relative}.quick-pill{z-index:6;border:3px solid var(--ink);background:var(--target);max-width:calc(100vw - 24px);color:var(--ink);font:800 1rem/1.2 var(--font-body);white-space:nowrap;pointer-events:none;border-radius:999px;align-items:center;gap:5px;padding:3px 10px;animation:.26s cubic-bezier(.34,1.56,.64,1) quick-pill-in;display:inline-flex;position:absolute;bottom:calc(100% + 6px);left:50%;translate:-50%}.seat-avatar[data-mine=true] .quick-pill{background:var(--you)}.match-player .quick-pill{top:calc(100% + 6px);bottom:auto}.quick-bubbles{z-index:2;top:calc(max(6px, env(safe-area-inset-top)) + 132px);pointer-events:none;flex-direction:column;align-items:center;gap:6px;width:min(24rem,100% - 16px);display:flex;position:absolute;left:50%;transform:translate(-50%)}.quick-bubble{border:3px solid var(--ink);background:var(--target);color:var(--ink);font:600 1.375rem/1.15 var(--font-display);box-shadow:0 5px 0 var(--ink);animation:quick-bubble-life var(--bubble-ms,4s) ease-out both;border-radius:20px;align-items:center;gap:10px;padding:6px 16px 6px 8px;display:flex}.quick-bubble[data-mine=true]{background:var(--you)}@keyframes quick-bubble-life{0%{opacity:0;transform:translateY(14px)scale(.6)rotate(-4deg)}4%{opacity:1;transform:translateY(-4px)scale(1.12,.94)rotate(2deg)}7%{transform:translateY(0)scale(.97,1.03)rotate(-1deg)}10%{transform:translateY(0)scale(1)rotate(0)}92%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-10px)scale(.9)}}@keyframes quick-bubble-rattle{0%,to{translate:0}20%,60%{translate:-5px}40%,80%{translate:5px}}.quick-bubble[data-motion=shake]{animation-name:quick-bubble-life,quick-bubble-rattle;animation-duration:var(--bubble-ms,4s), .36s;animation-timing-function:ease-out,linear;animation-iteration-count:1,2;animation-delay:0s,.16s}.quick-bubble .quick-emoji{font-size:1.75rem}.quick-emoji{transform-origin:50% 70%;flex:none;font-style:normal;line-height:1;animation:none;display:inline-block}.quick-emoji[data-motion=swagger]{animation-name:quick-emoji-swagger}.quick-emoji[data-motion=shake]{animation-name:quick-emoji-shake;animation-duration:.42s}.quick-emoji[data-motion=wave]{transform-origin:70% 90%;animation-name:quick-emoji-wave}.quick-emoji[data-motion=drop]{animation-name:quick-emoji-drop;animation-duration:.9s;animation-timing-function:linear;animation-iteration-count:1}.quick-emoji[data-motion=snooze]{animation-name:quick-emoji-snooze;animation-duration:1.4s;animation-iteration-count:2}.quick-emoji[data-motion=spin]{transform-origin:50%;animation-name:quick-emoji-spin;animation-duration:.9s;animation-iteration-count:2}.quick-emoji[data-motion=wobble]{animation-name:quick-emoji-wobble}.quick-emoji[data-motion=bounce]{transform-origin:50% 100%;animation-name:quick-emoji-bounce;animation-duration:.56s}.quick-emoji[data-motion=pulse]{animation-name:quick-emoji-pulse;animation-duration:.6s;animation-iteration-count:4}@keyframes quick-emoji-swagger{0%,to{transform:rotate(0)}30%{transform:rotate(-14deg)translateY(-2px)}65%{transform:rotate(10deg)}}@keyframes quick-emoji-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-3px)rotate(-8deg)}40%,80%{transform:translate(3px)rotate(8deg)}}@keyframes quick-emoji-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(22deg)}40%,80%{transform:rotate(-12deg)}}@keyframes quick-emoji-drop{0%{opacity:0;transform:translateY(-18px)scale(.6)}45%{opacity:1;transform:translateY(0)scale(1.15,.85)}60%{transform:translateY(-6px)scale(.95,1.05)}75%{transform:translateY(0)scale(1)}85%{transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes quick-emoji-snooze{0%,to{transform:translateY(0)rotate(0)scale(1)}50%{transform:translateY(2px)rotate(-10deg)scale(1.12)}}@keyframes quick-emoji-spin{0%{transform:rotate(0)scale(1)}50%{transform:rotate(180deg)scale(1.25)}to{transform:rotate(360deg)scale(1)}}@keyframes quick-emoji-wobble{0%,to{transform:rotate(0)}15%{transform:rotate(-18deg)translate(-2px)}45%{transform:rotate(14deg)translate(2px)}75%{transform:rotate(-6deg)}}@keyframes quick-emoji-bounce{0%,to{transform:translateY(0)scale(1)}15%{transform:translateY(0)scale(1.15,.85)}45%{transform:translateY(-8px)scale(.92,1.1)}75%{transform:translateY(0)scale(1.06,.94)}}@keyframes quick-emoji-pulse{0%,to{filter:none;transform:scale(1)}50%{filter:drop-shadow(0 0 4px #ff8a1f);transform:scale(1.3)rotate(-6deg)}}.quick-chat-phrase .quick-emoji{text-align:center;width:1.5em}.quick-chat-phrase:not(:hover):not(:focus-visible) .quick-emoji,.quick-chat-phrase:disabled .quick-emoji{animation:none}@media (prefers-reduced-motion:reduce){.quick-bubble,.quick-emoji{animation:none!important}}@media (width<=600px) and (orientation:portrait){.quick-bubbles{top:calc(max(2px, env(safe-area-inset-top)) + 110px)}}@media (width<=430px) and (orientation:portrait){.quick-bubbles{top:calc(max(2px, env(safe-area-inset-top)) + 118px)}}@media (width<=374px) and (orientation:portrait){.match-hud .quick-chat-toggle{width:44px;padding:0}.match-hud .quick-chat-toggle svg{display:block}.match-hud .quick-chat-label{display:none}}@media (width<=340px) and (orientation:portrait){.quick-bubbles{top:calc(max(2px, env(safe-area-inset-top)) + 130px)}}@media (width>=1100px) and (aspect-ratio>=4/3){.quick-bubbles{top:96px}}@keyframes quick-pill-in{0%{opacity:0;transform:translateY(8px)scale(.6)}60%{opacity:1;transform:translateY(-2px)scale(1.08)}to{opacity:1;transform:none}}.player,.tally-row{position:relative}.player>.seat-avatar,.tally-row>.seat-avatar{position:static}.player .quick-pill,.tally-row .quick-pill{transform-origin:16px 100%;max-width:calc(100% - 12px);padding:1px 8px;font-size:.875rem;bottom:calc(100% - 8px);left:6px;translate:none}.quick-pill .quick-words{text-overflow:ellipsis;min-width:0;overflow:hidden}@media (prefers-reduced-motion:reduce){.quick-pill{animation:none}}.quick-chat{pointer-events:auto;flex:none;position:relative}.quick-chat-toggle{border:3px solid var(--ink);background:var(--accent);min-width:44px;height:48px;color:var(--ink);font:600 1.125rem/1 var(--font-display);cursor:pointer;box-shadow:0 3px 0 var(--ink);touch-action:manipulation;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.quick-chat-toggle[aria-expanded=true]{background:var(--paper)}.quick-chat-menu{z-index:20;border:3px solid var(--ink);background:var(--paper);width:min(15rem,100vw - 24px);color:var(--ink);box-shadow:0 5px 0 var(--ink);border-radius:16px;flex-direction:column;gap:4px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.quick-chat-phrases{flex-direction:column;gap:2px;max-height:min(60vh,26rem);margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.quick-chat-phrase{align-items:center;gap:8px;display:flex}.quick-chat-phrase,.quick-chat-mute{width:100%;min-height:44px;color:var(--ink);font:800 1rem/1.2 var(--font-body);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:6px 10px}.quick-chat-phrase:hover:not(:disabled),.quick-chat-mute:hover{background:var(--paper-shade)}.quick-chat-phrase:disabled{color:var(--on-paper-muted);cursor:not-allowed}.quick-chat-mute{border-top:2px solid var(--paper-shade);color:var(--on-paper-muted);border-radius:0 0 10px 10px}.quick-chat-mute[aria-pressed=true]{color:#8a1f12}.quick-chat-note{color:var(--on-paper-muted);padding:0 10px;font-size:1rem}
