@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./fonts/inter-latin-ext-wght-normal-HA22NDSG.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./fonts/inter-latin-wght-normal-NRMW37G5.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:500;src:url("./fonts/chakra-petch-latin-ext-500-normal-LQCUVLCO.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Chakra Petch;font-style:normal;font-display:swap;font-weight:500;src:url("./fonts/chakra-petch-latin-500-normal-ONCMP4EF.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:600;src:url("./fonts/chakra-petch-latin-ext-600-normal-IEMVLXUD.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Chakra Petch;font-style:normal;font-display:swap;font-weight:600;src:url("./fonts/chakra-petch-latin-600-normal-5USZOYEE.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url("./fonts/chakra-petch-latin-ext-700-normal-ZI7JFEXA.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url("./fonts/chakra-petch-latin-700-normal-Z35FHMAS.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:dark;--font-ui: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "Chakra Petch", "Inter Variable", system-ui, sans-serif;--font-mono: ui-monospace, "Cascadia Mono", "SF Mono", Consolas, monospace;--text-scale: 1;--density: 1;--btn-scale: 1;--sp-1: calc(4px * var(--density));--sp-2: calc(8px * var(--density));--sp-3: calc(12px * var(--density));--sp-4: calc(16px * var(--density));--sp-5: calc(24px * var(--density));--sp-6: calc(32px * var(--density));--r-sm: 8px;--r-md: 12px;--r-lg: 16px;--r-xl: 24px;--r-pill: 999px;--bg: #090912;--bg-2: #0e0e1a;--surface: #13131f;--surface-2: #1a1a2a;--surface-3: #232337;--surface-4: #2d2d46;--line: #2a2a42;--line-soft: #1f1f33;--overlay: rgb(5 5 12 / .72);--text: #ecebf8;--text-dim: #aaa9c6;--text-faint: #75749a;--text-on-accent: #ffffff;--primary: #8b5cf6;--primary-2: #a78bfa;--primary-deep: #6d3fe0;--primary-glow: rgb(139 92 246 / .45);--evade: #34d399;--evade-deep: #0f9d6e;--evade-glow: rgb(52 211 153 / .5);--parry: #fbbf24;--parry-deep: #d98a06;--parry-glow: rgb(251 191 36 / .5);--save: #22d3ee;--save-deep: #0e90ad;--save-glow: rgb(34 211 238 / .45);--counter: #fb7185;--counter-deep: #d63a55;--counter-glow: rgb(251 113 133 / .5);--bf: #c084fc;--bf-deep: #7e22ce;--bf-glow: rgb(192 132 252 / .6);--ok: #34d399;--warn: #fbbf24;--bad: #fb7185;--info: #60a5fa;--hp-ok: #34d399;--hp-mid: #fbbf24;--hp-low: #fb7185;--boss: #fb7185;--boss-deep: #be123c;--charge: #a78bfa;--charge-hi: #f0abfc;--shadow-1: 0 1px 2px rgb(0 0 0 / .35), 0 2px 8px rgb(0 0 0 / .25);--shadow-2: 0 8px 28px rgb(0 0 0 / .45), 0 2px 6px rgb(0 0 0 / .3);--shadow-3: 0 18px 60px rgb(0 0 0 / .6);--ease: cubic-bezier(.2, .8, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--t-fast: .12s;--t-med: .22s;--t-slow: .38s;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--topbar-h: 52px}:root[data-theme=oled]{--bg: #000;--bg-2: #050508;--surface: #0a0a10;--surface-2: #11111a;--surface-3: #181826;--surface-4: #212134;--line: #20203a;--line-soft: #14141f}:root[data-theme=contrast]{--bg: #000;--bg-2: #07070a;--surface: #0d0d12;--surface-2: #15151c;--surface-3: #1e1e28;--surface-4: #2a2a38;--line: #5a5a78;--line-soft: #3a3a50;--text: #ffffff;--text-dim: #e0dff2;--text-faint: #b8b7d4}:root[data-theme=midnight]{--bg: #060a16;--bg-2: #0a1020;--surface: #0e172b;--surface-2: #14203a;--surface-3: #1c2c4d;--surface-4: #263a62;--line: #243558;--line-soft: #16233f;--overlay: rgb(3 7 18 / .74);--text-dim: #a9b7d6;--text-faint: #6f80a8}:root[data-theme=ember]{--bg: #120a08;--bg-2: #1a0f0b;--surface: #231510;--surface-2: #2e1c15;--surface-3: #3d261c;--surface-4: #503327;--line: #4a2f23;--line-soft: #33201a;--overlay: rgb(14 6 4 / .74);--text: #f6ebe4;--text-dim: #cdb4a6;--text-faint: #957a6b}:root[data-theme=forest]{--bg: #07110c;--bg-2: #0b1a12;--surface: #10241a;--surface-2: #163024;--surface-3: #1f4031;--surface-4: #2a5441;--line: #264a39;--line-soft: #17301f;--overlay: rgb(3 12 8 / .74);--text: #e8f5ee;--text-dim: #a7c7b5;--text-faint: #6d9380}:root[data-theme=rose]{--bg: #130910;--bg-2: #1b0d17;--surface: #25121f;--surface-2: #311a2a;--surface-3: #422339;--surface-4: #572d4a;--line: #4d2a41;--line-soft: #33182b;--overlay: rgb(14 4 10 / .74);--text: #f9eaf2;--text-dim: #d3aec2;--text-faint: #9a738a}:root[data-theme=sepia]{--bg: #15110b;--bg-2: #1c1710;--surface: #261f15;--surface-2: #32291c;--surface-3: #41362a;--surface-4: #54463a;--line: #4d4030;--line-soft: #352c20;--overlay: rgb(14 10 4 / .74);--text: #f3ead9;--text-dim: #c9bba2;--text-faint: #8f8269}:root[data-accent=blue]{--primary: #3b82f6;--primary-2: #60a5fa;--primary-deep: #2563eb;--primary-glow: rgb(59 130 246 / .45);--charge: #60a5fa;--charge-hi: #bae6fd}:root[data-accent=cyan]{--primary: #06b6d4;--primary-2: #22d3ee;--primary-deep: #0e7490;--primary-glow: rgb(6 182 212 / .45);--charge: #22d3ee;--charge-hi: #a5f3fc}:root[data-accent=green]{--primary: #22c55e;--primary-2: #4ade80;--primary-deep: #15803d;--primary-glow: rgb(34 197 94 / .45);--charge: #4ade80;--charge-hi: #bbf7d0}:root[data-accent=amber]{--primary: #f59e0b;--primary-2: #fbbf24;--primary-deep: #b45309;--primary-glow: rgb(245 158 11 / .45);--charge: #fbbf24;--charge-hi: #fde68a;--text-on-accent: #1a1204}:root[data-accent=pink]{--primary: #ec4899;--primary-2: #f472b6;--primary-deep: #be185d;--primary-glow: rgb(236 72 153 / .45);--charge: #f472b6;--charge-hi: #fbcfe8}:root[data-accent=red]{--primary: #ef4444;--primary-2: #f87171;--primary-deep: #b91c1c;--primary-glow: rgb(239 68 68 / .45);--charge: #f87171;--charge-hi: #fecaca}:root[data-corners=sharp]{--r-sm: 3px;--r-md: 5px;--r-lg: 7px;--r-xl: 10px}:root[data-corners=soft]{--r-sm: 12px;--r-md: 18px;--r-lg: 24px;--r-xl: 32px}:root[data-bg=grid] body:before,:root[data-bg=aurora] body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none}:root[data-bg=grid] body:before{background-image:linear-gradient(var(--line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--line-soft) 1px,transparent 1px);background-size:36px 36px;opacity:.55;-webkit-mask-image:radial-gradient(ellipse at 50% 30%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse at 50% 30%,#000 20%,transparent 75%)}:root[data-bg=aurora] body:before{background:radial-gradient(60% 50% at 15% 10%,var(--primary-glow),transparent 70%),radial-gradient(50% 45% at 90% 85%,var(--info),transparent 75%);opacity:.22}:root[data-palette=cb]{--evade: #4cc2ff;--evade-deep: #1b86c9;--evade-glow: rgb(76 194 255 / .5);--parry: #ff9f43;--parry-deep: #d46a0b;--parry-glow: rgb(255 159 67 / .5);--hp-ok: #4cc2ff;--hp-mid: #ff9f43;--hp-low: #ff5d73;--ok: #4cc2ff;--warn: #ff9f43}:root[data-motion=reduced]{--t-fast: 1ms;--t-med: 1ms;--t-slow: 1ms}*,*:before,*:after{box-sizing:border-box}html{font-size:calc(16px * var(--text-scale));-webkit-text-size-adjust:100%;text-size-adjust:100%}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:400 .9375rem/1.45 var(--font-ui);font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}#root{height:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}img,video{max-width:100%}a{color:var(--info);text-decoration:none}a:hover{text-decoration:underline}[hidden]{display:none!important}h1,h2,h3,h4,p{margin:0}ul{list-style:none;margin:0;padding:0}:focus-visible{outline:2px solid var(--primary-2);outline-offset:2px;border-radius:6px}::selection{background:var(--primary-glow)}*{scrollbar-width:thin;scrollbar-color:var(--surface-4) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--surface-4);border-radius:8px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--line);background-clip:content-box;border:2px solid transparent}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.display{font-family:var(--font-display);letter-spacing:.02em}.eyebrow{font:600 .6875rem/1 var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.dim{color:var(--text-dim)}.faint{color:var(--text-faint)}.grow{flex:1;min-width:0}.row{display:flex;align-items:center;gap:var(--sp-2)}.col{display:flex;flex-direction:column;gap:var(--sp-2)}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-3);color:var(--text);font-weight:600;font-size:.875rem;white-space:nowrap;user-select:none;-webkit-user-select:none;transition:background var(--t-fast),border-color var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast),opacity var(--t-fast);touch-action:manipulation}.btn:hover:not(:disabled){background:var(--surface-4);border-color:var(--text-faint)}.btn:active:not(:disabled){transform:translateY(1px) scale(.985)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn svg{flex:none}.btn-primary{background:linear-gradient(180deg,var(--primary-2),var(--primary-deep));border-color:transparent;color:var(--text-on-accent);box-shadow:0 6px 20px -8px var(--primary-glow)}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,#b7a0fb,var(--primary));border-color:transparent}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-dim)}.btn-ghost:hover:not(:disabled){background:var(--surface-3);border-color:transparent;color:var(--text)}.btn-danger{background:linear-gradient(180deg,#fb7185,#d63a55);border-color:transparent;color:#fff}.btn-danger:hover:not(:disabled){background:linear-gradient(180deg,#fda4af,#fb7185);border-color:transparent}.btn-sm{min-height:32px;padding:0 var(--sp-3);font-size:.8125rem;border-radius:var(--r-sm)}.btn-lg{min-height:50px;padding:0 var(--sp-5);font-size:1rem;border-radius:var(--r-lg)}.btn-block{width:100%}.icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;flex:none;border:0;border-radius:var(--r-md);background:transparent;color:var(--text-dim);transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast);touch-action:manipulation}.icon-btn:hover:not(:disabled){background:var(--surface-3);color:var(--text)}.icon-btn:active:not(:disabled){transform:scale(.94)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn.is-on{color:var(--primary-2);background:var(--surface-3)}.input,.select,.textarea{width:100%;min-height:42px;padding:0 var(--sp-3);border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:.9375rem;transition:border-color var(--t-fast),box-shadow var(--t-fast)}.textarea{padding:var(--sp-2) var(--sp-3);min-height:90px;resize:vertical;line-height:1.4}.input::placeholder,.textarea::placeholder{color:var(--text-faint)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--primary-2);box-shadow:0 0 0 3px var(--primary-glow)}.input:disabled,.select:disabled{opacity:.5;cursor:not-allowed}.select{-webkit-appearance:none;appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23aaa9c6' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.field{display:flex;flex-direction:column;gap:6px}.field>label,.field-label{font-size:.8125rem;font-weight:600;color:var(--text-dim)}.field .hint{font-size:.75rem;color:var(--text-faint);line-height:1.35}.switch{position:relative;width:46px;height:28px;flex:none;border-radius:var(--r-pill);background:var(--surface-4);border:1px solid var(--line);transition:background var(--t-med),border-color var(--t-med);cursor:pointer;padding:0}.switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #00000080;transition:transform var(--t-med) var(--ease-spring)}.switch[aria-checked=true]{background:var(--primary);border-color:transparent}.switch[aria-checked=true]:after{transform:translate(18px)}.switch:disabled{opacity:.45;cursor:not-allowed}.range{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:var(--r-pill);background:var(--surface-4);outline-offset:6px}.range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--primary);box-shadow:0 2px 8px #00000080;cursor:pointer}.range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid var(--primary);cursor:pointer}.segmented{display:inline-flex;padding:3px;gap:2px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line-soft);max-width:100%}.segmented button{flex:1;min-height:34px;padding:0 var(--sp-3);border:0;border-radius:calc(var(--r-md) - 3px);background:transparent;color:var(--text-dim);font-weight:600;font-size:.8125rem;transition:background var(--t-fast),color var(--t-fast);white-space:nowrap}.segmented button:hover{color:var(--text)}.segmented button[aria-pressed=true]{background:var(--surface-4);color:var(--text);box-shadow:var(--shadow-1)}.card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:var(--sp-4)}.card-2{background:var(--surface-2);border:1px solid var(--line-soft);border-radius:var(--r-lg);padding:var(--sp-4)}.card-title{display:flex;align-items:center;gap:8px;margin-bottom:var(--sp-3)}.chip{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:0 var(--sp-2);border-radius:var(--r-pill);background:var(--surface-3);color:var(--text-dim);font-size:.75rem;font-weight:600;border:1px solid var(--line-soft);white-space:nowrap}.chip.ok{color:var(--ok)}.chip.warn{color:var(--warn)}.chip.bad{color:var(--bad)}.chip.info{color:var(--info)}.chip.primary{color:var(--primary-2)}.tag{display:inline-flex;align-items:center;height:16px;padding:0 5px;border-radius:4px;background:var(--primary);color:#fff;font:700 .5625rem/1 var(--font-ui);letter-spacing:.06em;text-transform:uppercase}.tag.hook{background:var(--surface-4);color:var(--text-dim)}.kbd{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:5px;background:#ffffff1f;border:1px solid rgb(255 255 255 / .18);font:600 .6875rem/1 var(--font-display);color:inherit}.dot{width:8px;height:8px;border-radius:50%;background:var(--text-faint);flex:none}.dot.ok{background:var(--ok);box-shadow:0 0 8px var(--ok)}.dot.warn{background:var(--warn)}.dot.bad{background:var(--bad)}.bar{position:relative;height:12px;border-radius:var(--r-pill);background:#0000006b;overflow:hidden;box-shadow:inset 0 1px 2px #00000080}.bar>i{position:absolute;inset:0 auto 0 0;width:0;border-radius:inherit;background:var(--hp-ok);transition:width var(--t-slow) var(--ease),background var(--t-med)}.bar>i:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(180deg,rgb(255 255 255 / .28),transparent 55%)}.bar>i[data-level=mid]{background:var(--hp-mid)}.bar>i[data-level=low]{background:var(--hp-low)}.bar.boss>i{background:linear-gradient(90deg,var(--boss-deep),var(--boss))}.bar.charge>i{background:linear-gradient(90deg,var(--primary-deep),var(--charge))}.bar.charge.ready>i{background:linear-gradient(90deg,var(--charge),var(--charge-hi));box-shadow:0 0 12px var(--primary-glow)}.bar.thin{height:6px}.bar.tall{height:18px}.bar>em{position:absolute;inset:0;display:grid;place-items:center;font:600 .6875rem/1 var(--font-display);letter-spacing:.04em;font-style:normal;text-shadow:0 1px 3px rgb(0 0 0 / .8)}.avatar{width:32px;height:32px;border-radius:50%;flex:none;object-fit:cover;display:inline-grid;place-items:center;font:700 .8125rem/1 var(--font-display);color:#fff;background:var(--surface-4);-webkit-user-select:none;user-select:none}.avatar.sm{width:24px;height:24px;font-size:.6875rem}.avatar.lg{width:48px;height:48px;font-size:1.125rem}.avatar.xl{width:72px;height:72px;font-size:1.6rem}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--surface-4);border-top-color:var(--primary-2);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.55}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}:root[data-motion=reduced] *:not([data-keep-motion]),:root[data-motion=reduced] *:not([data-keep-motion]):before,:root[data-motion=reduced] *:not([data-keep-motion]):after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){:root:not([data-motion=full]) *:not([data-keep-motion]),:root:not([data-motion=full]) *:not([data-keep-motion]):before,:root:not([data-motion=full]) *:not([data-keep-motion]):after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}.app{display:grid;grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);height:100dvh;min-height:0;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);background:radial-gradient(1100px 520px at 12% -10%,rgb(139 92 246 / .13),transparent 60%),radial-gradient(900px 480px at 100% 0%,rgb(251 113 133 / .07),transparent 60%),var(--bg)}.topbar{display:flex;align-items:center;gap:var(--sp-2);min-height:var(--topbar-h);padding:0 var(--sp-3);background:linear-gradient(180deg,#13131ff5,#0e0e1aeb);border-bottom:1px solid var(--line-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),#ec4899);box-shadow:0 4px 14px -4px var(--primary-glow);color:#fff;flex:none}.brand-text{display:flex;flex-direction:column;min-width:0;line-height:1.1}.brand-text strong{font:700 1rem/1.1 var(--font-display);letter-spacing:.02em}.brand-text span{font-size:.6875rem;color:var(--text-faint)}.topbar .spacer{flex:1}.conn-badge{white-space:nowrap;flex:none;display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 10px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--line-soft);font:600 .75rem/1 var(--font-display);color:var(--text-dim)}.conn-badge[data-q=great] .dot,.conn-badge[data-q=good] .dot{background:var(--ok);box-shadow:0 0 8px var(--ok)}.conn-badge[data-q=fair] .dot{background:var(--warn)}.conn-badge[data-q=poor] .dot,.conn-badge[data-q=off] .dot{background:var(--bad)}.stage{min-height:0;display:grid;gap:var(--sp-3);padding:var(--sp-3);grid-template-columns:minmax(0,1fr)}.stage[data-layout=wide]{grid-template-columns:264px minmax(0,1fr) 312px}.stage[data-layout=mid]{grid-template-columns:minmax(0,1fr) 296px}.stage[data-layout=narrow],.stage[data-short=true]{padding:var(--sp-2);gap:var(--sp-2)}.stage[data-page=true]{grid-template-columns:minmax(0,1fr)}.panel{display:flex;flex-direction:column;min-height:0;min-width:0;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line-soft);overflow:hidden}.panel-head{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) var(--sp-2)}.panel-body{flex:1;min-height:0;overflow-y:auto;padding:0 var(--sp-4) var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3)}.panel-body.tight{padding:0 var(--sp-2) var(--sp-2)}.center{display:flex;flex-direction:column;min-height:0;min-width:0;gap:var(--sp-2)}.arena{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line-soft);overflow:hidden}.scrim{position:fixed;inset:0;z-index:70;background:var(--overlay);animation:fade var(--t-med) var(--ease);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:71;max-height:86dvh;display:flex;flex-direction:column;background:var(--surface);border-top:1px solid var(--line);border-radius:var(--r-xl) var(--r-xl) 0 0;box-shadow:var(--shadow-3);padding-bottom:var(--safe-bottom);animation:sheet-in var(--t-slow) var(--ease)}@keyframes sheet-in{0%{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}.sheet-grab{width:40px;height:4px;border-radius:4px;background:var(--surface-4);margin:8px auto 0;flex:none}.sheet-head{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4)}.sheet-body{overflow-y:auto;padding:0 var(--sp-4) var(--sp-4)}.modal{position:fixed;inset:0;z-index:72;display:grid;place-items:center;padding:var(--sp-4);pointer-events:none}.modal-card{pointer-events:auto;width:min(480px,100%);max-height:90dvh;overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:var(--sp-5);box-shadow:var(--shadow-3);animation:rise var(--t-med) var(--ease)}.page{position:relative;min-height:0;display:flex;flex-direction:column;border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line-soft);overflow:hidden;animation:rise var(--t-med) var(--ease)}.page-head{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line-soft);background:var(--surface-2)}.page-head h1{font:700 1.125rem/1.2 var(--font-display);letter-spacing:.02em}.page-body{flex:1;min-height:0;overflow-y:auto;padding:var(--sp-4)}.page-body.narrow{max-width:760px;margin:0 auto;width:100%}.section{display:flex;flex-direction:column;gap:var(--sp-3);margin-bottom:var(--sp-5)}.section>h2{font:700 .75rem/1 var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);padding-bottom:2px}.setting{display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line-soft)}.setting.stack{flex-direction:column;align-items:stretch;gap:var(--sp-2)}.setting .info{flex:1;min-width:0}.setting .info strong{display:block;font-size:.9375rem;font-weight:600}.setting .info span{display:block;font-size:.8125rem;color:var(--text-dim);line-height:1.35;margin-top:2px}.setting .value{font:600 .8125rem/1 var(--font-display);color:var(--text-dim);min-width:44px;text-align:right}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:var(--sp-3)}.tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-4);min-height:118px;text-align:left;border-radius:var(--r-lg);border:1px solid var(--line-soft);background:linear-gradient(160deg,var(--surface-2),var(--surface));color:var(--text);transition:transform var(--t-med) var(--ease),border-color var(--t-fast),box-shadow var(--t-med),background var(--t-med);overflow:hidden}.tile:before{content:"";position:absolute;inset:-40% -30% auto auto;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle,var(--tile-glow, var(--primary-glow)),transparent 70%);opacity:.55;transition:opacity var(--t-med)}.tile:hover{transform:translateY(-2px);border-color:var(--tile-color, var(--primary-2));box-shadow:0 12px 30px -14px var(--tile-glow, var(--primary-glow))}.tile:hover:before{opacity:1}.tile:active{transform:translateY(0) scale(.99)}.tile .tile-icon{position:relative;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--tile-color, var(--primary)) 22%,transparent);color:var(--tile-color, var(--primary-2))}.tile strong{position:relative;font:700 1rem/1.15 var(--font-display);letter-spacing:.02em}.tile span.sub{position:relative;font-size:.8125rem;color:var(--text-dim);line-height:1.3}.tile[disabled]{opacity:.5;cursor:not-allowed}.tile .soon{position:absolute;top:10px;right:10px}.toasts{position:fixed;left:50%;bottom:calc(var(--safe-bottom) + 96px);transform:translate(-50%);z-index:110;display:flex;flex-direction:column;gap:8px;align-items:center;width:min(92vw,420px);pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:var(--r-md);background:var(--surface-3);border:1px solid var(--line);box-shadow:var(--shadow-2);font-size:.875rem;animation:rise var(--t-med) var(--ease);max-width:100%}.toast.bad{border-color:var(--bad)}.toast.ok{border-color:var(--ok)}.toast.warn{border-color:var(--warn)}.banner{position:relative;z-index:19;display:flex;align-items:center;gap:var(--sp-3);padding:8px var(--sp-4);background:color-mix(in srgb,var(--bad) 20%,var(--surface));border-bottom:1px solid var(--bad);font-size:.875rem}.banner.info{background:color-mix(in srgb,var(--info) 18%,var(--surface));border-color:var(--info)}.splash{height:100dvh;display:grid;place-items:center;background:radial-gradient(800px 400px at 50% 30%,rgb(139 92 246 / .18),transparent 70%),var(--bg);padding:var(--sp-5);text-align:center}.splash-card{display:flex;flex-direction:column;align-items:center;gap:var(--sp-4);max-width:420px}.splash-logo{width:72px;height:72px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(135deg,var(--primary),#ec4899);color:#fff;box-shadow:0 16px 50px -12px var(--primary-glow);animation:pulse-soft 2.4s ease-in-out infinite}.splash h1{font:700 1.5rem/1.1 var(--font-display);letter-spacing:.03em}.splash p{color:var(--text-dim);font-size:.9375rem}.splash.error .splash-logo{background:linear-gradient(135deg,var(--bad),#be123c);animation:none}@media(max-width:720px){.brand-text span{display:none}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.pip-view{grid-template-rows:minmax(0,1fr)}.pip-body{display:flex;flex-direction:column;justify-content:center;gap:var(--sp-2);padding:var(--sp-2);min-height:0;overflow:hidden}.now-playing{display:inline-flex;align-items:center;gap:6px;max-width:170px;min-height:34px;padding:0 10px;border-radius:var(--r-pill);background:var(--surface-3);border:1px solid var(--line);color:var(--text-dim);font-size:.75rem;font-weight:600}.now-playing:hover{color:var(--text);border-color:var(--text-faint)}.now-playing.is-off{opacity:.6}.now-playing.is-blocked{border-color:var(--warn);color:var(--text);animation:now-pulse 1.6s ease-in-out infinite}@keyframes now-pulse{50%{box-shadow:0 0 0 4px color-mix(in srgb,var(--warn) 25%,transparent)}}@media(max-width:560px){.now-playing{max-width:38px;padding:0 10px}.now-playing span{display:none}.now-playing.is-blocked{max-width:150px}.now-playing.is-blocked span{display:inline}}.feed-wrap{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.feed{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--sp-3) var(--sp-4);display:flex;flex-direction:column;gap:calc(var(--sp-2) * 1.1);overscroll-behavior:contain;scroll-behavior:smooth}.feed-empty{margin:auto;text-align:center;color:var(--text-faint);display:grid;gap:8px;justify-items:center;padding:var(--sp-6)}.jump-new{position:absolute;left:50%;bottom:12px;transform:translate(-50%);z-index:3;display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 14px;border:0;border-radius:var(--r-pill);background:var(--primary);color:#fff;font-weight:700;font-size:.8125rem;box-shadow:var(--shadow-2);animation:rise var(--t-med) var(--ease)}.msg{display:flex;gap:10px;min-width:0;animation:msg-in var(--t-med) var(--ease)}@keyframes msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.msg.no-avatar .avatar{display:none}.msg-body{flex:1;min-width:0}.msg-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;line-height:1.25}.msg-name{font-weight:700;font-size:.9375rem}.msg-time,.msg-edited{color:var(--text-faint);font-size:.6875rem}.msg.hide-time .msg-time{display:none}.msg-reply{display:flex;align-items:center;gap:6px;color:var(--text-faint);font-size:.75rem;margin-bottom:2px;min-width:0}.msg-reply:before{content:"";width:16px;height:8px;border-left:2px solid var(--line);border-top:2px solid var(--line);border-top-left-radius:6px;flex:none;margin-top:4px}.msg-text{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;line-height:1.45}.msg-text.big{font-size:1.35rem;line-height:1.25;font-weight:700;font-family:var(--font-display)}.msg-text.mid{font-size:1.15rem;font-weight:700}.msg-text.small{font-size:.8125rem;color:var(--text-faint)}.msg-text code{font:.85em/1 var(--font-mono);background:#ffffff14;border-radius:5px;padding:2px 5px}.msg-text pre{margin:4px 0;padding:8px 10px;background:var(--bg-2);border:1px solid var(--line-soft);border-radius:var(--r-sm);font:.8125rem/1.4 var(--font-mono);white-space:pre-wrap;overflow-x:auto}.msg-text blockquote{margin:2px 0;padding:0 0 0 10px;border-left:3px solid var(--line);color:var(--text-dim)}.msg-text ul{margin:2px 0;padding-left:20px;list-style:disc}.msg-text .spoiler{background:var(--surface-4);color:transparent;border-radius:5px;cursor:pointer;padding:0 2px}.msg-text .spoiler.open{background:#ffffff1a;color:inherit}.msg-text img.emoji{height:1.35em;width:auto;vertical-align:-.3em}.msg-text .mention{background:#8b5cf638;color:var(--primary-2);border-radius:5px;padding:0 3px;font-weight:600}.msg-text .when{background:#ffffff14;border-radius:5px;padding:0 4px}.attach img,.attach video{max-width:min(100%,360px);max-height:280px;border-radius:var(--r-md);margin-top:6px;display:block;background:var(--bg-2)}.attach a{display:inline-flex;margin-top:6px}.sticker{width:128px;height:128px;object-fit:contain;margin-top:6px;display:block}.embed{position:relative;max-width:460px;margin-top:6px;padding:10px 12px 10px 14px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line-soft);border-left:4px solid var(--embed-color, var(--primary));overflow:hidden}.embed .e-author{font-size:.75rem;color:var(--text-dim);margin-bottom:2px}.embed .e-title{font-weight:700;margin-bottom:2px}.embed .e-title a{color:var(--info)}.embed .e-desc{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.9rem;color:var(--text)}.embed .e-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-top:8px}.embed .e-fields b{display:block;font-size:.75rem;color:var(--text-dim);margin-bottom:1px}.embed .e-thumb{float:right;width:64px;height:64px;object-fit:cover;border-radius:var(--r-sm);margin:0 0 6px 10px}.embed .e-media{display:block;width:100%;max-height:300px;object-fit:contain;border-radius:var(--r-sm);margin-top:8px;background:var(--bg-2)}.embed .e-footer{font-size:.6875rem;color:var(--text-faint);margin-top:8px;clear:both}.reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.reaction{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 8px;border-radius:var(--r-sm);background:var(--surface-3);border:1px solid var(--line-soft);font-size:.8125rem}.reaction img{height:1.15em}.reaction b{font:600 .75rem/1 var(--font-display);color:var(--text-dim)}.msg.is-system .msg-name{color:var(--text-dim)}.composer{display:flex;align-items:flex-end;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3) calc(var(--sp-2) + 2px);border-top:1px solid var(--line-soft);background:var(--surface-2)}.composer .as-picker{position:relative;flex:none}.as-btn{display:inline-flex;align-items:center;gap:8px;height:42px;max-width:168px;padding:0 10px 0 6px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);color:var(--text);font-weight:600;font-size:.8125rem}.as-btn:hover{border-color:var(--text-faint)}.as-menu{position:absolute;left:0;bottom:48px;z-index:30;min-width:200px;max-height:260px;overflow-y:auto;padding:6px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-3);box-shadow:var(--shadow-2);animation:rise var(--t-fast) var(--ease)}.as-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:0;border-radius:var(--r-sm);background:transparent;text-align:left;font-weight:600;font-size:.875rem}.as-menu button:hover,.as-menu button[aria-checked=true]{background:var(--surface-4)}.composer .input{flex:1;min-width:0;height:42px;resize:none;padding-top:10px;padding-bottom:10px;line-height:1.3;max-height:120px}.send-btn{width:44px;height:42px;flex:none;display:grid;place-items:center;border:0;border-radius:var(--r-md);background:linear-gradient(180deg,var(--primary-2),var(--primary-deep));color:#fff;transition:transform var(--t-fast),opacity var(--t-fast)}.send-btn:disabled{opacity:.4;cursor:not-allowed}.send-btn:active:not(:disabled){transform:scale(.94)}.md-h1{font:700 1.35rem/1.25 var(--font-display);margin:2px 0}.md-h2{font:700 1.15rem/1.25 var(--font-display);margin:2px 0}.md-h3{font:700 1rem/1.3 var(--font-display);margin:2px 0}.md-small{font-size:.75rem;color:var(--text-faint)}.msg-text{display:block}.msg.grouped{margin-top:calc(var(--sp-1) * -1)}.msg.grouped .msg-body{padding-left:0}.msg{--av: 32px}@media(max-width:720px){.as-btn{max-width:56px;padding:0 6px;gap:4px}.as-btn>.ellipsis{display:none}.composer{padding:var(--sp-2)}.feed{padding:var(--sp-2) var(--sp-3)}}.boss-card{position:relative;display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:linear-gradient(135deg,#be123c38,#13131fe6 60%);border:1px solid rgb(251 113 133 / .28);overflow:hidden}.boss-card:after{content:"";position:absolute;inset:0;background:radial-gradient(260px 90px at 0% 0%,rgb(251 113 133 / .22),transparent 70%);pointer-events:none}.boss-ico{position:relative;width:40px;height:40px;flex:none;border-radius:12px;display:grid;place-items:center;background:#fb71852e;color:var(--boss)}.boss-main{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.boss-top{display:flex;align-items:baseline;gap:8px;min-width:0}.boss-top strong{font:700 1rem/1.1 var(--font-display);letter-spacing:.03em}.boss-top .num{margin-left:auto;font:600 .8125rem/1 var(--font-display);color:var(--text-dim)}.boss-card .bar{height:14px}.me-card{display:flex;flex-direction:column;gap:var(--sp-3)}.me-id{display:flex;align-items:center;gap:var(--sp-3)}.me-id .names{min-width:0;display:flex;flex-direction:column;gap:2px}.me-id strong{font:700 1.0625rem/1.15 var(--font-display);letter-spacing:.02em}.me-id small{color:var(--text-faint);font-size:.75rem}.stat-line{display:flex;align-items:center;gap:var(--sp-2);font-size:.75rem;color:var(--text-dim)}.stat-line .label{width:62px;flex:none;font:600 .6875rem/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.stat-line .bar{flex:1}.stat-line .val{width:58px;text-align:right;flex:none;font:600 .75rem/1 var(--font-display)}.revenge{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 7px;border-radius:var(--r-pill);background:#fb718533;color:var(--bad);font:700 .625rem/1 var(--font-display);letter-spacing:.1em;animation:pulse-soft 1.4s ease-in-out infinite}.streak{display:inline-flex;align-items:center;gap:4px;color:var(--warn);font:700 .8125rem/1 var(--font-display)}.players{display:flex;flex-direction:column;gap:2px}.player{display:flex;align-items:center;gap:var(--sp-2);padding:6px var(--sp-2);border-radius:var(--r-md)}.player.is-me{background:var(--surface-2)}.player .p-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.player .p-top{display:flex;justify-content:space-between;align-items:baseline;gap:6px;font-size:.8125rem}.player .p-top b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player .p-top span{font:600 .6875rem/1 var(--font-display);color:var(--text-dim)}.player .bar{height:7px}.online{display:flex;flex-direction:column;gap:2px}.online li{display:flex;align-items:center;gap:var(--sp-2);padding:4px var(--sp-2);font-size:.8125rem;color:var(--text-dim)}.mini-hud{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line-soft)}.mini-hud .mh-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.mini-hud .mh-row{display:flex;align-items:center;gap:8px}.mini-hud .mh-row .bar{flex:1;height:10px}.mini-hud .mh-row .tiny{font:600 .6875rem/1 var(--font-display);color:var(--text-dim);min-width:52px;text-align:right}.mini-hud .mh-charges{display:flex;gap:4px;width:64px;flex:none;flex-direction:column}.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-2)}.act{position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:8px;min-height:80px;padding:10px 12px;border-radius:var(--r-md);border:1px solid color-mix(in srgb,var(--act, var(--primary)) 40%,transparent);background:linear-gradient(160deg,color-mix(in srgb,var(--act, var(--primary)) 24%,var(--surface-2)),var(--surface-2));color:var(--text);text-align:left;transition:transform var(--t-fast),box-shadow var(--t-med),border-color var(--t-fast),opacity var(--t-fast);touch-action:manipulation;user-select:none;-webkit-user-select:none;overflow:hidden}.act:hover:not(:disabled){border-color:var(--act, var(--primary))}.act:active:not(:disabled){transform:scale(.97)}.act:disabled{opacity:.42;cursor:not-allowed;filter:saturate(.5)}.act .a-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.act .a-ico{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:color-mix(in srgb,var(--act, var(--primary)) 30%,transparent);color:var(--act, var(--primary-2))}.act .a-txt{min-width:0;display:flex;flex-direction:column;gap:3px}.act .a-txt b{font:700 .8125rem/1.1 var(--font-display);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.act .a-txt small{font:600 .6875rem/1 var(--font-display);color:var(--text-dim);min-height:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.act.ready{box-shadow:0 0 0 1px var(--act),0 0 22px -4px var(--act);animation:ready-glow 1.8s ease-in-out infinite}.act.hot{box-shadow:0 0 0 2px #fff,0 0 26px -2px var(--act);animation:hot-pulse .5s ease-in-out infinite alternate}@keyframes ready-glow{50%{box-shadow:0 0 0 1px var(--act),0 0 34px -2px var(--act)}}@keyframes hot-pulse{to{transform:scale(1.04)}}.act-adapt{--act: #818cf8}.act-attack{--act: var(--counter)}.act-power{--act: var(--primary)}.act-domain{--act: var(--parry)}.action-bar{display:flex;gap:var(--sp-2);padding:0 var(--sp-1);overflow-x:auto;scrollbar-width:none}.action-bar::-webkit-scrollbar{display:none}.action-bar .act{flex:1 0 auto;min-width:132px;min-height:52px;flex-direction:row;align-items:center;justify-content:flex-start;gap:10px}.fx{position:fixed;inset:0;pointer-events:none;z-index:30}.fx-hit{background:radial-gradient(ellipse at center,transparent 55%,rgb(251 113 133 / .55) 100%);animation:fx-flash .55s ease-out forwards}.fx-heal{background:radial-gradient(ellipse at center,transparent 60%,rgb(52 211 153 / .4) 100%);animation:fx-flash .7s ease-out forwards}.fx-bf{background:radial-gradient(ellipse at center,rgb(192 132 252 / .35),transparent 65%),linear-gradient(120deg,transparent 40%,rgb(255 255 255 / .35) 50%,transparent 60%);animation:fx-flash .8s ease-out forwards}@keyframes fx-flash{0%{opacity:1}to{opacity:0}}.shake{animation:shake .35s ease-in-out}@keyframes shake{20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.stage[data-layout=narrow] .boss-card{padding:var(--sp-2) var(--sp-3);gap:var(--sp-2)}.stage[data-layout=narrow] .boss-ico{display:none}.stage[data-layout=narrow] .boss-card .bar{height:10px}.stage[data-short=true] .boss-card,.stage[data-short=true] .mini-hud{padding:4px var(--sp-3)}.cine{position:fixed;inset:0;z-index:90;pointer-events:none;overflow:hidden;animation:cine-in .5s ease both}.cine.closing{animation:cine-out .6s ease both}@keyframes cine-in{0%{opacity:0}}@keyframes cine-out{to{opacity:0}}.cine-bg{position:absolute;inset:0;transition:background 1s ease}.cine-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity 1s ease}.cine-bar{position:absolute;left:0;right:0;height:12vh;background:#000;animation:cine-bar .7s var(--ease) both}.cine-bar.top{top:0;transform-origin:top}.cine-bar.bottom{bottom:0;transform-origin:bottom}@keyframes cine-bar{0%{transform:scaleY(0)}}.cine-image{position:absolute;top:50%;left:50%;max-width:min(70vw,900px);max-height:56vh;border-radius:var(--r-md);box-shadow:0 20px 60px -10px #000c;transform:translate(-50%,-54%);animation:cine-pop .6s var(--ease-spring) both;object-fit:contain}.cine-image.left{left:28%}.cine-image.right{left:72%}@keyframes cine-pop{0%{opacity:0;transform:translate(-50%,-48%) scale(.94)}}.cine-caption{position:absolute;left:50%;bottom:calc(12vh + 28px);width:min(820px,92vw);transform:translate(-50%);padding:14px 20px;border-radius:var(--r-lg);background:#06060ec7;border:1px solid rgb(255 255 255 / .14);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);text-align:center;box-shadow:0 16px 50px -12px #000c;animation:cine-caption .4s var(--ease) both;--caption: #fff}.cine-caption p{margin:0;font:500 1.125rem/1.5 var(--font-body);color:var(--caption);white-space:pre-wrap;overflow-wrap:anywhere;text-shadow:0 2px 10px rgb(0 0 0 / .8)}.cine-caption.size-big p{font:700 1.75rem/1.3 var(--font-display);letter-spacing:.03em}.cine-caption.fx-shake{animation:cine-caption .4s var(--ease) both,cine-shake-text .08s linear 6}.cine-caption.leaving{opacity:0;transition:opacity .4s ease}.cine-speaker{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:6px;color:var(--primary-2);font:700 .8125rem/1 var(--font-display);letter-spacing:.12em;text-transform:uppercase}.cine-caret{display:inline-block;width:2px;height:1.1em;margin-left:2px;vertical-align:text-bottom;background:currentColor;animation:cine-blink .6s steps(2) infinite}@keyframes cine-caption{0%{opacity:0;transform:translate(-50%) translateY(10px)}}@keyframes cine-blink{50%{opacity:0}}@keyframes cine-shake-text{25%{transform:translate(calc(-50% - 4px))}75%{transform:translate(calc(-50% + 4px))}}.cine-flash,.cine-blackout{position:absolute;inset:0;opacity:0}.cine-flash{animation:cine-flash ease-out both}.cine-blackout{animation:cine-blackout ease-in-out both}@keyframes cine-flash{0%{opacity:.95}to{opacity:0}}@keyframes cine-blackout{0%,to{opacity:0}30%,70%{opacity:1}}.cine.shake{animation:cine-shake .5s linear}@keyframes cine-shake{10%{transform:translate(-6px,3px)}30%{transform:translate(5px,-4px)}50%{transform:translate(-4px,-3px)}70%{transform:translate(4px,4px)}90%{transform:translate(-2px,1px)}}.cine-controls{position:absolute;top:calc(var(--topbar-h, 56px) + 10px);right:14px;display:flex;gap:8px;align-items:center;pointer-events:auto}.cine-skip{background:#06060eb8}@media(prefers-reduced-motion:reduce){.cine-bar,.cine-image,.cine-caption{animation-duration:.01s}}.vfx-host{position:fixed;inset:0;z-index:85;pointer-events:none;overflow:hidden}.vfx-host>i{position:absolute;display:block;pointer-events:none;will-change:transform,opacity}.vfx-flash{inset:0}.vfx-vignette{inset:0;background:radial-gradient(ellipse at center,transparent 35%,color-mix(in srgb,var(--vc) calc(var(--vi) * 85%),transparent) 100%)}.vfx-ring{left:50%;top:50%;width:220px;height:220px;border-radius:50%;border:4px solid}.vfx-slash{left:50%;top:50%;width:130vmax;height:7px;border-radius:4px;filter:blur(.5px)}.vfx-aura{inset:0}.vfx-spark{left:50%;top:50%;border-radius:50%}.vfx-banner{left:50%;top:38%;max-width:92vw;text-align:center;font:700 clamp(1.6rem,6vw,3.4rem)/1.1 var(--font-display);text-transform:uppercase;text-shadow:0 0 24px currentColor,0 4px 18px rgb(0 0 0 / .8)}.gm-deck{display:flex;flex-direction:column;gap:var(--sp-3);margin-top:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--line-soft)}.deck-head{display:flex;align-items:center;gap:8px}.deck-head .chip{margin-left:auto}.deck-head .chip.ok{color:var(--ok)}.deck-block{display:flex;flex-direction:column;gap:8px;padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line-soft)}.deck-title{display:flex;align-items:center;gap:6px;margin:0;font:600 .6875rem/1 var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.deck-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.deck-grid .deck-wide{grid-column:span 2}.deck-chips{display:flex;flex-wrap:wrap;gap:6px}.deck-hint{font-size:.75rem;color:var(--text-dim);margin:0}.deck-link{display:flex;flex-direction:column;gap:2px;padding:4px 0;border-bottom:1px solid var(--line-soft)}.deck-link:last-of-type{border-bottom:0}.panel-tabs{display:flex;gap:4px;padding:6px;border-bottom:1px solid var(--line-soft)}.panel-tabs button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 6px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--text-faint);font:600 .75rem/1 var(--font-ui);cursor:pointer}.panel-tabs button[aria-selected=true]{background:var(--surface-3);color:var(--text)}.gm-deck{margin-top:0;padding-top:0;border-top:0}.qlayer{position:fixed;inset:0;z-index:100;pointer-events:none}.qw{--btn-base: 104px;--size: calc(var(--btn-base) * var(--lead-k, 1) * var(--fit, 1));--c: var(--evade);--c-deep: var(--evade-deep);--glow: var(--evade-glow);position:absolute;left:0;top:0;width:calc(var(--size) + 36px);display:flex;flex-direction:column;align-items:center;gap:8px;transform:translate(var(--x, 0px),var(--y, 0px));pointer-events:none;will-change:transform}.qw[data-kind=parry]{--c: var(--parry);--c-deep: var(--parry-deep);--glow: var(--parry-glow)}.qw[data-kind=save]{--c: var(--save);--c-deep: var(--save-deep);--glow: var(--save-glow)}.qw[data-kind=counter]{--c: var(--counter);--c-deep: var(--counter-deep);--glow: var(--counter-glow)}.qw[data-kind=bf]{--c: var(--bf);--c-deep: var(--bf-deep);--glow: var(--bf-glow)}.qw[data-kind=arrows],.qw[data-kind=combo]{--c: var(--evade);--c-deep: var(--evade-deep);--glow: var(--evade-glow)}.qw[data-lead=true]{--lead-k: 1.14;z-index:2}.qw[data-lead=false]:not([data-state=done]) .qw-btn{filter:saturate(.7) brightness(.86)}.qw-in{display:contents}.qw>*{pointer-events:auto}.qw-timer{width:100%;display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--r-pill);background:#080810d1;border:1px solid rgb(255 255 255 / .12);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 6px 20px -6px #000000b3;animation:qw-in .26s var(--ease-spring) both;pointer-events:none}.qw-track{position:relative;flex:1;height:12px;border-radius:var(--r-pill);background:#ffffff1a;overflow:hidden}.qw-fill{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,var(--c-deep),var(--c));transform-origin:left center;animation:qw-drain linear both;will-change:transform}.qw-secs{min-width:34px;text-align:right;font:700 .8125rem/1 var(--font-display);color:var(--c);text-shadow:0 0 10px var(--glow)}@keyframes qw-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.qw-track.window{background:color-mix(in srgb,var(--parry) 26%,rgb(0 0 0 / .5))}.qw-spent{position:absolute;inset:0;background:#0000009e;transform-origin:left center;animation:qw-spend linear both;will-change:transform}.qw-zone{position:absolute;top:0;bottom:0;background:linear-gradient(180deg,#e9d5ff,var(--bf));box-shadow:0 0 10px var(--bf-glow);border-radius:3px;min-width:4px}.qw-cursor{position:absolute;inset:0;animation:qw-walk linear both;will-change:transform}.qw-cursor:after{content:"";position:absolute;left:0;top:-2px;bottom:-2px;width:3px;margin-left:-1px;border-radius:2px;background:#fff;box-shadow:0 0 8px #fff}@keyframes qw-spend{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes qw-walk{0%{transform:translate(0)}to{transform:translate(100%)}}.qw-btn{position:relative;width:var(--size);height:var(--size);border-radius:50%;border:0;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#fff;font:700 calc(var(--size) * .15)/1 var(--font-display);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;touch-action:manipulation;user-select:none;-webkit-user-select:none;background:radial-gradient(circle at 32% 24%,color-mix(in srgb,var(--c) 70%,#fff),var(--c) 38%,var(--c-deep));box-shadow:0 0 0 4px #ffffff29,0 0 0 8px color-mix(in srgb,var(--c) 36%,transparent),0 14px 40px -4px var(--glow),inset 0 -8px 18px #00000047,inset 0 3px 10px #ffffff59;text-shadow:0 2px 6px rgb(0 0 0 / .55);animation:qw-pop .3s var(--ease-spring) both;transition:filter var(--t-fast),transform var(--t-fast)}.qw-btn:active:not(:disabled){transform:scale(.93);filter:brightness(1.2)}.qw-btn svg{width:calc(var(--size) * .34);height:calc(var(--size) * .34);filter:drop-shadow(0 2px 4px rgb(0 0 0 / .5))}.qw-btn .kbd{position:absolute;bottom:calc(var(--size) * .1);font-size:.625rem;opacity:.85}.qw[data-lead=true] .qw-btn:after{content:"";position:absolute;inset:-6px;border-radius:50%;border:3px solid var(--c);opacity:0;animation:qw-ring 1.3s ease-out infinite;pointer-events:none}@keyframes qw-pop{0%{transform:scale(.4) rotate(-14deg);opacity:0}60%{transform:scale(1.08) rotate(2deg);opacity:1}to{transform:none;opacity:1}}@keyframes qw-in{0%{transform:translateY(8px) scale(.9);opacity:0}to{transform:none;opacity:1}}@keyframes qw-ring{0%{transform:scale(1);opacity:.85}to{transform:scale(1.5);opacity:0}}.qw-meta{display:flex;align-items:center;gap:6px;padding:3px 9px 3px 4px;border-radius:var(--r-pill);background:#080810c7;border:1px solid rgb(255 255 255 / .1);font:600 .6875rem/1 var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);pointer-events:none;white-space:nowrap}.qw-rank{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--c);color:#0b0b12;font:800 .6875rem/1 var(--font-display)}.qw[data-state=late]{--c: #6b6b82;--c-deep: #3b3b4d;--glow: transparent}.qw[data-state=late] .qw-btn,.qw[data-state=wait] .qw-btn,.qw[data-state=locked] .qw-btn{cursor:not-allowed}.qw[data-state=late] .qw-btn{filter:saturate(.2);animation:none}.qw[data-state=wait] .qw-btn{filter:saturate(.55) brightness(.8)}.qw[data-state=locked] .qw-btn{filter:saturate(.3) brightness(.75)}.qw-btn .sub{font:600 calc(var(--size) * .1)/1 var(--font-display);letter-spacing:.04em;opacity:.9;text-transform:none}.qw[data-state=done] .qw-btn{animation:none;cursor:default}.qw[data-result=ok] .qw-btn{--c: var(--ok);--c-deep: var(--evade-deep);--glow: var(--evade-glow);animation:qw-burst .5s var(--ease) both}.qw[data-result=bad] .qw-btn{--c: var(--bad);--c-deep: #be123c;--glow: var(--counter-glow);animation:shake .4s ease-in-out both}.qw[data-result=bf] .qw-btn{--c: var(--bf);--c-deep: var(--bf-deep);--glow: var(--bf-glow);animation:qw-burst .6s var(--ease) both}.qw-result{padding:5px 12px;border-radius:var(--r-pill);background:#080810db;border:1px solid var(--c);color:#fff;font:700 .8125rem/1.1 var(--font-display);letter-spacing:.05em;text-transform:uppercase;text-align:center;box-shadow:0 0 22px -4px var(--glow);animation:qw-in .26s var(--ease-spring) both;pointer-events:none}.qw-result small{display:block;font-weight:600;font-size:.6875rem;color:var(--text-dim);letter-spacing:.04em;text-transform:none;margin-top:2px}@keyframes qw-burst{0%{transform:scale(.9)}40%{transform:scale(1.18)}to{transform:scale(1)}}.qw.is-leaving{animation:qw-out .3s ease-in forwards}@keyframes qw-out{to{opacity:0;transform:translate(var(--x, 0px),calc(var(--y, 0px) - 14px)) scale(.9)}}.qw-pips{display:flex;gap:5px;justify-content:center}.qw-pips i{width:10px;height:10px;border-radius:50%;background:#ffffff2e;border:1px solid rgb(255 255 255 / .25)}.qw-pips i.done{background:var(--ok);border-color:transparent;box-shadow:0 0 8px var(--evade-glow)}.qw-pips i.now{background:var(--c);border-color:#fff;box-shadow:0 0 10px var(--glow);transform:scale(1.25)}.qw-pad{display:grid;grid-template-columns:repeat(3,calc(var(--size) * .58));grid-template-rows:repeat(3,calc(var(--size) * .58));gap:6px;animation:qw-pop .3s var(--ease-spring) both}.qw-pad button{width:100%;height:100%;border-radius:16px;border:0;background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--c) 70%,#fff),var(--c-deep));color:#fff;display:grid;place-items:center;box-shadow:0 0 0 3px #ffffff24,0 10px 26px -6px var(--glow),inset 0 2px 8px #ffffff4d;touch-action:manipulation;transition:transform var(--t-fast),filter var(--t-fast)}.qw-pad button:active:not(:disabled){transform:scale(.92);filter:brightness(1.25)}.qw-pad button:disabled{filter:saturate(.2) brightness(.7);cursor:not-allowed}.qw-pad button svg{width:46%;height:46%}.qw-pad .up{grid-area:1 / 2}.qw-pad .left{grid-area:2 / 1}.qw-pad .right{grid-area:2 / 3}.qw-pad .down{grid-area:3 / 2}.qw-pad .shown{grid-area:2 / 2;display:grid;place-items:center;border-radius:50%;background:#080810db;border:2px dashed var(--c);color:var(--c)}.qw-pad .shown svg{width:55%;height:55%}.qw-hint{max-width:220px;text-align:center;font:600 .75rem/1.25 var(--font-ui);color:#fff;padding:4px 10px;border-radius:var(--r-md);background:#080810c7;pointer-events:none}.qw-alt{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 14px;border-radius:var(--r-pill);border:1px solid color-mix(in srgb,var(--evade) 60%,transparent);background:#080810db;color:var(--evade);font:700 .75rem/1 var(--font-display);letter-spacing:.06em;text-transform:uppercase;touch-action:manipulation}.qw-alt:active{transform:scale(.95)}.rescue-dock{position:fixed;z-index:101;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:0 12px;pointer-events:none}.rescue-chip{position:relative;pointer-events:auto;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:5px 14px 5px 6px;border-radius:var(--r-pill);overflow:hidden;background:#080810db;border:1px solid color-mix(in srgb,var(--save) 55%,transparent);color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 8px 26px -8px var(--save-glow);animation:qw-in .26s var(--ease-spring) both;touch-action:manipulation;font-weight:700}.rescue-chip:hover:not(:disabled){border-color:var(--save)}.rescue-chip:active:not(:disabled){transform:scale(.96)}.rescue-chip:disabled{opacity:.55;cursor:not-allowed;border-color:var(--line);box-shadow:none}.rescue-chip .r-txt{display:flex;flex-direction:column;gap:2px;text-align:left}.rescue-chip .r-txt b{font:700 .8125rem/1 var(--font-display);letter-spacing:.03em;text-transform:uppercase}.rescue-chip .r-txt small{font:600 .6875rem/1 var(--font-display);color:var(--save)}.rescue-chip .r-bar{position:absolute;left:0;right:0;bottom:0;height:3px;background:#ffffff14}.rescue-chip .r-bar i{position:absolute;inset:0;background:var(--save);transform-origin:left;animation:qw-drain linear both}.rescue-chip.ok{border-color:var(--ok)}.rescue-chip.bad{border-color:var(--bad)}.qqueue{position:fixed;right:14px;top:calc(var(--topbar-h) + 14px);z-index:101;padding:6px 12px;border-radius:var(--r-pill);background:#080810db;border:1px solid var(--parry);font:700 .75rem/1 var(--font-display);letter-spacing:.06em;color:var(--parry);text-transform:uppercase}@media(max-width:720px){.qw{--btn-base: 94px}}@media(pointer:coarse){.qw{--btn-base: 108px}.rescue-chip{min-height:48px}}.qte-preview{display:flex;flex-wrap:wrap;gap:var(--sp-5);justify-content:center;padding:var(--sp-5) var(--sp-3);border-radius:var(--r-lg);background:radial-gradient(400px 160px at 50% 0%,rgb(139 92 246 / .12),transparent 70%),var(--bg-2);border:1px solid var(--line-soft)}.qw.static{position:relative;transform:none;--size: calc(var(--btn-base) * var(--btn-scale))}.qw.static .qw-btn{animation:none}.qw.static .qw-timer,.qw.static>*{pointer-events:none}.center-text{text-align:center}.rtt-bars{display:flex;align-items:flex-end;gap:4px;height:96px;padding:8px;border-radius:var(--r-md);background:var(--bg-2);border:1px solid var(--line-soft)}.rtt-bars i{flex:1;min-width:4px;border-radius:3px 3px 0 0;background:var(--surface-4);transition:height var(--t-med) var(--ease),background var(--t-fast)}.rtt-bars i[data-q=great]{background:var(--ok)}.rtt-bars i[data-q=fair]{background:var(--warn)}.rtt-bars i[data-q=poor],.rtt-bars i[data-q=lost]{background:var(--bad)}.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:var(--sp-2)}.metrics>div{display:flex;flex-direction:column;gap:4px;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line-soft)}.metrics span{font:600 .6875rem/1 var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.metrics b{font:700 1.25rem/1.1 var(--font-display)}.tap-stage{display:flex;flex-direction:column;align-items:center;gap:var(--sp-5);padding:var(--sp-6) 0}.tap-target{position:relative;width:min(60vw,240px);height:min(60vw,240px);border-radius:50%;border:3px solid var(--line);background:radial-gradient(circle at 35% 28%,var(--surface-4),var(--surface-2));color:var(--text-dim);display:grid;place-items:center;touch-action:manipulation;user-select:none;-webkit-user-select:none;transition:background 40ms linear,border-color 40ms linear,transform 80ms}.tap-target[data-lit="1"]{background:radial-gradient(circle at 35% 28%,#fff,var(--parry));border-color:#fff;color:#1a1205;box-shadow:0 0 60px var(--parry-glow)}.tap-target[data-tapped="1"]{transform:scale(.96)}.tap-target .ring{position:absolute;inset:-4px;border-radius:50%;border:3px solid var(--parry);opacity:0;animation:tap-ring .7s ease-out}@keyframes tap-ring{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}.tut{position:fixed;inset:0;z-index:90;pointer-events:none}.tut-dim{position:absolute;inset:0;background:#05050c80}.tut-spot{position:absolute;border-radius:var(--r-lg);box-shadow:0 0 0 9999px #05050c9e,0 0 0 2px var(--primary-2),0 0 28px 4px var(--primary-glow);transition:left var(--t-slow) var(--ease),top var(--t-slow) var(--ease),width var(--t-slow) var(--ease),height var(--t-slow) var(--ease)}.tut-card{position:absolute;left:50%;bottom:calc(var(--safe-bottom) + 16px);transform:translate(-50%);width:min(520px,calc(100vw - 24px));pointer-events:auto;display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-xl);background:var(--surface-2);border:1px solid var(--line);box-shadow:var(--shadow-3);animation:rise var(--t-med) var(--ease)}.tut[data-step=chat] .tut-card,.tut[data-step=write] .tut-card{bottom:auto;top:calc(var(--topbar-h) + 14px)}.tut-head{display:flex;align-items:center;gap:var(--sp-2)}.tut-progress{height:4px;border-radius:4px;background:var(--surface-4);overflow:hidden}.tut-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#ec4899);transition:width var(--t-slow) var(--ease)}.tut-card h2{font:700 1.25rem/1.2 var(--font-display);letter-spacing:.02em}.tut-card p{color:var(--text-dim);font-size:.9375rem;line-height:1.5}.tut-verdict{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface);border:1px dashed var(--line);color:var(--text-dim);font-size:.875rem}.tut-verdict.ok{border:1px solid var(--ok);color:var(--text);background:color-mix(in srgb,var(--ok) 14%,var(--surface))}.tut-verdict.bad{border:1px solid var(--bad);color:var(--text);background:color-mix(in srgb,var(--bad) 14%,var(--surface))}.tut-actions{display:flex;justify-content:space-between;gap:var(--sp-2)}.spin-icon{animation:spin 1s linear infinite;color:var(--primary-2)}.chiprow{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.chipbtn{padding:8px 14px;border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface-2);color:var(--text-dim);font:600 .8125rem/1 var(--font-ui);cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.chipbtn:hover{background:var(--surface-3);color:var(--text)}.chipbtn[aria-pressed=true]{background:color-mix(in srgb,var(--primary) 26%,var(--surface-2));border-color:var(--primary-2);color:var(--text)}.bar-thin{height:6px;border-radius:3px;background:var(--surface-4);overflow:hidden}.bar-thin>i{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--primary-2));transition:width var(--t-med) var(--ease)}.dots{display:flex;flex-wrap:wrap;gap:4px;min-height:10px}.dots i{width:10px;height:10px;border-radius:50%;background:var(--bad)}.dots i[data-ok="1"]{background:var(--ok)}.brk{padding:4px 0;border-bottom:1px solid var(--line-soft)}.brk:last-child{border-bottom:0}.wrap{flex-wrap:wrap}.big{font:700 1.75rem/1 var(--font-display)}.big small{font-size:1rem;color:var(--text-faint);font-weight:600}.dash-page{overflow:hidden}.dash{flex:1;min-height:0;display:grid;grid-template-columns:188px minmax(0,1fr)}.dash-nav{display:flex;flex-direction:column;gap:4px;padding:var(--sp-3);overflow-y:auto;background:var(--surface-2);border-right:1px solid var(--line-soft)}.dash-tab{position:relative;display:flex;align-items:center;gap:10px;min-height:42px;padding:0 var(--sp-3);border:0;border-radius:var(--r-md);background:transparent;color:var(--text-dim);font-weight:600;font-size:.875rem;text-align:left;white-space:nowrap;transition:background var(--t-fast),color var(--t-fast)}.dash-tab:hover{background:var(--surface-3);color:var(--text)}.dash-tab[aria-selected=true]{background:var(--surface-4);color:var(--text);box-shadow:inset 3px 0 0 var(--primary-2)}.dash-tab svg{flex:none}.dash-body{min-height:0;overflow-y:auto;padding:var(--sp-4);scroll-behavior:smooth}.dash-col{display:flex;flex-direction:column;gap:var(--sp-4);max-width:980px;margin:0 auto;width:100%;animation:rise var(--t-med) var(--ease)}@media(max-width:720px){.dash{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr)}.dash-nav{flex-direction:row;overflow-x:auto;overflow-y:hidden;border-right:0;border-bottom:1px solid var(--line-soft);padding:var(--sp-2);gap:4px;scrollbar-width:none}.dash-nav::-webkit-scrollbar{display:none}.dash-tab{flex:none;min-height:40px;padding:0 var(--sp-3)}.dash-tab[aria-selected=true]{box-shadow:inset 0 -3px 0 var(--primary-2)}.dash-body{padding:var(--sp-3)}}.empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:var(--sp-6) var(--sp-4);text-align:center;border:1px dashed var(--line);border-radius:var(--r-lg);color:var(--text-dim)}.empty-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:var(--surface-3);color:var(--text-faint)}.empty strong{font:700 1rem/1.2 var(--font-display);color:var(--text)}.empty p{max-width:44ch;font-size:.875rem;line-height:1.45}.empty.error .empty-icon{color:var(--bad)}.dash-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:var(--sp-6);color:var(--text-dim)}.confirm-pair{display:inline-flex;gap:4px}.choice{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 var(--sp-3);border-radius:var(--r-pill);border:1px solid var(--line);background:var(--surface);color:var(--text-dim);font-weight:600;font-size:.8125rem;max-width:100%;touch-action:manipulation;transition:background var(--t-fast),border-color var(--t-fast),color var(--t-fast)}.choice:hover:not(:disabled){color:var(--text);border-color:var(--text-faint)}.choice[aria-pressed=true]{background:color-mix(in srgb,var(--primary) 26%,var(--surface));border-color:var(--primary-2);color:var(--text)}.choice:disabled{opacity:.5;cursor:not-allowed}.points-orb{width:46px;height:46px;flex:none;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 35% 30%,var(--primary-2),var(--primary-deep));color:#fff;box-shadow:0 6px 22px -6px var(--primary-glow)}.hero{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-4);padding:var(--sp-4);border-radius:var(--r-xl);border:1px solid var(--line);background:radial-gradient(520px 180px at 0% 0%,rgb(139 92 246 / .28),transparent 70%),radial-gradient(420px 160px at 100% 100%,rgb(251 113 133 / .12),transparent 70%),linear-gradient(160deg,var(--surface-3),var(--surface-2))}.hero-main{flex:1;min-width:200px;display:flex;flex-direction:column;gap:8px}.hero-main h2{font:700 1.5rem/1.1 var(--font-display);letter-spacing:.02em;overflow-wrap:anywhere}.hero-active{display:flex;align-items:center;gap:10px;font-size:.8125rem;color:var(--text-dim)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-3)}.stat-grid.small{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.stat{display:flex;flex-direction:column;gap:6px;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--line-soft);min-width:0}.stat-label{display:inline-flex;align-items:center;gap:6px;font:600 .6875rem/1 var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.stat b{font:700 1.75rem/1.05 var(--font-display);overflow-wrap:anywhere}.stat small{color:var(--text-dim);font-size:.75rem;line-height:1.3}.stat.tone-ok b{color:var(--ok)}.stat.tone-bf b{color:var(--bf)}.stat.tone-warn b{color:var(--warn)}.stat-grid.small .stat{padding:var(--sp-2) var(--sp-3)}.stat-grid.small .stat b{font-size:1.25rem}.charge-head{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}.charge-pct{font:700 .875rem/1 var(--font-display)}.charge-row[data-ready="1"] .charge-pct{color:var(--charge-hi);text-shadow:0 0 12px var(--primary-glow)}.chart svg{display:block;width:100%;height:120px;border-radius:var(--r-md);background:var(--bg-2);border:1px solid var(--line-soft)}.chart-legend{display:flex;justify-content:space-between;gap:8px;margin-top:6px;font-size:.75rem;color:var(--text-faint)}.shortcuts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-3)}.shortcut{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--line-soft);color:var(--text);text-align:left;transition:transform var(--t-med) var(--ease),border-color var(--t-fast)}.shortcut:hover{border-color:var(--primary-2);transform:translateY(-2px)}.shortcut svg{color:var(--primary-2)}.shortcut b{font:700 1.5rem/1 var(--font-display)}.shortcut b small{font-size:.875rem;color:var(--text-faint)}.shortcut>span{font-weight:600;font-size:.875rem}.shortcut>small{color:var(--text-faint);font-size:.75rem}.shortcut .bar{width:100%;margin-top:4px}.rank-chip{cursor:pointer}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(270px,100%),1fr));gap:var(--sp-3)}.cards.wide{grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr))}.ach{position:relative;display:flex;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--line-soft);min-width:0}.ach-icon{width:44px;height:44px;flex:none;display:grid;place-items:center;border-radius:14px;background:var(--surface-4);font-size:1.4rem;color:var(--text-faint)}.ach-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:6px}.ach-main strong{font:700 .9375rem/1.2 var(--font-display);padding-right:22px}.ach-main p{color:var(--text-dim);font-size:.8125rem;line-height:1.4}.ach[data-state=done]{border-color:color-mix(in srgb,var(--ok) 45%,var(--line-soft));background:linear-gradient(160deg,color-mix(in srgb,var(--ok) 11%,var(--surface-2)),var(--surface-2))}.ach[data-state=done] .ach-icon{background:color-mix(in srgb,var(--ok) 22%,var(--surface-3))}.ach[data-state=locked] .ach-icon{filter:grayscale(1);opacity:.75}.ach[data-state=secret]{border-style:dashed}.ach[data-state=secret] .ach-main strong{letter-spacing:.3em;color:var(--text-faint)}.ach-check{position:absolute;top:12px;right:12px;color:var(--ok)}.ach-progress{display:flex;align-items:center;gap:8px}.ach-progress .bar{flex:1}.ach-progress span{font:600 .6875rem/1 var(--font-display);color:var(--text-dim)}.ach-cat-title{display:flex;align-items:center;gap:8px;margin:var(--sp-2) 0 var(--sp-3);font:700 .9375rem/1 var(--font-display);letter-spacing:.04em}.ach-cat-title:before{content:"";width:4px;height:18px;border-radius:3px;background:var(--cat, var(--primary))}.ach-cat-title small{margin-left:auto;color:var(--text-faint);font-weight:500}.domain{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:var(--surface-3);border:1px solid var(--line-soft)}.domain>.row{width:100%}.domain.is-active{border-color:var(--primary-2);box-shadow:0 0 0 1px var(--primary-2),0 10px 30px -14px var(--primary-glow)}.domain p{color:var(--text-dim);font-size:.8125rem;line-height:1.4}.char{border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--line-soft);overflow:hidden}.char-head{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);background:var(--surface-3);border-bottom:1px solid var(--line-soft)}.powers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:var(--sp-3);padding:var(--sp-3)}.power{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line-soft);min-width:0}.power.empty{border-style:dashed}.power-head{display:flex;align-items:center;gap:6px;color:var(--text-faint);font:600 .6875rem/1 var(--font-display);letter-spacing:.1em;text-transform:uppercase}.power-title{display:flex;align-items:center;gap:10px}.power-thumb{width:36px;height:36px;border-radius:8px;object-fit:cover;flex:none}.power p{color:var(--text-dim);font-size:.8125rem;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere}.power-preview{display:block;margin-top:8px;max-height:140px;max-width:100%;border-radius:var(--r-md);object-fit:contain;background:var(--bg-2)}.suggest{display:flex;flex-direction:column;gap:6px;margin-top:var(--sp-3)}.steps{margin:0;padding-left:1.2em;display:flex;flex-direction:column;gap:4px;font-size:.8125rem;line-height:1.45}.tupper-error{display:flex;align-items:center;gap:6px;color:var(--bad);font-size:.8125rem}.tupper-search{display:flex;align-items:center;gap:8px}.tupper-search .input{flex:1}.tupper-list{display:flex;flex-direction:column;max-height:min(44vh,360px);overflow:auto;border-radius:var(--r-md);border:1px solid var(--line-soft);background:var(--surface)}.tupper-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--line-soft);min-height:44px;cursor:pointer}.tupper-row:last-child{border-bottom:0}.tupper-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-2);flex:none}.tupper-row input:disabled+*{opacity:.55}.branches{display:flex;flex-direction:column;gap:var(--sp-4)}.branch{--branch: var(--primary);border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--line-soft);overflow:hidden}.branch-head{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line-soft);background:linear-gradient(90deg,color-mix(in srgb,var(--branch) 22%,var(--surface-3)),var(--surface-3))}.branch-head small{display:block;color:var(--text-dim);font-size:.75rem}.branch-icon{font-size:1.4rem}.skill-tree{position:relative;display:flex;flex-direction:column;gap:var(--sp-5);padding:var(--sp-4) var(--sp-3)}.skill-row{position:relative;z-index:1;display:flex;justify-content:center;flex-wrap:wrap;gap:var(--sp-3)}.skill-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.skill-lines path{stroke:var(--line);stroke-width:2;stroke-dasharray:4 5}.skill-lines path.met{stroke:var(--branch);stroke-dasharray:none;opacity:.85}.skill{position:relative;width:min(200px,100%);display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:var(--sp-3);border-radius:var(--r-md);text-align:left;background:var(--surface);border:1px solid var(--line);color:var(--text);touch-action:manipulation;transition:transform var(--t-med) var(--ease),border-color var(--t-fast),box-shadow var(--t-med),opacity var(--t-fast)}.skill strong{font:700 .875rem/1.2 var(--font-display);padding-right:18px}.skill small{color:var(--text-dim);font-size:.75rem;line-height:1.3}.skill:hover{transform:translateY(-2px);border-color:var(--branch)}.skill[data-state=available]{border-color:var(--branch);box-shadow:0 8px 24px -14px var(--branch)}.skill[data-state=maxed]{background:color-mix(in srgb,var(--branch) 18%,var(--surface));border-color:var(--branch)}.skill[data-state=locked]{opacity:.55}.skill[data-state=poor]{opacity:.88}.skill-state{position:absolute;top:9px;right:9px;color:var(--text-faint);display:grid}.skill[data-state=maxed] .skill-state{color:var(--branch)}.pips{display:flex;gap:3px;margin-top:4px}.pips i{width:14px;height:5px;border-radius:3px;background:var(--surface-4)}.pips i.on{background:var(--branch);box-shadow:0 0 8px var(--branch)}.need{display:inline-flex;align-items:center;gap:6px;color:var(--text-dim);font-size:.875rem}.need.met{color:var(--ok)}.obj{--rarity: #9ca3af;--rarity-kind: #9ca3af;display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-4);border-radius:var(--r-lg);min-width:0;background:linear-gradient(160deg,color-mix(in srgb,var(--rarity) 14%,var(--surface-2)),var(--surface-2));border:1px solid color-mix(in srgb,var(--rarity) 55%,var(--line-soft));box-shadow:0 14px 40px -26px var(--rarity)}.obj-head{display:flex;gap:var(--sp-3)}.obj-icon{width:56px;height:56px;flex:none;display:grid;place-items:center;border-radius:16px;background:color-mix(in srgb,var(--rarity) 22%,var(--surface-3));font-size:1.9rem;overflow:hidden}.obj-icon img{width:100%;height:100%;object-fit:cover}.rarity-pill{color:var(--rarity-kind);border-color:color-mix(in srgb,var(--rarity-kind) 50%,transparent)}.obj p{color:var(--text-dim);font-size:.875rem;line-height:1.45}.obj .lore{font-style:italic;color:var(--text-faint);border-left:2px solid var(--rarity);padding-left:var(--sp-3)}.tracks{display:flex;flex-direction:column;gap:var(--sp-2)}.track{display:flex;flex-direction:column;gap:6px;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line-soft)}.track-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.track-head strong{font-size:.8125rem}.track-head .num{margin-left:auto;color:var(--text-dim);font-size:.8125rem}.steps summary{cursor:pointer;font-size:.75rem;color:var(--text-faint)}.steps ul{display:flex;flex-direction:column;gap:4px;padding-top:6px}.steps li{display:flex;align-items:baseline;gap:8px;font-size:.8125rem;color:var(--text-dim)}.steps li[data-done="1"]{color:var(--text)}.step-mark{width:16px;display:inline-grid;place-items:center;color:var(--text-faint);flex:none}.steps li[data-done="1"] .step-mark{color:var(--ok)}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(180px,100%),1fr));gap:var(--sp-3)}.shot{position:relative;margin:0;aspect-ratio:1 / 1;border-radius:var(--r-lg);overflow:hidden;background:var(--bg-2);border:1px solid var(--line-soft)}.shot img{display:block;width:100%;height:100%;object-fit:cover}.shot figcaption{position:absolute;inset:auto 0 0;display:flex;align-items:center;justify-content:space-between;padding:6px 8px;background:linear-gradient(0deg,rgb(0 0 0 / .72),transparent);color:#fff}.shot .icon-btn{width:34px;height:34px;background:#00000073;color:#fff}.shot .icon-btn:hover:not(:disabled){background:var(--bad)}.podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:var(--sp-3);padding-top:var(--sp-4)}.podium-step{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--sp-3) var(--sp-2);border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--surface-2);border:1px solid var(--line-soft);border-bottom:0;text-align:center;min-width:0}.podium-step.p1{min-height:190px;background:linear-gradient(180deg,color-mix(in srgb,#fbbf24 22%,var(--surface-2)),var(--surface-2));border-color:color-mix(in srgb,#fbbf24 45%,var(--line-soft))}.podium-step.p2{min-height:160px}.podium-step.p3{min-height:140px}.podium-step strong{max-width:100%;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podium-step b{font:700 1.125rem/1 var(--font-display)}.podium-step .step{font-size:1.6rem;line-height:1}.podium-step.is-me{box-shadow:0 0 0 2px var(--primary-2)}.board{display:flex;flex-direction:column;gap:4px}.board-row{display:flex;align-items:center;gap:var(--sp-3);padding:8px var(--sp-3);border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line-soft)}.board-row.is-me{border-color:var(--primary-2);background:color-mix(in srgb,var(--primary) 14%,var(--surface-2))}.board-row .place{width:28px;text-align:center;font:700 .9375rem/1 var(--font-display);color:var(--text-dim)}.board-row em{color:var(--text-faint);font-style:normal;font-size:.75rem}.board-me{display:flex;flex-direction:column;gap:6px;padding-top:var(--sp-3);border-top:1px dashed var(--line)}.bar.mt{margin-top:var(--sp-3)}.gm-card{display:flex;flex-direction:column}.gm-hint{font-size:.8125rem;line-height:1.4}.gm-card>.gm-hint{margin:calc(-1 * var(--sp-2)) 0 var(--sp-3)}.gm-sub{margin:var(--sp-2) 0 var(--sp-2);font:700 .75rem/1 var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint)}.gm-section{margin:var(--sp-4) 0 0;font:700 1.0625rem/1.2 var(--font-display);letter-spacing:.02em}.gm-warn{padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:color-mix(in srgb,var(--warn) 14%,var(--surface));border:1px solid color-mix(in srgb,var(--warn) 50%,var(--line-soft));color:var(--text);font-size:.8125rem;line-height:1.4}.gm-ok{color:var(--text-dim);font-size:.8125rem;line-height:1.4}.gm-errors{display:flex;flex-direction:column;gap:4px;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:color-mix(in srgb,var(--bad) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--bad) 40%,var(--line-soft));font-size:.8125rem;line-height:1.35;list-style:none}.gm-errors li:before{content:"\2022  ";color:var(--bad)}.gm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:var(--sp-3);align-items:start}.gm-chips{gap:6px}.num-input{position:relative;display:block;width:100%}.num-input .input{padding-right:38px}.num-input i{position:absolute;right:12px;top:50%;transform:translateY(-50%);font:600 .75rem/1 var(--font-display);color:var(--text-faint);font-style:normal;pointer-events:none}.num-input .input:not(:placeholder-shown){text-align:right}.gm-launch-go{display:flex;align-items:flex-end}.gm-launch-go .btn{width:100%}.gm-weights{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:var(--sp-3);transition:opacity var(--t-med)}.gm-weights[data-disabled="1"]{opacity:.45}.gm-queue{min-height:32px;gap:6px}.gm-search{position:relative;display:block;min-width:180px}.gm-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-faint);pointer-events:none}.gm-search .input{padding-left:36px}.gm-sections{align-self:flex-start}.gm-code{min-height:min(52dvh,460px);font:400 .8125rem/1.5 var(--font-mono);tab-size:2;white-space:pre;overflow:auto;background:var(--bg-2);border-color:var(--line-soft)}.gm-boss-line{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--line-soft);min-height:56px}.gm-boss-line>svg{color:var(--boss);flex:none}.gm-boss-line .bar{min-width:120px}.gm-boss{display:flex;gap:var(--sp-4);align-items:flex-start}.gm-boss-pic{width:112px;height:112px;flex:none;border-radius:var(--r-lg);object-fit:cover;background:var(--bg-2);border:1px solid var(--line-soft)}.gm-list{display:flex;flex-direction:column;gap:6px}.gm-item{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line-soft);min-width:0}.gm-item .grow{min-width:0;overflow-wrap:anywhere}.gm-item code{font:500 .75rem/1 var(--font-mono)}.gm-icon{min-width:36px;max-width:84px;height:36px;padding:0 6px;flex:none;display:grid;place-items:center;border-radius:10px;background:var(--surface-3);font-size:1.1rem;line-height:1;white-space:nowrap;overflow:hidden}.gm-thumb{width:40px;height:40px;flex:none;border-radius:10px;object-fit:cover;background:var(--bg-2)}.gm-thumb-empty{display:grid;place-items:center;color:var(--text-faint);background:var(--surface-3)}.gm-gallery{grid-template-columns:repeat(auto-fill,minmax(min(120px,100%),1fr))}.gm-rarity{width:6px;align-self:stretch;flex:none;border-radius:4px;background:var(--rarity, var(--text-faint))}.gm-pending{align-items:flex-start}.gm-players{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:var(--sp-3)}.gm-player{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);text-align:left;min-width:0;background:var(--surface-2);border:1px solid var(--line-soft);color:var(--text);touch-action:manipulation;transition:transform var(--t-med) var(--ease),border-color var(--t-fast),background var(--t-fast)}.gm-player:hover{transform:translateY(-2px);border-color:var(--primary-2);background:var(--surface-3)}.gm-player[data-online="0"] .avatar{filter:grayscale(.5);opacity:.85}.gm-player-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.gm-player-main strong{font:700 .9375rem/1.2 var(--font-display)}.gm-hero .avatar{box-shadow:0 0 0 3px var(--surface-2),0 0 0 5px var(--primary-2)}.gm-objs{display:flex;flex-direction:column;gap:var(--sp-3)}.gm-obj{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:linear-gradient(160deg,color-mix(in srgb,var(--rarity, #9ca3af) 12%,var(--surface)),var(--surface));border:1px solid color-mix(in srgb,var(--rarity, #9ca3af) 45%,var(--line-soft))}.gm-obj-icon{width:40px;height:40px;flex:none;display:grid;place-items:center;border-radius:12px;background:color-mix(in srgb,var(--rarity, #9ca3af) 22%,var(--surface-3));font-size:1.4rem}.gm-spins{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:var(--sp-2)}.gm-value{flex-wrap:wrap}.gm-value .num-input{flex:none;width:150px}.gm-log{display:flex;flex-direction:column;border-radius:var(--r-lg);background:var(--surface-2);border:1px solid var(--line-soft);overflow:hidden}.gm-log-item{display:flex;align-items:baseline;gap:var(--sp-3);padding:9px var(--sp-4);border-bottom:1px solid var(--line-soft);font-size:.875rem;line-height:1.4}.gm-log-item:last-child{border-bottom:0}.gm-log-item time{flex:none;width:66px;font-size:.75rem}.gm-log-item b{flex:none;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--primary-2);font-weight:600}.gm-log-item .grow{color:var(--text-dim);overflow-wrap:anywhere}@media(max-width:720px){.gm-boss{flex-direction:column}.gm-boss-pic{width:100%;height:160px}.gm-value .num-input{width:100%}.gm-log-item{flex-wrap:wrap;gap:4px var(--sp-3)}.gm-log-item .grow{flex-basis:100%}}.gm-now{display:flex;flex-direction:column;gap:var(--sp-2);padding:var(--sp-3);margin-bottom:var(--sp-3);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line-soft)}.gm-pads{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:8px}.sound-pad{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;border-radius:var(--r-md);background:var(--surface-3);border:1px solid var(--line);color:var(--text);font-weight:600;font-size:.8125rem;text-align:left;touch-action:manipulation}.sound-pad:hover:not(:disabled){border-color:var(--primary-2);background:color-mix(in srgb,var(--primary) 14%,var(--surface-3))}.sound-pad:active:not(:disabled){transform:scale(.97)}.sound-pad.is-on{border-color:var(--ok);box-shadow:0 0 0 1px var(--ok)}.sound-pad:disabled{opacity:.55}.gm-cue-group+.gm-cue-group{margin-top:var(--sp-3)}.gm-cue{display:grid;grid-template-columns:minmax(150px,1.2fr) minmax(130px,1fr) minmax(90px,.7fr) minmax(120px,.8fr) auto auto;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line-soft)}.gm-cue .info strong{font-size:.8125rem}.gm-cue .select{min-width:0}.gm-sounds{display:flex;flex-direction:column;margin-top:var(--sp-3)}.gm-sound{display:grid;grid-template-columns:minmax(130px,1.3fr) minmax(90px,.6fr) minmax(80px,.8fr) auto auto auto auto auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line-soft)}.gm-check{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;color:var(--text-dim);white-space:nowrap}@media(max-width:720px){.gm-cue{grid-template-columns:1fr 1fr}.gm-cue .info{grid-column:1 / -1}.gm-sound{grid-template-columns:1fr 1fr}.gm-sound>input.input{grid-column:1 / -1}}.cine-item{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--line-soft)}.cine-item .info{flex:1 1 200px;display:flex;flex-direction:column;gap:4px;min-width:0}.cine-item.is-running{background:color-mix(in srgb,var(--ok) 8%,transparent)}.cine-step{padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line-soft);border-left:3px solid var(--step, var(--primary-2));display:flex;flex-direction:column;gap:10px}.cine-step.t-text{--step: #7dd3fc}.cine-step.t-audio{--step: #34d399}.cine-step.t-image{--step: #fbbf24}.cine-step.t-scene{--step: #c084fc}.cine-step.t-effect{--step: #fb7185}.cine-step.t-post{--step: #94a3b8}.cine-step-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cine-step-icon{color:var(--step);display:inline-flex}.cine-at{display:inline-flex;align-items:center;gap:6px;color:var(--text-dim);font-size:.8125rem}.cine-thumb{width:44px;height:44px;border-radius:8px;object-fit:cover;background:var(--bg-2);flex:none}.cine-thumb.empty{display:inline-grid;place-items:center;color:var(--text-faint);border:1px dashed var(--line)}.cine-timeline{padding:6px 2px 0}.cine-track{position:relative;height:22px;border-radius:6px;background:var(--surface);border:1px solid var(--line-soft);overflow:hidden}.cine-mark{position:absolute;top:3px;bottom:3px;min-width:6px;border-radius:3px;background:var(--step, var(--primary-2));opacity:.85}.cine-mark.t-text{--step: #7dd3fc}.cine-mark.t-audio{--step: #34d399}.cine-mark.t-image{--step: #fbbf24}.cine-mark.t-scene{--step: #c084fc}.cine-mark.t-effect{--step: #fb7185}.cine-mark.t-post{--step: #94a3b8}.cine-scale{display:flex;justify-content:space-between;font-size:.6875rem;margin-top:2px}.gm-fx-row{border-bottom:1px solid var(--line-soft);padding:var(--sp-2) 0}.gm-fx-row:last-child{border-bottom:0}.gm-fx-head{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.gm-fx-head .info{flex:1 1 180px;min-width:0;display:flex;flex-direction:column;gap:2px}.gm-fx-sum{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--text-dim)}.fx-dot{width:10px;height:10px;border-radius:50%;flex:none}.fx-editor{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-3);margin-top:var(--sp-2);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line-soft)}.fx-presets{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.fx-preset{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);color:var(--text-dim);font:600 .8125rem/1 var(--font-ui);cursor:pointer}.fx-preset i{width:12px;height:12px;border-radius:50%}.fx-preset[aria-pressed=true]{border-color:var(--primary-2);background:color-mix(in srgb,var(--primary) 24%,var(--surface-2));color:var(--text)}.fx-hint{margin:0}.fx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--sp-3);align-items:end}.save-state{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--text-faint)}.save-state.ok{color:var(--ok)}.save-state.warn{color:var(--warn)}.save-state.bad{color:var(--bad)}.cine-timeline{display:flex;flex-direction:column;gap:4px;padding:0}.tl-ruler{position:relative;height:18px;margin-left:112px;font-size:.6875rem;color:var(--text-faint)}.tl-ruler span{position:absolute;transform:translate(-50%)}.tl-ruler span:first-child{transform:none}.tl-lane{display:flex;align-items:stretch;gap:8px}.tl-label{flex:none;width:104px;display:flex;align-items:center;font-size:.75rem;color:var(--text-dim)}.tl-track{position:relative;flex:1;min-width:0;height:34px;border-radius:6px;background:var(--surface);border:1px solid var(--line-soft);overflow:hidden;cursor:crosshair}.tl-block{position:absolute;top:3px;bottom:3px;min-width:28px;max-width:60%;display:inline-flex;align-items:center;gap:5px;padding:0 7px;border:1px solid transparent;border-radius:5px;background:color-mix(in srgb,var(--step) 70%,var(--surface));color:#0b0b14;font:600 .6875rem/1 var(--font-ui);cursor:grab;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.tl-block span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tl-block.on{border-color:#fff;box-shadow:0 0 0 2px var(--step);z-index:2}.tl-block:active{cursor:grabbing}.tl-block.t-text{--step: #7dd3fc}.tl-block.t-audio{--step: #34d399}.tl-block.t-image{--step: #fbbf24}.tl-block.t-scene{--step: #c084fc}.tl-block.t-effect,.tl-block.t-vfx{--step: #fb7185}.tl-block.t-post{--step: #94a3b8}.tl-cursor{position:absolute;top:0;bottom:0;width:2px;background:var(--primary-2);opacity:.8;pointer-events:none}.cine-add{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:var(--sp-3)}.cine-row{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:0;border-left:3px solid var(--step, var(--primary-2));border-radius:6px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.cine-row:hover{background:var(--surface-2)}.cine-row.on{background:var(--surface-3)}.cine-row .ellipsis{min-width:0;flex:1}.cine-row-at{min-width:3.4em;color:var(--text-dim)}.cine-row.t-text{--step: #7dd3fc}.cine-row.t-audio{--step: #34d399}.cine-row.t-image{--step: #fbbf24}.cine-row.t-scene{--step: #c084fc}.cine-row.t-effect,.cine-row.t-vfx{--step: #fb7185}.cine-row.t-post{--step: #94a3b8}.cine-step.t-vfx{--step: #fb7185}.cine-settings summary{cursor:pointer;color:var(--text-dim);font-size:.8125rem}@media(max-width:560px){.tl-label{width:64px;font-size:.6875rem}.tl-ruler{margin-left:72px}}.gm-links{display:flex;flex-direction:column;gap:var(--sp-3)}.gm-link{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--sp-2) var(--sp-3);padding:var(--sp-3);border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line-soft)}.gm-link-title{grid-column:1 / -1}
