@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-vietnamese-wght-normal-XAtsl5Q_.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-ext-wght-normal-C4zznr8T.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/archivo-latin-wght-normal-E0tuGl4L.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0c0f;--surface-sunken:#111317;--surface:#15171c;--surface-row:#181a1f;--surface-raised:#1e2128;--surface-hover:#2a2e37;--line-soft:#23262d;--line:#2c3039;--line-strong:#3a3f4a;--scrim:#050608b8;--scrim-soft:#05060859;--text:#f4f5f7;--text-2:#c9cdd4;--text-muted:#a3a9b5;--text-faint:#8a909c;--text-disabled:#5c626e;--accent:#c8f03c;--accent-hover:#d8ff55;--accent-pressed:#a6cc22;--accent-ink:#0b0c0f;--accent-soft:#c8f03c1f;--positive:#34d399;--positive-soft:#34d39924;--danger:#f2555a;--danger-text:#ff8c90;--danger-soft:#f2555a24;--info:#39c6f0;--info-soft:#39c6f024;--gold:#f5c542;--gold-soft:#f5c54224;--tier-ferro:#9aa1aa;--tier-bronze:#cd8a55;--tier-prata:#cfdae6;--tier-ouro:#ffcf5a;--tier-platina:#5fdcc8;--tier-diamante:#8fb8ff;--tier-mestre:#e19cff;--cost-1:#b5bec8;--cost-2:#3fd486;--cost-3:#6fb0ff;--cost-4:#d59bff;--cost-5:#ffc53d;--hot:#ff9a57;--trait-prism:linear-gradient(135deg, #ff9de2, #9ad7ff 50%, #c7ff9d);--font-sans:"Archivo Variable", "Archivo", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;--text-2xs:11px;--text-xs:12px;--text-sm:13px;--text-md:14px;--text-base:15px;--text-lg:18px;--text-xl:24px;--text-2xl:34px;--text-3xl:44px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--radius:4px;--radius-sm:3px;--radius-xs:2px;--shadow-pop:0 12px 32px #00000080;--z-dock:4;--z-nav:40;--z-toast:20;--z-modal:45;--z-system:50;--z-queue:55;--z-notice:60;--z-prompt:70;--dur-fast:.12s;--dur:.18s;--ease-out:cubic-bezier(.2, .7, .3, 1);--gutter-l:max(16px, env(safe-area-inset-left,0px));--gutter-r:max(16px, env(safe-area-inset-right,0px))}*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%}body{color:var(--text);font:400 var(--text-base)/1.4 var(--font-sans);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}input,textarea{-webkit-user-select:text;user-select:text}button{font:inherit;color:inherit}[hidden]{display:none!important}#app{position:fixed;inset:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.num,.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.grow{flex:1}kbd{font:600 var(--text-2xs)/16px var(--font-mono);border-radius:var(--radius-sm);background:var(--line);color:var(--text);padding:0 5px}.gi{vertical-align:-.22em;fill:currentColor;width:1.15em;height:1.15em;stroke:var(--gi-outline,none);stroke-width:30px;stroke-linejoin:round;paint-order:stroke;flex:none;overflow:visible}.game-root,.item-ghost{--gi-outline:#06090ed9}.tint,.avatar-icon{display:inline-flex}.chip{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.coin{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--gold);align-items:center;gap:4px;font-weight:600;display:inline-flex}.coin:before{content:"";background:var(--gold);border-radius:50%;flex:none;width:10px;height:10px;box-shadow:inset 0 0 0 2px #00000040}.btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;font:600 var(--text-base)/20px var(--font-sans);background:var(--surface-raised);border:1px solid var(--line-strong);color:var(--text);transition:background-color var(--dur-fast), border-color var(--dur-fast), color var(--dur-fast);justify-content:center;align-items:center;gap:8px;padding:9px 14px;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--text-faint)}.btn:active:not(:disabled),.btn[aria-pressed=true]{background:var(--surface-sunken);color:var(--text-2)}.btn:disabled,.btn[aria-disabled=true]{cursor:not-allowed;background:var(--surface);border-color:var(--line-soft);color:var(--text-disabled)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn.primary:active:not(:disabled){background:var(--accent-pressed);border-color:var(--accent-pressed);color:var(--accent-ink)}.btn.primary:focus-visible{outline-color:var(--text)}.btn.primary:disabled{background:var(--surface-raised);border-color:var(--surface-raised);color:var(--text-disabled)}.btn.ghost{color:var(--text-2);background:0 0;border-color:#0000}.btn.ghost:hover:not(:disabled){background:var(--surface-raised);color:var(--text);border-color:#0000}.btn.ghost:disabled{background:0 0;border-color:#0000}.btn.danger{border-color:var(--danger);color:var(--danger-text);background:0 0}.btn.danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger)}.btn.primary.danger{background:var(--danger);border-color:var(--danger);color:var(--accent-ink)}.btn.primary.danger:hover:not(:disabled){background:#ff6b70;border-color:#ff6b70}.btn.small{font-size:var(--text-sm);gap:6px;padding:5px 10px;line-height:18px}.btn.large{padding:13px 20px;font-size:16px}.btn.block{width:100%}.btn.icon-only{padding-inline:9px}.btn.small.icon-only{padding-inline:7px}.btn kbd{background:var(--line);color:var(--text-muted);font-size:10px;line-height:14px}.btn.primary kbd{color:var(--accent-ink);background:#0b0c0f26}.link-btn{cursor:pointer;font:600 var(--text-sm) var(--font-sans);color:var(--accent);text-underline-offset:3px;background:0 0;border:0;padding:2px 0}.link-btn:hover:not(:disabled){text-decoration:underline}.link-btn:disabled{color:var(--text-disabled);cursor:default}.link-btn.plain{color:var(--text);font-size:inherit;text-align:left}.field{gap:6px;display:grid}.field label{font-size:var(--text-sm);color:var(--text-2);font-weight:600}.field-hint{font-size:var(--text-xs);color:var(--text-muted)}.input,.select{font:500 16px/20px var(--font-sans);color:var(--text);background:var(--bg);border:1px solid var(--line-strong);border-radius:var(--radius);transition:border-color var(--dur-fast)}.input{width:100%;padding:9px 12px}textarea.input{resize:vertical;line-height:1.4}.input::placeholder{color:var(--text-faint)}.input:hover,.select:hover{border-color:var(--text-faint)}.input:focus-visible,.select:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.input[readonly]{color:var(--text-muted)}.select{appearance:none;cursor:pointer;background:var(--bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23a3a9b5' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center;padding:9px 34px 9px 12px}.select.small{font-size:var(--text-sm);padding-block:5px;line-height:18px}.input.code{font:600 18px/20px var(--font-mono);letter-spacing:.2em;text-transform:uppercase}.input.code::placeholder{letter-spacing:.04em;font-family:var(--font-sans);text-transform:none;font-size:15px;font-weight:500}.switch{appearance:none;border-radius:var(--radius);cursor:pointer;background:var(--line);border:1px solid var(--line-strong);width:42px;height:24px;transition:background-color var(--dur), border-color var(--dur);flex:none;margin:0;position:relative}.switch:after{content:"";border-radius:var(--radius-xs);background:var(--text-muted);width:16px;height:16px;transition:transform var(--dur) var(--ease-out), background-color var(--dur);position:absolute;top:3px;left:3px}.switch:checked{background:var(--accent);border-color:var(--accent)}.switch:checked:after{background:var(--accent-ink);transform:translate(18px)}.switch:disabled{cursor:default;opacity:.45}.slider{width:100%;accent-color:var(--accent)}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}.tabs button{cursor:pointer;white-space:nowrap;font:600 var(--text-md) var(--font-sans);color:var(--text-muted);background:0 0;border:0;flex:none;padding:10px 14px;box-shadow:inset 0 -2px #0000}.tabs button:hover{color:var(--text)}.tabs button[aria-selected=true]{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.tabs button:focus-visible{outline-offset:-2px}.segmented{border-radius:var(--radius);background:var(--bg);border:1px solid var(--line);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:2px;padding:2px;display:grid}.segmented button{border-radius:var(--radius-sm);color:var(--text-muted);font:600 var(--text-md) var(--font-sans);cursor:pointer;background:0 0;border:0;justify-items:center;gap:1px;padding:7px 6px;display:grid}.segmented button small{font:500 9.5px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.segmented button:hover{color:var(--text)}.segmented button.on,.segmented button[aria-pressed=true]{background:var(--line);color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.segmented button.on small{color:var(--text-2)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.eyebrow,.panel-title{font:600 var(--text-xs)/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:0}.box-head{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:32px;display:flex}.howto{font-size:var(--text-sm);color:var(--text-muted);line-height:1.45}.howto b{color:var(--text);font-weight:600}.form-msg{min-height:1.35em;font-size:var(--text-sm);margin:0;font-weight:600}.form-msg.error{color:var(--danger-text)}.form-msg.info{color:var(--positive)}.progress{background:var(--line);width:100%;height:4px;display:block;overflow:hidden}.progress i{background:var(--accent);height:100%;display:block}.table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.table th{text-align:left;border-bottom:1px solid var(--line);font:500 var(--text-2xs)/1.3 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:6px 10px}.table td{border-bottom:1px solid var(--line-soft);vertical-align:top;padding:8px 10px}.table tbody tr:hover td{background:var(--surface-row)}.tag,.admin-tag{border-radius:var(--radius-sm);white-space:nowrap;font:600 var(--text-xs)/18px var(--font-mono);background:var(--surface-raised);color:var(--text-2);align-items:center;gap:4px;padding:1px 8px;display:inline-flex}:is(.tag,.admin-tag).good{background:var(--positive-soft);color:var(--positive)}:is(.tag,.admin-tag).bad{background:var(--danger-soft);color:var(--danger-text)}:is(.tag,.admin-tag).info{background:var(--info-soft);color:var(--info)}.count-badge{border-radius:var(--radius-sm);background:var(--danger);min-width:18px;height:18px;color:var(--accent-ink);font:600 var(--text-2xs)/1 var(--font-mono);font-variant-numeric:tabular-nums;place-items:center;padding:0 5px;display:inline-grid}.tier-icon,.tier-badge{line-height:0;display:inline-flex}.tier-badge{vertical-align:-.1em;margin-left:5px;font-size:.95em}.tier-icon.big{font-size:56px}.rank-label{white-space:nowrap;align-items:center;gap:5px;font-weight:600;display:inline-flex}.rank-label b{font:500 .92em var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-2)}.rank-short{font-size:var(--text-xs);font-weight:500}.delta{font-style:normal;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-muted)}.delta.up{color:var(--positive)}.delta.down{color:var(--danger-text)}.avatar-chip{border-radius:var(--radius);background:var(--surface-raised);align-items:center;gap:10px;min-width:0;padding:10px;display:flex}.avatar-chip:empty{display:none}.avatar-square{border-radius:var(--radius-sm);background:var(--line);width:36px;height:36px;color:var(--text);font:800 16px var(--font-sans);flex:none;place-items:center;display:grid;position:relative}.avatar-square.sm{width:32px;height:32px;font-size:14px}.avatar-square .avatar-icon{font-size:22px}.avatar-text{flex:1;min-width:0;display:grid}.avatar-text b{font-size:var(--text-md);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.empty{text-align:center;color:var(--text-muted);font-size:var(--text-sm);justify-items:center;gap:8px;padding:18px 12px;display:grid}.empty .gi{color:var(--text-faint);font-size:22px}.empty p{max-width:34ch;margin:0;line-height:1.45}.empty b{color:var(--text)}.toasts{pointer-events:none;z-index:var(--z-toast);justify-items:center;gap:6px;width:min(92vw,520px);display:grid;position:absolute;top:96px;left:50%;transform:translate(-50%)}.toast{font-weight:600;font-size:var(--text-md);text-align:center;animation:toast-in var(--dur) var(--ease-out);background:var(--surface-raised);border:1px solid var(--line-strong);box-shadow:inset 3px 0 0 var(--info), var(--shadow-pop);padding:8px 14px 8px 16px}.toast.error{box-shadow:inset 3px 0 0 var(--danger), var(--shadow-pop);border-color:#f2555a80}body>.toasts{z-index:calc(var(--z-prompt) + 1)}@keyframes toast-in{0%{opacity:0;transform:translateY(-6px)}}.overlay{background:var(--scrim);z-index:15;padding-left:var(--gutter-l);padding-right:var(--gutter-r);place-items:center;display:grid;position:absolute;inset:0}.overlay.clear{pointer-events:none;background:0 0}.overlay.clear>*{pointer-events:auto}.modal{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:min(100%,520px);max-height:100%;box-shadow:var(--shadow-pop);align-content:start;display:grid;overflow:hidden}.modal-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:16px 12px 12px 20px;display:flex}.modal-head h2{font:700 22px/1.2 var(--font-sans);letter-spacing:-.01em;margin:0}.notice-bar{top:max(8px, env(safe-area-inset-top,0px));z-index:var(--z-notice);border-radius:var(--radius);background:var(--surface-raised);border:1px solid var(--line-strong);width:min(92vw,640px);box-shadow:inset 3px 0 0 var(--info), var(--shadow-pop);align-items:center;gap:8px;padding:10px 10px 10px 18px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.notice-bar:has(.maintenance){box-shadow:inset 3px 0 0 var(--gold), var(--shadow-pop)}.notice-lines{flex:1;gap:4px;display:grid}.notice-text{color:var(--text);align-items:center;gap:8px;margin:0;font-weight:600;display:flex}.notice-text .gi{color:var(--info)}.notice-text.maintenance{color:var(--gold);font-size:var(--text-sm)}.shell{display:flex;position:absolute;inset:0}.sidebar{background:var(--surface-sunken);border-right:1px solid var(--line);flex-direction:column;flex:none;gap:4px;width:232px;padding:24px 16px 16px;display:flex;overflow-y:auto}.side-brand{align-items:center;gap:10px;padding:0 8px 24px;display:flex}.side-brand b{font:800 17px/1.1 var(--font-sans)}.brand-mark{border-radius:var(--radius-xs);background:var(--accent);width:34px;height:34px;color:var(--accent-ink);font:800 15px var(--font-sans);letter-spacing:-.02em;flex:none;place-items:center;display:grid}.brand-mark.big{width:56px;height:56px;font-size:24px}.side-links{gap:4px;display:grid}.side-link{border-radius:var(--radius);cursor:pointer;width:100%;height:44px;color:var(--text-muted);font:600 var(--text-base) var(--font-sans);text-align:left;transition:background-color var(--dur-fast), color var(--dur-fast);background:0 0;border:0;align-items:center;gap:12px;padding:0 12px;display:flex}.side-link .gi{width:18px;height:18px}.side-link:hover{background:var(--surface);color:var(--text)}.side-link[aria-current=page]{background:var(--surface-raised);color:var(--text);box-shadow:inset 3px 0 0 var(--accent)}.side-link:focus-visible{outline-offset:-2px}.sidebar .avatar-chip{margin-top:8px}.conn{font:500 var(--text-2xs) var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);justify-content:center;align-items:center;gap:6px;margin:0;display:flex}.conn:before{content:"";background:var(--positive);border-radius:50%;width:6px;height:6px}.conn.bad{color:var(--danger-text)}.conn.bad:before{background:var(--danger)}.sidebar .conn{justify-content:flex-start;padding:10px 8px 0}.shell-main{flex:1;min-width:0;position:relative}.screen{padding-left:var(--gutter-l);padding-right:var(--gutter-r);padding-block:max(24px, env(safe-area-inset-top,0px)) max(24px, env(safe-area-inset-bottom,0px));place-items:center;display:grid;position:absolute;inset:0;overflow-y:auto}.shell .screen{padding:28px 32px 96px;display:block}.page{gap:var(--space-4);align-content:start;width:100%;max-width:1280px;margin:0 auto;display:grid}.page-head{justify-content:space-between;align-items:flex-end;gap:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.page-head>div:not(.page-actions){gap:6px;min-width:0;display:grid}.page-title{font:800 var(--text-3xl)/1.05 var(--font-sans);letter-spacing:-.02em;overflow-wrap:anywhere;align-items:center;gap:10px;margin:0;display:inline-flex}.page-title .tier-badge{margin-left:2px;font-size:.6em}.page-meta{font:500 var(--text-sm) var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:6px;margin:0;display:flex}.page-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.box{background:var(--surface);align-content:start;gap:10px;padding:18px;display:grid}.notice-card{text-align:center;background:var(--surface);justify-items:center;gap:12px;width:min(100%,420px);padding:24px;display:grid}.notice-card h2{font:700 var(--text-xl) var(--font-sans);margin:0}.notice-card .howto{margin:0}.corner-settings{top:max(12px, env(safe-area-inset-top,0px));right:var(--gutter-r);z-index:3;position:absolute}.login{gap:var(--space-4);width:min(100%,400px);display:grid}.login-brand{text-align:center;justify-items:center;gap:10px;padding-bottom:8px;display:grid}.login-brand h1{font:800 var(--text-2xl)/1.05 var(--font-sans);letter-spacing:-.02em;margin:4px 0 0}.login-brand p{color:var(--text-muted);max-width:32ch;margin:0}.login-note{text-align:center;margin:0}.login-checking{text-align:center;color:var(--text-muted);background:var(--surface);padding:18px}.account-form{background:var(--surface);gap:14px;padding:24px;display:grid}.account-form[hidden]{display:none}.account-form h2{font:700 var(--text-xl)/1.15 var(--font-sans);letter-spacing:-.01em;margin:0}.account-form .howto{margin:0}.account-form .howto .gi{color:var(--text-muted)}.account-form .btn.primary{padding-block:11px}.account-links{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}#acc-code{font:600 24px/28px var(--font-mono);letter-spacing:.3em;text-align:center}.account-page{max-width:1000px}.account-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.settings-form .howto{margin:0}.settings-form .howto .gi{color:var(--text-muted)}.settings-fields{gap:10px;display:grid}.settings-form .settings-actions{align-items:center;gap:12px}.danger-zone{border-color:var(--danger-soft)}.danger-zone .eyebrow{color:var(--danger-text)}.howto a{color:var(--accent);text-underline-offset:3px}.legal-line{font-size:var(--text-xs)}#set-email-code{font:600 20px/24px var(--font-mono);letter-spacing:.3em}.home-page{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px}.home-main{gap:var(--space-4);min-width:0;display:grid}.play-modes{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.play-mode{text-align:left;cursor:pointer;border-radius:var(--radius);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);color:var(--text);transition:box-shadow var(--dur-fast), background-color var(--dur-fast);border:0;gap:6px;padding:20px;display:grid}.play-mode-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.play-mode-top b{font:800 var(--text-xl)/1.1 var(--font-sans);letter-spacing:-.01em}.play-mode-top .gi{color:var(--text-muted);font-size:24px}.play-mode-desc{font-size:var(--text-md);color:var(--text-2)}.play-mode-meta{font:500 var(--text-xs) var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.play-mode:hover:not(:disabled){background:var(--surface-raised);box-shadow:inset 0 0 0 2px var(--accent)}.play-mode:hover:not(:disabled) .play-mode-top .gi{color:var(--accent)}.play-mode:active:not(:disabled){background:var(--surface-sunken)}.play-mode.queued{background:var(--surface-raised);box-shadow:inset 0 0 0 2px var(--accent)}.play-mode:disabled{cursor:not-allowed}.play-mode:disabled:not(.queued){opacity:.5}.play-hint{font-size:var(--text-sm);color:var(--text-muted);margin:0}.home-grid{gap:var(--space-3);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:stretch;display:grid}.custom-box .howto{margin:0}.custom-box .btn[type=submit]{margin-top:auto}.join-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.party-members{gap:6px;margin:0;padding:0;list-style:none;display:grid}.member-row{border-radius:var(--radius-sm);background:var(--surface-raised);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px 10px;display:grid}.member-row b{white-space:nowrap;text-overflow:ellipsis;font-weight:700;display:block;overflow:hidden}.member-text{min-width:0;display:grid}.member-state{font:500 var(--text-xs) var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--positive)}.member-state.leader{color:var(--gold)}.member-row.off .member-state,.member-row.off b{color:var(--text-muted)}.party-note{font-size:var(--text-xs);color:var(--text-muted);margin:0}.friends-dock{top:max(12px, env(safe-area-inset-top,0px));left:var(--gutter-l);z-index:var(--z-dock);position:absolute}.friends-dock.docked{z-index:auto;position:static}.friends-toggle{position:relative}.friends-toggle .count-badge{box-shadow:0 0 0 2px var(--bg);position:absolute;top:-7px;right:-7px}.friends-panel{background:var(--surface);width:380px;max-height:calc(100vh - 90px);box-shadow:var(--shadow-pop);grid-template-rows:auto auto minmax(0,1fr);gap:10px;padding:16px;display:grid;position:absolute;top:calc(100% + 8px);left:0}.docked .friends-panel{width:auto;max-height:calc(100vh - 56px);box-shadow:none;position:static}.friends-head{align-items:center;gap:8px;min-height:28px;display:flex}.friends-head h3{margin:0}.friends-online{text-align:right;font:500 var(--text-xs) var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--positive);flex:1}.friends-add{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.friends-add .input{font-size:var(--text-md);padding:7px 10px}.friends-body{scrollbar-width:thin;align-content:start;gap:2px;padding-right:2px;display:grid;overflow-y:auto}.friends-body h4{font:500 var(--text-xs) var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:6px;margin:10px 0 4px;display:flex}.friends-body h4:first-child{margin-top:0}.friends-body h4 small{font-size:inherit;color:var(--text-2)}.friends-body .howto,.friends-body .form-msg{margin:4px 0}.friend-row{border-bottom:1px solid var(--line-soft);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:48px;padding:6px;display:grid}.friend-row.request{border-radius:var(--radius-sm);background:var(--surface-raised);border:0;margin-bottom:4px;padding:8px}.friend-row.off .friend-who b,.friend-row.off .avatar-square{opacity:.6}.friend-who{min-width:0;display:grid}.friend-who b{font-weight:700;font-size:var(--text-md);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.friend-who small{font:500 var(--text-2xs) var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.friend-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.friend-actions .btn{font-size:var(--text-xs);gap:4px;padding:4px 8px}.friend-actions .btn.icon-only{padding:4px 6px}.presence-dot{background:var(--line-strong);width:10px;height:10px;box-shadow:0 0 0 2px var(--surface);border-radius:50%;position:absolute;bottom:-3px;right:-3px}.presence-dot.menu{background:var(--positive)}:is(.presence-dot.game,.presence-dot.watching){background:var(--gold)}:is(.presence-dot.queue,.presence-dot.room){background:var(--info)}.friend-who small.menu{color:var(--positive)}.friend-who small:is(.game,.watching){color:var(--gold)}.friend-who small:is(.queue,.room){color:var(--info)}.friend-dm{position:relative}.friend-dm .count-badge{position:absolute;top:-6px;right:-6px}.dm-window{right:var(--gutter-r);z-index:var(--z-notice);background:var(--surface);border-color:var(--line-strong);width:min(100vw - 32px,340px);height:min(100vh - 120px,420px);box-shadow:var(--shadow-pop);grid-template-rows:auto minmax(0,1fr) auto auto;gap:8px;padding:12px;display:grid;position:fixed;bottom:16px}.dm-window[hidden]{display:none}.dm-window.in-game{right:calc(var(--hud-right,262px) + 24px);height:min(100vh - 260px,360px);bottom:180px}.dm-head{align-items:center;gap:8px;display:flex}.dm-who{flex:1;min-width:0;display:grid}.dm-who b{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.dm-who small{font:500 var(--text-2xs) var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.dm-log{scrollbar-width:thin;align-content:start;gap:6px;padding-right:2px;display:grid;overflow-y:auto}.dm-older{justify-self:center}.dm-line{border-radius:var(--radius-sm);background:var(--surface-raised);max-width:85%;font-size:var(--text-md);overflow-wrap:anywhere;justify-self:start;gap:2px;padding:6px 10px;display:grid}.dm-line.mine{background:var(--accent-soft);justify-self:end}.dm-line time{font:500 var(--text-2xs) var(--font-mono);color:var(--text-faint);justify-self:end}.dm-form{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.dm-form .input{font-size:var(--text-md);padding:7px 10px}.dm-error{margin:0}.dm-toast{z-index:var(--z-notice);pointer-events:none;width:min(100vw - 32px,460px);position:fixed;top:64px;left:50%;transform:translate(-50%)}.dm-toast.in-game{top:max(10px, env(safe-area-inset-top,0px));left:auto;right:var(--gutter-r);width:min(100vw - 32px,400px);transform:none}.dm-card .invite-text small{color:var(--text-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}:is(.chat-log,#chat-float) .whisper,:is(.chat-log,#chat-float) .whisper b{color:var(--info)}.invite-cards{z-index:var(--z-notice);pointer-events:none;gap:8px;width:min(100vw - 32px,460px);display:grid;position:fixed;top:64px;left:50%;transform:translate(-50%)}.invite-cards.in-game{top:max(10px, env(safe-area-inset-top,0px));left:auto;right:var(--gutter-r);width:min(100vw - 32px,400px);transform:none}.invite-card{pointer-events:auto;background:var(--surface-raised);border-color:var(--line-strong);box-shadow:inset 3px 0 0 var(--accent), var(--shadow-pop);animation:toast-in var(--dur) var(--ease-out);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 12px 12px 16px;display:grid}.invite-icon{color:var(--text-muted);font-size:22px;line-height:0}.invite-text{gap:2px;min-width:0;display:grid}.invite-text small{font-size:var(--text-xs);color:var(--text-muted)}.invite-text [data-left]{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-2)}.invite-actions{gap:6px;display:flex}.queue-bar{left:50%;bottom:max(16px, env(safe-area-inset-bottom,0px));z-index:var(--z-queue);background:var(--surface-raised);border-color:var(--line-strong);width:min(100vw - 32px,420px);box-shadow:inset 3px 0 0 var(--accent), var(--shadow-pop);animation:queue-in var(--dur) ease-out;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px 10px 16px;display:grid;position:fixed;transform:translate(-50%)}@keyframes queue-in{0%{opacity:0}}.queue-pulse{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite queue-pulse}@keyframes queue-pulse{50%{opacity:.35}}.queue-text{min-width:0;display:grid}.queue-text b{font-weight:700;font-size:var(--text-md);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.queue-text small{font:500 var(--text-sm) var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-muted)}.match-found-overlay{z-index:var(--z-prompt);position:fixed}.match-found{background:var(--surface-raised);border-top:3px solid var(--accent);width:min(100%,400px);animation:toast-in var(--dur) var(--ease-out);gap:12px;padding:20px;display:grid}.match-found-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.match-found h2{font:800 var(--text-xl)/1.1 var(--font-sans);letter-spacing:-.01em;margin:0}.match-found-left{font:600 28px/1 var(--font-mono);color:var(--accent)}.match-found .howto{margin:0}.match-found .progress i{transition:width .25s linear}.match-found-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.match-found-waiting{color:var(--text)}.room{gap:var(--space-4);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);width:min(100%,1120px);display:grid}.room-main{gap:var(--space-4);background:var(--surface);align-content:start;padding:20px;display:grid}.room-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.room-code{gap:4px;display:grid}.room-code b{font:600 var(--text-2xl)/1 var(--font-mono);letter-spacing:.16em}.room-actions{align-items:center;gap:6px;display:flex}.room-actions .friends-dock{position:relative;top:auto;left:auto}.room-actions .friends-panel{left:auto;right:0}.room-actions .friends-toggle{font-size:var(--text-sm);gap:6px;padding:5px 10px;line-height:18px}.invite{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.invite .input{font-size:var(--text-sm);font-family:var(--font-mono)}.seats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.seat{border-radius:var(--radius-sm);background:var(--surface-raised);grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:54px;padding:8px 10px;display:grid}.seat.empty{border:1px dashed var(--line);color:var(--text-faint);text-align:center;font-size:var(--text-sm);background:0 0;grid-template-columns:1fr}.seat-avatar{border-radius:var(--radius-sm);background:var(--line);place-items:center;width:36px;height:36px;font-size:20px;display:grid}.seat-name{white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.seat-meta{font:500 var(--text-2xs) var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.seat-meta.off{color:var(--danger-text)}.spectators{margin:0}.host-tools{padding-top:var(--space-4);border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;display:flex}.room-main>.howto{margin:0}.room-main kbd{margin-inline:1px}.room-side{background:var(--surface);grid-template-rows:auto minmax(0,1fr) auto;gap:10px;min-height:320px;max-height:min(78vh,640px);padding:16px;display:grid}.chat-log{font-size:var(--text-md);align-content:start;gap:4px;padding-right:4px;display:grid;overflow-y:auto}.chat-log b{color:var(--text);font-weight:700}.chat-form{grid-template-columns:minmax(0,1fr) auto;gap:6px;display:grid}.profile-overlay{z-index:var(--z-modal)}.profile-head small{font:500 var(--text-sm) var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.profile-grid{gap:var(--space-3);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);display:grid}.season-card{background:var(--surface);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px 20px;padding:20px 24px;display:grid}.season-card .stat-grid{grid-column:1/-1}.season-main{gap:8px;min-width:0;display:grid}.season-rank{font:800 30px/1.1 var(--font-sans);letter-spacing:-.01em;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0;display:flex}.season-rank .num{font-size:20px;font-weight:600}.season-sub{font-size:var(--text-sm);color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:4px 6px;margin:0;display:flex}.season-sub b{color:var(--text);font-family:var(--font-mono)}.all-card{background:var(--surface);align-content:space-between;gap:14px;padding:20px 24px;display:grid}.stat-grid{background:var(--line);border-radius:var(--radius-sm);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.stat-grid span{background:var(--surface-raised);gap:2px;padding:12px 16px;display:grid}.stat-grid b{font:600 26px/1.1 var(--font-mono);font-variant-numeric:tabular-nums}.stat-grid small{font-size:var(--text-xs);color:var(--text-muted)}.profile-cols{gap:var(--space-4);grid-template-columns:minmax(0,1fr) 360px;align-items:start;display:grid}.past{gap:6px;display:grid}.past-row{border-radius:var(--radius-sm);background:var(--surface-raised);grid-template-columns:1fr 1fr;gap:10px 12px;padding:12px;display:grid}.past-row>span{gap:2px;min-width:0;display:grid}.past-row>span:first-child{grid-column:1/-1;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.past-row small{font:500 var(--text-2xs) var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.past-row .num b{font-weight:600}.history{gap:4px;display:grid}.match{border-radius:var(--radius-sm);background:var(--surface-row);grid-template-columns:52px 150px minmax(0,1fr) 150px;align-items:center;gap:12px;padding:10px;display:grid}.match.first{background:var(--surface-raised);box-shadow:inset 3px 0 0 var(--accent)}.match.top{box-shadow:inset 3px 0 0 var(--info)}.m-place{font:600 24px/1 var(--font-mono);text-align:center;color:var(--text-faint)}.m-place.top{color:var(--text)}.m-place.first{color:var(--accent)}.m-info{gap:1px;min-width:0;display:grid}.m-info b{font-size:var(--text-md)}.m-info small{font:500 var(--text-2xs) var(--font-mono);letter-spacing:.02em;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.m-actions{justify-self:start;gap:4px;margin-top:4px;display:flex}.m-comp{gap:4px;min-width:0;display:grid}.m-units{flex-wrap:wrap;gap:6px;display:flex}.m-unit{justify-items:center;gap:1px;display:grid}.m-unit .thumb{border-radius:var(--radius-xs);width:30px;height:30px;box-shadow:inset 0 -3px 0 var(--cost);font-size:15px}.m-stars{font-size:9px;line-height:1;display:flex}.m-stars.s1{color:#c58b5a}.m-stars.s2{color:#d7e3ef}.m-stars.s3{color:#ffd76a}.m-items{gap:1px;min-height:14px;display:flex}.m-items .itile.xs{border-radius:var(--radius-xs);width:14px;height:14px;font-size:9px}.m-traits{flex-wrap:wrap;gap:4px 10px;display:flex}.m-trait{font-size:var(--text-xs);color:var(--text-2);opacity:.75;align-items:center;gap:3px;display:inline-flex}.m-trait b{font-family:var(--font-mono);font-weight:600}.m-trait.l2,.m-trait.l3{opacity:1}.m-trait.l3 b{color:var(--gold)}.m-rank{white-space:nowrap;flex-direction:column;align-items:flex-end;gap:2px;display:flex}.m-rank small{color:var(--text-muted);font-size:var(--text-xs)}.rank-move{font-size:var(--text-sm)}.rank-move.up{color:var(--positive)}.rank-move.down{color:var(--danger-text)}.pager{font:500 var(--text-xs) var(--font-mono);color:var(--text-muted);justify-content:flex-end;align-items:center;gap:12px;padding-top:8px;display:flex}.skins{gap:10px;display:grid}.skins .howto{margin:0}.skin-title{margin:6px 0 0}.skin-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.skin-card{border-radius:var(--radius);background:var(--surface-raised);box-shadow:inset 0 0 0 1px var(--line);color:var(--text);font:inherit;text-align:center;cursor:pointer;border:0;align-content:start;justify-items:center;gap:4px;padding:10px 8px 12px;display:grid}.skin-card:hover{box-shadow:inset 0 0 0 1px var(--text-faint)}.skin-card.picked{box-shadow:inset 0 0 0 2px var(--accent)}.skin-card.pending{opacity:.75}.skin-card b{font-size:var(--text-md)}.skin-card small{color:var(--text-muted);font-size:var(--text-2xs);line-height:1.3}.skin-art{border-radius:var(--radius-sm);background:var(--bg);place-items:center;width:96px;height:96px;display:grid;overflow:hidden}.skin-art img{object-fit:contain;width:100%;height:100%}.skin-grid.arenas{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.skin-grid.arenas .skin-art{aspect-ratio:12/7;width:100%;height:auto}.skin-loading{border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.profile-overlay .profile{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);max-width:1100px;max-height:100%;box-shadow:var(--shadow-pop);padding:24px;overflow-y:auto}.profile-overlay .profile-cols{grid-template-columns:minmax(0,1fr) 320px}.board-panel{background:var(--surface);padding:8px 12px 12px}.board{display:grid}.board-row{border-bottom:1px solid var(--line-soft);grid-template-columns:56px minmax(0,1.6fr) minmax(0,1.4fr) 84px 72px 80px;align-items:center;gap:12px;padding:8px 10px;display:grid}.board-row:not(.board-head):hover{background:var(--surface-row)}.board-head{border-bottom-color:var(--line);font:500 var(--text-2xs) var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding-block:10px 6px}.board-row .num{text-align:right}.board-rank{font:600 var(--text-md) var(--font-mono);color:var(--text-muted);text-align:center}.board-row.top1 .board-rank{color:var(--tier-ouro)}.board-row.top2 .board-rank{color:var(--tier-prata)}.board-row.top3 .board-rank{color:var(--tier-bronze)}.board-row.me{background:var(--surface-raised);box-shadow:inset 3px 0 0 var(--accent)}.board-row.me .board-rank{color:var(--accent)}.board-name{font-size:var(--text-base);font-weight:600}.board-row small{color:var(--text-muted)}.board-gap{text-align:center;color:var(--text-faint);padding:4px 0;line-height:1}.board-empty{text-align:center;padding:18px 0}.gallery-head{top:max(12px, env(safe-area-inset-top,0px));z-index:2;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;width:max-content;max-width:calc(100% - 32px);padding:8px 12px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.gallery-head b{font:800 var(--text-lg)/1.1 var(--font-sans)}.gallery-filters{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}[data-layout=phone] .gallery-head .btn{min-height:40px}.settings-overlay{z-index:var(--z-modal);padding-block:max(16px, env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-bottom,0px))}.settings-modal{grid-template-rows:auto auto minmax(0,1fr);width:min(100%,580px)}.settings-tabs{padding:0 20px}.settings-body{overscroll-behavior:contain;padding:16px 20px 20px;overflow-y:auto}.settings-body section{gap:10px;display:grid}.setting-block{gap:8px;display:grid}.setting-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.setting-head b{font-weight:700}.setting-hint{color:var(--text-muted);font-size:var(--text-xs)}.preset-state{font:500 var(--text-xs) var(--font-mono);text-transform:uppercase;color:var(--text-2)}.range-value{font:600 var(--text-sm) var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text)}.settings-group{border-top:1px solid var(--line);margin:10px 0 0;padding-top:14px}.toggle-row{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:6px 2px;display:grid}.toggle-row.disabled{opacity:.45;cursor:default}.toggle-text{gap:1px;display:grid}.toggle-text b{font-weight:600}.toggle-text small{font-size:var(--text-xs);color:var(--text-muted)}.cost{font:600 9.5px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;vertical-align:2px;color:var(--gold);background:var(--gold-soft);border-radius:var(--radius-xs);margin-left:6px;padding:1px 5px;font-style:normal}.settings-actions{flex-wrap:wrap;gap:8px;display:flex}.settings-body .credits{font-size:var(--text-xs);margin:4px 0 0}.confirm-overlay{z-index:var(--z-prompt);position:fixed}.confirm-modal{gap:12px;width:min(100%,460px);padding-bottom:20px}.confirm-modal>.howto,.confirm-modal>.form-msg,.confirm-field,.confirm-actions{margin:0 20px}.confirm-modal>.howto{margin-top:-4px}.confirm-field{font-size:var(--text-sm);color:var(--text-2);gap:6px;font-weight:600;display:grid}.confirm-actions{justify-content:flex-end;gap:8px;display:flex}.match-chat-overlay{z-index:var(--z-system);padding-block:max(16px, env(safe-area-inset-top,0px)) max(16px, env(safe-area-inset-bottom,0px));position:fixed}.match-chat-modal{grid-template-rows:auto auto minmax(0,1fr);width:min(100%,560px);max-height:min(100%,640px)}.match-chat-modal>.howto{font-size:var(--text-sm);margin:0;padding:0 20px 12px}.match-chat-log{border-top:1px solid var(--line);-webkit-user-select:text;user-select:text;overflow-wrap:anywhere;overscroll-behavior:contain;padding:12px 20px 20px}.match-chat-log time{font:500 var(--text-xs) var(--font-mono);color:var(--text-muted);font-variant-numeric:tabular-nums}.match-chat-log .howto,.match-chat-log .form-msg{margin:0}.admin-body{-webkit-user-select:text;user-select:text}.admin-pane{gap:var(--space-3);align-content:start;display:grid}.admin-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-row>.input{flex:160px;width:auto;min-width:0}.admin-row>.input.grow{flex:3 260px}.admin-row>.input[type=number]{flex:0 0 140px}.admin-row h3{margin:0}.admin-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);gap:10px;padding:16px 18px;display:grid}.admin-card h3{font:700 var(--text-lg)/1.2 var(--font-sans);margin:0}.admin-card h3 small{font:500 var(--text-sm) var(--font-mono);color:var(--text-muted)}.admin-card h4,.admin-pane h4{font:600 var(--text-xs)/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin:8px 0 0}.admin-pane .howto{margin:0}.admin-facts{font-size:var(--text-md);grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;display:grid}.admin-facts dt{color:var(--text-muted)}.admin-facts dd{margin:0}.admin-pager{font:500 var(--text-xs) var(--font-mono);color:var(--text-muted);justify-content:flex-end;align-items:center;gap:10px;margin-top:6px;display:flex}.admin-stats{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.admin-stat{background:var(--surface);gap:4px;padding:12px 14px;display:grid}.admin-stat small{color:var(--text-muted);font-size:var(--text-xs)}.admin-stat b{font:600 var(--text-lg) var(--font-mono);font-variant-numeric:tabular-nums}.admin-charts{grid-template-columns:1fr 1fr;gap:16px;display:grid}.admin-bars{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);align-items:flex-end;gap:2px;height:96px;padding:6px;display:flex}.admin-bar{flex:1;align-items:flex-end;height:100%;display:flex}.admin-bar i{background:var(--info);border-radius:var(--radius-xs) var(--radius-xs) 0 0;width:100%;min-height:1px;display:block}.admin-error,.admin-details{font:500 var(--text-xs) var(--font-mono);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-muted)}.admin-chat-text{overflow-wrap:anywhere}.table td .btn.small{padding-block:3px}#scene{position:absolute;inset:0}#scene canvas,#gallery-scene canvas{touch-action:none;width:100%;height:100%;display:block}.game-root{--hud-left:236px;--hud-right:262px}.game-root .panel{background:var(--surface-sunken);border-color:var(--line-soft)}.hud{pointer-events:none;grid-template-columns:var(--hud-left) minmax(0, 1fr) var(--hud-right);padding-left:var(--gutter-l);padding-right:var(--gutter-r);padding-block:max(12px, env(safe-area-inset-top,0px)) max(12px, env(safe-area-inset-bottom,0px));grid-template-rows:auto minmax(0,1fr) auto;gap:8px 12px;display:grid;position:absolute;inset:0}.hud>*{pointer-events:auto;min-width:0}.panel-head{justify-content:space-between;align-items:center;gap:8px;min-height:22px;display:flex}.hud .panel-title{font-size:var(--text-2xs)}.hud-tag{border-radius:var(--radius);white-space:nowrap;background:var(--surface-sunken);border:1px solid var(--line-soft);height:32px;font:600 var(--text-xs) var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);align-items:center;gap:6px;padding:0 12px;display:inline-flex}.hud-tag:empty{display:none}.hud-tag b{font:700 var(--text-sm) var(--font-sans);letter-spacing:0;text-transform:none;color:var(--text)}.empty-note{font-size:var(--text-sm);color:var(--text-muted);padding:4px 2px;line-height:1.4}.top-left{flex-wrap:wrap;grid-area:1/1;align-content:start;align-items:center;gap:6px;display:flex}.stage{grid-area:1/2;place-self:start center;width:min(100%,500px);overflow:hidden}.stage-main{align-items:center;gap:14px;padding:8px 14px;display:flex}.stage-label{font:600 28px/1 var(--font-mono);font-variant-numeric:tabular-nums}.stage-mid{flex:1;gap:5px;min-width:0;display:grid}.stage-sub{font-size:var(--text-md);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.rounds{gap:3px;display:flex}.round-pip{border-radius:var(--radius-xs);background:var(--line);min-width:18px;height:18px;color:var(--text-2);flex:1 1 0;place-items:center;font-size:12px;display:grid}.round-pip .gi{stroke:none}.round-pip.done{background:var(--surface-raised);color:var(--text-disabled)}.round-pip.now{background:var(--accent);color:var(--accent-ink)}.timer-left{text-align:right;min-width:2ch;font:600 28px/1 var(--font-mono);font-variant-numeric:tabular-nums}.timer-left.urgent{color:var(--danger-text)}.timer{background:var(--line);height:3px;overflow:hidden}.timer i{background:var(--text-2);height:100%;display:block}.timer.urgent i{background:var(--danger)}.hud-left{pointer-events:none;flex-direction:column;grid-area:2/1/4;gap:8px;min-height:0;display:flex}.hud-left>*{pointer-events:auto}.traits{scrollbar-width:thin;flex:0 auto;align-content:start;gap:4px;min-height:0;padding:8px;display:grid;overflow-y:auto}.my-augments{flex-wrap:wrap;gap:3px;display:flex}.aug-chip{border-radius:var(--radius-xs);cursor:default;background:var(--aug-tier,var(--tier-prata));width:22px;height:22px;color:var(--accent-ink);place-items:center;font-size:13px;display:grid}.aug-chip .gi{stroke:none}.aug-chip.t2{--aug-tier:var(--tier-ouro)}.aug-chip.t3{--aug-tier:var(--tier-mestre)}.trait-list{gap:2px;display:grid}.trait{border-radius:var(--radius-sm);background:var(--surface-raised);cursor:default;grid-template-columns:30px 14px minmax(0,1fr) auto;align-items:center;gap:8px;height:32px;padding-right:6px;display:grid}.trait:hover{background:var(--surface-hover)}.trait-badge{border-radius:var(--radius-sm);background:var(--line);width:30px;height:32px;color:var(--text-muted);place-items:center;font-size:16px;display:grid}.trait-badge .gi{stroke:none}.trait:not(.off) .trait-badge{color:var(--accent-ink)}.trait.l1 .trait-badge{background:var(--tier-bronze)}.trait.l2 .trait-badge{background:var(--tier-prata)}.trait.l3 .trait-badge{background:var(--tier-ouro)}.trait.l4 .trait-badge{background:var(--trait-prism)}.trait-count{font:600 var(--text-base) var(--font-mono);font-variant-numeric:tabular-nums}.trait-name{font-weight:600;font-size:var(--text-md);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.trait-steps{font:500 var(--text-xs) var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-disabled);white-space:nowrap}.trait-steps em{color:var(--text);font-style:normal}.trait.off{background:0 0}.trait.off:hover{background:var(--surface-row)}.trait.off .trait-count,.trait.off .trait-name{color:var(--text-muted)}.items-bench{flex:none;gap:6px;padding:8px;display:grid}.items-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;display:grid}.item-slot{border-radius:var(--radius-sm);height:36px;color:var(--item);background:var(--surface-raised);border:1px solid var(--line-strong);cursor:grab;touch-action:none;place-items:center;font-size:21px;display:grid;position:relative}.item-ghost{z-index:30;pointer-events:none;width:40px;height:40px;color:var(--item);border-radius:var(--radius-sm);background:var(--surface-raised);border:1px solid var(--accent);box-shadow:var(--shadow-pop);place-items:center;font-size:26px;display:grid;position:fixed;transform:translate(-50%,-50%)}.item-slot,.itile,.item-ghost{--tile-bg:var(--surface-raised)}:is(.item-slot,.itile).component,:is(.item-slot,.itile).consumable{border-color:color-mix(in srgb, var(--item) 42%, var(--line-strong));background:color-mix(in srgb, var(--item) 9%, var(--tile-bg))}:is(.item-slot,.itile,.item-ghost).completed,:is(.item-slot,.itile,.item-ghost).emblem{--tile-bg:color-mix(in srgb, var(--item) 13%, var(--surface));background:linear-gradient(var(--tile-bg), var(--tile-bg)) padding-box, linear-gradient(135deg, var(--ring-a) 50%, var(--ring-b) 50%) border-box;border:2px solid #0000}:is(.item-slot,.itile,.item-ghost).emblem{--tile-bg:color-mix(in srgb, var(--item) 22%, var(--surface))}:is(.item-slot,.item-ghost,.itile.md,.itile.lg):is(.completed,.emblem){border-width:3px}.itile.xs:is(.completed,.emblem){border-width:1.5px}.item-slot:hover{border-color:var(--accent)}.item-slot:is(.completed,.emblem):hover{box-shadow:0 0 0 1px var(--accent)}.equip-preview{z-index:41;pointer-events:none;width:252px;font-size:var(--text-sm);background:var(--surface-raised);border-color:var(--line-strong);box-shadow:inset 0 2px 0 var(--positive), var(--shadow-pop);gap:6px;padding:10px 12px;display:grid;position:fixed}.equip-preview.refuse{box-shadow:inset 0 2px 0 var(--danger), var(--shadow-pop)}.ep-head{font:600 var(--text-2xs)/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--positive)}.equip-preview.refuse .ep-head{color:var(--danger-text)}.equip-preview small{font-size:var(--text-xs);color:var(--text-2);line-height:1.35}.ep-item{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;display:grid}.ep-item>span{gap:1px;min-width:0;line-height:1.2;display:grid}.ep-item b{font-size:var(--text-md);font-weight:700}.ep-recipe,.ep-tiles{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.ep-recipe>span{font:600 var(--text-sm) var(--font-mono);color:var(--text-muted)}.chat-dock{z-index:25;pointer-events:none;grid-template-columns:minmax(0,1fr);justify-items:start;gap:4px;margin-top:auto;display:grid;position:relative}.chat-dock>*{pointer-events:auto}.chat-float{pointer-events:none;gap:4px;width:100%;display:grid}.chat-float:empty{display:none}.chat-float .line{font-size:var(--text-sm);border-radius:var(--radius-sm);overflow-wrap:anywhere;background:var(--surface-sunken);border:1px solid var(--line-soft);width:fit-content;max-width:100%;padding:5px 10px;line-height:1.3}.chat-float .line b,.chat-log b{color:var(--text);font-weight:700}.chat-toggle{position:relative}.chat-toggle[aria-expanded=true]{display:none}.chat-toggle .count-badge{background:var(--accent);color:var(--accent-ink);box-shadow:0 0 0 2px var(--bg);position:absolute;top:-7px;right:-7px}.chat-panel{background:var(--surface-sunken);grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);gap:6px;width:100%;height:min(320px,42vh);padding:8px;display:grid}.chat-panel-head{align-items:center;gap:4px;min-height:28px;padding-left:2px;display:flex}.chat-panel-head b{font:600 var(--text-2xs)/1.3 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.chat-panel-head .grow{flex:1}.chat-panel-head .btn[aria-pressed=true]{color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.chat-panel .chat-log{font-size:var(--text-sm);-webkit-user-select:text;user-select:text;overflow-wrap:anywhere;overscroll-behavior:contain;scrollbar-width:thin;line-height:1.35}.chat-panel .chat-input{min-width:0;font-size:var(--text-md);padding:7px 10px}.players{scrollbar-width:thin;grid-area:2/3;align-self:start;gap:2px;max-height:100%;padding:8px;display:grid;overflow-y:auto}.player{border-radius:var(--radius-sm);width:100%;min-height:46px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:4px 8px 4px 6px;display:grid}.player:hover{background:var(--surface-row)}.player.me{background:var(--surface-raised);box-shadow:inset 3px 0 0 var(--accent)}.player.vs{box-shadow:inset 3px 0 0 var(--danger)}.player.viewing{box-shadow:inset 0 0 0 1px var(--accent)}.player.me.viewing{box-shadow:inset 3px 0 0 var(--accent), inset 0 0 0 1px var(--accent)}.player:focus-visible{outline-offset:-2px}.player.out{opacity:.45}.avatar{border-radius:var(--radius-sm);background:var(--line);width:32px;height:32px;color:var(--text-2);place-items:center;font-size:18px;display:grid;position:relative}.avatar .lvl{border-radius:var(--radius-xs);background:var(--bg);min-width:16px;height:16px;color:var(--text);font:600 10px/1 var(--font-mono);font-variant-numeric:tabular-nums;place-items:center;padding:0 3px;display:grid;position:absolute;bottom:-4px;right:-4px}.p-main{gap:5px;min-width:0;display:grid}.p-name{min-width:0;font-size:var(--text-md);white-space:nowrap;align-items:center;gap:5px;font-weight:600;display:flex}.p-label{text-overflow:ellipsis;min-width:0;overflow:hidden}.p-name .tier-badge{flex:none;margin-left:0}.p-name .off{color:var(--danger-text);font:500 var(--text-2xs) var(--font-mono);flex:none}.p-vs{color:var(--danger-text);flex:none}.p-bar{background:var(--line);height:3px;display:block;overflow:hidden}.p-bar i{background:var(--danger);height:100%;display:block}.player.me .p-bar i{background:var(--positive)}.p-right{justify-items:end;gap:1px;display:grid}.p-hp{font:600 17px/1 var(--font-mono);font-variant-numeric:tabular-nums}.player.low .p-hp{color:var(--danger-text)}.player.out .p-hp{color:var(--text-muted)}.p-gold{font-size:var(--text-2xs)}.p-gold:before{width:7px;height:7px}.p-streak{font:600 var(--text-2xs) var(--font-mono);color:var(--hot);flex:none;align-items:center;gap:1px;display:inline-flex}.p-streak.cold{color:var(--info)}.bottom{grid-area:3/2;justify-self:center;gap:4px;width:min(100%,900px);padding:4px;display:grid}.shop-bar{flex-wrap:wrap;align-items:center;gap:4px;min-height:30px;padding:0 2px;display:flex}.hud-chip{border-radius:var(--radius-sm);background:var(--surface-raised);height:30px;font:500 var(--text-sm) var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-2);white-space:nowrap;align-items:center;gap:8px;padding:0 10px;display:inline-flex}.level-chip b{font:700 var(--text-md) var(--font-sans);color:var(--text)}.xp{background:var(--line);width:72px;height:3px;overflow:hidden}.xp i{background:var(--info);height:100%;display:block}.odds{gap:8px;font-weight:600}.gold-big{font-size:20px}.gold-big:before{width:13px;height:13px}.interest{font:500 var(--text-xs) var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}.unit-count.full{color:var(--gold)}.unit-count.over{color:var(--danger-text)}.ready-btn{height:30px;padding-block:0}.ready-btn.on{border-color:var(--positive);color:var(--positive);background:var(--positive-soft)}.ready-mark{border-radius:50%;place-items:center;width:1.1em;height:1.1em;display:grid;box-shadow:inset 0 0 0 2px}.ready-btn.on .ready-mark{box-shadow:none}.shop-row{grid-template-columns:124px minmax(0,1fr) 52px;gap:4px;display:grid}.econ{grid-template-rows:1fr 1fr;gap:4px;display:grid}.econ-btn{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text);font:600 var(--text-sm) var(--font-sans);white-space:nowrap;cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:6px;padding:0 10px;display:flex;overflow:hidden}.econ-btn>span:first-child{justify-items:start;gap:3px;display:grid}.econ-btn kbd{color:var(--text-muted);font-size:10px;line-height:14px}.econ-btn:hover:not(:disabled){background:var(--surface-hover);border-color:var(--text-faint)}.econ-btn:active:not(:disabled){background:var(--surface-sunken)}.econ-btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:700}.econ-btn.primary kbd{color:var(--accent-ink);background:#0b0c0f26}.econ-btn.primary .coin{color:var(--accent-ink)}.econ-btn.primary .coin:before{background:var(--accent-ink)}.econ-btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.econ-btn.primary:active:not(:disabled){background:var(--accent-pressed)}.econ-btn.primary:focus-visible{outline-color:var(--text)}.econ-btn:disabled{cursor:not-allowed;background:var(--surface);border-color:var(--line-soft);color:var(--text-disabled)}.econ-btn:disabled :is(kbd,.coin){color:var(--text-disabled)}.econ-btn:disabled .coin:before{background:var(--text-disabled)}.lock{border:1px solid var(--line-strong);border-radius:var(--radius-sm);cursor:pointer;background:var(--surface-raised);color:var(--text-muted);font:600 var(--text-2xs) var(--font-sans);align-content:center;place-items:center;gap:4px;padding:0;display:grid}.lock .gi{font-size:18px}.lock:hover{color:var(--text);border-color:var(--text-faint)}.lock.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.lock.on:focus-visible{outline-color:var(--text)}.shop{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;display:grid;position:relative}.bottom.sell-target{box-shadow:0 0 0 2px var(--danger)}.sell-hint{font-weight:700;font-size:var(--text-lg);color:var(--danger-text);background:var(--surface-sunken);border-radius:var(--radius-sm);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.card{cursor:pointer;text-align:left;min-width:0;color:var(--text);border-radius:var(--radius-sm);background:var(--surface-raised);box-shadow:inset 0 4px 0 var(--cost,var(--cost-1));transition:transform var(--dur-fast) ease, box-shadow var(--dur-fast) ease;border:0;flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden}.card:hover:not(:disabled){box-shadow:inset 0 4px 0 var(--cost), inset 0 0 0 1px var(--text-faint);transform:translateY(-2px)}.card:disabled{cursor:not-allowed}.card.poor{opacity:.45}.card.owned{box-shadow:inset 0 4px 0 var(--cost), inset 0 0 0 2px var(--accent)}.card.empty{box-shadow:inset 0 0 0 1px var(--line);cursor:default;background:0 0}.shop.trait-focus .card:not(.trait-hl):not(.empty){opacity:.35}.card.trait-hl{box-shadow:inset 0 4px 0 var(--cost), inset 0 0 0 2px var(--hl);transform:translateY(-2px)}.card-art{height:68px;color:var(--text-muted);background:linear-gradient(180deg, color-mix(in srgb, var(--cost) 22%, var(--surface-raised)), var(--surface-raised));place-items:center;margin-top:4px;font-size:32px;display:grid}.card-art.has-portrait{background:var(--portrait) center 45% / cover no-repeat, linear-gradient(180deg, color-mix(in srgb, var(--cost) 28%, var(--surface-raised)), var(--surface-raised))}.card-body{gap:3px;min-width:0;padding:6px 8px 7px;display:grid}.card-top{justify-content:space-between;align-items:center;gap:6px;min-width:0;display:flex}.card-name{font-weight:700;font-size:var(--text-md);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.card-cost{font-size:var(--text-base)}.card-cost:before{width:8px;height:8px}.card-traits{font-size:var(--text-2xs);color:var(--text-2);white-space:nowrap;gap:8px;display:flex;overflow:hidden}.card-traits>span{align-items:center;gap:3px;display:inline-flex}.view-banner{font-size:var(--text-md);box-shadow:inset 3px 0 0 var(--info);grid-area:2/2;place-self:start center;align-items:center;gap:10px;padding:6px 6px 6px 12px;display:flex}.top-notes{left:0;right:0;top:calc(max(12px, env(safe-area-inset-top,0px)) + 72px);pointer-events:none;justify-items:center;gap:6px;width:min(92vw,540px);margin-inline:auto;display:grid;position:absolute}.top-notes>*{z-index:var(--z-toast);position:relative}.game-root:has(#overlay-host .gameover) .knockout-host{z-index:14}.game-root:has(#view-banner:not([hidden])) .top-notes{top:calc(max(12px, env(safe-area-inset-top,0px)) + 118px)}.top-notes .toasts{width:100%;position:relative;top:auto;left:auto;transform:none}.banner-stack{justify-items:center;gap:6px;width:min(100%,500px);display:grid}.banner-stack:empty{display:none}.banner-stack :is(button,a,input){pointer-events:auto}.toast.big{font:800 var(--text-xl)/1.2 var(--font-sans);letter-spacing:-.01em;box-shadow:inset 4px 0 0 var(--positive), var(--shadow-pop);padding:10px 22px 10px 24px}.toast.big.loss{color:var(--danger-text);box-shadow:inset 4px 0 0 var(--danger), var(--shadow-pop)}.knockout-host{justify-items:center;gap:6px;width:100%;display:grid}.knockout-host:empty{display:none}.knockout-banner{--ko:var(--text-faint);background:var(--surface-sunken);border-color:var(--line);width:100%;box-shadow:inset 8px 0 0 var(--ko), var(--shadow-pop);animation:ko-in var(--dur) var(--ease-out);justify-content:space-between;align-items:center;gap:16px;padding:12px 16px 12px 26px;display:flex}.knockout-banner b{font:800 var(--text-xl)/1.15 var(--font-sans);letter-spacing:-.01em;text-wrap:balance}.knockout-banner span{border-radius:var(--radius-sm);background:var(--line);font:600 var(--text-md) var(--font-mono);text-transform:uppercase;color:var(--text);flex:none;padding:4px 10px}.knockout-banner.lost b{color:var(--danger-text)}@keyframes ko-in{0%{opacity:0;transform:translateY(-8px)}}.carousel-banner{text-align:center;width:100%;box-shadow:inset 3px 0 0 var(--info);gap:3px;padding:8px 14px;display:grid}.carousel-banner .howto{font-size:var(--text-xs);line-height:1.35}.banner-head{flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 10px;font-weight:600;display:flex}.banner-head b{font:800 var(--text-lg) var(--font-sans)}.fps{align-items:center;gap:8px;display:flex}.fps .ping{color:var(--text);align-items:center;gap:4px;display:inline-flex}.fps .ping small{font-size:inherit;color:var(--text-muted)}.fps .ping-dot{background:var(--positive);border-radius:50%;width:6px;height:6px}.fps .ping.slow .ping-dot{background:var(--gold)}.fps .ping.bad .ping-dot,.fps .ping.off .ping-dot{background:var(--danger)}.fps .ping-spark{display:block;overflow:visible}.fps .ping-ref{stroke:var(--line);stroke-width:1px}.fps .ping-line{fill:none;stroke:var(--text-faint);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.fps .ping-now{fill:var(--accent);stroke:var(--surface-sunken);stroke-width:2px}.fps{top:max(12px, env(safe-area-inset-top,0px));right:var(--gutter-r);z-index:6;border-radius:var(--radius-xs);background:var(--surface-sunken);font:600 var(--text-xs) var(--font-mono);color:var(--text);padding:2px 6px;position:absolute}.fps[hidden]{display:none}.tip{z-index:40;pointer-events:none;width:280px;font-size:var(--text-sm);background:var(--surface-raised);border-color:var(--line-strong);box-shadow:var(--shadow-pop);gap:7px;padding:10px 12px;display:grid;position:fixed}.game-root .tip,.game-root .equip-preview{background:var(--surface-raised);border-color:var(--line-strong)}.tip-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.tip-head b{flex-wrap:wrap;align-items:center;gap:5px;display:inline-flex}.tip-head>b{font:700 var(--text-lg)/1.15 var(--font-sans)}.tip-stars{gap:1px;font-size:.8em;display:inline-flex}.tip-portrait{border-radius:var(--radius) var(--radius) 0 0;background:var(--portrait) center 45% / cover no-repeat, linear-gradient(180deg, color-mix(in srgb, var(--cost) 28%, var(--surface-raised)), var(--surface-raised));height:96px;box-shadow:inset 0 -3px 0 var(--cost);margin:-10px -12px 0}.tip-sub{font:500 var(--text-2xs) var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}.tip-stats{color:var(--text-muted);font-size:var(--text-xs);grid-template-columns:repeat(3,1fr);gap:3px 8px;display:grid}.tip-stats b{font:600 var(--text-sm) var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text)}.tip-ab b{color:var(--gold)}.tip-ab p,.tip p{color:var(--text-2);margin:2px 0 0;line-height:1.4}.tip-items{gap:6px;display:grid}.tip-item{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;display:grid}.tip-item>span{line-height:1.25;display:grid}.tip-item b{font-weight:700}.tip-item small{font-size:var(--text-xs);color:var(--text-muted)}.tip-item small.full{color:var(--text-2)}.tip-item small.short{display:none}.tip-levels{font-size:var(--text-xs);gap:2px;display:grid}.tip-levels div{color:var(--text-muted)}.tip-levels div.on{color:var(--text);font-weight:600}.tip-chips{color:var(--text-2);font-size:var(--text-xs);flex-wrap:wrap;gap:2px 10px;display:flex}.itile{border-radius:var(--radius-sm);color:var(--item);background:var(--surface-raised);border:1px solid var(--line-strong);flex:none;place-items:center;display:inline-grid}.itile .gi{vertical-align:0;width:1em;height:1em}.itile.xs{border-radius:var(--radius-xs);width:18px;height:18px;font-size:12px}.itile.sm{width:26px;height:26px;font-size:17px}.itile.md{width:36px;height:36px;font-size:23px}.itile.lg{border-radius:var(--radius);width:46px;height:46px;font-size:30px}.item-head{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;display:grid}.item-head>div{justify-items:start;gap:4px;min-width:0;display:grid}.item-title{font:700 var(--text-lg)/1.1 var(--font-sans)}.kind-pill{font:600 10px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-xs);color:var(--item);background:color-mix(in srgb, var(--item) 14%, transparent);padding:1px 6px}.stat-chips{flex-wrap:wrap;gap:4px;display:flex}.stat-chips span{font-size:var(--text-xs);border-radius:var(--radius-xs);background:var(--line);padding:2px 7px;font-weight:600}.tip-section{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;margin-top:2px;padding-top:8px;display:flex}.tip-label{font:600 var(--text-2xs) var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.ready-pill{font:600 var(--text-2xs) var(--font-mono);border-radius:var(--radius-xs);color:var(--positive);background:var(--positive-soft);padding:1px 7px}.ready-pill.none{color:var(--text-muted);background:var(--line)}.tip-recipe{gap:5px;display:grid}.recipe-part{align-items:center;gap:8px;font-weight:600;display:flex}.tip-builds{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;display:grid}.build{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:11px;display:grid}.build-tile{display:inline-grid;position:relative}.build-tile .itile.xs{box-shadow:0 0 0 2px var(--surface-raised);position:absolute;bottom:-6px;right:-6px}.build-ok{width:16px;height:16px;color:var(--accent-ink);background:var(--positive);box-shadow:0 0 0 2px var(--surface-raised);border-radius:50%;place-items:center;font-size:10px;display:grid;position:absolute;top:-6px;right:-6px}.build-ok .gi{stroke:none;vertical-align:0;width:1em;height:1em}.build-text{gap:1px;min-width:0;line-height:1.22;display:grid}.build-text b{font-size:var(--text-xs);font-weight:700}.build-text small{font-size:var(--text-2xs);color:var(--text-muted)}.build.ready .itile.md{border-color:var(--positive);box-shadow:0 0 0 1px var(--positive)}.build.ready .build-text b{color:var(--positive)}.build.dim .build-tile{filter:grayscale(.85)brightness(.75)}.build.dim .build-text{opacity:.55}.tip:has(.tip-builds){width:420px}.tip-members{font-size:var(--text-xs);flex-wrap:wrap;gap:5px 10px;display:flex}.member{color:var(--cost);align-items:center;gap:5px;font-weight:700;display:inline-flex}.thumb{border-radius:var(--radius-xs);width:24px;height:24px;color:var(--text-muted);background:var(--surface-hover) center 30% / auto 150% no-repeat;box-shadow:inset 0 -2px 0 var(--cost);flex:none;place-items:center;font-size:13px;display:grid}.augments{justify-items:center;gap:16px;width:min(100%,900px);display:grid}.augments h2,.gameover h2{font:800 var(--text-xl)/1.2 var(--font-sans);letter-spacing:-.01em;text-align:center;text-wrap:balance;margin:0}.aug-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;display:grid}.aug{--tier:var(--tier-prata);text-align:center;cursor:pointer;border-radius:var(--radius);background:var(--surface);min-height:240px;box-shadow:inset 0 3px 0 var(--tier), inset 0 0 0 1px var(--line);transition:box-shadow var(--dur-fast), background-color var(--dur-fast);flex-direction:column;align-items:center;gap:10px;padding:18px 16px 16px;display:flex}.aug:hover{background:var(--surface-raised);box-shadow:inset 0 3px 0 var(--tier), inset 0 0 0 2px var(--accent)}.aug.t2{--tier:var(--tier-ouro)}.aug.t3{--tier:var(--tier-mestre)}.aug-icon{border-radius:var(--radius-sm);background:var(--tier);width:56px;height:56px;color:var(--accent-ink);place-items:center;font-size:32px;display:grid}.aug-icon .gi{stroke:none}.aug-name{font-size:var(--text-lg);font-weight:700}.aug-desc{font-size:var(--text-md);color:var(--text-2);line-height:1.45}.aug .btn{margin-top:auto}.aug-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.gameover{background:var(--surface);gap:14px;width:min(100%,480px);padding:24px;display:grid}.match-result{font-size:var(--text-md);color:var(--text-2);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 12px;margin:0;display:flex}.match-result.howto{color:var(--text-muted)}.match-result .delta{font-size:var(--text-base);border-radius:var(--radius-sm);background:var(--surface-raised);padding:2px 8px}.match-result .delta.up{background:var(--positive-soft)}.match-result .delta.down{background:var(--danger-soft)}.standings{gap:2px;display:grid}.standing{border-radius:var(--radius-sm);background:var(--surface-row);grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:40px;padding:4px 10px 4px 6px;display:grid}.standing.me{background:var(--surface-raised);box-shadow:inset 3px 0 0 var(--accent)}.standing .place{font:600 var(--text-lg) var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-muted);text-align:center}.standing.first .place{color:var(--tier-ouro)}.standing>span:nth-child(2){align-items:center;gap:8px;min-width:0;font-weight:600;display:flex}.standing .avatar{width:26px;height:26px;font-size:15px}.paused-veil{z-index:16;background:var(--scrim-soft);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.paused-veil .panel{background:var(--surface-sunken);box-shadow:inset 0 3px 0 var(--gold), var(--shadow-pop);justify-items:center;gap:4px;padding:16px 32px;display:grid}.paused-veil b{font:800 var(--text-2xl)/1.1 var(--font-sans);letter-spacing:-.01em}.paused-veil span{font-size:var(--text-sm);color:var(--text-muted)}.game-root{--paused-band:calc(max(8px, env(safe-area-inset-top,0px)) + 46px)}.game-root:has(#overlay-host .overlay) .paused-veil{z-index:14;height:var(--paused-band);background:var(--scrim);place-items:end center;padding-bottom:6px;inset:0 0 auto}.game-root:has(#overlay-host .overlay) .paused-veil .panel{grid-auto-flow:column;align-items:baseline;gap:10px;padding:6px 16px}.game-root:has(#overlay-host .overlay) .paused-veil b{font-size:var(--text-lg)}.game-root:has(#paused:not([hidden])) #overlay-host .overlay{top:var(--paused-band)}.connection-lost{z-index:50;color:var(--danger-text);background:var(--surface-raised);border-color:var(--line-strong);box-shadow:inset 3px 0 0 var(--danger), var(--shadow-pop);padding:8px 14px 8px 16px;font-weight:600;position:absolute;top:8px;left:50%;transform:translate(-50%)}.emote-wheel{z-index:17;background:radial-gradient(circle at 50% 50%, var(--scrim), transparent 60%);place-items:center;display:grid;position:absolute;inset:0}.emote-ring{width:300px;height:300px;animation:emote-wheel-in var(--dur-fast) ease-out;position:relative}.emote-slot{cursor:pointer;width:84px;height:84px;color:var(--text);transform:translate(-50%, -50%) rotate(var(--a)) translate(var(--emote-r,108px)) rotate(calc(-1 * var(--a)));background:var(--surface-raised);border:1px solid var(--line-strong);box-shadow:var(--shadow-pop);border-radius:50%;align-content:center;place-items:center;gap:3px;padding:0;display:grid;position:absolute;top:50%;left:50%}.emote-slot:hover{background:var(--surface-hover);border-color:var(--emote)}.emote-slot:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.emote-icon{color:var(--emote);font-size:28px;line-height:0}.emote-slot b{font:600 var(--text-sm)/1 var(--font-sans)}.emote-slot kbd{position:absolute;top:6px;right:6px}.emote-hub{text-align:center;background:var(--surface-sunken);border:1px solid var(--line);border-radius:50%;place-content:center;gap:3px;width:104px;height:104px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.emote-hub b{font:700 var(--text-md)/1 var(--font-sans)}.emote-hub small{font:500 var(--text-2xs) var(--font-mono);color:var(--text-muted)}@keyframes emote-wheel-in{0%{opacity:0;transform:scale(.9)}}.p-emote{color:var(--emote);flex:none;font-size:14px;line-height:0;animation:.25s cubic-bezier(.2,1.6,.4,1) emote-chip-in;display:inline-flex}@keyframes emote-chip-in{0%{transform:scale(.4)}}.p-mute{color:var(--text-muted);cursor:pointer;flex:none;font-size:13px;line-height:0;display:none}.player:hover .p-mute{display:inline-flex}.p-mute:hover{color:var(--text)}.p-mute.on{color:var(--danger-text);display:inline-flex}.replay-hud .hud-left{grid-row:2}.replay-hud .stage{width:auto;min-width:min(100%,320px)}.rp-side{min-height:0;font-size:var(--text-sm);scrollbar-width:thin;flex:0 auto;align-content:start;gap:6px;padding:10px;display:grid;overflow-y:auto}.rp-side .panel-title{margin-top:4px}.rp-side .panel-title:first-child{color:var(--text);font:700 var(--text-md) var(--font-sans);letter-spacing:0;text-transform:none;margin-top:0}.rp-side .howto{margin:0}.rp-econ{gap:2px;display:grid}.rp-econ .coin{font-size:var(--text-lg)}.rp-econ .num{font-size:var(--text-xs);color:var(--text-2)}.rp-items{flex-wrap:wrap;gap:3px;display:flex}.rp-shop{gap:2px;display:grid}.rp-shop-slot{border-radius:var(--radius-xs);box-shadow:inset 3px 0 0 var(--cost,var(--line));background:var(--surface-raised);justify-content:space-between;gap:6px;padding:3px 8px;display:flex}.rp-shop-slot small{font:600 var(--text-xs) var(--font-mono);color:var(--gold)}.rp-shop-slot.empty{color:var(--text-faint);box-shadow:inset 3px 0 0 var(--line);background:var(--surface-row)}.rp-acts{max-height:180px;color:var(--text-2);gap:2px;margin:0;padding-left:16px;display:grid;overflow-y:auto}.rp-chat{flex:none;grid-template-rows:auto minmax(0,1fr);height:min(260px,34vh)}.rp-chat time{font:500 var(--text-2xs) var(--font-mono);color:var(--text-muted);font-variant-numeric:tabular-nums}.rp-chat .howto{margin:0}.rp-bar{grid-area:3/1/auto/-1;gap:4px;padding:8px 12px 10px;display:grid}.rp-controls{align-items:center;gap:6px;display:flex}.rp-speeds{border-radius:var(--radius);background:var(--bg);border:1px solid var(--line);gap:2px;margin-left:8px;padding:2px;display:flex}.rp-speeds .btn{font-family:var(--font-mono);background:0 0;border:0}.rp-speeds .btn.on{background:var(--line);color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.rp-time{font:500 var(--text-sm) var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-2);margin-left:auto}.rp-track{padding-top:30px;position:relative}.rp-track input{width:100%;accent-color:var(--accent);margin:0}.rp-markers{height:30px;position:absolute;inset:0 0 auto}.rp-marker{color:var(--text-2);cursor:pointer;background:0 0;border:0;justify-items:center;padding:0;font-size:13px;display:grid;position:absolute;top:0;transform:translate(-50%)}.rp-marker small{font:500 9px/1 var(--font-mono);color:var(--text-muted)}.rp-marker:hover{color:var(--accent)}.rp-marker.carousel{color:var(--info)}.rp-marker.augment{color:var(--tier-mestre)}.rp-marker.pve{color:var(--positive)}.rp-loading{background:var(--surface);justify-items:center;gap:10px;padding:18px 22px;display:grid}.rp-loading p{margin:0}.game-root>:is(.hud,.top-notes),.game-root .overlay>*,.game-root .paused-veil .panel,.game-root .emote-ring{zoom:var(--hud-scale,1)}@media (width<=1360px){.game-root{--hud-left:210px;--hud-right:232px}}@media (width<=1000px){.bottom{grid-column:2/4}}@media (height<=760px){.player{min-height:38px;padding-block:2px}.p-main{gap:3px}.p-hp{font-size:15px}}@media (width<=1100px){.game-root{--hud-left:184px;--hud-right:200px}.card-art{height:56px;font-size:26px}.card-traits,.trait-steps{display:none}.trait{grid-template-columns:26px 12px minmax(0,1fr);gap:6px;height:28px}.trait-badge{width:26px;height:28px;font-size:14px}.shop-row{grid-template-columns:108px minmax(0,1fr) 46px}.econ-btn{font-size:var(--text-xs);padding:0 7px}.shop-bar .grow{display:none}.stage{width:min(100%,420px)}}@media (width<=760px){:root:not([data-layout=phone]) .hud{grid-template-rows:auto minmax(0,1fr) auto auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}:root:not([data-layout=phone]) .top-left{display:none}:root:not([data-layout=phone]) .stage{grid-column:1/-1;justify-self:stretch;width:auto}:root:not([data-layout=phone]) .hud-left{grid-area:2/1/4}:root:not([data-layout=phone]) .traits{max-height:40vh;padding:4px}:root:not([data-layout=phone]) .players{grid-area:2/2;padding:4px}:root:not([data-layout=phone]) .trait{grid-template-columns:22px minmax(0,1fr);height:24px}:root:not([data-layout=phone]) .trait-count{display:none}:root:not([data-layout=phone]) .trait-badge,:root:not([data-layout=phone]) .avatar{width:22px;height:22px;font-size:11px}:root:not([data-layout=phone]) .player{grid-template-columns:22px minmax(0,1fr) auto;gap:4px;min-height:0;padding:2px 4px}:root:not([data-layout=phone]) .p-gold,:root:not([data-layout=phone]) .p-streak,:root:not([data-layout=phone]) .avatar .lvl,:root:not([data-layout=phone]) .trait-steps,:root:not([data-layout=phone]) .odds{display:none}:root:not([data-layout=phone]) .items-bench{padding:4px}:root:not([data-layout=phone]) .item-slot{height:28px;font-size:15px}:root:not([data-layout=phone]) .bottom{grid-area:4/1/auto/-1;width:100%}:root:not([data-layout=phone]) .shop-row{grid-template-columns:92px minmax(0,1fr) 40px}:root:not([data-layout=phone]) .card-art{height:40px;font-size:20px}:root:not([data-layout=phone]) .card-body{padding:3px 4px}:root:not([data-layout=phone]) .card-name{font-size:var(--text-xs)}:root:not([data-layout=phone]) .aug-row{grid-template-columns:minmax(0,1fr)}:root:not([data-layout=phone]) .aug{min-height:0}:root:not([data-layout=phone]) .chat-dock{display:none}}[data-layout=phone] .game-root{--pad-t:max(8px, env(safe-area-inset-top,0px));--pad-b:max(8px, env(safe-area-inset-bottom,0px));--shop-h:84px;--rail-w:62px;--players-w:108px;--target:44px}:root:not([data-layout=phone]) .rail-toggle{display:none}[data-layout=phone] .hud{padding:0;display:block}[data-layout=phone] .hud>*{place-self:auto;position:absolute}[data-layout=phone] .rail-toggle{width:var(--target);height:var(--target);cursor:pointer;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface-raised);color:var(--text-2);flex:none;place-items:center;padding:0;font-size:18px;display:grid;position:relative}[data-layout=phone] .rail-toggle[aria-expanded=true]{background:var(--line);color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}[data-layout=phone] .top-left{left:var(--gutter-l);top:var(--pad-t);flex-wrap:nowrap;gap:4px}[data-layout=phone] .hud-tag{display:none}[data-layout=phone] .top-left .btn{height:var(--target);min-width:var(--target);font-size:var(--text-sm);padding:0 10px}[data-layout=phone] .top-left .btn kbd{display:none}[data-layout=phone] #emote-btn{width:var(--target);padding:0;font-size:0}[data-layout=phone] .top-left .btn .gi{font-size:20px}[data-layout=phone] .stage{top:var(--pad-t);width:min(260px, calc(100vw - 2 * var(--players-w) - 140px));left:50%;transform:translate(-50%)}[data-layout=phone] .stage-main{gap:10px;padding:6px 10px}[data-layout=phone] :is(.stage-label,.timer-left){font-size:20px}[data-layout=phone] .stage-sub{font-size:var(--text-sm)}[data-layout=phone] .rounds{display:none}[data-layout=phone] .hud-left{left:var(--gutter-l);top:calc(var(--pad-t) + var(--target) + 8px);bottom:calc(var(--pad-b) + var(--shop-h) + 8px);width:var(--rail-w);gap:6px}[data-layout=phone] .traits{flex:0 auto;justify-items:center;gap:6px;padding:6px 0}[data-layout=phone] .traits.is-empty:not(.open),[data-layout=phone] .traits .panel-head,[data-layout=phone] .traits .empty-note{display:none}[data-layout=phone] .trait-list{justify-items:center;gap:6px}[data-layout=phone] .trait{width:var(--target);height:var(--target);background:0 0;padding:0;display:block;position:relative}[data-layout=phone] .trait-badge{width:var(--target);height:var(--target);font-size:22px}[data-layout=phone] .trait :is(.trait-name,.trait-steps){display:none}[data-layout=phone] .trait-count{border-radius:var(--radius-xs);background:var(--bg);min-width:18px;height:18px;color:var(--text);font-size:var(--text-2xs);place-items:center;padding:0 3px;display:grid;position:absolute;bottom:-4px;right:-4px}[data-layout=phone] .traits.open{z-index:6;width:min(280px,46vw);max-height:100%;box-shadow:var(--shadow-pop);justify-items:stretch;padding:8px;position:absolute;top:0;left:0}[data-layout=phone] .traits.open .panel-head{display:flex}[data-layout=phone] .traits.open .empty-note{display:block}[data-layout=phone] .traits.open .trait-list{justify-items:stretch;gap:2px}[data-layout=phone] .traits.open .trait{background:var(--surface-raised);grid-template-columns:36px 18px minmax(0,1fr) auto;align-items:center;gap:8px;width:auto;height:40px;padding-right:6px;display:grid}[data-layout=phone] .traits.open .trait.off{background:0 0}[data-layout=phone] .traits.open .trait-badge{width:36px;height:40px;font-size:18px}[data-layout=phone] .traits.open .trait-count{font-size:var(--text-base);background:0 0;position:static}[data-layout=phone] .traits.open :is(.trait-name,.trait-steps){display:block}[data-layout=phone] .traits .rail-toggle{position:sticky;bottom:0}[data-layout=phone] .traits.open .rail-toggle{justify-self:start}[data-layout=phone] .items-toggle{left:calc(var(--rail-w) + 8px);color:var(--text);font-size:22px;position:absolute;bottom:0}[data-layout=phone] :is(.items-toggle,.chat-toggle) .count-badge{box-shadow:0 0 0 2px var(--bg);position:absolute;top:-7px;right:-7px}[data-layout=phone] .items-toggle .count-badge{background:var(--text)}[data-layout=phone] .items-bench{display:none}[data-layout=phone] .items-bench.open,[data-layout=phone] .items-bench.open.is-empty{left:calc(var(--rail-w) + 8px);bottom:calc(var(--target) + 8px);z-index:6;width:calc(5 * var(--target) + 4 * 6px + 20px);box-shadow:var(--shadow-pop);padding:10px;display:grid;position:absolute}[data-layout=phone] .items-grid{grid-template-columns:repeat(5, var(--target));gap:6px}[data-layout=phone] .item-slot{height:var(--target);font-size:24px}[data-layout=phone] .game-root.dragging-item .items-bench.open{opacity:0;pointer-events:none}[data-layout=phone] .chat-dock{left:calc(var(--rail-w) + var(--target) + 16px);z-index:auto;margin:0;position:absolute;bottom:0}[data-layout=phone] .chat-float,[data-layout=phone] #chat-pin{display:none}[data-layout=phone] .chat-toggle{width:var(--target);height:var(--target);padding:0;font-size:0}[data-layout=phone] .chat-toggle .gi{font-size:20px}[data-layout=phone] .chat-toggle kbd{display:none}[data-layout=phone] .chat-dock .chat-panel{left:var(--gutter-l);bottom:var(--pad-b);z-index:25;width:min(380px,50vw);height:min(260px, calc(100% - 2 * var(--pad-b)));box-shadow:var(--shadow-pop);position:fixed}[data-layout=phone] .chat-panel-head .btn{min-height:36px}[data-layout=phone] .players{right:var(--gutter-r);top:var(--pad-t);width:var(--players-w);max-height:calc(100% - var(--pad-t) - var(--pad-b) - var(--shop-h) - 8px);grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;padding:4px}[data-layout=phone] .players .panel-title{display:none}[data-layout=phone] .player{grid-template-columns:none;align-content:center;justify-items:center;gap:3px;min-height:52px;padding:4px 0;display:grid}[data-layout=phone] .player .p-main{display:none}[data-layout=phone] .player .avatar{width:28px;height:28px;font-size:16px}[data-layout=phone] .player .p-gold,[data-layout=phone] .player .avatar .lvl{display:none}[data-layout=phone] .player .p-hp{font-size:var(--text-sm)}[data-layout=phone] .player.me{box-shadow:inset 0 -2px 0 var(--accent)}[data-layout=phone] .player.vs{box-shadow:inset 0 -2px 0 var(--danger)}[data-layout=phone] .player.me.viewing{box-shadow:inset 0 -2px 0 var(--accent), inset 0 0 0 1px var(--accent)}[data-layout=phone] .players .rail-toggle{grid-column:1/-1;width:100%;height:36px}[data-layout=phone] .players.open{width:min(280px,44vw);max-height:calc(100% - var(--pad-t) - var(--pad-b));z-index:30;box-shadow:var(--shadow-pop);grid-template-columns:minmax(0,1fr)}[data-layout=phone] .players.open .player{grid-template-columns:28px minmax(0,1fr) auto;justify-items:stretch;gap:8px;min-height:40px;padding:2px 8px 2px 6px;display:grid}[data-layout=phone] .players.open .player .p-main{gap:3px;display:grid}[data-layout=phone] .players.open .p-name{font-size:var(--text-sm)}[data-layout=phone] .players.open .p-mute{margin:-4px;padding:4px;font-size:16px;display:inline-flex}[data-layout=phone] .players.open .player.me{box-shadow:inset 3px 0 0 var(--accent)}[data-layout=phone] .players.open .player.vs{box-shadow:inset 3px 0 0 var(--danger)}[data-layout=phone] .bottom{left:var(--gutter-l);right:var(--gutter-r);bottom:var(--pad-b);width:auto;height:var(--shop-h);grid-template-columns:76px 64px 64px minmax(0, 1fr) var(--target);grid-template-rows:26px minmax(0,1fr) minmax(0,1fr);grid-template-areas:"gold xp roll shop lock""lvl xp roll shop lock""bar xp roll shop lock";gap:4px;padding:4px}[data-layout=phone] :is(.shop-bar,.shop-row,.econ){display:contents}[data-layout=phone] .shop-bar .grow,[data-layout=phone] .odds,[data-layout=phone] .interest{display:none}[data-layout=phone] .hud-chip{background:0 0;height:auto;padding:0 4px}[data-layout=phone] .gold-chip{grid-area:gold;justify-content:center}[data-layout=phone] .gold-big{font-size:20px}[data-layout=phone] .level-chip{font-size:var(--text-2xs);grid-area:2/1/4;align-content:center;justify-items:center;gap:3px;display:grid}[data-layout=phone] .level-chip b{font-size:var(--text-xs)}[data-layout=phone] .level-chip .xp{order:3;width:60px}[data-layout=phone] .unit-count,[data-layout=phone] .ready-btn{top:var(--pad-t);height:var(--target);z-index:1;border:1px solid var(--line-soft);background:var(--surface-sunken);position:fixed}[data-layout=phone] .ready-btn{right:calc(var(--gutter-r) + var(--players-w) + 8px);border-color:var(--line-strong);background:var(--surface-raised);padding:0 12px}[data-layout=phone] .unit-count{right:calc(var(--gutter-r) + var(--players-w) + 8px);top:calc(var(--pad-t) + var(--target) + 6px);height:28px;font-size:var(--text-xs);padding:0 8px}[data-layout=phone] #buy-xp{grid-area:xp}[data-layout=phone] #reroll{grid-area:roll}[data-layout=phone] .econ-btn{white-space:normal;text-align:center;line-height:1.15;font-size:var(--text-xs);flex-direction:column;justify-content:center;gap:4px;padding:0 4px}[data-layout=phone] .econ-btn>span:first-child{justify-items:center}[data-layout=phone] .econ-btn kbd{display:none}[data-layout=phone] .shop{grid-area:shop}[data-layout=phone] .lock{grid-area:lock;font-size:10px}[data-layout=phone] .card{box-shadow:inset 0 3px 0 var(--cost,var(--cost-1))}[data-layout=phone] .card:hover:not(:disabled){transform:none}[data-layout=phone] .card-art{flex:1;height:auto;min-height:0;margin-top:3px;font-size:20px}[data-layout=phone] .card-body{gap:0;padding:2px 6px 3px}[data-layout=phone] .card-name{font-size:var(--text-xs)}[data-layout=phone] .card-cost{font-size:var(--text-sm)}[data-layout=phone] .card-traits{display:none}[data-layout=phone] .sell-hint{font-size:var(--text-md);justify-content:center;align-items:center;display:flex}[data-layout=phone] .view-banner{top:calc(var(--pad-t) + 52px);max-width:calc(100vw - 2 * var(--players-w) - 120px);font-size:var(--text-xs);white-space:nowrap;padding:3px 4px 3px 10px;left:50%;transform:translate(-50%)}[data-layout=phone] .view-banner>span{text-overflow:ellipsis;overflow:hidden}[data-layout=phone] .view-banner .btn{min-height:36px}[data-layout=phone] .view-banner kbd{display:none}[data-layout=phone] .top-notes{top:calc(var(--pad-t) + 52px);width:min(380px, calc(100vw - 2 * (var(--gutter-r) + var(--players-w) + 116px)));gap:4px}[data-layout=phone] .game-root:has(#view-banner:not([hidden])) .top-notes{top:calc(var(--pad-t) + 98px)}[data-layout=phone] .toast{font-size:var(--text-xs);padding:4px 10px}[data-layout=phone] .toast.big,[data-layout=phone] .knockout-banner b{font-size:15px}[data-layout=phone] .toast.big{padding:5px 14px 5px 16px}[data-layout=phone] .knockout-banner{box-shadow:inset 6px 0 0 var(--ko), var(--shadow-pop);gap:10px;padding:5px 10px 5px 18px}[data-layout=phone] .knockout-banner span{font-size:var(--text-2xs);padding:2px 6px}[data-layout=phone] .carousel-banner{font-size:var(--text-xs);padding:4px 10px}[data-layout=phone] .carousel-banner .howto{font-size:var(--text-2xs);line-height:1.3}[data-layout=phone] .banner-head b{font-size:var(--text-md)}[data-layout=phone] .banner-stack .btn{min-height:var(--target)}[data-layout=phone] .game-root .overlay{padding:var(--pad-t) var(--gutter-r) var(--pad-b) var(--gutter-l)}[data-layout=phone] .augments{gap:8px;max-height:100%}[data-layout=phone] :is(.augments,.gameover) h2{font-size:var(--text-lg)}[data-layout=phone] .aug-row{gap:8px}[data-layout=phone] .aug{gap:5px;min-height:0;padding:10px 10px 8px}[data-layout=phone] .aug-icon{width:36px;height:36px;font-size:20px}[data-layout=phone] .aug-name{font-size:var(--text-md)}[data-layout=phone] .aug-desc{font-size:var(--text-xs);line-height:1.35}[data-layout=phone] .aug .btn,[data-layout=phone] .aug-actions .btn{min-height:40px}[data-layout=phone] .gameover{gap:8px;width:min(100%,640px);max-height:100%;padding:12px 14px;overflow-y:auto}[data-layout=phone] .standings{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}[data-layout=phone] .standing{grid-template-columns:30px minmax(0,1fr) auto;gap:6px;min-height:34px;padding-block:2px}[data-layout=phone] .standing .place{font-size:var(--text-md)}[data-layout=phone] .standing>span:nth-child(2){font-size:var(--text-sm);white-space:nowrap;overflow:hidden}[data-layout=phone] .paused-veil .panel{padding:10px 22px}[data-layout=phone] .paused-veil b{font-size:var(--text-xl)}[data-layout=phone] .emote-ring{--emote-r:80px;width:224px;height:224px}[data-layout=phone] .emote-slot{width:64px;height:64px}[data-layout=phone] .emote-icon{font-size:22px}[data-layout=phone] .emote-slot b{font-size:var(--text-2xs)}[data-layout=phone] .emote-slot kbd{display:none}[data-layout=phone] .emote-hub{width:76px;height:76px}[data-layout=phone] .emote-hub small{display:none}[data-layout=phone] .tip{width:240px;font-size:var(--text-xs);gap:5px;padding:8px 10px}[data-layout=phone] .tip-head>b{font-size:15px}[data-layout=phone] .tip:has(.tip-item){width:300px}[data-layout=phone] .tip:has(.tip-builds){width:340px}[data-layout=phone] .tip-portrait{height:56px;margin:-8px -10px 0}[data-layout=phone] .tip-item small.full{display:none}[data-layout=phone] .tip-item small.short{color:var(--text-2);display:block}[data-layout=phone] .item-title{font-size:15px}[data-layout=phone] .tip .itile.lg{width:34px;height:34px;font-size:22px}[data-layout=phone] .tip .itile.md{width:28px;height:28px;font-size:18px}[data-layout=phone] .tip-builds{gap:6px 10px}[data-layout=phone] .equip-preview{width:236px;padding:8px 10px}[data-layout=phone] .item-ghost{width:48px;height:48px;font-size:30px}[data-layout=phone] .replay-hud .top-left .my-augments{display:none}[data-layout=phone] .replay-hud .stage{width:min(300px, calc(100vw - 2 * var(--players-w) - 200px))}[data-layout=phone] .replay-hud .hud-left{width:min(300px,46vw);bottom:calc(var(--pad-b) + 104px);z-index:6;display:none}[data-layout=phone] .replay-hud .hud-left.open{display:flex}[data-layout=phone] .replay-hud .rp-chat{flex:0 112px;height:auto;min-height:72px}[data-layout=phone] .replay-hud .players{max-height:calc(100% - var(--pad-t) - var(--pad-b) - 112px)}[data-layout=phone] .replay-hud .players.open{max-height:calc(100% - var(--pad-t) - var(--pad-b))}[data-layout=phone] .rp-bar{left:var(--gutter-l);right:var(--gutter-r);bottom:var(--pad-b);gap:0;padding:4px 10px 6px}[data-layout=phone] .rp-controls .btn{min-width:40px;min-height:40px}[data-layout=phone] .rp-speeds{margin-left:4px}[data-layout=phone] .rp-speeds .btn{min-width:0;padding-inline:8px}[data-layout=phone] .rp-track{padding-top:22px}[data-layout=phone] .rp-markers{height:22px}[data-layout=phone] .rp-marker{min-width:22px;font-size:15px}[data-layout=phone] .rp-marker small{display:none}[data-layout=phone] .rp-track input{height:28px}.rotate-hint{display:none}@media (orientation:portrait){:is([data-layout=phone],[data-layout=tablet]) .rotate-hint{z-index:60;background:var(--bg);text-align:center;place-items:center;padding:24px;display:grid;position:absolute;inset:0}:is([data-layout=phone],[data-layout=tablet]) .rotate-hint div{justify-items:center;gap:12px;max-width:320px;display:grid}:is([data-layout=phone],[data-layout=tablet]) .rotate-hint .icon{color:var(--text-muted);font-size:52px;animation:1.8s ease-in-out infinite rotate-phone}:is([data-layout=phone],[data-layout=tablet]) .rotate-hint .btn{min-height:44px}body.portrait-ok .rotate-hint{display:none!important}[data-layout=phone] .game-root{--players-w:64px;--rail-w:52px}[data-layout=phone] .players{grid-template-columns:minmax(0,1fr)}[data-layout=phone] .bottom{grid-template-columns:56px 52px 52px minmax(0,1fr) 40px}[data-layout=phone] :is(.stage,.replay-hud .stage,.top-notes,.view-banner){left:calc(var(--gutter-l) + var(--rail-w) + 8px);right:calc(var(--gutter-r) + var(--players-w) + 8px);width:auto;max-width:none;transform:none}[data-layout=phone] .stage{top:calc(var(--pad-t) + 52px)}[data-layout=phone] .view-banner{top:calc(var(--pad-t) + 104px)}[data-layout=phone] .top-notes{top:calc(var(--pad-t) + 150px)}[data-layout=phone] .game-root:has(#view-banner:not([hidden])) .top-notes{top:calc(var(--pad-t) + 150px)}[data-layout=phone] .ready-btn{top:auto;bottom:calc(var(--pad-b) + var(--shop-h) + 8px);right:var(--gutter-r)}[data-layout=phone] .unit-count{top:auto;bottom:calc(var(--pad-b) + var(--shop-h) + 60px);right:var(--gutter-r)}}@keyframes rotate-phone{0%,30%{transform:rotate(0)}60%,to{transform:rotate(-90deg)}}[data-layout=tablet] .game-root{--hud-left:212px;--hud-right:232px}[data-layout=tablet] .bottom{grid-column:2/4;width:min(100%,860px)}[data-layout=tablet] :is(.top-left .btn,.ready-btn,.chat-toggle,.chat-panel-head .btn,.view-banner .btn,.rp-controls .btn){min-height:40px}[data-layout=tablet] .p-mute{font-size:15px;display:inline-flex}[data-layout=tablet] .hud-chip{height:36px}[data-layout=tablet] .card:hover:not(:disabled){transform:none}@media (width<=760px){.seats{grid-template-columns:minmax(0,1fr)}}@media (height<=560px){.toasts{top:46px}.modal-head{padding:8px 12px 4px}.modal-head h2{font-size:19px}.settings-tabs{padding:0 12px}.settings-tabs button{padding:6px 10px;font-size:12px}.settings-body{padding:8px 12px 12px}.toggle-row{padding:3px 2px}.toggle-text small,.setting-hint{font-size:10.5px}.segmented button{padding:5px 2px;font-size:12px}.screen{padding-block:8px}.room-side{min-height:0;max-height:calc(100vh - 16px);padding:8px}.room{gap:8px}.room-main{gap:8px;padding:10px}.room-code b{font-size:24px}.seats{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.seat{grid-template-columns:22px minmax(0,1fr) auto;gap:4px;min-height:36px;padding:4px}.seat-avatar{width:22px;height:22px;font-size:12px}.seat-name{font-size:12px}.seat-meta{font-size:10px}.room-main>.howto:last-child{display:none}}@media (width<=1180px){.home-page,.profile-cols,.profile-overlay .profile-cols{grid-template-columns:minmax(0,1fr)}.docked .friends-panel{max-height:520px}}@media (width<=960px){.profile-grid,.home-grid,.admin-charts,.account-grid{grid-template-columns:minmax(0,1fr)}.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.room{grid-template-columns:minmax(0,1fr)}}@media (width<=860px),(height<=560px){.shell{flex-direction:column}.sidebar{width:auto;padding:6px var(--gutter-r) 6px var(--gutter-l);border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;gap:4px;overflow:auto hidden}.side-brand{padding:0 6px 0 0}.side-brand b,.side-link span,.sidebar .conn,.avatar-text{display:none}.side-links{grid-auto-flow:column}.side-link{justify-content:center;width:44px;padding:0}.side-link[aria-current=page]{box-shadow:inset 0 -3px 0 var(--accent)}.sidebar .avatar-chip{background:0 0;margin:0;padding:4px}.sidebar .avatar-square{width:32px;height:32px}.shell .screen{padding:16px var(--gutter-r) 88px var(--gutter-l)}.page-title{font-size:32px}.board-panel{overflow-x:auto}.board{min-width:600px}.match{grid-template-columns:40px minmax(0,1fr) auto}.match .m-comp{grid-area:2/1/auto/-1}.match .m-rank{grid-area:1/3}}@media (width<=560px){.play-modes,.seats{grid-template-columns:minmax(0,1fr)}.stat-grid span{padding:10px}.stat-grid b{font-size:20px}.season-card,.all-card{padding:16px}}:root:not([data-layout=phone]) :is(.tabbar,.phone-only){display:none}[data-layout=phone]{--tabbar-h:calc(56px + env(safe-area-inset-bottom,0px))}[data-layout=phone] .wide-only{display:none}[data-layout=phone] .shell{overscroll-behavior:contain;padding-bottom:var(--tabbar-h);display:block;overflow-y:auto}[data-layout=phone] .sidebar{padding-top:max(6px, env(safe-area-inset-top,0px));overflow:visible}[data-layout=phone] .sidebar [data-links]{display:none}[data-layout=phone] .side-brand{flex:1;min-width:0}[data-layout=phone] .side-brand b{min-width:0;font-size:var(--text-md);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}[data-layout=phone] .side-brand b br{display:none}@media (width<=440px){[data-layout=phone] .side-brand b{display:none}}[data-layout=phone] .sidebar>.grow{display:none}[data-layout=phone] .sidebar .conn.bad{display:flex}[data-layout=phone] .sidebar .avatar-chip .btn{min-width:44px;min-height:44px}[data-layout=phone] .shell-main{position:static}[data-layout=phone] .shell .screen{padding:16px var(--gutter-r) 24px var(--gutter-l);position:static;overflow:visible}[data-layout=phone] .home-page>.friends-dock.docked{display:none}[data-layout=phone] .friends-page .friends-panel{max-height:none;padding:12px}[data-layout=phone] .page-title{font-size:30px}[data-layout=phone] .play-mode{gap:4px;padding:14px 16px}[data-layout=phone] .play-mode-top b{font-size:var(--text-lg)}.tabbar{z-index:var(--z-nav);padding:4px max(4px, env(safe-area-inset-right,0px)) env(safe-area-inset-bottom,0px) max(4px, env(safe-area-inset-left,0px));background:var(--surface-sunken);border-top:1px solid var(--line);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:2px;display:grid;position:fixed;bottom:0;left:0;right:0}.tab{border-radius:var(--radius);min-height:52px;color:var(--text-muted);font:600 var(--text-2xs)/1.1 var(--font-sans);cursor:pointer;background:0 0;border:0;align-content:center;justify-items:center;gap:3px;padding:0 2px;display:grid;position:relative}.tab .gi{width:22px;height:22px}.tab span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.tab[aria-current=page]{color:var(--text);box-shadow:inset 0 2px 0 var(--accent)}.tab:focus-visible{outline-offset:-2px}.tab .count-badge{box-shadow:0 0 0 2px var(--surface-sunken);position:absolute;top:3px;left:calc(50% + 6px)}@media (orientation:landscape){[data-layout=phone]{--tabbar-h:calc(48px + env(safe-area-inset-bottom,0px))}.tab{min-height:44px;font-size:var(--text-xs);grid-auto-flow:column;justify-content:center;gap:8px}.tab .gi{width:18px;height:18px}[data-layout=phone] .login{grid-template-columns:minmax(0,1fr) minmax(0,400px);align-items:start;column-gap:32px;width:min(100%,780px)}[data-layout=phone] .login>*{grid-column:2}[data-layout=phone] .login>.login-brand{grid-area:1/1/span 6;align-self:center}[data-layout=phone] .account-form{gap:10px;padding:18px}[data-layout=phone] .corner-settings{left:var(--gutter-l);right:auto}}[data-layout=phone] .corner-settings{min-height:44px}[data-layout=phone] body:has(.shell) .queue-bar{bottom:calc(var(--tabbar-h) + 8px)}[data-layout=phone] .queue-bar .btn{min-height:44px}[data-layout=phone] .overlay:has(>.modal){padding:max(12px, env(safe-area-inset-top,0px)) 0 0;place-items:end center;position:fixed}[data-layout=phone] .overlay>.modal{border-radius:var(--radius) var(--radius) 0 0;width:100%;max-width:640px;max-height:100%;padding-bottom:env(safe-area-inset-bottom,0px);animation:sheet-in var(--dur) var(--ease-out);border-bottom:0}[data-layout=phone] .overlay>.confirm-modal{padding-bottom:max(16px, env(safe-area-inset-bottom,0px))}[data-layout=phone] .overlay>.match-found{padding-bottom:max(20px, env(safe-area-inset-bottom,0px))}[data-layout=phone] .modal-head .btn.icon-only{min-width:44px;min-height:44px}[data-layout=phone] .confirm-actions .btn,[data-layout=phone] .settings-actions .btn,[data-layout=phone] .settings-tabs button,[data-layout=phone] .toggle-row{min-height:44px}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}}[data-layout=phone] .friends-dock:not(.docked) .friends-panel{z-index:var(--z-modal);width:auto;max-height:85%;padding-bottom:max(16px, env(safe-area-inset-bottom,0px));border-radius:var(--radius) var(--radius) 0 0;animation:sheet-in var(--dur) var(--ease-out);position:fixed;inset:auto 0 0}[data-layout=phone] .friends-dock:not(.docked) [data-close]{min-width:44px;min-height:44px}.friends-scrim{display:none}[data-layout=phone] .friends-scrim:not([hidden]){z-index:calc(var(--z-modal) - 1);background:var(--scrim);display:block;position:fixed;inset:0}[data-layout=phone] .friend-actions .btn{min-height:36px;padding-inline:10px}[data-layout=phone] .room-actions .btn{min-width:44px;min-height:44px}@media (orientation:portrait){[data-layout=phone] .room-main{padding:14px}[data-layout=phone] .seats{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}[data-layout=phone] .seat{grid-template-columns:28px minmax(0,1fr) auto;gap:6px;min-height:48px;padding:6px}[data-layout=phone] .seat.empty{grid-template-columns:1fr}[data-layout=phone] .seat-avatar{width:28px;height:28px;font-size:16px}[data-layout=phone] .seat-name{font-size:var(--text-sm)}}[data-layout=phone] .profile-overlay{place-items:stretch stretch;padding:0}[data-layout=phone] .profile-overlay .screen{padding:0}[data-layout=phone] .profile-overlay .profile{min-height:100%;max-height:none;padding:16px var(--gutter-r) 24px var(--gutter-l);border:0;border-radius:0}[data-layout=phone] .board-empty,[data-layout=phone] .board-panel>.form-msg{width:min(100%, calc(100vw - 2 * var(--gutter-l) - 26px));position:sticky;left:0}[data-layout=phone] .admin-table{white-space:nowrap;max-width:100%;display:block;overflow-x:auto}[data-layout=phone] .admin-table td{white-space:normal;min-width:120px}[data-layout=phone] :is(.admin-pane,.admin-card){min-width:0}[data-layout=phone] .admin-facts{overflow-wrap:anywhere;grid-template-columns:minmax(0,max-content) minmax(0,1fr)}[data-layout=phone] .page-actions .btn,[data-layout=phone] .pager .btn,[data-layout=phone] .m-actions .btn{min-height:40px}@media (orientation:portrait){[data-layout=phone] .board-panel{padding-inline:6px}[data-layout=phone] .board{min-width:0}[data-layout=phone] .board-row{grid-template-columns:28px minmax(0,1fr) 56px 40px 56px;gap:2px 8px;padding:8px 6px}[data-layout=phone] .board-row>:nth-child(2){white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[data-layout=phone] .board-row>:nth-child(3){font-size:var(--text-sm);grid-area:2/2}[data-layout=phone] .board-row>:is(:first-child,:nth-child(n+4)){grid-row:1/span 2}[data-layout=phone] .board-head{letter-spacing:.02em}[data-layout=phone] .stat-grid span{padding:10px}[data-layout=phone] .stat-grid b{font-size:20px}}[data-layout=tablet] .sidebar{align-items:stretch;width:96px;padding:16px 8px}[data-layout=tablet] .side-brand{justify-content:center;padding:0 0 16px}[data-layout=tablet] .side-brand b,[data-layout=tablet] .sidebar .conn,[data-layout=tablet] .avatar-text{display:none}[data-layout=tablet] .side-link{height:auto;min-height:60px;font-size:var(--text-2xs);text-align:center;flex-direction:column;justify-content:center;gap:4px;padding:8px 2px}[data-layout=tablet] .side-link .gi{width:22px;height:22px}[data-layout=tablet] .side-link[aria-current=page]{box-shadow:inset 3px 0 0 var(--accent)}[data-layout=tablet] .sidebar .avatar-chip{flex-direction:column;gap:6px;padding:8px 4px}[data-layout=tablet] .shell .screen{padding:24px 24px 96px}[data-layout=tablet] .home-page{grid-template-columns:minmax(0,1fr) 320px}[data-layout=tablet] .play-mode{min-height:132px}[data-layout=tablet] :is(.btn.small,.friend-actions .btn){min-height:36px}@media (orientation:portrait){[data-layout=tablet] .home-page{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
