@font-face{font-family:Albert Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/albert-sans-latin-ext-400-normal-CK6y59xR.woff2)format("woff2"),url(/assets/albert-sans-latin-ext-400-normal-DEC9K0b4.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Albert Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/albert-sans-latin-400-normal-1PQZqV1o.woff2)format("woff2"),url(/assets/albert-sans-latin-400-normal-CesMP4Nj.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Albert Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/albert-sans-latin-ext-500-normal-DRBq3jn_.woff2)format("woff2"),url(/assets/albert-sans-latin-ext-500-normal-BELBd-5-.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Albert Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/albert-sans-latin-500-normal-CmxtX9KC.woff2)format("woff2"),url(/assets/albert-sans-latin-500-normal-CItXc8sT.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Albert Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/albert-sans-latin-ext-600-normal-C7nfSnWt.woff2)format("woff2"),url(/assets/albert-sans-latin-ext-600-normal-DJOKJsr0.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Albert Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/albert-sans-latin-600-normal-C_5W882s.woff2)format("woff2"),url(/assets/albert-sans-latin-600-normal-gYdudiP1.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Albert Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/albert-sans-latin-ext-700-normal-B2w8H_Iv.woff2)format("woff2"),url(/assets/albert-sans-latin-ext-700-normal-BWgSUrqX.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Albert Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/albert-sans-latin-700-normal-DzMU317f.woff2)format("woff2"),url(/assets/albert-sans-latin-700-normal-CZU4hHRi.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box;margin:0;padding:0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}::-webkit-scrollbar-corner{background:0 0}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#15171c;--surface:#1b1e24;--surface-2:#20232a;--surface-3:#262932;--border:#2b2d33;--border-light:#3a3d45;--accent:#c9b178;--accent-hover:#ddc890;--accent-dim:#c9b17824;--text:#e8e6df;--text-muted:#8c8f99;--text-dim:#5b5e66;--green:#4ade80;--red:#f87171;--yellow:#fbbf24;--cyan:#22d3ee;--orange:#fb923c;--font-body:"Albert Sans", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:"IBM Plex Mono", "Consolas", monospace;--af1:38px;--af2:38px;--af3:38px;--af4:38px;--af5:38px;--hf1:60px;--hf2:60px;--hf3:60px;--hf4:60px;--hf5:60px;--text-primary:var(--text);--text-secondary:var(--text-muted);--input-bg:var(--surface);--tl-body-h:100px;--debug-color:#aaa;--bkd-color:initial;--bt-color:initial;--et-color:initial;--hi-color:initial;--ns-color:initial;--ability-cols:28px minmax(220px, 1fr) 50px 60px 60px 76px 60px 56px 70px 88px var(--af1,44px) var(--af2,44px) var(--af3,44px) var(--af4,44px) var(--af5,44px) 92px 58px 58px 58px 58px 58px 64px 90px 70px 50px 96px 56px 70px 140px 60px 120px;--ability-row-min:calc(1876px + var(--af1,44px) + var(--af2,44px) + var(--af3,44px) + var(--af4,44px) + var(--af5,44px));--echo-ability-cols:28px minmax(160px,1fr) 70px 70px 70px 70px 62px 78px 70px 60px 120px}html{background:var(--bg)}body{background:var(--bg);color:var(--text);font-family:var(--font-body);flex-direction:column;min-height:100vh;padding-top:60px;font-size:14px;line-height:1.5;display:flex}#root{flex-direction:column;flex:1 0 auto;display:flex}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}.container{width:100%;max-width:2200px;margin:0 auto;padding:0 28px 400px}.page-header{border-bottom:1px solid var(--border);align-items:baseline;gap:16px;margin-bottom:18px;padding:18px 0 14px;display:flex}.page-title{letter-spacing:2px;text-transform:uppercase;color:var(--text);font-size:15px;font-weight:700}.page-title:before{content:"◆ ";color:var(--accent)}.page-subtitle{color:var(--text-muted);opacity:.6;font-size:12px}:root{--color-attr-aero:#4ade80;--color-attr-aero-bg:#4ade8024;--color-attr-electro:#c084fc;--color-attr-electro-bg:#c084fc24;--color-attr-fusion:#fb923c;--color-attr-fusion-bg:#fb923c24;--color-attr-glacio:#22d3ee;--color-attr-glacio-bg:#22d3ee24;--color-attr-havoc:#dd7e6b;--color-attr-havoc-bg:#dd7e6b24;--color-attr-spectro:#fbbf24;--color-attr-spectro-bg:#fbbf2424;--color-attr-physical:#94a3b8;--color-attr-physical-bg:#94a3b824;--color-dmg-basic:#60a5fa;--color-dmg-heavy:var(--orange);--color-dmg-skill:#c084fc;--color-dmg-liberation:var(--yellow);--color-dmg-intro:var(--cyan);--color-dmg-outro:#2dd4bf;--color-dmg-echo-skill:var(--green);--color-dmg-coordinated-attack:#f472b6;--color-dmg-tune-break:#f59e0b;--color-dmg-tune-rupture:#fb7185;--color-dmg-tune-hack:var(--red);--color-dmg-utility:#94a3b8;--color-dmg-attack:var(--red);--color-marker-time-stop:var(--color-dmg-intro);--color-marker-motion-stop:var(--color-dmg-heavy);--color-status-aero-erosion:var(--color-attr-aero);--color-status-electro-flare:var(--color-attr-electro);--color-status-glacio-chafe:var(--color-attr-glacio);--color-status-glacio-bite:var(--color-attr-glacio);--color-status-fusion-burst:var(--color-attr-fusion);--color-status-fusion-trail:#f97316;--color-status-spectro-frazzle:var(--color-attr-spectro);--color-status-havoc-bane:var(--color-attr-havoc);--color-status-heliacal-embers:#f5ac4a;--color-status-rupturous-trail:#c85a3c;--color-status-heal-shield:#86efac;--color-status-negative:var(--red);--color-misc:#9875d4;--color-scale-attack:var(--red);--color-scale-hp:var(--green);--color-scale-defense:var(--color-dmg-basic);--color-weapon-sword:#227c9d;--color-weapon-rectifier:#17c3b2;--color-weapon-broadblade:#ffcb77;--color-weapon-pistols:#ff7878;--color-weapon-gauntlets:#a579e6;--color-buffcat-talent:var(--yellow);--color-buffcat-echo:var(--cyan);--color-buffcat-weapon:var(--orange);--color-buffcat-kit:#a78bfa;--color-buffcat-sequence:#f472b6;--color-buffcat-inherent:#60a5fa;--color-buffcat-marker:#34d399;--color-buffcat-cooldown:var(--red);--color-buffcat-endgame:#79beee;--color-cancel-dash:#60a5fa;--color-cancel-idash:#93c5fd;--color-cancel-normal:#c084fc;--color-cancel-icancel:var(--orange);--color-cancel-scancel:#34d399;--color-cancel-jump:var(--cyan);--color-cancel-ijump:#a5f3fc;--color-cancel-walk:#f472b6;--color-fallback-accent:#7c6fff;--color-warning:#e8a020;--color-error:#c0392b;--color-beta:#f0546a}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;align-items:center;gap:5px;padding:5px 13px;font-family:inherit;font-size:12px;font-weight:500;text-decoration:none;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.btn:disabled{opacity:.35;cursor:default;pointer-events:none}.btn-ghost{color:var(--text-muted);border-color:var(--border-light);background:0 0}.btn-ghost:hover{background:var(--surface-3);color:var(--text)}.btn-danger{color:#e05252;background:0 0;border-color:#6b2c2c}.btn-danger:hover{color:#ff6b6b;background:#3a1a1a;border-color:#a03333}.btn-sm{padding:3px 9px;font-size:11px}.back-link{color:var(--text-muted);border:1px solid var(--border);align-items:center;gap:6px;padding:5px 10px;font-size:13px;transition:all .12s;display:inline-flex}.back-link:hover{color:var(--text);background:var(--surface-2);border-color:var(--border-light)}.accordion-body{grid-template-rows:0fr;display:grid}.accordion-body>.accordion-inner{min-height:0;overflow:hidden}.chevron{width:14px;height:14px;color:var(--text-muted);flex-shrink:0;transition:transform .22s}.chevron.is-rotated{transform:rotate(90deg)}.char-name-glow{background:linear-gradient(90deg, var(--char-color) 0%, var(--char-color-2) 50%, var(--char-color) 100%);color:#0000;filter:drop-shadow(0 0 2px color-mix(in srgb, var(--char-color) 20%, transparent));-webkit-background-clip:text;background-clip:text}.char-color-swatch{vertical-align:middle;border-radius:3px;flex-shrink:0;width:12px;height:12px;margin-right:5px;display:inline-block}.toast-stack{z-index:9500;pointer-events:none;flex-direction:column;gap:8px;max-width:min(380px,100vw - 40px);display:flex;position:fixed;top:76px;right:20px}.toast{background:var(--surface-2);border:1px solid var(--border-light);border-left:3px solid var(--text-dim);pointer-events:auto;opacity:0;align-items:flex-start;gap:10px;padding:12px 34px 12px 14px;transition:opacity .18s,transform .18s;display:flex;position:relative;transform:translate(12px);box-shadow:0 8px 28px #00000080}.toast.is-in{opacity:1;transform:translate(0)}.toast.is-leaving{opacity:0;transform:translate(12px)}.toast--error{border-left-color:var(--red)}.toast--success{border-left-color:var(--green)}.toast--info{border-left-color:var(--accent)}.toast-body{min-width:0}.toast-title{color:var(--text);font-size:13px;font-weight:700}.toast--error .toast-title{color:#ff6b61}.toast--success .toast-title{color:var(--green)}.toast-text{color:var(--text-muted);overflow-wrap:anywhere;margin-top:4px;font-size:12.5px;line-height:1.5}.toast-close{cursor:pointer;color:var(--text-dim);background:0 0;border:none;padding:3px;font-size:11px;line-height:1;position:absolute;top:8px;right:8px}.toast-close:hover{color:var(--text)}.char-thumb{overflow:hidden;container-type:size}.char-thumb>img{object-fit:cover;width:100%;height:100%;display:block}.char-thumb-fallback{width:100%;height:100%;color:color-mix(in srgb, var(--char-color,var(--cc,var(--text-muted))) 80%, white);justify-content:center;align-items:center;font-size:42cqmin;font-weight:700;display:flex}.hint-mark{border:1px solid var(--border-light);width:14px;height:14px;font-family:var(--font-mono);color:var(--text-dim);cursor:help;flex-shrink:0;justify-content:center;align-items:center;font-size:9px;font-weight:700;transition:color .12s,border-color .12s;display:inline-flex;position:relative}.hint-mark:hover{color:var(--accent);border-color:var(--accent)}.hint-tip{z-index:50;background:var(--surface-2);border:1px solid var(--border-light);width:310px;font-family:var(--font-body);letter-spacing:normal;text-transform:none;color:var(--text-muted);cursor:default;padding:10px 13px 11px;font-size:12px;font-weight:400;line-height:1.55;display:none;position:absolute;top:calc(100% + 9px);left:-10px;box-shadow:0 8px 24px #0009}.hint-mark:hover .hint-tip,.hint-mark:focus-visible .hint-tip{display:block}.char-tab,.board-tab,.prof-page-tab,.hub-page-tab,.ftab,.attr-chip{white-space:nowrap}.character-card{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--char-color,var(--accent));overflow:hidden}.character-toggle{background:color-mix(in srgb, var(--char-color,var(--accent)) 5%, transparent);cursor:pointer;width:100%;color:var(--text);text-align:left;border:none;align-items:center;gap:12px;padding:12px 16px;font-family:inherit;transition:background .1s;display:flex}.character-toggle:hover{background:color-mix(in srgb, var(--char-color,var(--accent)) 10%, transparent)}.character-name{color:var(--char-color,var(--text));flex:1;font-size:14px;font-weight:600}.aedit-title{text-transform:uppercase;letter-spacing:.07em;color:color-mix(in srgb, var(--char-color,var(--accent)) 70%, var(--text-muted));font-size:10px;font-weight:700}.inline-input{background:var(--surface);border:1px solid var(--border-light);color:var(--text);width:100%;font-size:12px;font-family:var(--font-mono);outline:none;padding:4px 6px;transition:border-color .12s}.inline-input:focus{border-color:var(--accent)}.site-nav{border-bottom:1px solid var(--border);background:var(--surface);z-index:200;align-items:center;gap:6px;height:60px;padding:0 28px;display:flex;position:fixed;top:0;left:0;right:0}.site-nav-links{scrollbar-width:none;align-items:center;gap:6px;min-width:0;height:100%;display:flex;overflow-x:auto}.site-nav-links::-webkit-scrollbar{display:none}.site-nav-burger,.site-nav-mobile-only{display:none}.site-nav-brand{letter-spacing:3px;color:var(--text);-webkit-user-select:none;user-select:none;white-space:nowrap;margin-right:24px;font-size:15px;font-weight:700}.site-nav-mark{color:var(--accent)}.site-nav-link{letter-spacing:1.5px;text-transform:uppercase;height:100%;color:var(--text-muted);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;padding:0 16px;font-size:13px;font-weight:600;transition:color .15s,border-color .15s;display:flex}.site-nav-link:hover{color:var(--text)}.site-nav-link.is-active{color:var(--accent);border-bottom-color:var(--accent)}.site-nav-cta{align-items:center;gap:8px;margin-left:auto;margin-right:18px;display:flex}.nav-cta{border:1px solid var(--cta-color);background:color-mix(in srgb, var(--cta-color) 14%, transparent);color:var(--cta-color);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:700;transition:background .15s,color .15s;display:inline-flex}.nav-cta:hover{background:var(--cta-color);color:#0e0f13}.nav-cta-icon{flex-shrink:0;width:13px;height:13px}.nav-cta--discord{--cta-color:#7d87f7}.nav-cta--support{--cta-color:var(--tier-owner)}.site-nav-account{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;font-size:12px;font-weight:600;display:inline-flex}.site-nav-account-link{cursor:pointer;background:0 0;border:none;padding:0;text-decoration:none;transition:color .15s}.site-nav-account-link:hover{color:var(--text)}.site-nav-account-profile{color:inherit;align-items:center;gap:8px;text-decoration:none;transition:color .15s;display:inline-flex}.site-nav-account-profile:hover{color:var(--text)}.site-nav-avatar{border-radius:50%;width:20px;height:20px;display:block}.site-nav-account-name{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.site-nav-account-user{cursor:default;height:100%;position:relative}.site-nav-dropdown{background:var(--surface);border:1px solid var(--border);z-index:210;border-top:none;flex-direction:column;min-width:180px;display:none;position:absolute;top:100%;right:-12px}.site-nav-account-user:hover .site-nav-dropdown,.site-nav-account-user:focus-within .site-nav-dropdown{display:flex}.site-nav-dropdown-item{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:11px 16px;font-size:12px;font-weight:600;text-decoration:none;transition:color .15s,background .15s}.site-nav-dropdown-item:hover{color:var(--text);background:var(--surface-2)}.site-nav-dropdown-item.is-admin{border-top:1px solid var(--border);color:var(--accent)}.route-progress{z-index:201;background:linear-gradient(90deg, transparent 0%, var(--accent) 50%, transparent 100%);height:2px;animation:.9s linear infinite route-progress-sweep;position:fixed;top:59px;left:0;right:0}@keyframes route-progress-sweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.site-footer{border-top:1px solid var(--border);background:var(--surface);margin-top:auto}.site-footer-main{max-width:1560px;margin:0 auto;padding:32px 28px 20px;display:flex}.footer-brand{max-width:560px;padding-right:60px}.footer-brand-name{letter-spacing:2px;color:var(--text);margin-bottom:14px;font-size:17px;font-weight:700}.footer-brand-name .mark{color:var(--accent);margin-right:6px}.footer-brand-desc{color:var(--text-muted);font-size:13px;line-height:1.7}.footer-brand-desc a{color:var(--accent)}.footer-col{border-left:1px solid var(--border);min-width:150px;margin-left:44px;padding:2px 0 2px 44px}.footer-col-hdr{letter-spacing:2px;text-transform:uppercase;color:var(--text);white-space:nowrap;margin-bottom:14px;font-size:12px;font-weight:700}.footer-col-hdr:before{content:"◆ ";color:var(--accent)}.footer-col a,.footer-link-off{color:var(--text-muted);padding:4px 0;font-size:13px;display:block}.footer-col a:hover{color:var(--accent)}.footer-link-off{color:var(--text-dim);cursor:default}.footer-copyright{font-family:var(--font-mono);color:var(--text-dim);margin-top:20px;font-size:11px}.home-tag{vertical-align:middle;font-family:var(--font-mono);letter-spacing:.06em;border:1px solid;margin-left:10px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-flex}.home-tag--new{color:var(--green);background:#4ade801a}.home-tag--improved{color:var(--accent);background:var(--accent-dim)}.home-tag--fix{color:var(--cyan);background:#22d3ee1a}.home-empty{color:var(--text-muted);padding:32px 28px;font-size:14px}.container.home-page{max-width:1560px;padding-bottom:64px}.home-hero{border-bottom:1px solid var(--border);background:linear-gradient(90deg,#15171c 0% 42%,#15171cf4 49.25%,#15171cd7 56.5%,#15171cae 63.75%,#15171c80 71%,#15171c51 78.25%,#15171c28 85.5%,#15171c0b 92.75%,#15171c00 100%),url(/images/site/hero-splash.webp) 50% 18%/cover no-repeat;width:100vw;margin-bottom:30px;margin-left:-50vw;margin-right:-50vw;padding:56px 0 48px;position:relative;left:50%;right:50%}.home-hero-main{min-width:0;max-width:1560px;margin:0 auto;padding:0 28px}.home-kicker{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;font-size:13px;font-weight:700}.home-headline{font-family:var(--font-body);color:var(--text);margin-bottom:32px;font-size:46px;font-weight:700;line-height:1.15}.home-headline-accent{color:var(--accent)}.home-stat-strip{gap:48px;display:flex}.home-stat{border-right:1px solid var(--border);padding-right:48px}.home-stat:last-child{border-right:none;padding-right:0}.home-stat-val{font-family:var(--font-mono);color:var(--text);font-variant-numeric:tabular-nums;font-size:36px;font-weight:700;line-height:1.1}.home-stat-val--accent{color:var(--yellow)}.home-stat-lbl{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:8px;font-size:12px}.home-stat-val,.home-stat-lbl{text-shadow:0 1px 6px #15171ce6,0 0 16px #15171cb3}.home-sec-hdr{align-items:baseline;gap:14px;padding:26px 0 0;display:flex}.home-sec-title{letter-spacing:2px;text-transform:uppercase;color:var(--text);font-size:15px;font-weight:700}.home-sec-title:before{content:"◆ ";color:var(--accent)}.home-sec-sub{color:var(--text-muted);opacity:.7;font-size:12px}.steps-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:22px;display:grid}.step-card{border:1px solid var(--border);background:var(--surface);flex-direction:column;min-height:210px;padding:24px 24px 20px;transition:border-color .18s;display:flex}.step-card:hover{border-color:var(--border-light)}.step-num{font-family:var(--font-mono);color:var(--accent);opacity:.32;font-size:30px;font-weight:700}.step-title{color:var(--text);margin:14px 0 8px;font-size:15px;font-weight:700}.step-desc{color:var(--text-muted);font-size:13px;line-height:1.6}.step-link{font-family:var(--font-mono);letter-spacing:.1em;color:var(--accent);margin-top:auto;padding-top:16px;font-size:11px;font-weight:700}.step-link .arr{transition:transform .15s;display:inline-block}.step-card:hover .step-link .arr{transform:translate(3px)}.guide-banner{border:1px solid var(--border);background:linear-gradient(to right, var(--accent-dim), #c9b17800 58%), var(--surface);align-items:center;gap:30px;margin-top:22px;padding:28px 30px;display:flex}.guide-body{flex:1;min-width:0}.guide-kicker{font-family:var(--font-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;font-size:11px;font-weight:700}.guide-title{color:var(--text);margin-bottom:6px;font-size:20px;font-weight:700}.guide-desc{color:var(--text-muted);font-size:13.5px}.guide-cta{font-family:var(--font-mono);letter-spacing:.1em;color:var(--text-dim);border:1px dashed var(--border-light);flex-shrink:0;padding:10px 18px;font-size:11px;font-weight:700}.home-bottom{grid-template-columns:1fr 1fr;gap:20px;margin-top:44px;display:grid}.spotlight-card{--cc:var(--accent);border:1px solid var(--border);min-height:200px;transition:border-color .18s;display:block;position:relative;overflow:hidden}.spotlight-card:hover{border-color:var(--cc)}.spotlight-art{filter:saturate(.95);background-position:50% 18%;background-size:cover;transition:transform .3s;position:absolute;inset:0}.spotlight-card:hover .spotlight-art{transform:scale(1.03)}.spotlight-fade{background:linear-gradient(90deg,#15171cf5 0%,#15171cdb 36%,#15171c66 66%,#15171c0d 100%);position:absolute;inset:0}.spotlight-body{flex-direction:column;padding:22px 24px;display:flex;position:absolute;inset:0}.spotlight-kicker{font-family:var(--font-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--cc);font-size:10.5px;font-weight:700}.spotlight-name{color:var(--text);margin-top:6px;font-size:26px;font-weight:700}.spotlight-card:hover .spotlight-name{color:var(--cc)}.spotlight-meta{color:var(--text-muted);margin-top:4px;font-size:12.5px}.spotlight-link{font-family:var(--font-mono);letter-spacing:.1em;color:var(--cc);margin-top:auto;font-size:11px;font-weight:700}.spotlight-duo{border:1px solid var(--border);background:var(--surface);min-height:200px;position:relative;overflow:hidden}.duo-kicker{z-index:2;pointer-events:none;color:var(--accent);position:absolute;top:20px;left:24px}.duo-half{--cc:var(--accent);transition:clip-path .45s;display:block;position:absolute;inset:0}.duo-half:hover .spotlight-art{transform:scale(1.03)}.duo-left{clip-path:polygon(0 0,56% 0,44% 100%,0 100%)}.duo-right{clip-path:polygon(56.3% 0,100% 0,100% 100%,44.3% 100%)}.spotlight-duo:has(.duo-left:hover) .duo-left{clip-path:polygon(0 0,88% 0,76% 100%,0 100%)}.spotlight-duo:has(.duo-left:hover) .duo-right{clip-path:polygon(88.3% 0,100% 0,100% 100%,76.3% 100%)}.spotlight-duo:has(.duo-right:hover) .duo-left{clip-path:polygon(0 0,24% 0,12% 100%,0 100%)}.spotlight-duo:has(.duo-right:hover) .duo-right{clip-path:polygon(24.3% 0,100% 0,100% 100%,12.3% 100%)}.duo-fade{position:absolute;inset:0}.duo-left .duo-fade{background:linear-gradient(to right, color-mix(in srgb, var(--cc) 16%, transparent), transparent 55%), linear-gradient(to right, #15171cd9 0%, #15171c80 30%, #15171c14 62%, transparent 100%), linear-gradient(#15171c61, #15171c61)}.duo-right .duo-fade{background:linear-gradient(to left, color-mix(in srgb, var(--cc) 16%, transparent), transparent 55%), linear-gradient(to left, #15171cd9 0%, #15171c80 30%, #15171c14 62%, transparent 100%), linear-gradient(#15171c61, #15171c61)}.duo-body{flex-direction:column;transition:opacity .3s;display:flex;position:absolute;bottom:20px}.duo-left .duo-body{text-align:left;align-items:flex-start;left:24px}.duo-right .duo-body{text-align:right;align-items:flex-end;right:24px}.duo-body .spotlight-name,.duo-body .spotlight-meta,.duo-body .spotlight-link,.duo-kicker{text-shadow:0 1px 4px #15171ca6,0 0 10px #15171c66}.duo-body .spotlight-name{color:#fff}.duo-body .spotlight-meta{color:var(--text)}.duo-body .spotlight-link{color:color-mix(in srgb, var(--cc) 70%, #fff)}:is(.spotlight-duo:has(.duo-right:hover) .duo-left .duo-body,.spotlight-duo:has(.duo-left:hover) .duo-right .duo-body){opacity:0}.duo-half:hover .spotlight-name{background:linear-gradient(90deg, var(--cc) 0%, color-mix(in srgb, var(--cc) 55%, #fff) 50%, var(--cc) 100%);color:#0000;text-shadow:none;filter:drop-shadow(0 0 2px color-mix(in srgb, var(--cc) 20%, transparent)) drop-shadow(0 1px 6px #15171ce6);-webkit-background-clip:text;background-clip:text}.duo-body .spotlight-link{margin-top:12px}.mini-log{border:1px solid var(--border);background:var(--surface)}.mini-log-hdr{letter-spacing:2px;text-transform:uppercase;color:var(--text);border-bottom:1px solid var(--border);padding:16px 20px 14px;font-size:13px;font-weight:700}.mini-log-hdr:before{content:"◆ ";color:var(--accent)}.mini-log-row{border-bottom:1px solid #2b2d338c;align-items:flex-start;gap:14px;padding:13px 20px;display:flex}.mini-log-date{font-family:var(--font-mono);color:var(--text-dim);border:1px solid var(--border-light);flex-shrink:0;margin-top:1px;padding:3px 8px;font-size:10.5px}.mini-log-title{font-size:13.5px;font-weight:600}.mini-log-more{color:var(--accent);padding:13px 20px 15px;font-size:13px;font-weight:600;display:block}.mini-log-more:hover{color:var(--accent-hover)}.container.changelog-page{max-width:900px;padding-bottom:64px}.changelog-hero{border-bottom:1px solid var(--border);margin-bottom:40px;padding:48px 0 36px}.changelog-kicker{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:14px;font-size:11px;font-weight:700}.changelog-headline{font-family:var(--font-body);color:var(--text);margin-bottom:12px;font-size:38px;font-weight:700;line-height:1.15}.changelog-subtitle{color:var(--text-muted);font-size:13px}.changelog-group{gap:20px;display:flex}.changelog-group:not(:last-child){padding-bottom:36px}.changelog-rail{flex-shrink:0;justify-content:center;align-items:flex-start;width:20px;display:flex;position:relative}.changelog-rail:before{content:"";background:var(--border);width:1px;position:absolute;top:4px;bottom:-36px;left:50%}.changelog-group:last-child .changelog-rail:before{display:none}.changelog-node{z-index:1;color:var(--accent);background:var(--bg);padding:3px 0;font-size:13px;line-height:1;position:relative}.changelog-group-body{flex:1;min-width:0}.changelog-date{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-muted);margin-bottom:14px;font-size:11px;font-weight:700}.changelog-entries{flex-direction:column;gap:16px;display:flex}.changelog-entry{align-items:flex-start;gap:12px;display:flex}.changelog-entry-body{min-width:0}.changelog-entry-title{margin-bottom:2px;font-size:13px;font-weight:600}.changelog-entry-details{color:var(--text-muted);font-size:12px}.container.roster-page{max-width:1560px;padding-bottom:64px}.roster-hdr{padding:44px 0 0}.roster-kicker{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;font-size:13px;font-weight:700}.roster-title{color:var(--text);font-size:40px;font-weight:700;line-height:1.1}.roster-sub{color:var(--text-muted);margin-top:8px;font-size:14px}.roster-toolbar{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:26px;padding:24px 0 18px;display:flex}.roster-filter{background:var(--surface);border:1px solid var(--border);width:280px;color:var(--text);font-family:var(--font-mono);outline:none;padding:8px 12px;font-size:12px}.roster-filter::placeholder{color:var(--text-dim)}.roster-filter:focus{border-color:var(--border-light)}.attr-chips{gap:6px;margin-left:auto;display:flex}.attr-chip{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;padding:6px 12px;font-size:10px;font-weight:700}.attr-chip:hover{color:var(--chip-color,var(--text));border-color:var(--chip-color,var(--border-light))}.attr-chip.is-active{color:var(--chip-color,var(--accent));border-color:var(--chip-color,var(--accent));background:var(--chip-bg,var(--accent-dim))}.attr-chip--aero{--chip-color:var(--color-attr-aero);--chip-bg:var(--color-attr-aero-bg)}.attr-chip--electro{--chip-color:var(--color-attr-electro);--chip-bg:var(--color-attr-electro-bg)}.attr-chip--fusion{--chip-color:var(--color-attr-fusion);--chip-bg:var(--color-attr-fusion-bg)}.attr-chip--glacio{--chip-color:var(--color-attr-glacio);--chip-bg:var(--color-attr-glacio-bg)}.attr-chip--havoc{--chip-color:var(--color-attr-havoc);--chip-bg:var(--color-attr-havoc-bg)}.attr-chip--spectro{--chip-color:var(--color-attr-spectro);--chip-bg:var(--color-attr-spectro-bg)}.char-grid{grid-template-columns:repeat(auto-fill,minmax(440px,1fr));gap:20px;display:grid}.char-card{--cc:var(--accent);border:1px solid var(--border);background-color:var(--surface);height:200px;transition:border-color .18s;display:block;position:relative;overflow:hidden}.char-card:hover{border-color:var(--cc)}.char-card.hidden{display:none}.char-card--locked{cursor:default}.char-card--locked:hover{border-color:var(--border)}.char-card--locked:hover .char-card-art{transform:none}.char-card--locked .char-card-art{filter:grayscale()saturate(.9);opacity:.5}.char-card--locked .char-card-portrait img{filter:grayscale();opacity:.6}.char-card--locked .char-card-kicker,.char-card--locked .char-card-name{color:var(--text-muted)}.char-card--locked:hover .char-card-name{color:var(--text-muted);filter:none;background:0 0}.char-card--locked .char-card-stars{color:var(--text-dim)}.char-card-art{filter:saturate(.95);background-position:50% 20%;background-size:cover;transition:transform .3s;position:absolute;inset:0}.char-card:hover .char-card-art{transform:scale(1.03)}.char-card-fade{background:linear-gradient(90deg,#15171cf5 0%,#15171ce0 34%,#15171c73 62%,#15171c0d 100%);position:absolute;inset:0}.char-card-body{flex-direction:column;padding:20px 22px 18px;display:flex;position:absolute;inset:0}.char-card-kicker{font-family:var(--font-mono);letter-spacing:.13em;text-transform:uppercase;color:var(--cc);font-size:10.5px;font-weight:700}.char-card-name{color:var(--text);margin-top:6px;font-size:26px;font-weight:700;line-height:1.15;transition:color .15s}.char-card:hover .char-card-name{background:linear-gradient(90deg, var(--cc) 0%, color-mix(in srgb, var(--cc) 55%, #fff) 50%, var(--cc) 100%);color:#0000;filter:drop-shadow(0 0 2px color-mix(in srgb, var(--cc) 20%, transparent));-webkit-background-clip:text;background-clip:text}.char-card-stars{color:var(--yellow);letter-spacing:2px;margin-top:3px;font-size:11px}.char-card-stats{gap:22px;margin-top:auto;display:flex}.char-card-stat-val{font-family:var(--font-mono);color:var(--text);font-variant-numeric:tabular-nums;text-shadow:0 1px 6px #15171ce6;font-size:15px;font-weight:700}.char-card-stat-lbl{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;text-shadow:0 1px 6px #15171ce6;margin-top:2px;font-size:9.5px}.char-card--noart .char-card-art{background:radial-gradient(ellipse at 78% 40%, color-mix(in srgb, var(--cc) 26%, transparent), transparent 62%), var(--surface-2)}.char-card--noart .char-card-portrait{border:1px solid var(--border-light);width:116px;height:116px;position:absolute;top:50%;right:48px;overflow:hidden;transform:translateY(-50%)}.char-card--noart .char-card-portrait img{object-fit:cover;width:100%;height:100%;display:block}.char-card--noart:hover .char-card-portrait{border-color:var(--cc)}.adjusting .char-card{cursor:ns-resize}.adjusting .char-card-art{transition:none}.adjusting .char-card:hover .char-card-art{transform:none}.splash-badge{font-family:var(--font-mono);letter-spacing:.08em;color:var(--yellow);border:1px solid var(--border-light);pointer-events:none;background:#15171ccc;padding:3px 8px;font-size:10px;font-weight:700;position:absolute;bottom:14px;left:14px}.splash-sql{z-index:300;border:1px solid var(--border-light);background:var(--surface);width:420px;position:fixed;bottom:20px;right:20px;box-shadow:0 8px 30px #00000080}.splash-sql-hdr{font-family:var(--font-mono);letter-spacing:.1em;color:var(--accent);border-bottom:1px solid var(--border);padding:10px 14px;font-size:10px;font-weight:700}.splash-sql-body{font-family:var(--font-mono);color:var(--text-muted);white-space:pre-wrap;max-height:220px;margin:0;padding:12px 14px;font-size:11px;overflow-y:auto}.splash-sql-copy{width:100%;font-family:var(--font-mono);letter-spacing:.1em;color:var(--accent);background:var(--accent-dim);border:none;border-top:1px solid var(--border);cursor:pointer;padding:10px;font-size:11px;font-weight:700;display:block}.splash-sql-copy:hover{color:var(--accent-hover)}.roster-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:0 4px;margin-top:24px;display:flex}.roster-tab{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 18px;font-size:12px;font-weight:700}.roster-tab:hover{color:var(--text)}.roster-tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.roster-sort{align-self:flex-end;align-items:center;gap:4px;margin-left:auto;padding-bottom:6px;display:flex}.roster-sort-lbl{font-family:var(--font-mono);white-space:nowrap;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-right:4px;font-size:10px;font-weight:600}.roster-sort-opt{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;cursor:pointer;border:1px solid #0000;padding:4px 9px;font-size:10px;font-weight:700;transition:color .12s,border-color .12s}.roster-sort-opt:hover{color:var(--text)}.roster-sort-opt.is-active{color:var(--accent);border-color:var(--accent)}.roster-tab .g-count{color:var(--text-dim);margin-left:8px;font-size:10px;font-weight:500}.roster-group.hidden{display:none}.container.char-page{max-width:1560px;padding-bottom:64px}.char-hero{border-bottom:1px solid var(--border);background-repeat:no-repeat;background-size:130%;width:100vw;margin-bottom:30px;margin-left:-50vw;margin-right:-50vw;padding:52px 0 44px;position:relative;left:50%;right:50%}.char-hero:before{content:"";background:linear-gradient(0deg,#15171ce0 0,#15171c8c 90px,#15171c00 190px),linear-gradient(90deg,#15171c 0% 38%,#15171cf4 45.75%,#15171cd7 53.5%,#15171cae 61.25%,#15171c80 69%,#15171c51 76.75%,#15171c28 84.5%,#15171c0b 92.25%,#15171c00 100%);position:absolute;inset:0}.char-hero-main{max-width:1560px;margin:0 auto;padding:0 28px;position:relative}.char-crumb{font-family:var(--font-mono);color:var(--text-dim);margin-bottom:22px;font-size:12px;font-weight:500}.char-crumb a{color:var(--text-muted)}.char-crumb a:hover{color:var(--accent)}.char-kicker{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--char);margin-bottom:12px;font-size:13px;font-weight:700}.char-kicker .k-sep{color:var(--text-dim);margin:0 10px}.char-kicker .k-dim{color:var(--text-muted)}.char-name{color:var(--text);margin-bottom:10px;font-size:56px;font-weight:700;line-height:1.05}.char-epithet{color:var(--text-muted);margin-bottom:34px;font-size:15px}.char-epithet .stars{color:var(--yellow);letter-spacing:2px;margin-right:12px}.char-stat-strip{gap:40px;display:flex}.char-stat{border-right:1px solid var(--border);padding-right:40px}.char-stat:last-child{border-right:none;padding-right:0}.char-stat-val{font-family:var(--font-mono);color:var(--text);font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1.1}.char-stat-val small{color:var(--text-muted);margin-left:4px;font-size:15px;font-weight:500}.char-stat-lbl{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:7px;font-size:11px}.char-stat-val--char{color:var(--char)}.char-stat-val,.char-stat-lbl{text-shadow:0 1px 6px #15171ce6,0 0 16px #15171cb3}.art-credit{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-muted);text-shadow:0 1px 6px #15171ce6,0 0 16px #15171cb3;font-size:9.5px;font-weight:700;position:absolute;bottom:10px;right:14px}a.art-credit:hover{color:var(--text)}.art-credit--card{color:var(--text-dim);font-size:8.5px;top:10px;bottom:auto}.char-tabs{border-bottom:1px solid var(--border);gap:4px;margin:-6px 0 28px;display:flex}.char-tab{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 18px;font-size:12px;font-weight:700}.tab-panel.hidden{display:none}.char-layout{align-items:flex-start;gap:28px;display:flex}.char-main{flex:1;min-width:0}.char-side{flex-direction:column;flex-shrink:0;gap:28px;width:380px;display:flex;position:sticky;top:76px}.buff-row{border-bottom:1px solid #2b2d338c;border-left:2px solid var(--row-color,var(--border-light));gap:20px;padding:16px 16px 15px 18px;display:flex;position:relative}.buff-row.hidden{display:none}.buff-row:hover{background:var(--surface)}.buff-row--talent{--row-color:var(--green)}.buff-row--kit{--row-color:var(--accent)}.buff-row--weapon{--row-color:var(--cyan)}.buff-row--seq{--row-color:var(--char)}.buff-tag-col{flex-shrink:0;align-self:center;width:72px}.buff-tag{text-align:center;width:100%;font-family:var(--font-mono);letter-spacing:.07em;border:1px solid;padding:3px 0;font-size:9px;font-weight:700;display:block}.buff-tag--talent{color:var(--green);background:#4ade8014}.buff-tag--kit{color:var(--accent);background:var(--accent-dim)}.buff-tag--weapon{color:var(--cyan);background:#22d3ee14}.buff-tag--seq{color:var(--char);background:var(--char-dim)}.buff-body{flex:1;min-width:0;padding-right:100px}.buff-top{align-items:baseline;gap:14px;display:flex}.buff-name{font-size:14px;font-weight:600}.buff-effect{font-family:var(--font-mono);color:var(--text);margin-top:6px;font-size:15px;font-weight:500}.buff-effect .amt{color:var(--yellow);font-weight:700}.buff-effect .ref{color:var(--text-dim);font-size:12px}.buff-dur{font-family:var(--font-mono);color:var(--text-muted);border:1px solid var(--border-light);text-align:center;white-space:normal;max-width:84px;padding:2px 8px;font-size:10.5px;position:absolute;top:50%;right:16px;transform:translateY(-50%)}.buff-cond{color:var(--text-muted);margin-top:4px;font-size:12.5px}.buff-cond:before{content:"▸ ";color:var(--text-dim)}.buff-marker-note{color:var(--text-dim);padding:4px 0 18px;font-size:12.5px;font-style:italic}.mode-toggle{align-items:center;gap:14px;padding:4px 0 22px;display:flex}.mode-toggle-lbl{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-size:10.5px;font-weight:700}.mode-toggle-group{border:1px solid var(--border-light);display:flex}.mode-toggle-btn{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:var(--surface);cursor:pointer;border:none;padding:7px 16px;font-size:11px;font-weight:700}.mode-toggle-btn+.mode-toggle-btn{border-left:1px solid var(--border-light)}.mode-toggle-btn:hover{color:var(--text)}.mode-toggle-btn.is-active{color:var(--char);background:var(--char-dim)}.side-panel{border:1px solid var(--border);background:var(--surface)}.side-panel-hdr{letter-spacing:2px;text-transform:uppercase;color:var(--text);border-bottom:1px solid var(--border);padding:16px 20px 14px;font-size:13px;font-weight:700}.side-panel-hdr:before{content:"◆ ";color:var(--accent)}.wpn-row{gap:16px;padding:18px 20px;display:flex}.wpn-slot{background:var(--surface-3);border:1px solid var(--border-light);flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;display:flex;overflow:hidden}.wpn-slot img{object-fit:contain;width:100%;height:100%}.wpn-info{align-self:center;min-width:0}.wpn-tag{font-family:var(--font-mono);letter-spacing:.1em;color:var(--accent);background:var(--accent-dim);border:1px solid;margin-bottom:7px;padding:2px 7px;font-size:9px;font-weight:700;display:inline-block}.wpn-name{font-size:17px;font-weight:700}.wpn-meta{font-family:var(--font-mono);color:var(--text-muted);margin-top:3px;font-size:11.5px}.forte-body{padding:16px 20px 20px}.forte-body--divided{border-top:1px solid var(--border);padding-top:14px}.forte-name-row{justify-content:space-between;align-items:baseline;display:flex}.forte-name{font-size:14px;font-weight:600}.forte-count{font-family:var(--font-mono);color:var(--char);font-size:13px;font-weight:700}.forte-track{background:var(--surface-3);border:1px solid var(--border-light);height:10px;margin:12px 0 8px}.forte-fill{background:linear-gradient(to right, var(--char), color-mix(in srgb, var(--char) 60%, #fff));height:100%}.forte-desc{color:var(--text-muted);margin-top:12px;font-size:12.5px}.forte-desc b{color:var(--text);font-weight:600}.abil-toolbar{align-items:center;gap:8px;margin-bottom:4px;display:flex}.abil-toggle{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;padding:7px 14px;font-size:10px;font-weight:700;transition:color .12s,border-color .12s,background .12s}.abil-toggle:hover{color:var(--text);border-color:var(--border-light)}.abil-toggle.is-active{color:var(--accent);border-color:var(--accent);background:var(--accent-dim)}.abil-filter{background:var(--surface);border:1px solid var(--border);width:280px;color:var(--text);font-family:var(--font-mono);outline:none;margin:0;padding:7px 12px;font-size:12px}.abil-filter::placeholder{color:var(--text-dim)}.abil-filter:focus{border-color:var(--border-light)}.abil-wrap{font-variant-numeric:tabular-nums}.abil-cols,.abil-row{grid-template-columns:var(--abil-grid);align-items:center;gap:0 12px;display:grid}.abil-cols{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);border-bottom:1px solid var(--border);padding:12px 0 8px;font-size:10px;font-weight:700}.abil-cols span{text-align:right;white-space:nowrap}.abil-cols .t-left{text-align:left}.abil-cols .t-center,.abil-row .t-center{text-align:center}.abil-cols .c-frames{color:var(--accent)}.abil-group-row{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--char);border-bottom:1px solid var(--border);padding:24px 0 8px;font-size:11px;font-weight:700}.abil-group-row .g-count{color:var(--text-dim);letter-spacing:0;margin-left:10px;font-weight:500}.abil-group-row.hidden{display:none}.abil-row{cursor:pointer;border-bottom:1px solid #2b2d338c;padding:8px 0}.abil-row:hover,.abil-row.open{background:var(--surface)}.abil-row.open{border-bottom-color:#0000}.abil-row.no-hits{cursor:default}.abil-row.hidden,.abil-detail.hidden{display:none}.abil-chev{font-family:var(--font-mono);color:var(--text-dim);text-align:center;font-size:11px;transition:transform .15s}.abil-row.open .abil-chev{color:var(--char);transform:rotate(90deg)}.abil-row:hover .abil-chev{color:var(--text-muted)}.abil-row.open:hover .abil-chev{color:var(--char)}.abil-name{min-width:0;color:var(--text);flex-wrap:wrap;align-items:center;gap:3px 8px;font-size:13.5px;font-weight:500;display:flex}.abil-name-text{white-space:nowrap;text-overflow:ellipsis;min-width:0;max-width:100%;overflow:hidden}.abil-row .num{font-family:var(--font-mono);color:var(--text-muted);text-align:right;white-space:nowrap;font-size:12px}.abil-row .num.strong{color:var(--text);font-weight:700}.abil-row .t-left{text-align:left}.abil-row .pri-tl{white-space:normal;word-break:break-word;line-height:1.4}.val-pos{color:var(--green)}.val-neg{color:var(--red)}.val-dim{color:var(--text-dim)}.val-res{color:var(--cyan)}.val-ot{color:var(--yellow)}.val-forte{color:var(--char)}.gchip{font-family:var(--font-mono);letter-spacing:.06em;white-space:nowrap;border:1px solid;padding:2px 7px;font-size:9px;font-weight:700;display:inline-block}.gchip--intro{color:var(--color-dmg-intro);background:color-mix(in srgb, var(--color-dmg-intro) 8%, transparent)}.gchip--outro{color:var(--color-dmg-outro);background:color-mix(in srgb, var(--color-dmg-outro) 8%, transparent)}.gchip--basic{color:var(--color-dmg-basic);background:color-mix(in srgb, var(--color-dmg-basic) 8%, transparent)}.gchip--heavy{color:var(--color-dmg-heavy);background:color-mix(in srgb, var(--color-dmg-heavy) 8%, transparent)}.gchip--skill{color:var(--color-dmg-skill);background:color-mix(in srgb, var(--color-dmg-skill) 8%, transparent)}.gchip--liberation{color:var(--color-dmg-liberation);background:color-mix(in srgb, var(--color-dmg-liberation) 8%, transparent)}.gchip--tunebreak{color:var(--color-dmg-tune-break);background:color-mix(in srgb, var(--color-dmg-tune-break) 8%, transparent)}.gchip--attack{color:var(--color-dmg-attack);background:color-mix(in srgb, var(--color-dmg-attack) 8%, transparent)}.gchip--fixed{color:var(--text-muted);background:#8c8f9914}.gchip--physical{color:var(--color-attr-physical);background:color-mix(in srgb, var(--color-attr-physical) 8%, transparent)}.gchip--none{color:var(--text-dim);background:0 0}.gchip--ts{color:var(--color-marker-time-stop);background:color-mix(in srgb, var(--color-marker-time-stop) 8%, transparent)}.gchip--ms{color:var(--color-marker-motion-stop);background:color-mix(in srgb, var(--color-marker-motion-stop) 8%, transparent)}.gchip--havoc{color:var(--color-attr-havoc);background:var(--color-attr-havoc-bg)}.gchip--glacio{color:var(--color-attr-glacio);background:var(--color-attr-glacio-bg)}.gchip--fusion{color:var(--color-attr-fusion);background:var(--color-attr-fusion-bg)}.gchip--electro{color:var(--color-attr-electro);background:var(--color-attr-electro-bg)}.gchip--aero{color:var(--color-attr-aero);background:var(--color-attr-aero-bg)}.gchip--spectro{color:var(--color-attr-spectro);background:var(--color-attr-spectro-bg)}.abil-name .gchip{padding:1px 5px}.abil-detail{background:linear-gradient(to bottom, var(--surface), #1b1e2459);border-bottom:1px solid #2b2d338c;padding:4px 8px 20px 38px;display:none}.abil-detail.open{display:block}.tl{background:var(--surface-2);border:1px solid var(--border);height:66px;margin:10px 0 16px;position:relative}.tl-axis{background:var(--border-light);height:1px;position:absolute;bottom:16px;left:0;right:0}.tl-cancel-zone{border-left:1px dashed var(--accent);background:#c9b17812;position:absolute;top:0;bottom:16px}.tl-hit{background:var(--char);width:2px;position:absolute;bottom:17px}.tl-marker{border-left:1px dashed;width:0;position:absolute;top:0;bottom:16px}.tl-marker--ts{color:var(--cyan)}.tl-marker--ms{color:var(--orange)}.tl-marker-lbl{font-family:var(--font-mono);letter-spacing:.05em;font-size:8.5px;font-weight:700;position:absolute;top:2px;left:3px}.tl-lbl{font-family:var(--font-mono);color:var(--text-dim);font-size:9.5px;position:absolute;bottom:2px}.tl-lbl--cancel{color:var(--accent)}.hit-table{border-collapse:collapse;width:100%}.hit-table th,.hit-table td{width:1px}.hit-table th.h-fill,.hit-table td.h-fill{width:100%}.hit-table th{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);text-align:right;border-bottom:1px solid var(--border);white-space:nowrap;padding:4px 20px 6px 0;font-size:9.5px;font-weight:700}.hit-table th.t-left,.hit-table td.t-left{text-align:left}.hit-table td{font-family:var(--font-mono);color:var(--text-muted);text-align:right;white-space:nowrap;border-bottom:1px solid #2b2d3366;padding:5px 20px 5px 0;font-size:12px}.hit-table tr:last-child td{border-bottom:none}.hit-table .h-mv{color:var(--text);font-weight:700}.gallery{background:var(--border);border-top:1px solid var(--border);grid-template-columns:1fr 1fr;gap:1px;display:grid}.gallery a{aspect-ratio:16/9;background:var(--surface-2);display:block;position:relative;overflow:hidden}.gallery img{object-fit:cover;filter:saturate(.92);width:100%;height:100%;transition:transform .25s,filter .2s;display:block}.gallery a:hover img{filter:saturate(1.05);transform:scale(1.04)}.gallery-cap{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text);background:#15171cb8;padding:4px 8px;font-size:9.5px;position:absolute;bottom:0;left:0;right:0}.modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:var(--surface-2);border:1px solid var(--border-light);flex-direction:column;gap:12px;width:100%;min-width:320px;max-width:460px;padding:22px 24px 20px;display:flex;box-shadow:0 12px 48px #0009}.modal-box--load{min-width:360px}.modal-title{color:var(--text);margin:0 0 4px;font-size:14px;font-weight:700}.modal-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);flex-direction:column;gap:5px;font-size:11px;font-weight:700;display:flex}.modal-input{background:var(--surface-3);border:1px solid var(--border);color:var(--text);box-sizing:border-box;outline:none;width:100%;padding:7px 10px;font-family:inherit;font-size:13px}.modal-input:focus{border-color:var(--accent)}.modal-textarea{resize:vertical;min-height:56px}.modal-char-list{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.modal-char-item{color:var(--text);text-transform:none;letter-spacing:0;cursor:pointer;align-items:center;gap:5px;font-size:12px;font-weight:500;display:flex}.modal-empty{color:var(--text-muted);margin:8px 0;font-size:13px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.modal-btn{cursor:pointer;border:none;padding:6px 18px;font-family:inherit;font-size:13px;font-weight:600}.modal-btn--cancel{background:var(--surface-3);color:var(--text-muted);border:1px solid var(--border)}.modal-btn--cancel:hover{color:var(--text)}.modal-btn--save{background:var(--accent);color:#000}.modal-btn--save:hover{opacity:.85}.modal-btn--save:disabled{opacity:.4;cursor:default}.dialog-box{max-width:420px}.dialog-text{color:var(--text-muted);margin:0;font-size:13.5px;line-height:1.55}.eset-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:2px;display:flex}.eset-tab{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-size:11px;font-weight:700;transition:color .1s,border-color .1s}.eset-tab:hover{color:var(--text)}.eset-tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.eset-tab-count{color:var(--text-dim);margin-left:7px;font-size:10px;font-weight:500}.eset-list{flex-direction:column;gap:4px;max-height:320px;display:flex;overflow-y:auto}.eset-item{background:var(--surface-3);border:1px solid var(--border);cursor:pointer;align-items:center;gap:8px;padding:8px 10px;transition:border-color .12s;display:flex}.eset-item:hover{border-color:var(--accent-dim)}.eset-item.is-selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--surface-3))}.eset-item.is-loaded{opacity:.6}.eset-item-name{color:var(--text);flex:1;font-size:13px;font-weight:600}.eset-item-cost{color:var(--text-muted);font-family:monospace;font-size:11px}.eset-item-notes{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.eset-loaded-badge{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:color-mix(in srgb, var(--accent) 15%, transparent);flex-shrink:0;padding:1px 5px;font-size:10px;font-weight:700}.eset-delete-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:2px 4px;font-size:11px}.eset-delete-btn:hover{color:#f87171;background:#f871711a}.ese-layout{grid-template-columns:178px 1fr;align-items:start;gap:0 18px;max-width:1320px;margin:0 auto 40px;display:grid}.ese-sidebar{border:1px solid var(--border);max-height:calc(100vh - 100px);position:sticky;top:12px;overflow:hidden auto}.ese-sitem{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text-muted);cursor:pointer;text-align:left;background:0 0;align-items:center;padding:9px 12px 9px 10px;font-family:inherit;font-size:12px;font-weight:600;display:flex;box-shadow:inset 3px 0 #0000}.ese-sitem:last-child{border-bottom:none}.ese-sitem:hover{color:var(--text);background:var(--surface-2)}.ese-sitem.is-active{color:var(--char-color,var(--accent));background:color-mix(in srgb, var(--char-color,var(--accent)) 8%, var(--surface));box-shadow:inset 3px 0 0 var(--char-color,var(--accent))}.ese-sitem-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ese-sitem-n{color:var(--text-dim);background:var(--surface-3);flex-shrink:0;margin-left:6px;padding:1px 5px;font-size:10px;font-weight:700}.ese-sitem.is-active .ese-sitem-n{color:var(--char-color,var(--accent));background:color-mix(in srgb, var(--char-color,var(--accent)) 15%, transparent)}.ese-content{min-width:0}.ese-list{flex-direction:column;gap:8px;display:flex}.ese-empty{color:var(--text-muted);padding:24px 0}.ese-paste-bar{background:color-mix(in srgb, var(--accent) 10%, var(--surface-2));border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);align-items:center;gap:10px;margin-bottom:10px;padding:8px 14px;display:flex}.ese-paste-label{color:var(--text-muted);flex:1;font-size:12px}.ese-paste-label strong{color:var(--text)}.ese-paste-clear{color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:13px}.ese-paste-clear:hover{color:var(--text)}.ese-toggle .character-name{flex:none}.ese-note{color:var(--text-dim);font-size:11px;font-style:italic}.ese-costs{color:var(--text-dim);letter-spacing:.04em;margin-left:auto;font-family:monospace;font-size:11px}.ese-sort-idx{color:var(--text-dim);margin-left:auto;font-size:11px}.ese-chip{color:var(--char-color,var(--text-muted));background:color-mix(in srgb, var(--char-color,#888) 12%, transparent);border:1px solid color-mix(in srgb, var(--char-color,#888) 22%, transparent);padding:1px 8px;font-size:11px;font-weight:600}.ese-card.is-open>.ese-card-body{grid-template-rows:1fr}.ese-inner{padding:14px 18px 18px}.ese-topbar{border-bottom:1px solid var(--border);align-items:flex-end;gap:16px;margin-bottom:16px;padding-bottom:14px;display:flex}.ese-topbar-fields{flex-wrap:wrap;flex:1;align-items:flex-end;gap:12px;display:flex}.ese-topbar-field{flex-direction:column;gap:4px;display:flex}.ese-topbar-notes{flex:1}.ese-topbar-notes .inline-input{width:100%}.ese-topbar-actions{flex-shrink:0;gap:8px;display:flex}.ese-echoes{background:var(--border);gap:1px;display:flex;overflow:hidden}.ese-echo{background:var(--surface);flex-direction:column;flex:1;min-width:0;display:flex}.ese-echo-hd{background:var(--surface-2);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 10px 6px;display:flex}.ese-echo-n{color:var(--text-dim);font-size:10px;font-weight:700}.ese-cbtns{gap:3px;display:flex}.ese-cbtn{background:var(--surface-3);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;padding:3px 10px;font-family:inherit;font-size:11px;font-weight:700;line-height:1}.ese-cbtn.on{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.ese-cbtn:hover:not(.on){color:var(--text-muted)}.ese-cbtn-x{color:var(--text-dim)}.ese-echo-named,.ese-echo-sonata{border-bottom:1px solid var(--border);padding:0 10px}.ese-sel{appearance:none;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;outline:none;font-family:inherit;display:block}.ese-sel option{background:var(--surface-3);color:var(--text)}.ese-sel:focus{background:color-mix(in srgb, var(--accent) 5%, transparent)}.ese-sel-name{white-space:nowrap;text-overflow:ellipsis;padding:8px 0;font-size:13px;font-weight:600;overflow:hidden}.ese-sel-placeholder{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;padding:8px 0;font-size:13px;font-weight:600;overflow:hidden}.ese-sel-sonata{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;padding:5px 0;font-size:11px;overflow:hidden}.ese-echo-main{border-bottom:1px solid var(--border);padding:8px 10px}.ese-sel-main{padding:0 0 4px;font-size:12px;font-weight:600}.ese-sec{justify-content:space-between;align-items:center;padding-top:3px;display:flex}.ese-sec span:first-child{color:var(--text-muted);font-size:11px}.ese-sec-v{color:var(--text-dim);font-variant-numeric:tabular-nums;font-family:monospace;font-size:11px}.ese-echo-subs{flex-direction:column;gap:3px;padding:6px 10px 8px;display:flex}.ese-sub{align-items:center;gap:4px;display:flex}.ese-sel-stype{color:var(--text-muted);flex:1;min-width:0;padding:2px 0;font-size:11px}.ese-sel-tier{text-align:right;font-variant-numeric:tabular-nums;width:56px;color:var(--accent);cursor:pointer;background:0 0;border:none;outline:none;flex-shrink:0;padding:2px 0;font-family:inherit;font-size:11px;font-weight:700}.ese-sel-tier option{background:var(--surface-3);color:var(--text)}.ese-sel-stype:has(option[value=""]:checked){color:var(--text-dim)}.ese-sel-tier:has(option[value=""]:checked){color:var(--text-dim);font-weight:400}@supports (appearance:base-select){.ese-sel{appearance:base-select}.ese-sel::picker(select){appearance:base-select}.ese-sel{background:0 0;border-radius:0}.ese-sel:focus{background:0 0;outline:none}.ese-sel::picker(select){background:var(--surface-2);border:1px solid var(--border-light);scrollbar-width:thin;scrollbar-color:var(--border-light) transparent;border-radius:0;max-height:280px;padding:2px 0;overflow-y:auto;box-shadow:0 10px 28px #0000008c}.ese-sel option{color:var(--text);text-transform:none;letter-spacing:normal;cursor:pointer;background:0 0;align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:400;display:flex}.ese-sel option:hover,.ese-sel option:focus{background:var(--accent-dim);color:var(--accent)}.ese-sel option:checked{color:var(--accent);font-weight:600}.ese-sel option::checkmark{display:none}.ese-sel::picker-icon{width:0;margin:0;padding:0;display:none}}.auth-modal{min-width:300px;max-width:340px;position:relative}.auth-modal-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:2px;font-size:13px;line-height:1;transition:color .15s;position:absolute;top:10px;right:12px}.auth-modal-close:hover{color:var(--text)}.auth-providers{flex-direction:column;gap:8px;margin-top:4px;display:flex}.auth-btn{cursor:pointer;border:none;justify-content:center;align-items:center;gap:10px;padding:10px 16px;font-family:inherit;font-size:13px;font-weight:600;text-decoration:none;transition:filter .15s;display:flex}.auth-btn:hover{filter:brightness(1.1)}.auth-btn-icon{width:18px;height:14px;display:block}.auth-btn--discord{color:#fff;background:#5865f2}.login-failed{max-width:var(--page-width,1200px);color:var(--red);background:#f8717114;border:1px solid #f8717140;align-items:center;gap:12px;margin:0 auto;padding:10px 16px;font-size:13px;display:flex}.login-failed-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;margin-left:auto;padding:2px;font-size:13px;line-height:1;transition:color .15s}.login-failed-close:hover{color:var(--text)}.auth-modal-text{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.modal-btn--danger{color:#fff;background:#b3372f}.modal-btn--danger:hover{filter:brightness(1.15)}.modal-btn--danger:disabled{opacity:.5;cursor:default}.onb-modal{gap:18px;max-width:420px}.onb-hint{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.onb-field{flex-direction:column;gap:6px;display:flex}.onb-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.onb-input{width:100%;padding:8px 10px;font-size:14px}.onb-handle{align-items:center;gap:6px;display:flex}.onb-at{font-family:var(--font-mono);color:var(--text-muted);font-size:14px}.onb-note{color:var(--text-muted);min-height:16px;font-size:12px}.onb-note--error{color:var(--red)}.onb-actions{justify-content:flex-end;display:flex}.onb-actions .rev-btn{padding:8px 18px;font-size:12px}.account-editor{flex:1;min-width:0;max-width:360px}.account-editor .onb-field:first-child{margin-top:0}.account-card .onb-field{margin-top:12px}.account-card .onb-actions{justify-content:flex-start;gap:8px;margin-top:14px}.account-edit{align-self:flex-start;margin-left:auto}.account-page{max-width:1100px;padding-top:48px;padding-bottom:64px}.account-tabs{margin-bottom:24px}.account-kicker{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;font-size:12px;font-weight:600}.account-card{background:var(--surface-2);border:1px solid var(--border);flex-direction:column;gap:20px;padding:24px;display:flex}.account-identity{align-items:center;gap:16px;display:flex}.account-identity.is-editing{align-items:flex-start}.account-avatar{border-radius:50%;width:64px;height:64px;display:block}.account-name{color:var(--text);font-size:20px;font-weight:700}.account-handle{font-family:var(--font-mono);color:var(--text-muted);margin-top:2px;font-size:13px}.account-email{color:var(--text-muted);margin-top:2px;font-size:13px}.account-rows{flex-direction:column;gap:8px;display:flex}.account-row{justify-content:space-between;font-size:13px;display:flex}.account-row-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:600}.account-row-value{color:var(--text)}.account-section-title{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0 0 8px;font-size:11px;font-weight:600}.account-providers{flex-wrap:wrap;gap:8px;display:flex}.account-provider{border:1px solid var(--border);color:var(--text-muted);align-items:center;gap:6px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.account-provider.is-connected{color:var(--text);border-color:#5865f2}.account-provider-dot{font-size:10px}.account-provider.is-connected .account-provider-dot{color:#5865f2}.account-setting{align-items:center;gap:11px;display:flex}.account-setting-name{color:var(--text);align-items:center;gap:7px;font-size:13px;display:inline-flex}.account-state{--state-color:var(--green);text-align:center;border:1px solid var(--state-color);background:color-mix(in srgb, var(--state-color) 12%, transparent);min-width:76px;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--state-color);cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;padding:6px 10px;font-size:11px;font-weight:700;transition:color .12s,border-color .12s,background .12s}.account-state.is-private{--state-color:var(--red)}.account-state:hover{background:color-mix(in srgb, var(--state-color) 22%, transparent)}.account-state:focus-visible{outline:1px solid var(--state-color);outline-offset:2px}.banner-select{max-width:280px}.banner-preview{border:1px solid var(--border);height:84px;margin-top:10px;position:relative;overflow:hidden}.banner-preview-art{filter:saturate(.95);background-repeat:no-repeat;position:absolute;inset:0}.banner-preview-fade{background:linear-gradient(0deg,#15171ce0 0,#15171c80 20px,#15171c00 44px),linear-gradient(90deg,#15171c 0% 40%,#15171cf4 47.5%,#15171cd7 55%,#15171cae 62.5%,#15171c80 70%,#15171c51 77.5%,#15171c28 85%,#15171c0b 92.5%,#15171c00 100%);position:absolute;inset:0}.banner-hint{color:var(--text-muted);margin:8px 0 0;font-size:12px}.banner-error{color:#ff6b61;margin-top:8px;font-size:12px}.account-actions{justify-content:flex-end;display:flex}.account-signout{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;padding:7px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:color .15s,border-color .15s}.account-signout:hover{color:#ff6b61;border-color:#b3372f}.account-empty{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;display:flex}.account-empty-text{color:var(--text-muted);margin:0;font-size:14px}.access-gate{background:var(--surface-2);border:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:14px;max-width:480px;margin:96px auto;padding:32px;display:flex}.access-gate-kicker{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:600}.access-gate-text{color:var(--text-muted);margin:0;font-size:14px;line-height:1.5}.access-gate-btn{align-self:stretch}.user-rows{flex-direction:column;gap:8px;display:flex}.user-row{background:var(--surface-2);border:1px solid var(--border);align-items:center;gap:14px;padding:12px 16px;display:flex}.user-avatar{border-radius:50%;width:36px;height:36px;display:block}.user-avatar--fallback{background:var(--surface-3,var(--surface-2));border:1px solid var(--border);color:var(--text-muted);justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.user-ident{min-width:220px}.user-name{color:var(--text);font-size:14px;font-weight:600}.user-handle{font-family:var(--font-mono);color:var(--text-dim);margin-left:8px;font-size:11px;font-weight:400}.user-email{color:var(--text-muted);margin-top:1px;font-size:12px}.user-meta{color:var(--text-muted);flex:1;gap:18px;font-size:12px;display:flex}.user-meta-label{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:600;display:block}.user-roles{gap:8px;display:flex}.role-toggle{border:1px solid var(--border);color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:0 0;padding:5px 10px;font-size:11px;font-weight:600;transition:color .15s,border-color .15s}.role-toggle:hover{color:var(--text)}.role-toggle:disabled{opacity:.5;cursor:default}.role-toggle.is-on--admin{color:#ff6b61;border-color:#b3372f}.role-toggle.is-on--beta{border-color:var(--accent);color:var(--accent)}.role-toggle.is-on--trusted{color:#6fbf85;border-color:#4f805d}.user-row-error{color:#ff6b61;font-size:12px}.user-name-link{color:inherit;text-decoration:none}.user-name-link:hover{color:var(--accent)}.rev-hint,.cite-hint{color:var(--text-muted);max-width:70ch;margin:0 0 16px;font-size:13px;line-height:1.5}.rev-rows{--rev-cols:minmax(180px, 22%) minmax(160px, 1fr) minmax(84px, 13%) 100px 124px 96px 212px;--rev-min:1092px;flex-direction:column;gap:6px;display:flex;overflow-x:auto}.rev-head,.rev-row{min-width:var(--rev-min)}.rev-rows--owner{--rev-cols:minmax(180px, 20%) minmax(160px, 1fr) minmax(84px, 12%) 78px 100px 124px 96px 212px;--rev-min:1188px}.cite-rows{flex-direction:column;gap:6px;display:flex}.rev-head{grid-template-columns:var(--rev-cols);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border-left:3px solid #0000;align-items:end;gap:18px;padding:0 14px 2px;font-size:10px;font-weight:600;display:grid}.rev-head-num{text-align:right}.rev-row{grid-template-columns:var(--rev-cols);background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--cc,var(--accent));align-items:center;gap:18px;padding:10px 14px;font-size:13px;display:grid}.rev-row--rejected{opacity:.72}.cite-row{background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--cc,var(--accent));flex-wrap:wrap;align-items:center;gap:16px;padding:10px 14px;font-size:13px;display:flex}.rev-portraits,.cite-portraits{flex-shrink:0;gap:4px;display:flex}.rev-portrait,.cite-portrait{background:var(--surface-2);border:1px solid var(--border-light);width:30px;height:30px;color:var(--char-color);flex-shrink:0;position:relative;overflow:hidden}.rev-portrait img,.cite-portrait img{object-fit:cover;width:100%;height:100%;display:block}.rev-row-team{align-items:center;gap:10px;min-width:0;display:flex}.cite-main{flex:240px;align-items:center;gap:10px;min-width:240px;display:flex}.rev-row-chars,.cite-chars{color:var(--text);min-width:0}.rev-row-chars.rev-link{color:var(--text);display:block}.rev-row-chars{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rev-lbl{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:600;display:block}.rev-row-meta,.rev-row-authors,.rev-row-owner,.cite-authors,.cite-meta{color:var(--text-muted);font-size:12px}.rev-row-meta,.rev-row-authors,.rev-row-owner{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.rev-link{color:var(--accent);text-decoration:none}.rev-link:hover{text-decoration:underline}.cite-figures{gap:16px;display:flex}.rev-fig{font-family:var(--font-mono);color:var(--text);white-space:nowrap;text-align:right;font-size:13px}.rev-fig--dps{color:var(--accent)}.rev-row-date{color:var(--text-muted);white-space:nowrap;font-size:12px}.rev-row-actions{grid-template-columns:72px 62px 62px;align-items:center;gap:8px;display:grid}.cite-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.rev-chip{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;padding:3px 8px;font-size:10px;font-weight:600}.rev-row-actions .rev-chip{text-align:center}.rev-row-actions .rev-btn{width:100%;padding-left:0;padding-right:0}.rev-chip--verified{border-color:var(--accent);color:var(--accent)}.rev-chip--pending{color:#d79a3a;border-color:#a46a1f}.rev-chip--rejected{color:#ff6b61;border-color:#b3372f}.rev-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;padding:5px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:color .15s,border-color .15s}.rev-btn:hover:not(:disabled){color:var(--text)}.rev-btn:disabled{opacity:.5;cursor:default}.rev-btn--verify:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.rev-btn--reject:hover:not(:disabled){color:#ff6b61;border-color:#b3372f}.rev-row-note{color:#ff6b61;grid-column:1/-1;font-size:12px}.rev-note-lbl{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:10px}.rev-reject-bar{grid-column:1/-1;gap:8px;display:flex}.rev-reject-input{flex:1}.rev-empty,.profile-empty{color:var(--text-muted);padding:24px 0;font-size:13px}.admin-back{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:24px 0 18px;font-size:11px;font-weight:700;text-decoration:none;display:inline-block}.admin-back:hover{color:var(--accent)}.ud-head{background:var(--surface-2);border:1px solid var(--border);align-items:center;gap:18px;padding:18px;display:flex}.ud-avatar{border-radius:50%;width:64px;height:64px;display:block}.ud-avatar--fallback{background:var(--surface);border:1px solid var(--border);color:var(--text-muted);justify-content:center;align-items:center;font-size:24px;font-weight:700;display:flex}.ud-ident{flex:1;min-width:0}.ud-name{color:var(--text);font-size:20px;font-weight:700}.ud-email{color:var(--text-muted);margin-top:2px;font-size:13px}.ud-sub{color:var(--text-muted);margin-top:6px;font-size:12px}.ud-stats{flex-wrap:wrap;gap:10px;margin:14px 0 8px;display:flex}.ud-stat{background:var(--surface-2);border:1px solid var(--border);min-width:92px;padding:10px 16px}.ud-stat-lbl{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:600;display:block}.ud-stat-val{color:var(--text);font-size:20px;font-weight:700}.ud-section{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin:28px 0 10px;font-size:12px;font-weight:700}.ud-sets{flex-direction:column;gap:6px;display:flex}.ud-set{background:var(--surface-2);border:1px solid var(--border);align-items:center;gap:12px;padding:9px 14px;font-size:13px;display:flex}.ud-set-for{flex:none;gap:4px;display:flex}.ud-set-thumb{background:var(--surface);border:1px solid var(--border-light);width:28px;height:28px;color:var(--char-color);flex-shrink:0;position:relative;overflow:hidden}.ud-set-thumb img{object-fit:cover;width:100%;height:100%;display:block}.ud-set-name{color:var(--text);font-weight:600}.ud-set-notes{color:var(--text-muted);font-size:12px}.ud-set-date{color:var(--text-muted);margin-left:auto;font-size:12px}.cite-block{margin-top:4px}.act-readall{margin-bottom:12px}.act-rows{flex-direction:column;gap:4px;display:flex}.act-row{background:var(--surface-2);border:1px solid var(--border);color:inherit;align-items:flex-start;gap:12px;padding:12px 14px;font-size:13px;text-decoration:none;display:flex}a.act-row:hover{border-color:var(--border-light)}.act-row.is-unread{border-left:3px solid var(--accent)}.act-row:not(.is-unread){opacity:.72;border-left:3px solid #0000}.act-dot{background:var(--text-muted);flex:none;width:7px;height:7px;margin-top:5px}.act-dot--rotation_verified,.act-dot--citation_confirmed{background:var(--green)}.act-dot--rotation_rejected,.act-dot--citation_declined{background:var(--red)}.act-dot--review_reopened{background:var(--orange)}.act-dot--author_cited{background:var(--accent)}.act-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.act-title{color:var(--text);font-weight:600}.act-body{color:var(--text-muted);line-height:1.5}.act-when{color:var(--text-muted);white-space:nowrap;flex:none;font-size:12px}.site-nav-badge{background:var(--accent);min-width:17px;height:17px;color:var(--surface);font-family:var(--font-mono);justify-content:center;align-items:center;margin-left:7px;padding:0 5px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.cite-main{flex-direction:column;align-items:flex-start;gap:2px}.container.profile-page{max-width:1560px;padding-bottom:64px}.container.profile-page--signedout{max-width:560px;padding-top:48px}.profile-hero{border-bottom:1px solid var(--border);background:var(--bg);width:100vw;margin-bottom:34px;margin-left:-50vw;margin-right:-50vw;padding:52px 0 44px;position:relative;left:50%;right:50%;overflow:hidden}.profile-hero-art{filter:saturate(.95);background-repeat:no-repeat;position:absolute;inset:0}.profile-hero-fade{background:linear-gradient(0deg,#15171ce0 0,#15171c80 90px,#15171c00 200px),linear-gradient(90deg,#15171c 0% 40%,#15171cf4 47.5%,#15171cd7 55%,#15171cae 62.5%,#15171c80 70%,#15171c51 77.5%,#15171c28 85%,#15171c0b 92.5%,#15171c00 100%);position:absolute;inset:0}.profile-hero-main{max-width:1560px;margin:0 auto;padding:0 28px;position:relative}.profile-back{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:22px;font-size:11px;font-weight:700;text-decoration:none;transition:color .12s;display:inline-block}.profile-back:hover{color:var(--accent)}.profile-back:focus-visible{outline:1px solid var(--accent);outline-offset:3px}.profile-ident{align-items:center;gap:20px;margin-bottom:36px;display:flex}.profile-avatar{object-fit:cover;border-radius:50%;width:84px;height:84px;display:block}.profile-name{color:var(--text);font-size:44px;font-weight:700;line-height:1.05}.profile-since{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-top:8px;font-size:11px}.profile-handle{color:var(--accent);text-transform:none;letter-spacing:.04em;margin-right:10px}.profile-stat-strip{gap:40px;display:flex}.profile-stat{border-right:1px solid var(--border);padding-right:40px}.profile-stat:last-child{border-right:none;padding-right:0}.profile-stat-val{font-family:var(--font-mono);color:var(--text);font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1.1}.profile-stat-val--accent{color:var(--yellow)}.profile-stat-val--muted{color:var(--text-dim)}.profile-stat-lbl{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-top:7px;font-size:11px}.profile-name,.profile-since,.profile-stat-val,.profile-stat-lbl{text-shadow:0 1px 6px #15171ce6,0 0 16px #15171cb3}.prof-pages{border-bottom:1px solid var(--border);gap:4px;display:flex}.prof-page-tab{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 18px;font-size:12px;font-weight:700;transition:color .1s,border-color .1s}.prof-page-tab:hover{color:var(--text)}.prof-page-tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.prof-tab-count{color:var(--text-dim);margin-left:8px;font-size:10px;font-weight:500}.prof-layout{align-items:flex-start;gap:24px;display:flex}.prof-content{flex:1;min-width:0}.prof-rail{flex-direction:column;flex-shrink:0;width:220px;margin-top:61px;display:flex;position:sticky;top:76px}.prof-rail-btn{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;text-align:left;background:0 0;border:none;border-left:2px solid #0000;align-items:center;gap:10px;padding:7px 12px;font-size:11px;font-weight:700;transition:color .1s,border-color .1s,background .1s;display:flex}.prof-rail-btn:hover{color:var(--text)}.prof-rail-btn.is-active{color:var(--cc,var(--accent));border-left-color:var(--cc,var(--accent));background:color-mix(in srgb, var(--cc,var(--accent)) 7%, transparent)}.prof-rail-thumb{border:1px solid var(--border-light);background:var(--surface-2);flex-shrink:0;width:26px;height:26px;overflow:hidden}.prof-rail-thumb img{object-fit:cover;width:100%;height:100%;display:block}.prof-rail-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.prof-rail-btn .prof-tab-count{margin-left:0}.prof-main{flex-direction:column;gap:8px;margin-top:22px;display:flex}.prof-row{border:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:24px;padding:13px 18px;transition:border-color .15s,box-shadow .15s;display:flex}.prof-row:hover{border-color:color-mix(in srgb, var(--cc,var(--accent)) 55%, var(--border));box-shadow:inset 3px 0 0 var(--cc,var(--accent))}.prof-row-team{flex-shrink:0;width:300px}.prof-portraits{gap:4px;margin-bottom:8px;display:flex}.prof-portrait{background:var(--surface-2);border:1px solid var(--border-light);width:28px;height:28px;color:var(--char-color);flex-shrink:0;position:relative;overflow:hidden}.prof-portrait img{object-fit:cover;width:100%;height:100%;display:block}.prof-portrait-fallback{font-family:var(--font-mono);justify-content:center;align-items:center;font-size:10px;font-weight:700;display:none;position:absolute;inset:0}.prof-row-chars{font-size:13px;font-weight:600;line-height:1.3}.prof-sep{color:var(--text-dim);font-weight:400}.prof-row-meta{min-width:0;font-family:var(--font-mono);color:var(--text-muted);flex:1;align-items:center;gap:8px;font-size:11px;display:flex}.prof-row-meta-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.prof-row-meta .rev-chip{flex:none}.prof-row-reject{color:var(--text);background:#b3372f14;border-left:2px solid #b3372f;flex:0 0 100%;order:99;margin-top:-8px;padding:8px 10px;font-size:12px;line-height:1.5}.prof-row-reject-lbl{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:#ff6b61;margin-bottom:2px;font-size:10px;font-weight:600;display:block}.prof-row-figures{flex-shrink:0;gap:28px;display:flex}.prof-fig{text-align:right;min-width:96px}.prof-fig-lbl{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;font-size:9px;font-weight:500}.prof-fig-val{font-family:var(--font-mono);color:var(--text);font-variant-numeric:tabular-nums;font-size:17px;font-weight:700;line-height:1}.prof-fig-val--dps{color:var(--yellow)}.prof-fig-dim{color:var(--text-dim);font-weight:400}.prof-row-author{text-align:right;flex-shrink:0;min-width:110px}.prof-row-author-name{color:var(--text-muted);font-size:12px;font-weight:600}.prof-author-link{color:var(--accent)}.prof-author-link:hover{color:var(--accent-hover)}.prof-row-date{font-family:var(--font-mono);color:var(--text-dim);text-align:right;flex-shrink:0;width:76px;font-size:11px}.prof-view-link{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--accent) 70%, var(--text-dim));opacity:0;flex-shrink:0;font-size:10px;font-weight:700;text-decoration:none;transition:opacity .15s,color .12s}.prof-row:hover .prof-view-link,.prof-view-link:focus-visible{opacity:1}.prof-view-link:hover{color:var(--accent);text-decoration:underline}@media (hover:none){.prof-view-link{opacity:1}}.prof-rail-btn--all{min-height:40px;padding-left:48px}.prof-rail-btn--all.is-active{color:var(--accent);border-left-color:var(--accent);background:var(--accent-dim)}.prof-pager{justify-content:center;margin-top:24px;display:flex}.prof-pager-btn{border:1px solid var(--border-light);color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;padding:6px 14px;font-size:11px;font-weight:700;transition:color .12s,background .12s,border-color .12s}.prof-pager-btn:not(:last-child){border-right:none}.prof-pager-btn.is-active{background:var(--accent);border-color:var(--accent);color:#0e0f13}.prof-pager-btn:not(.is-active):not(:disabled):hover{border-color:var(--accent);color:var(--accent)}.prof-pager-btn:disabled{opacity:.4;cursor:default}.profile-empty{color:var(--text-muted);margin-top:24px;padding:24px 0;font-size:13px}.container.dir-page{max-width:1180px;padding-bottom:80px}.dir-search{background:var(--surface-2);border:1px solid var(--border);width:320px;color:var(--text);font-family:var(--font-body);margin-left:3px;padding:8px 12px;font-size:13.5px}.dir-search::placeholder{color:var(--text-dim)}.dir-search:focus-visible{border-color:var(--accent);outline:none}.dir-cols,.dir-row{border-bottom:1px solid var(--border);align-items:center;gap:24px;padding:19px 22px;display:flex}.dir-cols{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);padding-bottom:11px;font-size:10px;font-weight:700}.dir-cols .dir-c-dps small{letter-spacing:.1em;color:var(--text-dim);font-size:9px;display:block}.dir-row{color:inherit;text-decoration:none;position:relative}.dir-row:before{content:"";background:var(--cc,var(--accent));opacity:0;width:2px;position:absolute;top:0;bottom:0;left:0}.dir-row:hover{background:#ffffff06}.dir-row:hover:before{opacity:.85}.dir-row:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.dir-c-calced{text-align:right;flex-shrink:0;width:84px}.dir-c-user{flex-shrink:0;align-items:center;gap:14px;width:300px;min-width:0;display:flex}.dir-c-chars{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.dir-c-created{text-align:right;flex-shrink:0;width:84px}.dir-c-dps{text-align:right;flex-shrink:0;width:132px}.dir-c-since{text-align:right;flex-shrink:0;width:100px}.dir-avatar{object-fit:cover;border:1px solid var(--border-light);background:var(--surface-2);border-radius:50%;flex-shrink:0;width:46px;height:46px;display:block;overflow:hidden}.dir-avatar img{object-fit:cover;width:100%;height:100%;display:block}.dir-avatar--none{background:var(--surface-3);font-family:var(--font-mono);color:var(--text-muted);justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.dir-avatar .char-thumb-fallback{width:100%;height:100%;font-family:var(--font-mono);color:var(--char-color,var(--text-muted));justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.dir-who{min-width:0}.dir-name{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:600;line-height:1.25;display:block;overflow:hidden}.dir-handle{font-family:var(--font-mono);letter-spacing:.02em;color:var(--text-dim);font-size:11.5px;display:block}.dir-thumb{border:1px solid var(--border-light);background:var(--surface-2);flex-shrink:0;width:34px;height:34px;overflow:hidden}.dir-thumb img{object-fit:cover;width:100%;height:100%;display:block}.dir-thumb .char-thumb-fallback{width:100%;height:100%;font-family:var(--font-mono);color:var(--char-color,var(--text-muted));justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.dir-more{font-family:var(--font-mono);color:var(--text-dim);margin-left:4px;font-size:12px}.dir-n{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:16px;font-weight:600}.dir-c-calced .dir-n{font-size:19px}.dir-dps{color:var(--accent);font-size:18px}.dir-dim{color:var(--text-dim)}.dir-empty{color:var(--text-muted);border-bottom:1px solid var(--border);padding:34px 22px;font-size:14px}.dir-empty-clear{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0}.dir-empty-clear:hover{color:var(--accent-hover)}.dir-c-chars{overflow:hidden}.dir-c-chars .dir-handle{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=1080px){.dir-c-since{display:none}.dir-c-user{width:230px}}@media (width<=920px) and (width>=721px){.dir-c-chars{display:none}}:root{--tier-1:#3b9be8;--tier-2:#9b5de5;--tier-3:#e0a020;--tier-4:#eebc4e;--tier-5:#f4d381;--tier-6:#faecc0}.supporter-badge{border:1px solid var(--tier-color);background:var(--tier-color);color:#17181d;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;vertical-align:middle;text-shadow:none;flex-shrink:0;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.supporter-badge:before{content:"◆";font-size:8px;line-height:1}.supporter-badge--t1{--tier-color:var(--tier-1)}.supporter-badge--t2{--tier-color:var(--tier-2)}.supporter-badge--t3{--tier-color:var(--tier-3)}.supporter-badge--t4{--tier-color:var(--tier-4)}.supporter-badge--t5{--tier-color:var(--tier-5)}.supporter-badge--t6{--tier-color:var(--tier-6)}.supporter-name{background-image:linear-gradient(90deg, color-mix(in srgb, var(--sc) 82%, #fff) 0%, color-mix(in srgb, var(--sc) 45%, #fff) 50%, color-mix(in srgb, var(--sc) 82%, #fff) 100%);color:#0000;text-shadow:none;filter:drop-shadow(0 1px 6px #15171ce6) drop-shadow(0 0 14px color-mix(in srgb, var(--sc) 35%, transparent));-webkit-background-clip:text;background-clip:text}.sup-options{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin:22px 0 30px;display:grid}.sup-option{border:1px solid var(--border-light);border-top:2px solid var(--brand);background:var(--surface);color:inherit;flex-direction:column;gap:8px;padding:16px;text-decoration:none;transition:background .15s,border-color .15s;display:flex}.sup-option:hover{background:var(--surface-2);border-color:color-mix(in srgb, var(--brand) 55%, transparent)}.sup-option--patreon{--brand:#f2614b}.sup-option--kofi{--brand:#29abe0}.sup-option-head{align-items:center;gap:8px;display:flex}.sup-option-icon{width:16px;height:16px;color:var(--brand);flex-shrink:0}.sup-option-name{font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--text);font-size:13px;font-weight:700}.sup-option-kind{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--brand);margin-left:auto;font-size:10px}.sup-option-text{color:var(--text-muted);font-size:13px;line-height:1.6}.sup-board-heading{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);margin:0;padding-bottom:8px;font-size:12px;font-weight:700}.sup-tier{margin-bottom:34px}.sup-tier:first-of-type{margin-top:26px}.sup-tier-hdr{border-bottom:1px solid var(--border);align-items:baseline;gap:10px;margin-bottom:14px;padding-bottom:8px;display:flex}.sup-tier-name{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--tier-color);font-size:12px;font-weight:700}.sup-tier-count{font-family:var(--font-mono);color:var(--text-dim);font-size:11px}.sup-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.sup-grid--featured{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.sup-card{border:1px solid var(--border);border-left:3px solid var(--tier-color);background:var(--surface);align-items:center;gap:12px;padding:12px 14px;text-decoration:none;transition:border-color .15s;display:flex;position:relative;overflow:hidden}.sup-card:hover{border-color:var(--border-light);border-left-color:var(--tier-color)}.sup-card--featured{padding:18px}.sup-card-art{opacity:.5;pointer-events:none;position:absolute;inset:0 0 0 30%;-webkit-mask-image:linear-gradient(90deg,#0000,#000 70%);mask-image:linear-gradient(90deg,#0000,#000 70%)}.sup-card-body{min-width:0;position:relative}.sup-avatar{object-fit:cover;border:1px solid var(--border-light);border-radius:50%;flex-shrink:0;width:38px;height:38px;position:relative;overflow:hidden}.sup-avatar img{object-fit:cover;width:100%;height:100%;display:block}.sup-card--featured .sup-avatar{width:52px;height:52px}.sup-name{color:var(--text);align-items:center;gap:8px;min-width:0;font-size:15px;font-weight:700;display:flex}.sup-card--featured .sup-name{font-size:19px}.sup-name-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sup-handle{font-family:var(--font-mono);color:var(--text-dim);margin-top:3px;font-size:11px}.sup-empty{border:1px dashed var(--border);text-align:center;color:var(--text-muted);margin-top:26px;padding:26px;font-size:14px}.locked-tag{border:1px solid var(--tier-color,var(--tier-1));color:var(--tier-color,var(--tier-1));font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;vertical-align:middle;cursor:help;margin-left:10px;padding:2px 7px;font-size:10px;font-weight:700;text-decoration:none;display:inline-block;position:relative}.locked-tag--t1{--tier-color:var(--tier-1)}.locked-tag--t2{--tier-color:var(--tier-2)}.locked-tag--t3{--tier-color:var(--tier-3)}.locked-tag--t4{--tier-color:var(--tier-4)}.locked-tag--t5{--tier-color:var(--tier-5)}.locked-tag--t6{--tier-color:var(--tier-6)}.locked-tag:hover{background:color-mix(in srgb, var(--tier-color,var(--tier-1)) 16%, transparent);color:var(--tier-color,var(--tier-1))}.locked-tip{z-index:50;background:var(--surface-2);border:1px solid var(--border-light);width:280px;font-family:var(--font-body);letter-spacing:normal;text-transform:none;color:var(--text-muted);padding:10px 13px 11px;font-size:12px;font-weight:400;line-height:1.55;display:none;position:absolute;top:calc(100% + 9px);left:-10px;box-shadow:0 8px 24px #0009}.locked-tag:hover .locked-tip,.locked-tag:focus-visible .locked-tip{display:block}.account-locked-note{max-width:460px;color:var(--text-muted);margin-top:10px;font-size:12px;line-height:1.6}.role-toggle.is-tier--t1{border-color:var(--tier-1);color:var(--tier-1)}.role-toggle.is-tier--t2{border-color:var(--tier-2);color:var(--tier-2)}.role-toggle.is-tier--t3{border-color:var(--tier-3);color:var(--tier-3)}.role-toggle.is-tier--t4{border-color:var(--tier-4);color:var(--tier-4)}.role-toggle.is-tier--t5{border-color:var(--tier-5);color:var(--tier-5)}.role-toggle.is-tier--t6{border-color:var(--tier-6);color:var(--tier-6)}.profile-since .supporter-badge{margin-right:10px}.profile-tagline{max-width:520px;color:var(--text-muted);margin-top:8px;font-size:13px;font-style:italic;line-height:1.5}.sup-tagline{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;font-style:italic;line-height:1.45;overflow:hidden}.tagline-row{align-items:center;gap:10px;max-width:520px;display:flex}.tagline-input{flex:1;min-width:0}.tagline-count{font-family:var(--font-mono);color:var(--text-dim);flex-shrink:0;font-size:11px}.prof-pin{color:var(--text-dim);cursor:pointer;opacity:0;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:11px;line-height:1;transition:opacity .15s,color .12s}.prof-row:hover .prof-pin,.prof-pin:focus-visible,.prof-pin.is-pinned{opacity:1}.prof-pin:hover{color:var(--text)}.prof-pin.is-pinned{color:var(--tier-3)}@media (hover:none){.prof-pin{opacity:1}}.dir-name-row{align-items:center;gap:8px;min-width:0;display:flex}.dir-row{overflow:hidden}.dir-row-art{opacity:.14;pointer-events:none;background-repeat:no-repeat;position:absolute;inset:0 0 0 45%;-webkit-mask-image:linear-gradient(90deg,#0000,#000 75%);mask-image:linear-gradient(90deg,#0000,#000 75%)}.dir-row:hover .dir-row-art{opacity:.2}.dir-row>span{text-shadow:0 1px 4px #15171cd9;position:relative}:root{--tier-owner:#e74684}.supporter-badge--owner{--tier-color:var(--tier-owner)}.role-toggle.is-tier--owner{border-color:var(--tier-owner);color:var(--tier-owner)}.form-input.is-locked,.form-select.is-locked{border-style:dashed;border-color:var(--border);color:var(--text-dim);cursor:not-allowed;background:0 0}.form-input.is-locked::placeholder{color:var(--text-dim);font-style:italic}.account-provider-link{border:1px solid var(--tier-owner);color:var(--tier-owner);cursor:pointer;text-decoration:none}.account-provider-link:hover{background:color-mix(in srgb, var(--tier-owner) 14%, transparent);color:var(--tier-owner)}.rvv{padding-top:32px;padding-bottom:72px}.rvv-lbl{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.rvv-header{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:18px;display:flex}.rvv-credits{color:var(--text);flex-wrap:wrap;gap:20px;margin-left:auto;font-size:13px;display:flex}.rvv-credits .rvv-lbl{margin-right:6px}.rvv-credit-link{color:var(--text);border-bottom:1px solid var(--border-light);text-decoration:none}.rvv-credit-link:hover{color:var(--accent);border-bottom-color:var(--accent)}.rvv-team{margin-bottom:20px}.rvv-seq{font-family:var(--font-mono);background:var(--char-color,var(--border-light));color:var(--bg);padding:1px 6px;font-size:11px;font-weight:700}.rvv-ref{color:#d4a843;font-size:11px;font-weight:700}.rvv-slot .echo-cost-btn{pointer-events:none}.rvv-slot .echo-name-wrap{min-height:calc(1lh + 8px);font-size:13px;overflow:hidden}.rvv-sonata{align-items:center;gap:6px;min-width:0;margin:6px 0 4px;display:flex}.rvv-sonata .echo-sonata-input{flex:1;min-width:0;margin:0}.rvv-sonata-icon{background-position:50%;background-repeat:no-repeat;background-size:contain;flex-shrink:0;width:16px;height:16px}.rvv-rot{overflow-x:auto}.rvv-rot .rot-header,.rvv-rot .rot-row{grid-template-columns:32px 140px minmax(140px,1fr) 72px 80px 80px 80px 80px 72px 64px 64px 64px}.rvv-cdrop{cursor:default}.rvv-cdrop:hover{filter:none}.rvv-cdrop .rot-cdrop-trigger{cursor:default}.rvv-rot .rot-td{min-height:30px}.rvv-rot .rot-subrow .rot-td{min-height:24px}.rvv-rot .rot-col-num{cursor:default}.rvv-slot .ac-select,.rvv-rot .ac-select{pointer-events:none}.rvv-char{color:color-mix(in srgb, var(--char-color) 72%, var(--text));font-weight:600}.rvv-rot .rot-row--lib .rvv-skill{color:color-mix(in srgb, var(--char-color) 60%, white);font-weight:600}.rvv-content{align-items:flex-start}.rvv .sim-breakdown-wrap:not(.is-open) .bkd-section-body{display:none}.character-list{flex-direction:column;gap:10px;display:flex}.echo-card-toggle{gap:0!important}.echo-col-name{width:260px;color:var(--char-color,var(--text));flex:none;margin-left:10px;padding-right:16px;font-size:14px;font-weight:600}.echo-col-elem{flex:none;width:76px}.echo-col-cost{flex:none;width:40px}.echo-col-type{flex:none;width:96px}.echo-col-sonatas{flex-wrap:wrap;flex:1;align-items:center;gap:6px;padding:0 8px;display:flex}.echo-ability-grid-row{grid-template-columns:var(--echo-ability-cols);align-items:center;min-width:max-content;display:grid}.echo-ability-grid-row:not(.ath-row){cursor:pointer;transition:background .1s}.echo-ability-grid-row:not(.ath-row):hover{background:var(--surface-3)}.sonata-pill{text-transform:uppercase;letter-spacing:.04em;background:color-mix(in srgb, var(--pill-color,var(--accent)) 15%, transparent);border:1px solid color-mix(in srgb, var(--pill-color,var(--accent)) 70%, transparent);color:var(--pill-color,var(--accent));padding:2px 6px;font-size:10px;font-weight:600;display:inline-block}.char-group-header{letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border);margin-top:6px;padding:4px 2px 2px;font-size:11px;font-weight:700}.char-group-header:first-child{margin-top:0}.char-meta{align-items:center;gap:7px;display:flex}.tag{text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;font-size:10px;font-weight:600}.tag-attribute{color:#a78fff;background:#7c6fff26;border:1px solid #7c6fff40}.tag-weapon{color:#22d3ee;background:#22d3ee1a;border:1px solid #22d3ee33}.elem{text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;font-size:10px;font-weight:700;display:inline-block}.attr-havoc{background:color-mix(in srgb, var(--color-attr-havoc) 15%, transparent);color:var(--color-attr-havoc);border:1px solid color-mix(in srgb, var(--color-attr-havoc) 25%, transparent)}.attr-glacio{background:color-mix(in srgb, var(--color-attr-glacio) 15%, transparent);color:var(--color-attr-glacio);border:1px solid color-mix(in srgb, var(--color-attr-glacio) 25%, transparent)}.attr-electro{background:color-mix(in srgb, var(--color-attr-electro) 15%, transparent);color:var(--color-attr-electro);border:1px solid color-mix(in srgb, var(--color-attr-electro) 25%, transparent)}.attr-spectro{background:color-mix(in srgb, var(--color-attr-spectro) 15%, transparent);color:var(--color-attr-spectro);border:1px solid color-mix(in srgb, var(--color-attr-spectro) 25%, transparent)}.attr-fusion{background:color-mix(in srgb, var(--color-attr-fusion) 15%, transparent);color:var(--color-attr-fusion);border:1px solid color-mix(in srgb, var(--color-attr-fusion) 25%, transparent)}.attr-aero{background:color-mix(in srgb, var(--color-attr-aero) 15%, transparent);color:var(--color-attr-aero);border:1px solid color-mix(in srgb, var(--color-attr-aero) 25%, transparent)}.attr-physical{background:color-mix(in srgb, var(--color-attr-physical) 15%, transparent);color:var(--color-attr-physical);border:1px solid color-mix(in srgb, var(--color-attr-physical) 25%, transparent)}.wpn-sword{background:color-mix(in srgb, var(--color-weapon-sword) 15%, transparent);color:var(--color-weapon-sword);border:1px solid color-mix(in srgb, var(--color-weapon-sword) 25%, transparent)}.wpn-rectifier{background:color-mix(in srgb, var(--color-weapon-rectifier) 15%, transparent);color:var(--color-weapon-rectifier);border:1px solid color-mix(in srgb, var(--color-weapon-rectifier) 25%, transparent)}.wpn-broadblade{background:color-mix(in srgb, var(--color-weapon-broadblade) 15%, transparent);color:var(--color-weapon-broadblade);border:1px solid color-mix(in srgb, var(--color-weapon-broadblade) 25%, transparent)}.wpn-pistol,.wpn-pistols{background:color-mix(in srgb, var(--color-weapon-pistols) 15%, transparent);color:var(--color-weapon-pistols);border:1px solid color-mix(in srgb, var(--color-weapon-pistols) 25%, transparent)}.wpn-gauntlet,.wpn-gauntlets{background:color-mix(in srgb, var(--color-weapon-gauntlets) 15%, transparent);color:var(--color-weapon-gauntlets);border:1px solid color-mix(in srgb, var(--color-weapon-gauntlets) 25%, transparent)}.ability-count{color:var(--text-muted);text-align:right;white-space:nowrap;flex:none;width:84px;font-size:12px}.badge-confirmed{color:var(--green);letter-spacing:.04em;text-transform:uppercase;background:#4ade801f;border:1px solid #4ade8040;padding:2px 6px;font-size:10px;font-weight:700}.badge-unconfirmed{color:var(--red);letter-spacing:.04em;text-transform:uppercase;background:#f871711a;border:1px solid #f8717133;padding:2px 6px;font-size:10px;font-weight:700}.ability-table-wrap{scrollbar-width:thin;scrollbar-color:var(--border-light) transparent;padding:0 0 4px;overflow-x:auto}.ability-table-wrap::-webkit-scrollbar{height:3px}.ability-table-wrap::-webkit-scrollbar-track{background:0 0}.ability-table-wrap::-webkit-scrollbar-thumb{background:var(--border-light)}.ability-table-wrap::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.ability-grid-row{grid-template-columns:var(--ability-cols);min-width:var(--ability-row-min,max-content);align-items:center;display:grid}.ath-row{border-bottom:1px solid var(--border);background:var(--surface-3);z-index:1;position:sticky;top:0}.ath{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);white-space:nowrap;text-align:center;padding:5px 6px;font-size:10px;font-weight:700}.ath-expand{padding:5px 0}.ath-name{text-align:left;padding-left:4px}.ath-num{text-align:right}.ability-item{border-top:1px solid var(--border-light)}.ability-item:first-of-type{border-top:none}.ability-grid-row:not(.ath-row){cursor:pointer;transition:background .1s}.ability-grid-row:not(.ath-row):hover{background:var(--surface-3)}.atd{color:var(--text);white-space:nowrap;text-overflow:ellipsis;text-align:center;padding:7px 6px;font-size:12px;overflow:hidden}.atd-expand{color:var(--text-muted);justify-content:center;align-items:center;padding:0;display:flex}.atd-name{text-align:left;padding-left:4px;font-weight:500}.atd-num{font-family:var(--font-mono);color:var(--text);text-align:right}.atd-status,.atd-badge{text-align:center}.atd-frames{color:#fff;font-size:13px;font-weight:700}.atd-frames.dim{color:var(--text-dim)}.ability-row--mismatch{background:#f8717114}.ability-row--mismatch:hover{background:#f8717124!important}.ath-frames{color:var(--char-color,var(--accent-hover))}.atd-actions{flex-wrap:nowrap;align-items:center;gap:4px;padding-right:8px;display:flex}.atd-actions form{display:flex}.ability-panel{grid-template-rows:0fr;width:min(100%,100vw - 56px);display:grid;position:sticky;left:0;overflow:hidden}.ability-panel>.ability-panel-inner{min-height:0;overflow:hidden}.ability-panel.is-open{grid-template-rows:1fr}.ability-filter-bar{padding:10px 0 8px 12px}.ability-filter-input{border:1px solid var(--border);background:var(--surface-3);width:220px;color:var(--text-muted);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%23686c88' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");background-position:8px;background-repeat:no-repeat;outline:none;padding:4px 10px 4px 28px;font-family:inherit;font-size:12px;transition:border-color .12s,color .12s}.ability-filter-input:focus,.ability-filter-input:not(:placeholder-shown){border-color:var(--char-color,var(--accent));color:var(--text);background-color:var(--surface-2)}.ability-filter-input::placeholder{color:var(--text-muted)}.ability-sticky-wrap{width:min(100%,100vw - 56px);position:sticky;left:0}.ability-add-row{width:100%;color:var(--text-muted);text-align:left;cursor:pointer;background:0 0;border:none;min-width:max-content;padding:7px 12px;font-family:inherit;font-size:12px;transition:background .1s,color .1s;display:block}.ability-add-row:hover{background:var(--surface-3);color:var(--text)}.ability-edit-inline{border-bottom:1px solid var(--border);background:var(--surface-3);flex-direction:column;gap:10px;padding:10px 12px 12px;display:flex}.aei-grid{border-bottom:1px solid var(--border);background:var(--surface-3);grid-template-columns:minmax(130px,1fr) 52px 50px 44px 50px 52px 50px 54px 50px 48px 50px 56px 62px 38px 38px 38px 38px 38px 50px 90px 110px;font-size:12px;display:grid;overflow-x:auto}.aei-hr,.aei-row{grid-column:1/-1;grid-template-columns:subgrid;display:grid}.aei-hr{background:var(--surface-2);border-bottom:1px solid var(--border)}.aei-th{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);white-space:nowrap;padding:5px 6px;font-size:10px;font-weight:700}.aei-td{white-space:nowrap;align-items:center;padding:6px 5px;display:flex}.aei-th-sep,.aei-td-sep{border-left:1px solid var(--border-light)}.aei-td-actions{justify-content:flex-end;gap:4px;padding-right:8px}.aei-check{background:var(--surface-2);border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:0;flex:1;justify-content:center;align-items:center;width:100%;min-width:32px;height:26px;transition:background-color .1s,border-color .1s;display:flex;position:relative}.aei-check:hover{border-color:var(--border-light);background:var(--surface-3)}.aei-check input[type=checkbox]{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0}.aei-check:after{content:"—";color:var(--text-dim);font-size:12px;font-weight:700;line-height:1}.aei-check:has(input:checked){background:var(--accent-dim);border-color:var(--accent)}.aei-check:has(input:checked):after{content:"✓";color:var(--accent)}.char-details-view,.char-edit-form{border-bottom:1px solid var(--border);background:var(--surface)}.char-details-titlebar{flex-wrap:wrap;align-items:flex-start;gap:24px;padding:12px 18px;display:flex}.char-edit-titlebar{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 18px;display:flex}.char-edit-label{color:var(--text-muted);font-size:12px;font-weight:600}.char-edit-body{flex-direction:column;gap:12px;padding:12px 18px 14px;display:flex}.ability-view{flex:1;min-width:0}.ability-view-titlebar{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:9px 10px 9px 0;display:flex}.ability-inline-stats{flex-shrink:0;grid-template-columns:38px 42px 28px 38px 48px 48px 42px 40px 38px 42px 12px 40px 44px 38px 38px 38px 38px 38px;align-items:center;margin-left:auto;padding-right:14px;display:grid}.astat{white-space:nowrap;align-items:baseline;gap:3px;display:flex;overflow:hidden}.astat-lbl{color:var(--text-muted);font-size:10px}.astat-val{font-size:12px;font-family:var(--font-mono);color:var(--text);font-weight:600}.astat-sep{background:var(--border-light);justify-self:center;width:1px;height:12px}.aview-section{flex-direction:column;gap:6px;display:flex}.aview-grid{flex-wrap:wrap;gap:2px 0;display:flex}.aview-field{white-space:nowrap;align-items:center;gap:5px;padding:1px 14px 1px 0;display:flex}.aview-break{width:100%;height:0}.aview-sep{background:var(--border-light);align-self:center;width:1px;height:14px;margin:0 6px;padding:0}.aview-label{color:color-mix(in srgb, var(--char-color,var(--accent)) 55%, var(--text-muted));text-transform:capitalize;font-size:11px;font-weight:500}.aview-val{font-size:12px;font-family:var(--font-mono);color:var(--text)}.ability-edit-titlebar{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:9px 10px 9px 0;display:flex}.ability-edit-body{flex-direction:column;gap:12px;padding:12px 14px 14px;display:flex}.aedit-section{flex-direction:column;gap:8px;display:flex}.aedit-grid{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.aedit-field{flex-direction:column;gap:4px;min-width:110px;display:flex}.aedit-field.aedit-wide{flex:1;min-width:220px}.aedit-field.aedit-checkbox{min-width:100px}.aedit-field label{color:var(--text-muted);text-transform:capitalize;font-size:10px;font-weight:500}.aedit-check{background:var(--surface-2);border:1px solid var(--border);cursor:pointer;align-items:center;gap:8px;height:30px;padding:0 10px;display:flex}.aedit-check:hover{border-color:var(--border-light);background:var(--surface-3)}.aedit-check input[type=checkbox]{accent-color:var(--accent);cursor:pointer;margin:0}.aedit-check span{color:var(--text);text-transform:none;font-size:11px}.hits-wrap{border-top:1px solid var(--border);overflow-x:auto}.hits-grid{grid-template-columns:38px 58px 72px 78px 90px 160px 1fr 88px 76px 84px var(--hf1,60px) var(--hf2,60px) var(--hf3,60px) var(--hf4,60px) var(--hf5,60px) 100px;width:100%;min-width:940px;font-size:12px;display:grid}.echo-hits-grid{grid-template-columns:38px 58px 72px 78px 90px 1fr 88px 76px 84px var(--hf1,60px) var(--hf2,60px) var(--hf3,60px) var(--hf4,60px) var(--hf5,60px) 100px;min-width:840px}.forte-col{min-width:0;padding-left:3px;padding-right:3px;overflow:hidden}.hits-header-row{grid-column:1/-1;grid-template-columns:subgrid;background:var(--surface-3);border-bottom:1px solid var(--border);display:grid}.hits-th{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);white-space:nowrap;padding:6px 10px;font-size:10px;font-weight:700}.hits-td{border-bottom:1px solid var(--border);white-space:nowrap;align-items:center;padding:7px 10px;display:flex}.hits-actions{gap:4px}.hit-bulk-form{grid-column:1/-1}.hit-bulk-row{border-bottom:1px solid var(--border);align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.hit-bulk-textarea{background:var(--surface);border:1px solid var(--border);color:var(--text);font-family:var(--font-mono);resize:vertical;outline:none;flex:1;padding:6px 8px;font-size:11px}.hit-bulk-textarea:focus{border-color:var(--accent)}.hit-bulk-actions{flex-direction:column;flex-shrink:0;gap:4px;display:flex}.hits-empty{text-align:center;color:var(--text-muted);grid-column:1/-1;padding:16px;font-size:12px}input[type=number].inline-input{text-align:right}.inline-input-sm{max-width:46px}.ability-grid-row .inline-input{padding:3px 4px}.inline-select{background:var(--surface);border:1px solid var(--border-light);color:var(--text);outline:none;width:100%;padding:4px 6px;font-family:inherit;font-size:11px;transition:border-color .12s}.inline-select:focus{border-color:var(--accent)}.inline-select option{background:var(--surface-3)}.hits-td-wrap{white-space:normal;align-items:flex-start;padding:5px 8px}.subtype-picker{flex-wrap:wrap;gap:3px;display:flex}.subtype-pill input[type=checkbox]{display:none}.subtype-pill span{cursor:pointer;background:var(--surface-3);border:1px solid color-mix(in srgb, var(--pill-color,var(--border-light)) 35%, var(--border));color:color-mix(in srgb, var(--pill-color,var(--text-muted)) 55%, var(--text-muted));-webkit-user-select:none;user-select:none;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;font-family:inherit;font-size:10px;font-weight:600;transition:background .1s,border-color .1s,color .1s;display:inline-block}.subtype-pill input:checked+span{background:color-mix(in srgb, var(--pill-color,var(--accent)) 15%, transparent);border-color:color-mix(in srgb, var(--pill-color,var(--accent)) 70%, transparent);color:var(--pill-color,var(--accent))}.subtype-pill span:hover{border-color:var(--border-light);color:var(--text)}.num{font-family:var(--font-mono)}.dim{color:var(--text-dim)}.dmg{font-family:var(--font-mono);letter-spacing:.03em;white-space:nowrap;text-transform:uppercase;padding:1px 6px;font-size:10px;font-weight:600;display:inline-block}.dmg-basic_attack{background:color-mix(in srgb, var(--color-dmg-basic) 15%, transparent);color:var(--color-dmg-basic);border:1px solid color-mix(in srgb, var(--color-dmg-basic) 25%, transparent)}.dmg-heavy_attack{background:color-mix(in srgb, var(--color-dmg-heavy) 15%, transparent);color:var(--color-dmg-heavy);border:1px solid color-mix(in srgb, var(--color-dmg-heavy) 25%, transparent)}.dmg-resonance_skill{background:color-mix(in srgb, var(--color-dmg-skill) 15%, transparent);color:var(--color-dmg-skill);border:1px solid color-mix(in srgb, var(--color-dmg-skill) 25%, transparent)}.dmg-resonance_liberation{background:color-mix(in srgb, var(--color-dmg-liberation) 15%, transparent);color:var(--color-dmg-liberation);border:1px solid color-mix(in srgb, var(--color-dmg-liberation) 25%, transparent)}.dmg-intro{background:color-mix(in srgb, var(--color-dmg-intro) 15%, transparent);color:var(--color-dmg-intro);border:1px solid color-mix(in srgb, var(--color-dmg-intro) 25%, transparent)}.dmg-outro{background:color-mix(in srgb, var(--color-dmg-outro) 15%, transparent);color:var(--color-dmg-outro);border:1px solid color-mix(in srgb, var(--color-dmg-outro) 25%, transparent)}.dmg-echo_skill{background:color-mix(in srgb, var(--color-dmg-echo-skill) 15%, transparent);color:var(--color-dmg-echo-skill);border:1px solid color-mix(in srgb, var(--color-dmg-echo-skill) 25%, transparent)}.dmg-utility{background:color-mix(in srgb, var(--color-dmg-utility) 10%, transparent);color:var(--color-dmg-utility);border:1px solid color-mix(in srgb, var(--color-dmg-utility) 20%, transparent)}.dmg-coordinated_attack{background:color-mix(in srgb, var(--color-dmg-coordinated-attack) 15%, transparent);color:var(--color-dmg-coordinated-attack);border:1px solid color-mix(in srgb, var(--color-dmg-coordinated-attack) 25%, transparent)}.dmg-heal_shield{background:color-mix(in srgb, var(--color-status-heal-shield) 15%, transparent);color:var(--color-status-heal-shield);border:1px solid color-mix(in srgb, var(--color-status-heal-shield) 25%, transparent)}.dmg-negative_status{background:color-mix(in srgb, var(--color-status-negative) 15%, transparent);color:var(--color-status-negative);border:1px solid color-mix(in srgb, var(--color-status-negative) 25%, transparent)}.dmg-tune_break{background:color-mix(in srgb, var(--color-dmg-tune-break) 15%, transparent);color:var(--color-dmg-tune-break);border:1px solid color-mix(in srgb, var(--color-dmg-tune-break) 25%, transparent)}.dmg-tune_rupture{background:color-mix(in srgb, var(--color-dmg-tune-rupture) 15%, transparent);color:var(--color-dmg-tune-rupture);border:1px solid color-mix(in srgb, var(--color-dmg-tune-rupture) 25%, transparent)}.dmg-tune_hack{background:color-mix(in srgb, var(--color-dmg-tune-hack) 15%, transparent);color:var(--color-dmg-tune-hack);border:1px solid color-mix(in srgb, var(--color-dmg-tune-hack) 25%, transparent)}.dmg-none{color:var(--text-muted);background:#ffffff0a}.dmg-aero_erosion{background:color-mix(in srgb, var(--color-status-aero-erosion) 15%, transparent);color:var(--color-status-aero-erosion);border:1px solid color-mix(in srgb, var(--color-status-aero-erosion) 25%, transparent)}.dmg-electro_flare{background:color-mix(in srgb, var(--color-status-electro-flare) 15%, transparent);color:var(--color-status-electro-flare);border:1px solid color-mix(in srgb, var(--color-status-electro-flare) 25%, transparent)}.dmg-glacio_chafe{background:color-mix(in srgb, var(--color-status-glacio-chafe) 15%, transparent);color:var(--color-status-glacio-chafe);border:1px solid color-mix(in srgb, var(--color-status-glacio-chafe) 25%, transparent)}.dmg-fusion_burst{background:color-mix(in srgb, var(--color-status-fusion-burst) 15%, transparent);color:var(--color-status-fusion-burst);border:1px solid color-mix(in srgb, var(--color-status-fusion-burst) 25%, transparent)}.dmg-fusion_trail{background:color-mix(in srgb, var(--color-status-fusion-trail) 15%, transparent);color:var(--color-status-fusion-trail);border:1px solid color-mix(in srgb, var(--color-status-fusion-trail) 25%, transparent)}.dmg-rupturous_trail{background:color-mix(in srgb, var(--color-status-rupturous-trail) 15%, transparent);color:var(--color-status-rupturous-trail);border:1px solid color-mix(in srgb, var(--color-status-rupturous-trail) 25%, transparent)}.dmg-spectro_frazzle{background:color-mix(in srgb, var(--color-status-spectro-frazzle) 15%, transparent);color:var(--color-status-spectro-frazzle);border:1px solid color-mix(in srgb, var(--color-status-spectro-frazzle) 25%, transparent)}.dmg-heliacal_embers{background:color-mix(in srgb, var(--color-status-heliacal-embers) 15%, transparent);color:var(--color-status-heliacal-embers);border:1px solid color-mix(in srgb, var(--color-status-heliacal-embers) 25%, transparent)}.dmg-havoc_bane{background:color-mix(in srgb, var(--color-status-havoc-bane) 15%, transparent);color:var(--color-status-havoc-bane);border:1px solid color-mix(in srgb, var(--color-status-havoc-bane) 25%, transparent)}.dmg-glacio_bite{background:color-mix(in srgb, var(--color-status-glacio-bite) 15%, transparent);color:var(--color-status-glacio-bite);border:1px solid color-mix(in srgb, var(--color-status-glacio-bite) 25%, transparent)}.genre-basic{background:color-mix(in srgb, var(--color-dmg-basic) 15%, transparent);color:var(--color-dmg-basic);border:1px solid color-mix(in srgb, var(--color-dmg-basic) 25%, transparent)}.genre-heavy{background:color-mix(in srgb, var(--color-dmg-heavy) 15%, transparent);color:var(--color-dmg-heavy);border:1px solid color-mix(in srgb, var(--color-dmg-heavy) 25%, transparent)}.genre-skill{background:color-mix(in srgb, var(--color-dmg-skill) 15%, transparent);color:var(--color-dmg-skill);border:1px solid color-mix(in srgb, var(--color-dmg-skill) 25%, transparent)}.genre-liberation{background:color-mix(in srgb, var(--color-dmg-liberation) 15%, transparent);color:var(--color-dmg-liberation);border:1px solid color-mix(in srgb, var(--color-dmg-liberation) 25%, transparent)}.genre-intro{background:color-mix(in srgb, var(--color-dmg-intro) 15%, transparent);color:var(--color-dmg-intro);border:1px solid color-mix(in srgb, var(--color-dmg-intro) 25%, transparent)}.genre-outro{background:color-mix(in srgb, var(--color-dmg-outro) 15%, transparent);color:var(--color-dmg-outro);border:1px solid color-mix(in srgb, var(--color-dmg-outro) 25%, transparent)}.genre-echo{background:color-mix(in srgb, var(--color-dmg-echo-skill) 15%, transparent);color:var(--color-dmg-echo-skill);border:1px solid color-mix(in srgb, var(--color-dmg-echo-skill) 25%, transparent)}.genre-tunebreak{background:color-mix(in srgb, var(--color-dmg-tune-break) 15%, transparent);color:var(--color-dmg-tune-break);border:1px solid color-mix(in srgb, var(--color-dmg-tune-break) 25%, transparent)}.genre-none{color:var(--text-muted);background:#ffffff0a}.scale-attack{background:color-mix(in srgb, var(--color-scale-attack) 12%, transparent);color:var(--color-scale-attack);border:1px solid color-mix(in srgb, var(--color-scale-attack) 25%, transparent);letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;font-size:10px;font-weight:700}.scale-hp{background:color-mix(in srgb, var(--color-scale-hp) 12%, transparent);color:var(--color-scale-hp);border:1px solid color-mix(in srgb, var(--color-scale-hp) 25%, transparent);letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;font-size:10px;font-weight:700}.scale-defense{background:color-mix(in srgb, var(--color-scale-defense) 12%, transparent);color:var(--color-scale-defense);border:1px solid color-mix(in srgb, var(--color-scale-defense) 25%, transparent);letter-spacing:.04em;text-transform:uppercase;padding:2px 6px;font-size:10px;font-weight:700}.empty-row{text-align:center;color:var(--text-muted);padding:20px}.edit-wrap{max-width:860px}.edit-header{border-bottom:1px solid var(--border);align-items:center;gap:16px;margin-bottom:24px;padding:24px 0 18px;display:flex}.edit-title{font-size:17px;font-weight:700}.edit-subtitle{color:var(--text-muted);margin-top:3px;font-size:12px}.form-card{background:var(--surface);border:1px solid var(--border);margin-bottom:10px;padding:16px 20px}.form-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:14px;padding-bottom:8px;font-size:10px;font-weight:700}.form-grid{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px;display:grid}.form-group{flex-direction:column;gap:5px;display:flex}.form-group.span2{grid-column:span 2}.form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:600}.form-input,.form-select{background:var(--surface-3);border:1px solid var(--border-light);color:var(--text);outline:none;width:100%;padding:7px 10px;font-family:inherit;font-size:13px;transition:border-color .12s}.form-input:focus,.form-select:focus{border-color:var(--accent)}.form-select option{background:var(--surface-3)}.checkbox-row{align-items:center;gap:8px;padding:7px 0;display:flex}.checkbox-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer}.checkbox-row label{cursor:pointer;color:var(--text);font-size:13px}.form-actions{gap:10px;padding-top:8px;display:flex}.character-card.is-open>.accordion-body{grid-template-rows:1fr}.character-card.is-open>.character-toggle .chevron,.ability-grid-row.is-open .chevron,.echo-ability-grid-row.is-open .chevron{transform:rotate(90deg)}.admin-tile-grid{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:20px;display:grid}.admin-tile{border:1px solid var(--border);background:var(--surface);padding:20px;transition:border-color .18s;display:block}.admin-tile:hover{border-color:var(--border-light)}.admin-tile-title{color:var(--text);font-size:16px;font-weight:700}.admin-tile-desc{color:var(--text-muted);margin-top:6px;font-size:13px;line-height:1.5}.stat-windows{margin:18px 0 22px}.stat-section{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin:34px 0 12px;font-size:12px;font-weight:700}.stat-cards{background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;display:grid}.stat-card{background:var(--surface);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.stat-card-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.stat-card-value{color:var(--text);font-size:20px;font-weight:700}.stat-card-value.is-bad{color:var(--red)}.stat-card-hint{color:var(--text-dim);font-size:11px}.stat-chart{border-bottom:1px solid var(--border);align-items:flex-end;gap:2px;height:120px;display:flex}.stat-bar-slot{flex:1;align-items:flex-end;min-width:3px;height:100%;display:flex}.stat-bar{width:100%;height:var(--h);background:var(--accent);opacity:.8}.stat-bar--errors{background:var(--red)}.stat-bar-slot:hover .stat-bar{opacity:1}.stat-table{flex-direction:column;display:flex}.stat-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) repeat(5,96px);align-items:center;gap:12px;padding:9px 12px;font-size:13px;display:grid}.stat-row--head{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);border-bottom-color:var(--border-light);font-size:10px;font-weight:700}.stat-route{font-family:var(--font-mono);color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.stat-num{font-family:var(--font-mono);text-align:right;color:var(--text-muted)}.stat-row:not(.stat-row--head) .stat-num{color:var(--text)}.stat-num--bad{color:var(--red)}.stat-chars{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.stat-char{border:1px solid var(--border);border-left:3px solid var(--cc,var(--accent));align-items:center;gap:8px;padding:6px 10px 6px 6px;font-size:12px;display:flex}.stat-char-name{color:var(--text)}.stat-char-runs{font-family:var(--font-mono);color:var(--text-muted)}.stat-foot{color:var(--text-dim);margin-top:28px;font-size:12px;line-height:1.6}.chart-wrap{flex-direction:column;gap:10px;display:flex}.chart{max-width:100%;display:block;overflow:visible}.chart-grid{stroke:var(--border);stroke-width:1px}.chart-cross{stroke:var(--border-light);stroke-width:1px;stroke-dasharray:3 3}.chart-bar{fill:var(--accent);opacity:.55}.chart-bar--client{fill:var(--orange);opacity:.85}.chart-bar--server{fill:var(--red);opacity:.9}.chart-line{fill:none;stroke:var(--green);stroke-width:2px;vector-effect:non-scaling-stroke}.chart-dot{fill:var(--green)}.chart-dot.is-hot{fill:var(--text)}.chart-axis{font-family:var(--font-mono);fill:var(--text-dim);font-size:10px}.chart-axis--left{text-anchor:end}.chart-axis--right{text-anchor:start}.chart-legend{color:var(--text-muted);flex-wrap:wrap;gap:14px;font-size:11px;display:flex}.chart-key{align-items:center;gap:6px;display:inline-flex}.chart-key:before{content:"";width:10px;height:10px;display:block}.chart-key--bar:before{background:var(--accent);opacity:.55}.chart-key--client:before{background:var(--orange)}.chart-key--server:before{background:var(--red)}.chart-key--line:before{background:var(--green);height:2px}.chart-readout{border:1px solid var(--border);background:var(--surface);color:var(--text-muted);flex-wrap:wrap;align-items:baseline;gap:16px;min-height:34px;padding:8px 12px;font-size:12px;display:flex}.chart-readout.is-idle{color:var(--text-dim)}.chart-readout b{color:var(--text);font-family:var(--font-mono)}.chart-readout-when{font-family:var(--font-mono);color:var(--text)}.chart-readout-client{color:var(--orange)}.chart-readout-server{color:var(--red)}.stat-hist{flex-direction:column;gap:4px;display:flex}.stat-hist-row{grid-template-columns:96px minmax(0,1fr) 60px;align-items:center;gap:12px;font-size:12px;display:grid}.stat-hist-label{font-family:var(--font-mono);color:var(--text-muted);text-align:right}.stat-hist-track{background:var(--surface-2);height:14px;display:block}.stat-hist-fill{height:100%;width:var(--w);background:var(--accent);opacity:.7;display:block}.stat-hist-fill.is-slow{background:var(--orange)}.stat-hist-count{font-family:var(--font-mono);color:var(--text)}.stat-filter{align-items:center;gap:10px;margin-bottom:18px;font-size:12px;display:flex}.stat-filter-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:10px}.stat-filter-route{font-family:var(--font-mono);color:var(--accent)}.stat-row--pick{border:none;border-bottom:1px solid var(--border);text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0}.stat-row--pick:hover{background:var(--surface)}.stat-row--pick.is-active{background:var(--surface-2)}.stat-row--pick.is-active .stat-route{color:var(--accent)}.stat-plot-hint{margin-top:20px}.scatter-dot{fill:var(--accent);fill-opacity:.45;stroke:var(--accent);stroke-opacity:.8;cursor:crosshair}.scatter-dot.is-hits{fill:var(--orange);stroke:var(--orange)}.scatter-dot.is-hot{fill-opacity:1;stroke:var(--text)}.chart-key--plain:before{background:var(--accent);opacity:.55}.chart-key--hits:before{background:var(--orange)}.chart-readout-hits{color:var(--orange)}.stat-row--who{grid-template-columns:minmax(0,1fr) repeat(4,90px) 110px}.stat-who{align-items:baseline;gap:8px;min-width:0;display:flex}.stat-who-anon{color:var(--text-muted)}.stat-who-handle{font-family:var(--font-mono);color:var(--text-dim);font-size:11px}.stat-num--calc{color:var(--orange)}.stat-num--when{color:var(--text-dim);font-size:11px}.stat-run-tabs{margin:20px 0 4px}.stat-run-log{max-height:460px;overflow-y:auto}.stat-row--run{grid-template-columns:130px 104px 96px 56px 56px 62px 62px 62px minmax(0,1fr);gap:10px;padding:7px 12px}.stat-row--run.no-who{grid-template-columns:104px 96px 56px 56px 62px 62px 62px minmax(0,1fr)}.stat-run-log .stat-row--head{background:var(--bg);z-index:1;position:sticky;top:0}.stat-run-team{gap:3px;display:flex}.stat-run-thumb{background:var(--surface-2);border:1px solid var(--border-light);width:22px;height:22px;color:var(--char-color);flex-shrink:0;font-size:10px;position:relative;overflow:hidden}.stat-run-thumb img{object-fit:cover;width:100%;height:100%;display:block}.stat-run-changes{scrollbar-width:none;flex-wrap:nowrap;align-items:center;gap:5px;min-width:0;display:flex;overflow-x:auto}.stat-run-changes::-webkit-scrollbar{display:none}.stat-chip{font-family:var(--font-mono);border:1px solid var(--border-light);color:var(--text-muted);white-space:nowrap;flex:none;padding:0 6px;font-size:10px;line-height:15px}.stat-chip--team{color:var(--cyan);border-color:color-mix(in srgb, var(--cyan) 45%, transparent)}.stat-chip--actions{color:var(--green);border-color:color-mix(in srgb, var(--green) 45%, transparent)}.stat-chip--cancel{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.stat-chip--swap{color:var(--yellow);border-color:color-mix(in srgb, var(--yellow) 45%, transparent)}.stat-chip--hold{color:#a78bfa;border-color:#a78bfa73}.stat-chip--gear{color:#f472b6;border-color:#f472b673}.stat-chip--timing{color:var(--orange);border-color:color-mix(in srgb, var(--orange) 45%, transparent)}.stat-chip--flag{color:var(--text);border-color:var(--border-light)}.stat-chip--section{color:var(--text-dim);border-color:var(--border)}.stat-chip--hits{color:var(--orange);border-color:color-mix(in srgb, var(--orange) 35%, transparent);background:color-mix(in srgb, var(--orange) 12%, transparent)}.stat-chip--bad{color:var(--red);border-color:color-mix(in srgb, var(--red) 45%, transparent);background:color-mix(in srgb, var(--red) 14%, transparent)}.stat-run-first{color:var(--text-dim);flex:none;font-size:11px}.clog-admin{max-width:900px}.clog-add{margin-bottom:18px}.clog-list{flex-direction:column;display:flex}.clog-bulk{z-index:1;background:var(--bg);border-bottom:1px solid var(--border-light);align-items:center;gap:8px;margin-bottom:4px;padding:8px 0;display:flex;position:sticky;top:0}.clog-bulk-count{font-family:var(--font-mono);color:var(--text-muted);margin-right:auto;font-size:11px}.clog-bulk .rev-btn:disabled{opacity:.4;cursor:default}.clog-check{font-family:var(--font-mono);color:var(--text-muted);cursor:pointer;flex-shrink:0;align-items:center;gap:6px;font-size:11px;display:flex}.clog-check input{accent-color:var(--accent);cursor:pointer}.clog-row{border-bottom:1px solid var(--border);padding:12px 0}.clog-row.is-picked{box-shadow:inset 2px 0 0 var(--accent);padding-left:10px}.clog-row-head{align-items:center;gap:10px;min-width:0;display:flex}.clog-row-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.clog-row-date{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;margin-left:auto;font-size:11px}.clog-row-actions{flex-shrink:0;gap:6px;display:flex}.clog-row-details{color:var(--text-muted);white-space:pre-wrap;margin:6px 0 0;font-size:13px;line-height:1.6}.clog-form{border:1px solid var(--border-light);background:var(--surface);flex-direction:column;gap:12px;margin-bottom:18px;padding:14px;display:flex}.clog-form-row{align-items:flex-end;gap:12px;display:flex}.clog-field{flex-direction:column;gap:5px;min-width:0;display:flex}.clog-field--date{flex:0 0 150px}.clog-field--type{flex:0 0 130px}.clog-field--title{flex:auto}.clog-label{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:10px}.clog-details{resize:vertical;min-height:90px;font-family:var(--font-body);font-size:13px;line-height:1.6}.clog-form-actions{gap:8px;display:flex}.clog-btn--primary{border-color:var(--accent);color:var(--accent)}.clog-btn--danger{border-color:var(--red);color:var(--red)}.clog-error{color:var(--red);margin:0;font-size:12px}@media (width<=720px){.clog-form-row{flex-wrap:wrap}.clog-field--date,.clog-field--type{flex:130px}.clog-field--title{flex:100%}}.prog-page{max-width:700px;margin:0 auto}.prog-tools{gap:8px;margin:16px 0 12px;display:flex}.prog-table{border-top:1px solid var(--border)}.prog-row{border-bottom:1px solid var(--border);border-left:3px solid var(--cc,transparent);grid-template-columns:minmax(0,1fr) repeat(5,80px);align-items:center;gap:12px;padding:6px 12px 6px 9px;display:grid}.prog-row--head{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);border-left-color:#0000;border-bottom-color:var(--border-light);font-size:10px;font-weight:700}.prog-row.is-full{background:color-mix(in srgb, var(--green) 7%, transparent)}.prog-row.is-none .prog-name-text{color:var(--text-muted)}.prog-name{align-items:center;gap:10px;min-width:0;display:flex}.prog-name-text{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.prog-name-count{font-family:var(--font-mono);color:var(--text-dim);font-size:11px;font-weight:700}.prog-name-count.is-part{color:var(--accent)}.prog-name-count.is-full{color:var(--green)}.prog-error{color:var(--red);font-size:12px}.prog-head-cell{text-align:center;flex-direction:column;gap:2px;display:flex}.prog-head-count{color:var(--text-dim);letter-spacing:.04em}.prog-cell{border:1px solid var(--border);color:#0000;cursor:pointer;background:0 0;justify-self:center;width:22px;height:22px;font-size:13px;line-height:1;transition:border-color .15s,color .15s,background .15s}.prog-cell:hover{border-color:var(--text-muted)}.prog-cell:disabled{opacity:.5;cursor:default}.prog-cell.is-on{border-color:var(--green);background:color-mix(in srgb, var(--green) 14%, transparent);color:var(--green)}.recalc-all-btn{border:1px solid var(--border);color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;white-space:nowrap;background:0 0;margin-left:auto;padding:6px 14px;font-size:10px;font-weight:700;transition:color .12s,border-color .12s}.recalc-all-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.recalc-all-btn:disabled{opacity:.5;cursor:default}.calc-empty{color:var(--text-muted);padding:28px 4px}.calc-dim{color:var(--text-dim)}.board-tabs{border-bottom:1px solid var(--border);align-items:flex-end;display:flex}.board-tab{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);border-bottom:2px solid #0000;margin-bottom:-1px;margin-right:30px;padding:11px 2px 10px;font-size:12px;font-weight:700;transition:color .1s,border-color .1s}.board-tab:hover{color:var(--text)}.board-tab.is-active,.board-tab.is-active:hover{color:var(--accent);border-bottom-color:var(--accent)}.calc-content{--strip-h:42px;grid-template-columns:minmax(0,1fr) 384px;column-gap:40px;margin-top:24px;display:grid}.char-strip{grid-area:1/1;margin:0 -18px}.calc-side-head{min-height:var(--strip-h);flex-shrink:0;align-items:flex-end;display:flex}.calc-boards{grid-area:2/1;margin:0 -18px}.calc-side{flex-direction:column;grid-area:1/2/span 2;align-self:start;gap:26px;max-height:calc(100vh - 92px);display:flex;position:sticky;top:76px;overflow-y:auto}.calc-side-head .calc-card-hdr{width:100%}.char-strip{border-bottom:1px solid var(--border);position:relative}.char-bar{min-height:var(--strip-h);scroll-behavior:smooth;scrollbar-width:none;flex-wrap:nowrap;align-items:center;gap:0 4px;padding:2px 20px 0;display:flex;overflow:auto hidden}.char-bar::-webkit-scrollbar{height:0}.char-strip:before,.char-strip:after{content:"";pointer-events:none;opacity:0;z-index:1;width:74px;transition:opacity .18s;position:absolute;top:0;bottom:1px}.char-strip:before{background:linear-gradient(to right, var(--bg) 30%, transparent);left:0}.char-strip:after{background:linear-gradient(to left, var(--bg) 30%, transparent);right:0}.char-strip.can-prev:before,.char-strip.can-next:after{opacity:1}.char-nav{z-index:2;cursor:pointer;width:30px;font-family:var(--font-mono);color:var(--text-dim);opacity:0;pointer-events:none;background:0 0;border:none;justify-content:center;align-items:center;font-size:19px;line-height:1;transition:opacity .18s,color .12s;display:flex;position:absolute;top:0;bottom:1px}.char-nav:hover{color:var(--accent)}.char-nav--prev{left:-8px}.char-nav--next{right:-8px}.char-strip.can-prev .char-nav--prev,.char-strip.can-next .char-nav--next{opacity:1;pointer-events:auto}.char-tab{--cc:var(--accent);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:8px;margin-bottom:-1px;padding:9px 10px 8px;font-size:10px;font-weight:600;transition:color .1s,border-color .1s;display:inline-flex}.char-tab-thumb{flex-shrink:0;width:22px;height:22px;overflow:hidden}.char-tab-thumb img{object-fit:cover;width:100%;height:100%;display:block}.char-tab:hover{color:var(--text)}.char-tab.is-active{color:var(--cc);border-bottom-color:var(--cc)}.filter-bar{flex-direction:column;gap:3px;padding:11px 4px 12px;display:flex}.filter-row{align-items:center;gap:3px;display:flex}.filter-lbl{width:96px;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:color-mix(in srgb, var(--text-dim) 65%, transparent);flex-shrink:0;align-items:center;gap:7px;font-size:9.5px;font-weight:600;display:inline-flex}.fh-row{display:block}.fh-row+.fh-row{margin-top:8px}.fh-row b{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-right:8px;font-size:10px;font-weight:700}.ftab{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);cursor:pointer;background:0 0;border:none;padding:3px 9px;font-size:10px;font-weight:600;transition:color .12s}.ftab:hover{color:var(--text)}.ftab.is-active{color:var(--accent)}.ftab:before{content:"· ";opacity:0}.ftab.is-active:before{opacity:1}.calc-head{border-bottom:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);opacity:.8;align-items:center;gap:20px;padding:9px 22px;font-size:9px;font-weight:700;display:flex}.calc-head-rank{text-align:right;width:34px;padding-right:16px}.calc-head-team{width:250px}.calc-head-split{flex:1}.calc-head-dps{text-align:right;width:158px}.calc-head-pct{text-align:right;width:92px}.calc-row{--cc:var(--accent);border-bottom:1px solid var(--border);cursor:pointer;align-items:stretch;gap:20px;padding:0 22px;transition:background .12s;display:flex;position:relative}.calc-row:last-child{border-bottom:none}.calc-row:before{content:"";background:var(--cc);opacity:0;width:2px;transition:opacity .12s;position:absolute;inset:0 auto 0 0}.calc-row:hover{background:#ffffff06}.calc-row:hover:before{opacity:.85}.calc-row.is-base{background:color-mix(in srgb, var(--cc) 7%, transparent)}.calc-row.is-base:before{opacity:1;width:3px}.calc-row.calc-row-no-high{opacity:.4}.calc-rank{width:34px;font-family:var(--font-mono);color:var(--text-dim);font-variant-numeric:tabular-nums;flex-shrink:0;justify-content:flex-end;align-items:center;padding:16px 0;font-size:15px;font-weight:700;display:flex}.calc-rank span{padding-right:16px}.calc-row.is-top .calc-rank{color:var(--accent)}.calc-team{flex-direction:column;flex-shrink:0;justify-content:center;width:250px;padding:14px 0;display:flex}.calc-portraits{gap:4px;margin-bottom:9px;display:flex}.calc-portrait{flex-shrink:0;width:34px;height:34px;display:block;overflow:hidden}.calc-portrait img{object-fit:cover;width:100%;height:100%;display:block}.calc-portrait .char-thumb-fallback,.char-tab-thumb .char-thumb-fallback{border:1px solid var(--border-light);background:var(--surface-2)}.calc-legacy-badge,.calc-beta-badge{letter-spacing:.04em;align-self:center;align-items:center;margin-left:9px;padding:1px 5px;font-size:9px;font-weight:700;display:inline-flex}.calc-legacy-badge{color:var(--color-legacy,#e8a020);border:1px solid var(--color-legacy,#e8a020);background:#e8a0201f}.calc-beta-badge{color:var(--color-beta,#f0546a);border:1px solid var(--color-beta,#f0546a);background:#f0546a1f}.calc-names{font-size:13.5px;font-weight:600;line-height:1.25}.calc-sep{color:var(--text-dim)}.calc-meta{flex-direction:column;align-items:flex-start;gap:2px;margin-top:6px;display:flex}.calc-meta-line{flex-wrap:wrap;align-items:center;gap:0 8px;display:flex}.calc-tag{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim);font-size:9px;font-weight:600}.calc-meta-line .calc-tag:not(:last-child):after{content:"·";opacity:.5;margin-left:8px}.calc-meta-line .calc-tag:has(+.calc-view-link):after{opacity:0;transition:opacity .15s}.calc-row:hover .calc-meta-line .calc-tag:has(+.calc-view-link):after{opacity:.5}.calc-tag--author{color:var(--text-muted)}.calc-author-by{color:var(--text-dim)}.calc-tag--rt{color:color-mix(in srgb, var(--accent) 80%, var(--text-dim))}.calc-tag--plain{text-transform:none;letter-spacing:.02em}.calc-author-link{color:inherit}.calc-author-link:hover{color:var(--accent);text-decoration:underline}.calc-view-link{color:color-mix(in srgb, var(--accent) 70%, var(--text-dim));opacity:0;transition:opacity .15s,color .12s}.calc-row:hover .calc-view-link,.calc-view-link:focus-visible{opacity:1}.calc-view-link:hover{color:var(--accent);text-decoration:underline}@media (hover:none){.calc-view-link{opacity:1}.calc-meta-line .calc-tag:has(+.calc-view-link):after{opacity:.5}}.calc-split{flex-direction:column;flex:1;justify-content:center;gap:6px;min-width:0;padding:14px 0;display:flex}.calc-srow{align-items:center;gap:10px;display:flex}.calc-slot-lbl{--cc:var(--text-muted);width:74px;font-family:var(--font-mono);letter-spacing:.05em;color:var(--cc);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;font-size:9.5px;font-weight:600;overflow:hidden}.calc-srow--misc .calc-slot-lbl{color:var(--text-dim);text-transform:uppercase;letter-spacing:.1em}.calc-slot-track{background:#ffffff0b;flex:1;height:7px;display:flex;position:relative;overflow:hidden}.calc-slot-bar{height:100%;position:absolute;inset:0 auto 0 0}.calc-misc-seg{opacity:.85;flex-shrink:0;height:100%}.calc-slot-val{min-width:78px;font-family:var(--font-mono);color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.calc-slot-pct{width:40px;font-family:var(--font-mono);color:var(--text-dim);text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:9.5px}.calc-dps{text-align:right;flex-direction:column;flex-shrink:0;justify-content:center;width:158px;padding:14px 0;display:flex}.calc-dps-time{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-dim);margin-bottom:5px;font-size:9px}.calc-dps-val{font-family:var(--font-mono);color:var(--yellow);font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;line-height:1}.calc-dps-total{font-family:var(--font-mono);color:var(--text-muted);font-variant-numeric:tabular-nums;margin-top:9px;font-size:11.5px}.calc-dps-total b{color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;margin-right:6px;font-size:9px;font-weight:600}.calc-pct{flex-direction:column;flex-shrink:0;justify-content:center;align-items:flex-end;width:92px;padding:14px 0;display:flex}.calc-pct-val{font-family:var(--font-mono);color:var(--text);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.calc-pct-bar{background:#ffffff0b;width:100%;height:3px;margin-top:7px}.calc-pct-bar i{background:var(--cc);opacity:.5;height:100%;display:block}.calc-row.is-base .calc-pct-val{color:var(--accent)}.calc-row.is-base .calc-pct-bar i{background:var(--accent);opacity:.8}.calc-card{background:0 0;border:none}.calc-card-hdr{border-bottom:1px solid var(--border);letter-spacing:2px;text-transform:uppercase;color:var(--text);align-items:baseline;gap:10px;padding:0 2px 11px;font-size:13px;font-weight:700;display:flex}.calc-card-hdr:before{content:"◆ ";color:var(--accent)}.calc-card-hdr .hint{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-left:auto;font-size:9.5px;font-weight:600}.sens-empty{color:var(--text-muted);padding:12px 2px;font-size:11px}.sens-row{align-items:flex-start;gap:12px;padding:11px 2px;display:flex}.sens-rank{width:16px;font-family:var(--font-mono);color:var(--text-dim);text-align:right;flex-shrink:0;padding-top:2px;font-size:11px;font-weight:700}.sens-body{flex:1;min-width:0}.sens-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.sens-name{font-size:12.5px;font-weight:600}.sens-sep{color:var(--text-dim)}.sens-pct{font-family:var(--font-mono);color:var(--accent);flex-shrink:0;font-size:13px;font-weight:700}.sens-bar-wrap{background:#ffffff0b;height:3px;margin:7px 0 5px}.sens-bar{opacity:.75;height:100%}.sens-count{font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-dim);font-size:9px}.sens-pager{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;margin-top:6px;padding:10px 2px 0;display:flex}.sens-pager-at{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-dim);font-size:10px}.sens-pager-btn{min-width:30px;color:var(--text-dim);font-family:var(--font-mono);cursor:pointer;background:0 0;border:none;padding:4px 10px;font-size:12px;line-height:1.4;transition:color .12s}.sens-pager-btn:not(:disabled):hover{color:var(--accent)}.sens-pager-btn:disabled{opacity:.35;cursor:default}.calc-bar-tip{z-index:9999;pointer-events:none;background:var(--surface-2);border:1px solid var(--border-light);min-width:244px;padding-bottom:5px;position:fixed;box-shadow:0 10px 28px #000000a6}.cbt-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:4px;padding:8px 12px 7px;display:flex}.cbt-name{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);font-size:10px;font-weight:700}.cbt-total{font-family:var(--font-mono);color:var(--text);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:700}.cbt-row{align-items:center;gap:10px;padding:3px 12px;display:flex;position:relative}.cbt-row:before{content:"";width:var(--share);background:var(--seg,var(--text-dim));opacity:.16;position:absolute;top:0;bottom:0;left:0}.cbt-lbl{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;flex:1;font-size:10px;position:relative}.cbt-pct{min-width:40px;font-family:var(--font-mono);color:var(--text-dim);font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0;font-size:10px;position:relative}.cbt-val{min-width:74px;font-family:var(--font-mono);color:var(--text);font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0;font-size:11px;font-weight:600;position:relative}.recalc-error-panel{border:1px solid var(--border);border-top:2px solid var(--color-error);background:var(--surface-2);margin-top:8px}.recalc-progress{padding:12px 16px}.recalc-progress-track{background:var(--surface-3);height:3px;margin-bottom:8px}.recalc-progress-fill{background:var(--accent);width:0%;height:100%;transition:width .15s}.recalc-progress-meta{font-family:var(--font-mono);align-items:center;gap:12px;font-size:11px;display:flex}.recalc-progress-fraction{color:var(--text-muted);white-space:nowrap;flex-shrink:0}.recalc-progress-team{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.recalc-progress-counts{color:var(--color-error);flex-shrink:0;font-weight:700}.recalc-error-hdr{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);background:var(--surface-3);padding:5px 12px;font-size:10px;font-weight:700}.recalc-error-entry{border-bottom:1px solid var(--border-light);align-items:baseline;gap:16px;padding:5px 12px;display:flex}.recalc-error-entry:last-child{border-bottom:none}.recalc-error-team{flex-shrink:0;align-items:baseline;gap:6px;min-width:220px;display:flex}.recalc-error-char{color:var(--text-dim);font-size:11px;font-weight:600}.recalc-error-char+.recalc-error-char:before{content:"·";color:var(--text-muted);margin-right:6px;font-weight:400}.recalc-error-label{color:var(--text-muted);flex-shrink:0;min-width:160px;font-size:11px}.recalc-error-msg{font-size:11px;font-family:var(--font-mono);color:var(--color-error);word-break:break-word}.calc-split{min-width:176px}@media (width<=1279px){.calc-content{display:block}.calc-side{max-height:none;margin-top:28px;position:static}.calc-side-head{display:none}}@media (width<=979px){.calc-pct,.calc-head-pct{display:none}.calc-row{gap:16px}}.sim-content{flex-wrap:wrap;align-items:start;gap:16px;display:flex}.sim-content .rot-table-wrap{flex:999 auto;min-width:fit-content}.sim-content .sim-breakdown-area{background:var(--bg);flex-direction:column;flex:640px;align-self:flex-start;gap:8px;min-width:640px;max-height:calc(100vh - 92px);margin-top:0;display:flex;position:sticky;top:76px;overflow-y:auto}.sim-card{background:var(--surface);border:1px solid var(--border);border-radius:0;padding:14px 16px}.sim-card-title{font-size:11px;font-weight:500;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:10px}.rot-table-wrap{background:0 0;border:none;border-radius:0}.rot-header,.rot-row{grid-template-columns:32px 140px minmax(140px,1fr) 56px 56px 72px 56px 84px 80px 80px 80px 80px 72px 64px 64px 64px 32px;align-items:stretch;display:grid}.rot-header{border-bottom:1px solid var(--border-light);background:0 0}.rot-th{font-size:10px;font-weight:500;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);text-align:center;justify-content:center;align-items:center;padding:7px 10px;display:flex}.rot-th.rot-col-time{-webkit-user-select:none;user-select:none}.rot-th.rot-col-time:hover{color:var(--text)}.rot-th.rot-col-time.is-active{color:var(--accent)}.time-mode-dots{flex-direction:column;gap:2px;display:flex}.time-mode-dots i{background:var(--border-light);width:3px;height:3px;transition:background .12s}.rot-col-time:hover .time-mode-dots i{background:var(--text-muted)}.rot-col-time[data-mode="0"] .time-mode-dots i:first-child,.rot-col-time[data-mode="1"] .time-mode-dots i:nth-child(2),.rot-col-time[data-mode="2"] .time-mode-dots i:nth-child(3),.rot-col-time[data-mode="0"]:hover .time-mode-dots i:first-child,.rot-col-time[data-mode="1"]:hover .time-mode-dots i:nth-child(2),.rot-col-time[data-mode="2"]:hover .time-mode-dots i:nth-child(3){background:var(--accent)}.sim-timeline{border-top:1px solid var(--border);z-index:400;-webkit-user-select:none;user-select:none;background:#13151a;font-size:11px;position:fixed;bottom:0;left:0;right:0}.sim-timeline-toggle{width:100%;height:26px;color:var(--text-muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #0000;align-items:center;gap:7px;padding:0 14px;font-size:10px;transition:color .15s;display:flex}.tl-toggle-info{color:var(--text-dim);letter-spacing:.08em;margin-left:auto;font-size:10px}.sim-timeline-toggle:hover{color:var(--accent)}.sim-timeline:not(.is-collapsed) .sim-timeline-toggle{border-bottom-color:var(--border);color:var(--accent)}.tl-chevron{opacity:.5;font-size:7px;transition:transform .2s;display:inline-block}.sim-timeline:not(.is-collapsed) .tl-chevron{opacity:1;transform:rotate(180deg)}.sim-timeline-body{height:0;transition:height .2s;overflow:hidden}.sim-timeline:not(.is-collapsed) .sim-timeline-body{height:var(--tl-body-h,100px)}.sim-timeline-body canvas{cursor:crosshair;width:100%;display:block}.tl-tooltip{z-index:500;border:1px solid var(--border-light);pointer-events:none;white-space:nowrap;background:#13151af7;border-radius:0;flex-direction:column;gap:0;min-width:140px;padding:7px 10px 8px;font-size:11px;display:none;position:fixed}.tl-tt-head{border-bottom:1px solid var(--border);align-items:baseline;gap:7px;margin-bottom:5px;padding-bottom:5px;display:flex}.tl-tt-char{flex-shrink:0;font-size:12px;font-weight:700}.tl-tt-ability{color:var(--text-muted);font-size:11px}.tl-tt-pages{gap:10px;margin-bottom:6px;display:flex}.tl-tt-page{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);border-bottom:2px solid #0000;padding-bottom:3px;font-size:9px;font-weight:700}.tl-tt-page.is-active{color:var(--text);border-bottom-color:var(--accent,var(--color-fallback-accent))}.tl-tt-row{justify-content:space-between;align-items:baseline;gap:18px;display:flex}.tl-tt-row+.tl-tt-row{margin-top:2px}.tl-tt-time{color:var(--text-dim);font-size:10px}.tl-tt-dur{color:var(--text-dim);opacity:.6;font-size:10px}.tl-tt-dmg{color:var(--text);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.tl-tt-hitlabel{color:var(--text-dim);font-size:10px}.tl-tt-totalrow{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.tl-tt-sep{border-top:1px solid var(--border);margin:5px 0}.tl-tt-lingering{color:var(--text-muted);border:1px solid var(--border-light);letter-spacing:.3px;border-radius:0;margin-left:auto;padding:1px 4px;font-size:9px;font-style:italic}.rot-row--tl-hover{background:color-mix(in srgb, var(--char-color,var(--accent)) 10%, transparent)!important}.rot-row--tl-hover .rot-col-char{background:color-mix(in srgb, var(--char-color,var(--accent)) 20%, transparent)!important}.rot-row--tl-hover .rot-col-skill,.rot-row--tl-hover .rot-col-cswap,.rot-row--tl-hover .rot-col-ccancel,.rot-row--tl-hover .rot-col-cancel,.rot-row--tl-hover .rot-col-holdframes,.rot-row--tl-hover .rot-col-holduntil,.rot-row--tl-hover .rot-col-time,.rot-row--tl-hover .rot-col-concerto,.rot-row--tl-hover .rot-col-energy,.rot-row--tl-hover .rot-col-dmg,.rot-row--tl-hover .rot-col-offtune,.rot-row--tl-hover .rot-col-forte,.rot-row--tl-hover .rot-col-enemy,.rot-row--tl-hover .rot-col-buffs,.rot-row--tl-hover .rot-col-remove{background:color-mix(in srgb, var(--char-color,var(--accent)) 10%, transparent)!important}@keyframes tl-row-pulse{0%{box-shadow:inset 0 0 0 2px var(--char-color,var(--accent));background:color-mix(in srgb, var(--char-color,var(--accent)) 25%, transparent)}60%{box-shadow:inset 0 0 0 2px var(--char-color,var(--accent))}to{background:0 0;box-shadow:inset 0 0 #0000}}.rot-row--tl-clicked{animation:.8s ease-out forwards tl-row-pulse}.rot-row{border-bottom:1px solid var(--border);--char-color:transparent}.rot-row:last-child{border-bottom:none}.rot-row:hover .rot-col-char{background:color-mix(in srgb, var(--char-color) 16%, transparent)}.rot-row:hover .rot-col-skill,.rot-row:hover .rot-col-cswap,.rot-row:hover .rot-col-ccancel,.rot-row:hover .rot-col-cancel,.rot-row:hover .rot-col-holdframes,.rot-row:hover .rot-col-holduntil,.rot-row:hover .rot-col-time,.rot-row:hover .rot-col-concerto,.rot-row:hover .rot-col-energy,.rot-row:hover .rot-col-dmg,.rot-row:hover .rot-col-offtune,.rot-row:hover .rot-col-forte,.rot-row:hover .rot-col-enemy,.rot-row:hover .rot-col-buffs,.rot-row:hover .rot-col-remove{background:color-mix(in srgb, var(--char-color) 8%, transparent)}.rot-col-char{border-left:3px solid var(--char-color);background:color-mix(in srgb, var(--char-color) 11%, transparent)}.rot-col-skill,.rot-col-cswap,.rot-col-ccancel,.rot-col-cancel,.rot-col-holdframes,.rot-col-holduntil,.rot-col-time,.rot-col-concerto,.rot-col-energy,.rot-col-dmg,.rot-col-offtune,.rot-col-forte,.rot-col-enemy,.rot-col-buffs,.rot-col-remove{background:color-mix(in srgb, var(--char-color) 5%, transparent)}.rot-row--lib .rot-col-skill,.rot-row--lib .rot-col-cswap,.rot-row--lib .rot-col-ccancel,.rot-row--lib .rot-col-cancel,.rot-row--lib .rot-col-holdframes,.rot-row--lib .rot-col-holduntil,.rot-row--lib .rot-col-time,.rot-row--lib .rot-col-concerto,.rot-row--lib .rot-col-energy,.rot-row--lib .rot-col-dmg,.rot-row--lib .rot-col-offtune,.rot-row--lib .rot-col-forte,.rot-row--lib .rot-col-enemy,.rot-row--lib .rot-col-buffs,.rot-row--lib .rot-col-remove{background:color-mix(in srgb, var(--char-color) 13%, transparent)}.rot-row--lib .rot-col-char{background:color-mix(in srgb, var(--char-color) 22%, transparent)}.rot-row--lib:hover .rot-col-skill,.rot-row--lib:hover .rot-col-cswap,.rot-row--lib:hover .rot-col-ccancel,.rot-row--lib:hover .rot-col-cancel,.rot-row--lib:hover .rot-col-holdframes,.rot-row--lib:hover .rot-col-holduntil,.rot-row--lib:hover .rot-col-time,.rot-row--lib:hover .rot-col-concerto,.rot-row--lib:hover .rot-col-energy,.rot-row--lib:hover .rot-col-dmg,.rot-row--lib:hover .rot-col-offtune,.rot-row--lib:hover .rot-col-forte,.rot-row--lib:hover .rot-col-enemy,.rot-row--lib:hover .rot-col-buffs,.rot-row--lib:hover .rot-col-remove{background:color-mix(in srgb, var(--char-color) 25%, transparent)}.rot-row--lib:hover .rot-col-char{background:color-mix(in srgb, var(--char-color) 38%, transparent)}.rot-row--lib .rot-col-num{color:color-mix(in srgb, var(--char-color) 70%, var(--text))}.rot-row--lib .rot-col-skill .rot-ac-input,.rot-row--lib .rot-col-dmg{color:color-mix(in srgb, var(--char-color) 60%, white);font-weight:600}.rot-row[style*=--char-color] .rot-col-char .rot-ac-input{color:color-mix(in srgb, var(--char-color) 72%, var(--text));font-weight:600}.rot-col-dmg.is-locked,.rot-subrow-dmg.is-locked{outline:1px solid color-mix(in srgb, var(--char-color,var(--accent)) 50%, transparent);outline-offset:-1px;cursor:pointer;background:color-mix(in srgb, var(--char-color,var(--accent)) 20%, transparent)!important}.rot-td{align-items:center;padding:0;display:flex}.rot-col-num{color:var(--text-dim);font-family:var(--font-mono);cursor:grab;-webkit-user-select:none;user-select:none;justify-content:center;font-size:11px}.rot-col-num:active{cursor:grabbing}.rot-row.is-dragging{opacity:.35}.rot-row.drag-over-top{box-shadow:inset 0 2px 0 var(--accent)}.rot-row.drag-over-bottom{box-shadow:inset 0 -2px 0 var(--accent)}.rot-row.is-anchor{background:#cc880024}.rot-row.is-anchor .rot-col-num{color:#c80;font-weight:700}.rot-row.is-selected{background:color-mix(in srgb, var(--accent) 14%, transparent)}.rot-row.is-selected .rot-col-num{color:var(--accent);font-weight:700}.rot-col-time,.rot-col-concerto,.rot-col-energy,.rot-col-dmg,.rot-col-offtune{font-family:var(--font-mono);color:var(--text);padding:0 10px;font-size:12px}.rot-col-offtune{color:var(--text)}.rot-col-dmg:not(.rot-subrow-dmg){color:color-mix(in srgb, var(--text) 45%, white);font-variant-numeric:tabular-nums;font-weight:600}.rot-col-dmg.dim{color:var(--text-dim);font-weight:400}.rot-th.rot-col-offtune{white-space:nowrap}.rot-col-offtune.is-max{color:#f59e0b;font-weight:700}.rot-col-forte,.rot-col-enemy,.rot-col-buffs{justify-content:center}.forte-dot{font-size:12px;line-height:1}.rot-col-time{flex-direction:column;justify-content:center;align-items:flex-end;gap:1px;display:flex}.rot-th.rot-col-time{flex-direction:row;justify-content:center;align-items:center;gap:6px}.time-secs{line-height:1}.time-frames{opacity:.4;font-size:10px;line-height:1}.rot-col-enemy,.rot-col-buffs{justify-content:center;padding:0 4px}.rot-col-remove{border-right:none;justify-content:center}.rot-col-cancel,.rot-col-holduntil{justify-content:center}.rot-col-cswap,.rot-col-ccancel,.rot-col-holdframes{justify-content:center;padding:0 4px}.rot-cswap-input,.rot-holdframes-input{width:100%;color:var(--text-muted);font-family:var(--font-mono);text-align:center;-moz-appearance:textfield;background:0 0;border:1px solid #0000;border-radius:4px;padding:2px 4px;font-size:11px}.rot-cswap-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.rot-cswap-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.rot-ccancel-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.rot-ccancel-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.rot-holdframes-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.rot-holdframes-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.rot-row:hover .rot-cswap-input:not(:focus),.rot-row:hover .rot-ccancel-input:not(:focus),.rot-row:hover .rot-holdframes-input:not(:focus){border-color:color-mix(in srgb, var(--text-muted) 30%, transparent);border-style:dashed}.rot-cswap-input:focus,.rot-ccancel-input:focus,.rot-holdframes-input:focus{border:1px solid var(--accent);color:var(--text);outline:none}.rot-ccancel-input{width:100%;color:var(--text-muted);font-family:var(--font-mono);text-align:center;-moz-appearance:textfield;background:0 0;border:1px solid #0000;border-radius:4px;padding:2px 4px;font-size:11px}.rot-cdrop{font-size:10px;font-weight:500;font-family:var(--font-mono);letter-spacing:.04em;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;width:100%;position:relative}.rot-cdrop-trigger{text-align:center;white-space:nowrap;padding:2px 4px;display:block}.rot-cdrop-menu{z-index:200;background:var(--surface-2,#20232a);border:1px solid var(--border,#2b2d33);min-width:100%;display:none;position:absolute;top:100%;left:0;overflow:hidden}.rot-cdrop--open .rot-cdrop-menu{display:block}.rot-cdrop-item{white-space:nowrap;cursor:pointer;text-align:center;color:var(--text-muted);padding:3px 8px}.rot-cdrop-item:hover{background:var(--surface-3,#262932);color:var(--text)}.rot-cdrop-item.rot-cdrop-active{background:var(--surface-3,#262932)}.rot-cancel-none{color:var(--text-dim);background:0 0;border-color:#0000}.rot-cancel-dash{background:color-mix(in srgb, var(--color-cancel-dash) 12%, transparent);color:var(--color-cancel-dash);border-color:color-mix(in srgb, var(--color-cancel-dash) 30%, transparent)}.rot-cancel-idash{background:color-mix(in srgb, var(--color-cancel-idash) 12%, transparent);color:var(--color-cancel-idash);border-color:color-mix(in srgb, var(--color-cancel-idash) 30%, transparent)}.rot-cancel-normal{background:color-mix(in srgb, var(--color-cancel-normal) 12%, transparent);color:var(--color-cancel-normal);border-color:color-mix(in srgb, var(--color-cancel-normal) 30%, transparent)}.rot-cancel-scancel{background:color-mix(in srgb, var(--color-cancel-scancel) 12%, transparent);color:var(--color-cancel-scancel);border-color:color-mix(in srgb, var(--color-cancel-scancel) 30%, transparent)}.rot-cancel-icancel{background:color-mix(in srgb, var(--color-cancel-icancel) 12%, transparent);color:var(--color-cancel-icancel);border-color:color-mix(in srgb, var(--color-cancel-icancel) 30%, transparent)}.rot-cancel-jump{background:color-mix(in srgb, var(--color-cancel-jump) 12%, transparent);color:var(--color-cancel-jump);border-color:color-mix(in srgb, var(--color-cancel-jump) 30%, transparent)}.rot-cancel-ijump{background:color-mix(in srgb, var(--color-cancel-ijump) 12%, transparent);color:var(--color-cancel-ijump);border-color:color-mix(in srgb, var(--color-cancel-ijump) 30%, transparent)}.rot-cancel-walk{background:color-mix(in srgb, var(--color-cancel-walk) 12%, transparent);color:var(--color-cancel-walk);border-color:color-mix(in srgb, var(--color-cancel-walk) 30%, transparent)}.rot-cancel-select option[value=""]{color:var(--text-dim,#64748b)}.rot-cancel-select option[value=dash]{color:var(--color-cancel-dash)}.rot-cancel-select option[value=idash]{color:var(--color-cancel-idash)}.rot-cancel-select option[value=normal]{color:var(--color-cancel-normal)}.rot-cancel-select option[value=scancel]{color:var(--color-cancel-scancel)}.rot-cancel-select option[value=icancel]{color:var(--color-cancel-icancel)}.rot-cancel-select option[value=jump]{color:var(--color-cancel-jump)}.rot-cancel-select option[value=ijump]{color:var(--color-cancel-ijump)}.rot-row--error{background:#ef444414!important}.rot-row--error:hover{background:#ef444424!important}.rot-row--form-fleurdelys{background:#00000052}.rot-row--form-fleurdelys:hover{background:#0006}.rot-row-error-bar{color:#f87171;border-top:1px solid #ef444433;grid-column:1/-1;padding:3px 12px 5px;font-size:11px;font-weight:600}.rot-row-debug-bar{color:var(--debug-color,#aaa);border-top:2px solid color-mix(in srgb, var(--debug-color,#aaa) 40%, transparent);border-bottom:1px solid var(--border);padding:3px 12px 5px;font-size:11px;font-weight:500;transition:background 80ms;display:block}.debug-bar-count{opacity:.55;letter-spacing:.03em;margin-left:10px;font-size:10px;font-weight:700}.rot-ns-row{--char-color:var(--ns-color,#888)}.rot-ns-row .rot-td{min-height:30px}.rot-ns-label{align-items:center;gap:6px;padding-left:8px;font-size:11px;display:flex}.rot-ns-row--inspectable .rot-ns-dmg{cursor:pointer}.rot-ns-row--tl-hover{background:color-mix(in srgb, var(--ns-color) 18%, transparent)}.rot-ns-name{color:color-mix(in srgb, var(--char-color) 72%, var(--text));padding:0 8px;font-size:12px;font-weight:600}.rot-ns-src{color:color-mix(in srgb, var(--char-color) 45%, var(--text-dim))}.rot-ns-sub{color:color-mix(in srgb, var(--char-color) 28%, var(--text-dim))}.rot-row-debug-bar--inspectable{cursor:pointer}.rot-row-debug-bar--inspectable:hover,.rot-row-debug-bar--tl-hover{background:color-mix(in srgb, var(--debug-color,#aaa) 12%, transparent)}.rot-row-debug-bar--tl-clicked{animation:.8s ease-out forwards debug-bar-flash}@keyframes debug-bar-flash{0%{background:color-mix(in srgb, var(--debug-color,#aaa) 35%, transparent)}to{background:0 0}}.rot-col-dmg:not(.rot-subrow-dmg){cursor:default}.rot-row:not(.rot-subrow) .rot-col-dmg:not(.rot-subrow-dmg):hover{background:#ffffff0a}.hit-inspector{overscroll-behavior:contain;background:var(--surface-2);border:1px solid var(--border-light);z-index:9000;border-radius:0;width:360px;max-height:82vh;font-size:12px;position:fixed;top:50%;right:16px;overflow-y:auto;transform:translateY(-50%);box-shadow:0 16px 48px #000000bf}.hi-header{border-bottom:1px solid var(--border);align-items:flex-start;gap:8px;padding:12px 14px 10px;display:flex}.hi-title-wrap{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.hi-title{color:#dde4f0;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;line-height:1.3;overflow:hidden}.hi-count{color:#454c5a;letter-spacing:.02em;font-size:10px}.hi-close{color:#454c5a;cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:13px;line-height:1}.hi-close:hover{color:#aaa}.hi-body{padding:6px 0 10px}.hi-body>.hi-source{padding-left:14px;padding-right:14px}.hi-section{padding:7px 14px 5px}.hi-section-head{justify-content:space-between;align-items:baseline;margin-bottom:5px;display:flex}.hi-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--hi-color,var(--text-dim));font-size:9px;font-weight:700}.hi-val{color:var(--hi-color,#e8eaf0);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.hi-source{border-left:2px solid var(--hi-color,#ffffff26);justify-content:space-between;align-items:center;margin:1px 0;padding:2px 0 2px 8px;display:flex}.hi-source--muted{opacity:.38;border-left-color:#0000;padding-left:10px}.hi-group-sep{background:var(--border);opacity:.5;height:1px;margin:3px 8px}.hi-src-label{color:#9aa3b4;text-overflow:ellipsis;white-space:nowrap;flex:1;padding-right:10px;font-size:11px;overflow:hidden}.hi-src-type{letter-spacing:.04em;text-transform:uppercase;opacity:.75;white-space:nowrap;flex-shrink:0;align-self:center;margin-right:8px;font-size:9px;font-weight:600}.hi-src-val{color:#cdd5e0;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px;font-weight:600}.hi-result{border-top:1px solid var(--border);justify-content:space-between;align-items:baseline;margin:8px 14px 2px;padding-top:9px;display:flex}.hi-result-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);font-size:9px;font-weight:700}.hi-result-val{color:var(--accent);font-variant-numeric:tabular-nums;font-size:17px;font-weight:700}.rot-col-char .rot-ac-wrap{width:100%;height:100%}.rot-col-char .rot-ac-input{cursor:pointer;caret-color:#0000;background:0 0;border:none;border-radius:0;width:100%;height:100%;min-height:30px;padding:0 8px;font-size:12px}.rot-ac-wrap{align-items:center;width:100%;height:100%;display:flex;position:relative}.rot-ac-input{width:100%;height:100%;min-height:30px;color:var(--text);background:0 0;border:none;border-radius:0;outline:none;padding:0 8px;font-family:inherit;font-size:12px}.rot-ac-input::placeholder{color:var(--text-dim)}.rot-ac-input:disabled{color:var(--text-dim);cursor:not-allowed}.rot-ac-input:focus{background:color-mix(in srgb, var(--accent) 6%, transparent)}.rot-ac-drop{background:var(--surface-3);border:1px solid var(--border-light);z-index:9999;scrollbar-width:thin;scrollbar-color:var(--border-light) transparent;border-radius:0;max-height:220px;overflow-y:auto;box-shadow:0 8px 24px #00000080}.rot-ac-drop::-webkit-scrollbar{width:6px}.rot-ac-drop::-webkit-scrollbar-track{background:0 0}.rot-ac-drop::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}.rot-ac-drop::-webkit-scrollbar-thumb:hover{background:var(--text-dim)}.rot-ac-option{color:var(--text);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;padding:5px 10px;font-size:12px;overflow:hidden}.rot-ac-option:hover,.rot-ac-option.is-active{background:var(--accent-dim);color:var(--accent)}.rot-ac-option--echo{color:var(--cyan)}.rot-ac-option--echo:hover,.rot-ac-option--echo.is-active{color:var(--cyan);background:#22d3ee1f}.rot-ac-option--intro{color:var(--text)}.rot-ac-option--intro:hover,.rot-ac-option--intro.is-active{background:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent)}.rot-ac-intro-badge{letter-spacing:.05em;color:var(--accent);margin-left:4px;font-size:9px;font-weight:700}.rot-ac-separator{background:var(--border);pointer-events:none;height:1px;margin:3px 0}.rot-ac-empty{color:var(--text-muted);padding:6px 10px;font-size:11px;font-style:italic}.rot-insert-zone{cursor:pointer;z-index:2;justify-content:center;align-items:center;height:8px;margin:-4px 0;display:flex;position:relative}.rot-insert-zone:before{content:"";background:var(--accent);opacity:0;border-radius:1px;height:2px;transition:opacity .15s;position:absolute;left:0;right:0}.rot-insert-plus{background:var(--accent);color:#fff;text-align:center;opacity:0;pointer-events:none;border-radius:50%;width:16px;height:16px;font-size:13px;font-weight:700;line-height:16px;transition:opacity .15s;position:relative}.rot-insert-zone:hover:before,.rot-insert-zone:hover .rot-insert-plus{opacity:1}.rot-remove-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;width:100%;height:100%;font-size:11px;transition:color .15s,background .15s}.rot-remove-btn:hover{color:var(--red);background:#f8717114}.rot-char-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-right:5px}.form-color{cursor:pointer;width:52px;height:32px;padding:2px 3px}.rot-row--auto .rot-col-char{border-left:none}.rot-row--outro,.rot-row--intro,.rot-row--auto-inject{border-left:3px solid color-mix(in srgb, var(--char-color) 55%, transparent);background:color-mix(in srgb, var(--char-color) 7%, transparent)}.rot-row--outro:hover,.rot-row--intro:hover,.rot-row--auto-inject:hover{background:color-mix(in srgb, var(--char-color) 13%, transparent)}.rot-row--auto .rot-col-char,.rot-row--auto .rot-col-skill,.rot-row--auto .rot-col-cswap,.rot-row--auto .rot-col-ccancel,.rot-row--auto .rot-col-cancel,.rot-row--auto .rot-col-holdframes,.rot-row--auto .rot-col-holduntil,.rot-row--auto .rot-col-time,.rot-row--auto .rot-col-concerto,.rot-row--auto .rot-col-energy,.rot-row--auto .rot-col-dmg,.rot-row--auto .rot-col-offtune,.rot-row--auto .rot-col-forte,.rot-row--auto .rot-col-enemy,.rot-row--auto .rot-col-buffs,.rot-row--auto .rot-col-remove,.rot-row--auto:hover .rot-col-char,.rot-row--auto:hover .rot-col-skill,.rot-row--auto:hover .rot-col-cswap,.rot-row--auto:hover .rot-col-ccancel,.rot-row--auto:hover .rot-col-cancel,.rot-row--auto:hover .rot-col-holdframes,.rot-row--auto:hover .rot-col-holduntil,.rot-row--auto:hover .rot-col-time,.rot-row--auto:hover .rot-col-concerto,.rot-row--auto:hover .rot-col-energy,.rot-row--auto:hover .rot-col-dmg,.rot-row--auto:hover .rot-col-offtune,.rot-row--auto:hover .rot-col-forte,.rot-row--auto:hover .rot-col-enemy,.rot-row--auto:hover .rot-col-buffs{background:0 0}.rot-col-num--auto{cursor:default;color:var(--text-muted)}.rot-auto-icon{line-height:1}.rot-col-char--auto{color:var(--text-muted);padding:0 8px;font-size:12px;font-style:italic}.rot-col-skill--auto{color:var(--text-muted);gap:7px;padding:0 8px;font-size:12px;overflow:hidden}.rot-auto-badge{letter-spacing:.07em;text-transform:uppercase;border-radius:3px;flex-shrink:0;padding:2px 5px;font-size:9px;font-weight:700}.rot-auto-badge--outro,.rot-auto-badge--intro{background:color-mix(in srgb, var(--char-color) 15%, transparent);color:color-mix(in srgb, var(--char-color) 85%, white);border:1px solid color-mix(in srgb, var(--char-color) 35%, transparent);font-family:var(--font-mono);border-radius:2px}.rot-auto-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sim-block{border:1px solid var(--border);background:var(--surface-2);margin-bottom:6px}.sim-block-stats{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:10px 14px;display:flex}.sim-block-meta{letter-spacing:.04em;color:var(--text-muted);text-transform:uppercase;font-size:10px;font-weight:600}.sim-block-stat-nums{flex-wrap:wrap;align-items:baseline;gap:0;display:flex}.sim-bstat{border-right:1px solid var(--border);align-items:baseline;gap:6px;margin-right:16px;padding-right:16px;display:flex}.sim-bstat:last-child{border-right:none;margin-right:0;padding-right:0}.sim-bstat-label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);font-size:9px;font-weight:700}.sim-bstat-val{font-family:var(--font-mono);color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:16px;font-weight:700}.sim-bstat-val.is-accent{color:var(--accent)}.sim-block-share{border-bottom:1px solid var(--border);padding:10px 14px}.sim-block-chart{padding:10px 12px 8px}.sim-chart-title{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px;font-size:9px;font-weight:700}.sim-share-bars{flex-direction:column;gap:5px;display:flex}.sim-share-row{grid-template-columns:100px 1fr 36px 80px;align-items:center;gap:8px;display:grid}.sim-share-name{font-family:var(--font-mono);letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;font-size:9px;font-weight:700;overflow:hidden}.sim-share-bar-wrap{background:#ffffff0d;height:6px;position:relative}.sim-share-bar{opacity:.75;min-width:2px;position:absolute;top:0;bottom:0;left:0}.sim-share-pct{font-family:var(--font-mono);color:var(--text-muted);text-align:right;font-variant-numeric:tabular-nums;font-size:10px;font-weight:600}.sim-share-dmg{font-family:var(--font-mono);color:var(--text-dim);text-align:right;font-variant-numeric:tabular-nums;font-size:10px}.sim-block-counters{border-top:1px solid var(--border);padding:10px 12px 8px}.sim-cnt-row{grid-template-columns:100px 1fr 80px;align-items:center;gap:8px;display:grid}.sim-cnt-label{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.sim-cnt-toggle{text-align:left;cursor:pointer;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;padding:0;font-family:inherit;font-size:10px;transition:color .12s;overflow:hidden}.sim-cnt-toggle:hover,.sim-cnt-toggle.is-active{color:var(--text)}.sim-dmgtl-canvas{width:100%;display:block}.sim-result-area{flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:64px;display:flex}.sim-result-value{font-size:26px;font-weight:700;font-family:var(--font-mono);color:var(--accent);letter-spacing:-.01em}.sim-result-error{color:var(--red);text-align:center;font-size:12px}.sim-placeholder{color:var(--text-dim);text-align:center;padding:8px 0;font-size:12px}.sim-calculating{color:var(--text-muted);font-size:12px}.rot-row--loop-marker{cursor:default;-webkit-user-select:none;user-select:none;border-top:2px dashed;min-height:0;background:0 0!important}.rot-row--loop-start{border-color:#22c55e}.rot-row--loop-end{border-color:#ef4444}.rot-row--loop-marker .rot-col-num{color:var(--text-muted);cursor:grab;opacity:.6;font-size:16px}.rot-row--loop-marker .rot-col-num:active{cursor:grabbing}.rot-marker-label{letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700;border-left:none!important}.rot-row--loop-start .rot-marker-label{color:#22c55e}.rot-row--loop-end .rot-marker-label{color:#ef4444}.rot-row--loop-marker.is-disabled{opacity:.35}.loop-markers-hidden .rot-row--loop-marker{display:none}.rot-toolbar{background:0 0;border:none;justify-content:space-between;align-items:center;margin-bottom:10px;padding:6px 10px;display:flex}.rot-toolbar.is-calculating{opacity:.4;pointer-events:none}.rot-toolbar-left{gap:4px;display:flex}.rot-undo-btn,.rot-redo-btn,.rot-clear-btn,.rot-avgcrit-btn,.rot-presets-btn,.presets-refresh-echo-btn,.marker-toggle{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;background:0 0;border-radius:0;font-size:10px;transition:border-color .15s,color .15s}.rot-undo-btn,.rot-redo-btn,.rot-clear-btn,.rot-presets-btn,.presets-refresh-echo-btn{padding:3px 10px}.rot-avgcrit-btn{padding:3px 8px;transition:border-color .15s,color .15s,background .15s}.marker-toggle{padding:1px 6px;line-height:1.6}.presets-refresh-echo-btn{white-space:nowrap;margin-left:auto}.rot-undo-btn:hover:not(:disabled),.rot-redo-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.rot-undo-btn:disabled,.rot-redo-btn:disabled{opacity:.35;cursor:default}.rot-clear-btn:hover{border-color:var(--red,#e05c5c);color:var(--red,#e05c5c)}.rot-avgcrit-btn:hover:not(.is-active){border-color:var(--text-muted);background:#ffffff0d}.rot-avgcrit-btn.is-active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.rot-legacy-btn.is-active{color:#e8a020;background:#e8a02026;border-color:#e8a020}.rot-presets-btn:hover,.rot-presets-btn.is-active{border-color:var(--accent);color:var(--accent)}.presets-refresh-echo-btn:hover{border-color:var(--accent-dim);color:var(--text)}.presets-refresh-echo-btn:disabled{opacity:.5;cursor:default}.marker-toggle.is-on{color:#86efac;background:#166534;border-color:#22c55e}.btn-xs{padding:2px 7px;font-size:10px}.rot-toolbar-sep{background:var(--border);align-self:stretch;width:1px;margin:0 2px}.rot-timing-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.editor-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:16px;padding:12px 0;display:flex}.editor-fields{flex:500px;align-items:stretch;gap:8px;min-width:0;display:flex}.editor-status{font:11px var(--font-mono);letter-spacing:.04em;color:var(--text-dim);white-space:nowrap;margin-left:auto}.editor-actions{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.editor-btn{border:1px solid var(--border-light);height:32px;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;white-space:nowrap;background:0 0;align-items:center;padding:0 14px;font-size:11px;font-weight:700;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.editor-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.editor-btn:disabled{opacity:.45;cursor:default}.editor-btn--primary{background:var(--accent);border-color:var(--accent);color:#0e0f13}.editor-btn--primary:hover:not(:disabled){background:var(--accent-hover);color:#0e0f13}.editor-btn--publish{border-color:var(--yellow);color:var(--yellow)}.editor-btn--publish:hover:not(:disabled){background:color-mix(in srgb, var(--yellow) 14%, transparent);color:var(--yellow);border-color:var(--yellow)}.author-picker{background:var(--bg);border:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:4px;min-width:220px;max-width:420px;min-height:32px;padding:3px 6px;display:flex;position:relative}.author-picker:focus-within{border-color:var(--accent)}.author-chips{display:contents}.author-chip{font:12px var(--font-body);color:var(--text);background:var(--surface-2);border:1px solid var(--border-light);white-space:nowrap;align-items:center;gap:5px;padding:2px 4px 2px 8px;display:inline-flex}.author-chip--user{border-color:var(--accent);color:var(--accent)}.author-chip-x{cursor:pointer;color:var(--text-dim);background:0 0;border:none;padding:1px 3px;font-size:10px}.author-chip-x:hover{color:var(--red)}.author-input{min-width:90px;color:var(--text);font:13px var(--font-body);background:0 0;border:none;outline:none;flex:1;padding:3px}.author-input::placeholder{color:var(--text-dim)}.author-drop{z-index:220;background:var(--surface-2);border:1px solid var(--border-light);max-height:260px;position:absolute;top:calc(100% + 2px);left:-1px;right:-1px;overflow-y:auto;box-shadow:0 8px 24px #00000080}.author-drop-item{cursor:pointer;text-align:left;width:100%;color:var(--text);font:13px var(--font-body);background:0 0;border:none;align-items:center;gap:9px;padding:7px 10px;display:flex}.author-drop-item:hover{background:var(--surface-3,#262932)}.author-drop-item img,.author-drop-noavatar{object-fit:cover;background:var(--surface);border:1px solid var(--border);width:22px;height:22px;color:var(--text-dim);flex-shrink:0;justify-content:center;align-items:center;font-size:11px;display:flex}.author-drop-names{flex-direction:column;gap:1px;min-width:0;display:flex}.author-drop-handle{font:10.5px var(--font-mono);color:var(--text-dim)}.author-drop-kind{font:9px var(--font-mono);letter-spacing:.1em;color:var(--text-dim);margin-left:auto}.author-drop-kind--new{color:var(--text-muted);opacity:.7}.presets-rotation-type-input,.presets-tag-input{background:var(--bg);border:1px solid var(--border);color:var(--text);font:13px var(--font-body);border-radius:0;outline:none;height:32px;padding:0 9px}.presets-tag-input{flex:1;min-width:200px;max-width:460px}.presets-rotation-type-input:hover,.presets-tag-input:hover{border-color:var(--border-light)}.presets-rotation-type-input:focus,.presets-tag-input:focus{border-color:var(--accent)}.presets-rotation-type-input.ac-select{background:var(--bg);border:1px solid var(--border);color:var(--text);white-space:nowrap;padding:5px 9px;font-weight:400}.presets-rotation-type-input.ac-select:hover{border-color:var(--border-light)}.presets-rotation-type-input.ac-select:focus{border-color:var(--accent)}.rot-timing-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);-webkit-user-select:none;user-select:none;align-items:center;gap:4px;font-size:10px;font-weight:600;display:flex}.rot-timing-input{border:1px solid var(--border);width:40px;color:var(--text-muted);font-family:var(--font-mono);text-align:center;-moz-appearance:textfield;background:0 0;border-radius:0;padding:2px 4px;font-size:11px}.rot-timing-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.rot-timing-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.rot-timing-input:hover{border-color:var(--border-light)}.rot-timing-input:focus{border-color:var(--accent);color:var(--text);outline:none}.sim-status-area{color:var(--text-muted);font-size:12px}.sim-calc-time{color:var(--text-dim);font-size:11px;font-family:var(--font-mono)}.dmg-with-hits{cursor:default}.rot-subrow .rot-td{min-height:24px}.rot-subrow .rot-col-char{background:color-mix(in srgb, var(--char-color) 5%, transparent)!important}.rot-subrow .rot-col-skill,.rot-subrow .rot-col-cswap,.rot-subrow .rot-col-ccancel,.rot-subrow .rot-col-cancel,.rot-subrow .rot-col-holdframes,.rot-subrow .rot-col-holduntil,.rot-subrow .rot-col-time,.rot-subrow .rot-col-concerto,.rot-subrow .rot-col-energy,.rot-subrow .rot-col-dmg,.rot-subrow .rot-col-offtune,.rot-subrow .rot-col-forte,.rot-subrow .rot-col-enemy,.rot-subrow .rot-col-buffs,.rot-subrow .rot-col-remove{background:color-mix(in srgb, var(--char-color) 3%, transparent)!important}.rot-subrow .rot-col-char{border-left-color:color-mix(in srgb, var(--char-color) 35%, transparent)!important}.rot-row.rot-subrow:hover .rot-col-char{background:color-mix(in srgb, var(--char-color) 16%, transparent)!important}.rot-row.rot-subrow:hover .rot-col-skill,.rot-row.rot-subrow:hover .rot-col-cswap,.rot-row.rot-subrow:hover .rot-col-ccancel,.rot-row.rot-subrow:hover .rot-col-cancel,.rot-row.rot-subrow:hover .rot-col-holdframes,.rot-row.rot-subrow:hover .rot-col-holduntil,.rot-row.rot-subrow:hover .rot-col-time,.rot-row.rot-subrow:hover .rot-col-concerto,.rot-row.rot-subrow:hover .rot-col-energy,.rot-row.rot-subrow:hover .rot-col-dmg,.rot-row.rot-subrow:hover .rot-col-offtune,.rot-row.rot-subrow:hover .rot-col-forte,.rot-row.rot-subrow:hover .rot-col-enemy,.rot-row.rot-subrow:hover .rot-col-buffs,.rot-row.rot-subrow:hover .rot-col-remove{background:color-mix(in srgb, var(--char-color) 8%, transparent)!important}.rot-subrow-label{color:color-mix(in srgb, var(--char-color) 45%, var(--text-muted));padding-left:12px;font-size:11px;font-style:italic}.rot-subrow-dmg{font-family:var(--font-mono);color:var(--text-muted);padding:0 10px;font-size:12px}.container.hub-page{max-width:1560px;padding-top:40px;padding-bottom:64px}.hub-hdr{margin-bottom:26px}.hub-kicker{font-family:var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:10px;font-size:13px;font-weight:700}.hub-title{color:var(--text);font-size:40px;font-weight:700;line-height:1.1}.hub-pages{border-bottom:1px solid var(--border);align-items:flex-end;gap:26px;display:flex}.hub-page-tab{color:var(--text-dim);border-bottom:2px solid #0000;margin-bottom:-1px;padding-bottom:10px;font-size:30px;font-weight:700;line-height:1.1;transition:color .12s,border-color .12s}.hub-page-tab:hover{color:var(--text-muted);border-bottom-color:var(--border-light)}.hub-page-tab.is-active,.hub-page-tab.is-active:hover{color:var(--text);border-bottom-color:var(--accent)}.hub-new{border:1px solid var(--border);background:linear-gradient(to right, var(--accent-dim), #c9b17800 58%), var(--surface);align-items:center;gap:30px;margin-bottom:30px;padding:20px 24px;display:flex}.hub-new-body{flex:1;min-width:0}.hub-new-label{letter-spacing:2px;text-transform:uppercase;color:var(--text);margin-bottom:6px;font-size:13px;font-weight:700}.hub-new-label:before{content:"◆ ";color:var(--accent)}.hub-new-desc{color:var(--text-muted);font-size:13px}.hub-new-cta{flex-shrink:0;height:38px;padding:0 22px;font-size:12px}.hub-btn{border:1px solid var(--border-light);color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;align-items:center;padding:6px 14px;font-size:11px;font-weight:700;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.hub-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.hub-btn:disabled{opacity:.5;cursor:default}.hub-btn--primary{background:var(--accent);border-color:var(--accent);color:#0e0f13}.hub-btn--primary:hover:not(:disabled){background:var(--accent-hover);color:#0e0f13}.hub-btn--danger:hover:not(:disabled){color:#ff6b61;border-color:#b3372f}.hub-layout{align-items:flex-start;gap:24px;display:flex}.hub-rail{flex-direction:column;flex-shrink:0;width:220px;margin-top:57px;display:flex;position:sticky;top:76px}.hub-rail-btn{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;text-align:left;background:0 0;border:none;border-left:2px solid #0000;align-items:center;gap:10px;padding:7px 12px;font-size:11px;font-weight:700;transition:color .1s,border-color .1s,background .1s;display:flex}.hub-rail-btn:hover{color:var(--text)}.hub-rail-btn.is-active{color:var(--cc,var(--accent));border-left-color:var(--cc,var(--accent));background:color-mix(in srgb, var(--cc,var(--accent)) 7%, transparent)}.hub-rail-thumb{border:1px solid var(--border-light);background:var(--surface-2);flex-shrink:0;width:26px;height:26px;overflow:hidden}.hub-rail-thumb img{object-fit:cover;width:100%;height:100%;display:block}.hub-rail-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.hub-rail-btn .hub-tab-count{margin-left:0}.hub-rail-btn--all{min-height:40px;padding-left:48px}.hub-rail-btn--all.is-active{color:var(--accent);border-left-color:var(--accent);background:var(--accent-dim)}.hub-content{--hubr-gap:14px;--hubr-pad:14px;--hubr-fig-gap:6px;--hubr-w-time:44px;--hubr-w-date:68px;--hubr-w-dps:78px;flex:1;min-width:0}.hub-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:0 4px;margin-bottom:18px;display:flex}.hub-refresh-btn{border:1px solid var(--border);color:var(--text-dim);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;cursor:pointer;background:0 0;margin-bottom:6px;margin-left:auto;padding:5px 11px;font-size:10px;font-weight:700;transition:color .12s,border-color .12s}.hub-refresh-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.hub-refresh-btn:disabled{opacity:.45;cursor:default}.hub-tab{color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 18px;font-size:12px;font-weight:700;transition:color .1s,border-color .1s}.hub-tab:hover{color:var(--text)}.hub-tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.hub-tab--edited.is-active{color:var(--orange);border-bottom-color:var(--orange)}.hub-tab-count{color:var(--text-dim);margin-left:8px;font-size:10px;font-weight:500}.hub-error{color:#ff6b61;border:1px solid #b3372f;margin-bottom:12px;padding:10px 14px;font-size:12px}.hubr-cols{align-items:baseline;gap:var(--hubr-gap);padding:0 var(--hubr-pad) 8px;border-bottom:1px solid var(--border);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);font-size:9px;font-weight:700;display:flex}.hubr-cols-spacer{flex:1}.hubr-cols .hubr-time,.hubr-cols .hubr-date,.hubr-cols .hubr-dps{font:inherit;color:inherit}.hubr-cols .hubr-time{margin-left:0}.hubr-grp{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:18px;padding:14px 14px 10px;display:flex}.hub-rows>div:first-child .hubr-grp{border-top:none;margin-top:0}.hubr-grp-ports{gap:4px;display:flex}.hubr-gport{border:1px solid var(--border-light);background:var(--surface-2);flex-shrink:0;width:40px;height:40px;overflow:hidden}.hubr-gport img{object-fit:cover;width:100%;height:100%;display:block}.hubr-grp-name{min-width:0;font:600 14px var(--font-mono);letter-spacing:.5px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.hubr-grp-sep{color:var(--text-dim)}.hubr-row{align-items:baseline;gap:var(--hubr-gap);padding:11px var(--hubr-pad);border-left:2px solid #0000;display:flex;position:relative}.hubr-row:hover{background:var(--surface-2,#20242c)}.hubr-row--failed{border-left-color:var(--red);background:#f8717114}.hubr-row--failed:hover{background:#f8717124}.hubr-name{color:var(--text);white-space:nowrap;flex:none;font-size:15px;font-weight:600}.hubr-sub{min-width:0;color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12.5px;overflow:hidden}.hubr-stale-note{color:var(--orange)}.hubr-failed-note{color:var(--red);text-transform:uppercase}.hubr-time,.hubr-date{font:11px var(--font-mono);color:var(--text-dim);text-align:right;white-space:nowrap;flex:none}.hubr-time{width:var(--hubr-w-time);margin-left:auto}.hubr-date{width:var(--hubr-w-date)}.hubr-date,.hubr-dps{margin-left:calc(var(--hubr-fig-gap) - var(--hubr-gap))}.hubr-dps{width:var(--hubr-w-dps);text-align:right;font:700 16px var(--font-mono);color:var(--text-muted);font-variant-numeric:tabular-nums;flex:none}.hubr-dps--stale{color:var(--orange)}.hubr-dps--failed{color:var(--red);font-weight:700}.hubr-acts{right:calc(var(--hubr-pad) + var(--hubr-w-dps) + var(--hubr-fig-gap) + var(--hubr-w-date) + var(--hubr-fig-gap) + var(--hubr-w-time) + 8px);z-index:3;align-items:center;gap:4px;display:none;position:absolute;top:50%;transform:translateY(-50%)}.hubr-row:hover .hubr-acts{display:flex}.hubr-act{border:1px solid var(--border-light);color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;white-space:nowrap;background:0 0;align-items:center;padding:5px 10px;font-size:11px;font-weight:700;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.hubr-act:hover{color:var(--cc-act,var(--text));border-color:var(--cc-act,var(--border-light));background:color-mix(in srgb, var(--cc-act,var(--text)) 10%, transparent)}.hubr-act:disabled{opacity:.5;cursor:default}.hubr-act:disabled:hover{border-color:var(--border-light);color:var(--text-muted);background:0 0}.hubr-act-open{--cc-act:var(--accent)}.hubr-act-publish{--cc-act:var(--yellow)}.hubr-act-unpublish{--cc-act:var(--orange)}.hubr-act-del{--cc-act:var(--red)}.hub-chip{font-family:var(--font-mono);letter-spacing:.04em;border:1px solid var(--border);color:var(--text-muted);white-space:nowrap;padding:3px 9px;font-size:10px;font-weight:500}.hub-chip--error{color:#ff6b61;cursor:help;border-color:#b3372f}.hub-chip--stale{border-color:var(--yellow);color:var(--yellow)}.hub-dim{color:var(--text-dim);font-weight:400}.hub-empty{color:var(--text-muted);padding:28px 0;font-size:13px}.eset-hint{color:var(--text-muted);margin:14px 0 20px;font-size:12.5px}.eset-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;display:grid}.eset-card{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;align-items:center;gap:12px;padding:10px 12px;font-family:inherit;transition:border-color .15s,background .15s;display:flex}.eset-card:hover{border-color:var(--cc,var(--accent));background:color-mix(in srgb, var(--cc,var(--accent)) 6%, var(--surface))}.eset-card-thumb{border:1px solid var(--border-light);background:var(--surface-2);flex-shrink:0;width:40px;height:40px;overflow:hidden}.eset-card-thumb img{object-fit:cover;width:100%;height:100%;display:block}.eset-card-name{min-width:0;color:var(--cc,var(--text));text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13.5px;font-weight:600;overflow:hidden}.eset-card-count{font-family:var(--font-mono);color:var(--text-dim);font-size:12px}.eset-crumb{border-bottom:1px solid var(--border);align-items:center;gap:14px;margin-bottom:14px;padding-bottom:12px;display:flex}.eset-crumb-back{cursor:pointer;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);background:0 0;border:none;padding:0;font-size:11px;font-weight:700}.eset-crumb-back:hover{color:var(--accent)}.eset-crumb-name{font-size:18px;font-weight:700}.eset-crumb-actions{gap:8px;margin-left:auto;display:flex}.eset-rows{flex-direction:column;gap:6px;display:flex}.eset-empty{color:var(--text-muted);padding:24px 0;font-size:13px}.eset-badge{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--accent);color:var(--accent);padding:3px 9px;font-size:10px;font-weight:700}.eset-badge--locked{border-color:var(--border-light);color:var(--text-dim)}.eset-readonly{position:relative}.eset-readonly .ese-card-body{pointer-events:none}.eset-readonly .ese-card-body input,.eset-readonly .ese-card-body select,.eset-readonly .ese-card-body textarea,.eset-readonly .ese-card-body button{opacity:.75}.eset-readonly .ese-copy-btn{pointer-events:auto;opacity:1}.eset-section{margin-bottom:24px}.eset-section-hdr{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);align-items:baseline;gap:10px;margin-bottom:12px;padding-bottom:8px;font-size:11px;font-weight:700;display:flex}.eset-section-count{color:var(--text-dim);font-size:10px;font-weight:500}.eset-card.is-empty{opacity:.55}.eset-card.is-empty:hover{opacity:1}.enemy-snap,.buff-snap{cursor:default;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.es-label{color:var(--text-muted);font-size:12px;line-height:1}.enemy-snap.has-status .es-label{color:var(--accent)}.bs-label{color:var(--text-muted);font-size:12px;line-height:1}.buff-snap.has-buffs .bs-label{color:var(--color-buffcat-kit)}.bt-cols{gap:16px;display:flex}.bt-col{width:max-content;min-width:160px}.bt-col-hdr{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);border-bottom:1px solid var(--border);margin-bottom:6px;padding-bottom:5px;font-size:9px;font-weight:700}.bt-col-divider{background:var(--border);align-self:stretch;width:1px}.bt-entry{border-left:2px solid var(--bt-color,#ffffff1a);align-items:baseline;gap:8px;margin-bottom:2px;padding-left:6px;font-size:11px;line-height:1.7;display:flex}.bt-entry:last-child{margin-bottom:0}.bt-cat-talent{--bt-color:var(--color-buffcat-talent)}.bt-cat-echo{--bt-color:var(--color-buffcat-echo)}.bt-cat-weapon{--bt-color:var(--color-buffcat-weapon)}.bt-cat-kit{--bt-color:var(--color-buffcat-kit)}.bt-cat-sequence{--bt-color:var(--color-buffcat-sequence)}.bt-cat-inherent{--bt-color:var(--color-buffcat-inherent)}.bt-cat-marker{--bt-color:var(--color-buffcat-marker);opacity:.45;font-style:italic}.bt-cat-cooldown{--bt-color:var(--color-buffcat-cooldown);opacity:.45;font-style:italic}.bt-cat-endgame{--bt-color:var(--color-buffcat-endgame)}.bt-name{color:var(--text);white-space:nowrap;flex-shrink:0;font-weight:500}.bt-desc-col{flex:1;width:max-content}.bt-desc{color:var(--text-muted);white-space:nowrap;font-size:10px}.bt-expiry{font-family:var(--font-mono);color:var(--text-dim);white-space:nowrap;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:10px}.bt-empty{color:var(--text-muted);font-size:11px}.enemy-tooltip-global{background:var(--surface-2);border:1px solid var(--border-light);overscroll-behavior:contain;z-index:9999;pointer-events:auto;border-radius:0;min-width:130px;max-height:min(78vh,680px);padding:10px 12px;font-family:inherit;display:none;position:fixed;overflow-y:auto;box-shadow:0 12px 32px #000000bf}.et-header{letter-spacing:.09em;text-transform:uppercase;color:var(--et-color,#888);margin-bottom:5px;padding-left:2px;font-size:9px;font-weight:700}.et-row{border-left:2px solid color-mix(in srgb, var(--et-color,#fff3) 45%, transparent);grid-template-columns:36px 1fr auto;align-items:center;column-gap:8px;margin:2px 0;padding:4px 2px 4px 8px;font-size:11px;line-height:1;transition:background 70ms,border-color 70ms;display:grid}.et-row--active{border-left-color:var(--et-color,#fff9);background:#ffffff0d}.et-row--active .et-dmg{color:#f5c842}.et-num{color:#454c5a;font-variant-numeric:tabular-nums;font-size:10px}.et-type-inline{color:var(--et-color,#888);white-space:nowrap;font-size:10px}.et-dmg{color:#cdd5e0;font-variant-numeric:tabular-nums;text-align:right;font-weight:600}.et-kv{justify-content:space-between;align-items:center;gap:12px;font-size:11px;line-height:1.9;display:flex}.et-kv .et-label{color:var(--text-muted)}.et-kv .et-val{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500}.et-val--active{color:#f5c842;font-weight:700}.et-val--consumed{opacity:.35}.et-val--pending{opacity:.6}.et-kv--dim{opacity:.4}.et-cd-charges{color:var(--text-dim);font-family:var(--font-mono);margin-left:6px;font-size:10px}.et-divider{border-top:1px solid #ffffff0f;margin:5px 0}.et-status{justify-content:space-between;gap:12px;font-size:12px;line-height:1.9;display:flex}.et-status-name{color:var(--text-muted)}.et-status-val{white-space:nowrap;font-weight:500}.et-ns-dur{opacity:.6}.team-picker-wrap{flex-wrap:wrap;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.team-slot{--char-color:var(--border-light);background:var(--surface);border:1px solid var(--border);border-top:2px solid var(--char-color);border-radius:0;flex-direction:column;min-width:260px;display:flex;overflow:hidden}.team-slot:not(:has(.team-slot-echo-panel.is-open)){flex:none;width:330px}.team-slot.is-empty:hover{border-color:var(--border-light)}.team-slot.is-empty .team-slot-top{padding:0}.team-slot.is-empty .team-char-row{display:block}.team-slot.is-empty .rot-ac-input[data-type=team-char]{field-sizing:fixed;width:100%;max-width:none;padding:20px 16px}.team-portrait{background:var(--surface-2);border:1px solid var(--border-light);flex:none;width:44px;height:44px;position:relative;overflow:hidden}.team-portrait img{object-fit:cover;width:100%;height:100%;display:block}.team-portrait-fallback{color:color-mix(in srgb, var(--char-color) 80%, white);justify-content:center;align-items:center;font-size:18px;font-weight:700;display:none;position:absolute;inset:0}.team-weapon-icon{background:var(--surface);border:1px solid var(--border-light);object-fit:cover;flex:none;width:18px;height:18px}.team-slot-top{flex-direction:column;gap:2px;padding:18px 16px 8px;display:flex;position:relative}.team-char-main{align-items:flex-start;gap:10px;display:flex}.team-char-info{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.team-weapon-row{align-items:center;gap:6px;display:flex}.team-slot-echo-toggle{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border-top:1px solid var(--border);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:5px 16px;font-size:10px;font-weight:700;display:flex}.team-slot-echo-toggle:hover{background:var(--surface-2)}.echo-loaded-name{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;font-style:italic;overflow:hidden}.team-slot-echo-toggle .echo-chevron{transition:transform .15s}.team-slot-echo-toggle.is-open .echo-chevron{transform:rotate(180deg)}.mode-btn{white-space:nowrap;background:var(--accent-dim);border:1px solid var(--accent);color:var(--accent);cursor:pointer;border-radius:0;padding:1px 7px;font-size:10px;line-height:1.5;transition:background .1s;position:absolute;top:8px;right:8px}.mode-btn:hover{background:color-mix(in srgb, var(--accent) 22%, transparent)}.team-slot:has(.mode-btn) .team-char-row{padding-right:84px}.echo-slot-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.echo-snap-save-btn,.echo-snap-load-btn,.echo-db-save-btn,.echo-db-load-btn,.echo-high-load-btn,.echo-high-clear-btn,.build-reset-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;opacity:.6;background:0 0;border-radius:0;padding:1px 6px;font-size:11px;line-height:1.4;transition:opacity .15s,color .15s}.echo-snap-save-btn:hover,.echo-snap-load-btn:hover,.echo-db-save-btn:hover,.echo-db-load-btn:hover,.echo-high-load-btn:hover,.echo-high-clear-btn:hover,.build-reset-btn:hover{opacity:1;color:var(--text)}.build-reset-btn{font-size:13px}.team-slot-echo-high{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;border-top:1px solid var(--border);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;margin:10px -12px -10px;padding:8px 12px 5px;font-size:10px;font-weight:700;display:flex}.echo-high-label{color:var(--cyan)}.echo-high-loaded-name{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;font-style:italic;overflow:hidden}.team-slot-echo-panel{display:none}.team-slot-echo-panel.is-open{border-top:1px solid var(--border);background:var(--surface-2);padding:10px 12px;display:block}.echo-boxes{gap:8px;width:957px;display:flex;overflow:hidden}.echo-box{background:var(--surface);border:1px solid var(--border);border-radius:0;flex-direction:column;flex:1;gap:0;width:185px;min-width:0;padding:10px 12px;display:flex}.echo-cost-picker{gap:4px;min-height:36px;margin-bottom:8px;display:flex}.echo-cost-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:0;flex:1;padding:4px 0;font-size:12px}.echo-cost-btn.is-active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.echo-name-wrap{box-sizing:border-box;width:100%;min-height:18px;margin-bottom:2px}.echo-name-wrap .echo-name-input{min-height:unset;cursor:pointer;caret-color:#0000;box-sizing:border-box;white-space:nowrap;text-overflow:clip;height:auto;padding:0;font-size:13px;font-weight:600;display:block;overflow:hidden;width:100%!important;max-width:100%!important}.echo-sonata-wrap{width:100%;min-width:0;height:auto}.echo-sonata-input{min-height:unset;cursor:pointer;caret-color:#0000;height:auto;color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;width:100%;margin:6px 0 4px;padding:0;font-size:12px;overflow:hidden}.echo-main-row{border-top:1px solid var(--border);align-items:center;gap:6px;margin-top:2px;margin-bottom:3px;padding-top:7px;display:flex}.echo-main-wrap{flex:1;min-width:0;height:auto}.echo-main-input{min-height:unset;cursor:pointer;caret-color:#0000;white-space:nowrap;text-overflow:ellipsis;width:100%;min-width:0;height:auto;padding:0;font-size:12px;overflow:hidden}.echo-secondary{color:var(--text-muted);justify-content:space-between;padding-bottom:7px;font-size:12px;display:flex}.echo-stat-val{color:var(--text);white-space:nowrap;font-size:12px;font-weight:500}.echo-opt-val{color:var(--text-muted);margin-left:6px;font-size:11px}.echo-subs{border-top:1px solid var(--border);flex-direction:column;gap:5px;margin-top:2px;padding-top:7px;display:flex}.echo-sub-row{align-items:center;gap:5px;display:flex}.echo-sub-plus{color:var(--text-dim);flex-shrink:0;font-size:10px}.echo-sub-type-wrap{flex:1;min-width:0;height:auto}.echo-sub-val-wrap{flex-shrink:0;width:52px;height:auto}.echo-sub-input{min-height:unset;white-space:nowrap;text-overflow:ellipsis;width:100%;min-width:0;height:auto;padding:0;font-size:11px;overflow:hidden}.team-slot-label{font-size:10px;font-weight:500;font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.12em}.team-slot-top .rot-ac-wrap{width:100%;height:auto}.team-char-row .rot-ac-wrap{width:auto}.team-weapon-row .rot-ac-wrap{flex:1;min-width:0;height:auto}.team-slot-top .rot-ac-input{min-height:unset;cursor:pointer;caret-color:#0000;height:auto;padding:0;font-size:14px;font-weight:500}.team-slot[style*=--char-color] .rot-ac-input[data-type=team-char]{color:var(--text);letter-spacing:.04em;text-transform:uppercase;font-size:15px;font-weight:700}.team-weapon-row .rot-ac-input{min-height:unset;height:auto;color:var(--text-muted);cursor:pointer;caret-color:#0000;padding:0;font-size:12px}.team-weapon-row .team-ref-wrap{background:0 0;flex:none;width:auto;padding:0;overflow:hidden}.team-ref-wrap .rot-ac-input{color:var(--bg);cursor:pointer;text-align:center;caret-color:#0000;padding:0;font-size:11px;font-weight:700}.team-char-row{align-items:center;gap:8px;display:flex}.team-char-row .rot-ac-wrap{flex:0 auto;min-width:0}.team-char-row .rot-ac-input[data-type=team-char]{field-sizing:content;min-width:40px;max-width:100%}.team-char-row .team-seq-wrap{background:var(--char-color);border-radius:0;flex:none;width:auto;padding:1px 6px;overflow:hidden}.team-seq-wrap .rot-ac-input{color:var(--bg);cursor:pointer;text-align:center;field-sizing:content;caret-color:#0000;width:auto;padding:0;font-size:11px;font-weight:700}.team-seq-select--locked{pointer-events:none;cursor:default}@supports not (field-sizing:content){.team-seq-wrap .rot-ac-input,.team-ref-wrap .rot-ac-input{width:4ch}.team-char-row .rot-ac-input[data-type=team-char]{max-width:170px}.team-seq-wrap .rot-ac-input,.team-ref-wrap .rot-ac-input{text-indent:0;background-image:none}}.ac-select{appearance:none;cursor:pointer;background-color:#0000;border:none;outline:none;font-family:inherit}.ac-select:disabled{cursor:default;color:var(--text-dim)}.ac-select option,.ac-select optgroup{background:var(--surface-2);color:var(--text);text-transform:none;letter-spacing:normal;font-weight:400}@supports (appearance:base-select){.ac-select{appearance:base-select}.ac-select::picker(select){appearance:base-select}.ac-select::picker(select){background:var(--surface-2);border:1px solid var(--border-light);scrollbar-width:thin;scrollbar-color:var(--border-light) transparent;border-radius:0;max-height:280px;padding:2px 0;overflow-y:auto;box-shadow:0 10px 28px #0000008c}.ac-select option{color:var(--text);text-transform:none;letter-spacing:normal;cursor:pointer;background:0 0;border-left:3px solid #0000;align-items:center;gap:6px;padding:5px 10px 5px 7px;font-size:12px;font-weight:400;display:flex}.ac-select option[style*=--opt-color]{border-left-color:var(--opt-color)}.ac-select option:hover,.ac-select option:focus{background:var(--accent-dim);color:var(--accent)}.ac-select option:checked{color:var(--accent);font-weight:600}.ac-select option::checkmark{display:none}.ac-select::picker-icon{width:0;margin:0;padding:0;display:none}.ac-select .opt-icon{background-position:50%;background-repeat:no-repeat;background-size:contain;flex-shrink:0;width:16px;height:16px;display:inline-block}.ac-select .opt-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ac-select selectedcontent{align-items:center;gap:6px;min-width:0;max-width:100%;display:inline-flex}.echo-name-input selectedcontent{white-space:nowrap;text-overflow:clip;width:100%;display:block;overflow:hidden}}.team-char-row .ac-select[data-type=team-char]{field-sizing:content;width:auto;min-width:40px;max-width:170px}.team-seq-wrap .ac-select{text-align:center;text-align-last:center;width:2.4ch;font-family:var(--font-mono);margin-right:-10px;padding:0}.team-ref-wrap .ac-select{text-align:center;text-align-last:center;color:#d4a843;width:2.4ch;margin-right:-10px;padding:0;font-size:11px;font-weight:700}.team-weapon-name-wrap{flex:none;position:relative}.team-weapon-name-text{color:var(--text-muted);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:13px;display:block}.team-weapon-name-text.is-placeholder{color:var(--text-dim)}.team-weapon-row .ac-select[data-type=team-weapon]{opacity:0;cursor:pointer;width:100%;padding:0;position:absolute;inset:0}.ac-select.echo-name-input{margin-bottom:8px;display:block}.echo-main-row .ac-select{flex:1;min-width:0}.rot-col-char .ac-select,.rot-col-skill .ac-select{align-items:center;height:100%;display:flex}.sim-breakdown-area{margin-top:12px}.sim-breakdown-wrap{box-sizing:border-box;background:0 0;border:none;border-radius:0;width:100%;padding:0;display:block;overflow:hidden}.bkd-toggle{cursor:pointer;background:0 0;border:none;border-radius:0;align-items:center;gap:6px;width:100%;padding:10px 14px;display:flex}.bkd-section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.bkd-legacy-badge,.bkd-beta-badge{letter-spacing:.04em;margin-left:6px;padding:1px 5px;font-size:9px;font-weight:700;display:inline-block}.bkd-legacy-badge{color:#e8a020;background:#e8a0201f;border:1px solid #e8a020}.bkd-beta-badge{color:var(--color-beta,#f0546a);border:1px solid var(--color-beta,#f0546a);background:#f0546a1f}.bkd-chevron{width:10px;height:6px;color:var(--text-muted);flex-shrink:0;transition:transform .18s;transform:rotate(-90deg)}.sim-breakdown-wrap.is-open .bkd-chevron{transform:rotate(0)}.bkd-tabs{flex-wrap:wrap;margin-bottom:10px}.bkd-tabs .hub-tab{padding:9px 14px;font-size:11px}.bkd-tabs-badges{align-self:center;gap:6px;margin-left:10px;display:flex}.bkd-section-body{visibility:hidden;height:0;overflow:hidden}.sim-breakdown-area .sim-breakdown-wrap:not(.is-open){display:none}.sim-breakdown-wrap.is-open .bkd-section-body{visibility:visible;height:auto;overflow-x:auto}.bkd-hero{background:var(--surface);border:1px solid var(--border);padding:10px 14px}.bkd-hero-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.14em;color:var(--text-muted);font-size:10px;font-weight:500}.bkd-hero-value{color:var(--accent);font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;line-height:1.15}.bkd-hero-sub{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.bkd-share{background:var(--surface-3);height:6px;margin:8px 14px 12px;display:flex;overflow:hidden}.bkd-share span{height:100%;display:block}.bkd-table{border-collapse:collapse;font-size:12px;font-family:var(--font-mono);table-layout:fixed;width:100%;min-width:0}.bkd-th:first-child{width:16%}.bkd-th.bkd-misc-hdr{width:18%}.bkd-th.bkd-total{width:16%}.bkd-th{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);text-align:right;border-bottom:1px solid var(--border);white-space:nowrap;background:0 0;padding:6px 12px;font-size:10px;font-weight:500}.bkd-th.bkd-char{color:var(--char-color,var(--accent));border-bottom:2px solid var(--char-color,var(--border))}.bkd-td{text-align:right;white-space:nowrap;color:var(--text);border-bottom:none;padding:4px 12px}.bkd-label{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;text-overflow:ellipsis;font-family:inherit;font-size:11px;font-weight:600;position:relative;overflow:hidden}.bkd-total{color:var(--text);border-left:none;font-weight:600}.bkd-row-total .bkd-td{color:var(--char-color,var(--accent))}.bkd-row-total .bkd-label{color:var(--accent);--bkd-color:var(--accent)}.bkd-row-total .bkd-total{color:var(--accent)}.bkd-th.bkd-misc-hdr{color:var(--color-buffcat-kit);border-bottom:2px solid var(--color-buffcat-kit)}.bkd-misc-val{color:var(--text-muted)}.bkd-td.dim{color:var(--border)}.bkd-row-total td{border-top:1px solid var(--border-light);color:var(--accent);font-weight:700}.bkd-row-time td{border-top:1px solid var(--border-light);color:var(--text-muted);font-size:11px;line-height:1.4}.bkd-row-time td.bkd-dps-cell{color:var(--color-buffcat-kit);font-size:13px;font-weight:700}.bkd-frames{opacity:.55;font-size:10px}.bkd-table tbody tr:last-child td{border-bottom:none}.bkd-table tbody tr:hover td{background:var(--surface-2)}.ns-section-body{padding:4px 0 8px}.ns-sub-section+.ns-sub-section{border-top:1px solid var(--border,#2a2a3e)}.bkd-section-label-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.ns-log-toggles{gap:6px;padding:6px 12px 8px;display:flex}.ns-log-toggle{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:0;padding:3px 10px;font-size:10px;font-weight:500;transition:border-color .15s,color .15s}.ns-log-toggle:hover{border-color:var(--border-light);color:var(--text)}.ns-log-toggle.is-active{color:var(--accent);border-color:var(--accent)}.ns-sub-header{padding:10px 12px 2px}.ns-sub-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:10px;font-weight:700}.ns-col-type,.ns-entry-type{flex:0 0 120px}.ns-col-origin,.ns-entry-name{flex:auto;min-width:0}.ns-col-count,.ns-entry-count{text-align:right;flex:0 0 56px}.ns-col-total,.ns-entry-total{text-align:right;flex:0 0 96px}.ns-col-headers{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:6px 12px;font-size:10px;font-weight:500;display:flex}.ns-entry{align-items:center;gap:12px;padding:4px 12px;display:flex}.ns-entry:hover{background:var(--surface-2)}.ns-entry-body{flex:auto;min-width:0}.ns-entry-header{align-items:center;gap:12px;display:flex}.ns-entry-type{text-transform:uppercase;letter-spacing:.04em;color:var(--ns-color,#aaa);white-space:nowrap;font-size:11px;font-weight:700}.ns-entry-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.ns-entry-count{font-variant-numeric:tabular-nums;color:var(--text-muted);white-space:nowrap;font-size:12px}.ns-entry-total{font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap;font-size:12px;font-weight:600}.ns-entry-dmgs{color:var(--text-muted);white-space:normal;margin-top:1px;font-size:11px;line-height:1.5}.ns-dmg-val{font-variant-numeric:tabular-nums;color:var(--text-secondary)}.ns-dmg-x{opacity:.6;margin:0 1px;font-size:10px}.ns-dmg-sep{opacity:.3;margin:0 2px}.ns-dmg-label{opacity:.45;text-transform:lowercase;margin-right:2px;font-size:10px}.ns-section-total{border-top:1px solid var(--border-light);color:var(--accent);justify-content:space-between;align-items:center;margin-top:2px;padding:5px 12px 6px;display:flex}.ns-section-total-label{text-transform:uppercase;letter-spacing:.05em;color:var(--accent);font-size:11px;font-weight:700}.ns-section-total-value{font-variant-numeric:tabular-nums;color:var(--accent);font-size:12px;font-weight:700}.ns-grand-total{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:7px 12px 8px;display:flex}.ns-grand-total-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text);font-size:11px;font-weight:700}.ns-grand-total-value{font-variant-numeric:tabular-nums;color:var(--accent,var(--color-fallback-accent));font-size:13px;font-weight:700}body{overflow-x:clip}.status-page{flex-direction:column;flex:1 0 auto;justify-content:center;max-width:640px;padding:48px 28px;display:flex}.status-inner{position:relative}.status-mark{font-family:var(--font-mono);letter-spacing:-.04em;color:var(--accent);opacity:.07;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:clamp(120px,22vw,200px);font-weight:700;line-height:1;position:absolute;top:-62px;left:0}.status-mark--word{letter-spacing:.02em;font-size:clamp(52px,9vw,86px);top:-38px}.status-kicker{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;font-size:12px;font-weight:600;position:relative}.status-headline{color:var(--text);margin:0;font-size:32px;font-weight:700;line-height:1.25;position:relative}.status-headline-dim{color:var(--text-muted);font-weight:500}.status-text{color:var(--text-muted);margin:16px 0 0;font-size:14px;line-height:1.6;position:relative}.status-actions{gap:10px;margin-top:28px;display:flex;position:relative}@media (height<=560px){.status-page{justify-content:flex-start;padding-top:40px}}@media (width<=720px){.site-nav{gap:10px;padding:0 14px}.site-nav-brand{letter-spacing:2px;margin-right:0;font-size:13px}.site-nav-cta{gap:6px;margin-right:8px}.nav-cta{padding:5px 7px}.nav-cta-label{display:none}.site-nav-burger{width:48px;height:48px;color:var(--text);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-left:-10px;font-size:24px;display:flex}.site-nav-links{background:var(--surface);border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch;gap:0;height:auto;display:none;position:fixed;top:60px;left:0;right:0;box-shadow:0 18px 40px #0000008c}.site-nav.is-open .site-nav-links{display:flex}.site-nav-mobile-only{display:contents}.site-nav-dropdown{right:-6px}.site-nav-links .site-nav-link{border-top:1px solid var(--border);letter-spacing:.12em;border-bottom:none;height:auto;padding:15px 20px;font-size:12px}.site-nav-links .site-nav-link.is-active{border-left:2px solid var(--accent);padding-left:18px}.container{padding-bottom:120px;padding-left:14px;padding-right:14px}.page-header{flex-wrap:wrap;row-gap:6px}.site-footer-main{flex-wrap:wrap;gap:24px 0;padding:28px 14px}.status-page{align-items:center}.status-inner{width:fit-content;max-width:370px}.footer-brand{flex-basis:100%;max-width:none;padding-right:0}.footer-col{flex:1;min-width:0;margin-left:0;padding:2px 0 2px 14px}.footer-col+.footer-col{margin-left:14px}.footer-copyright{margin-top:20px}.home-hero{padding:32px 0 30px}.home-hero-main{padding:0 14px}.home-headline{font-size:26px}.home-stat-strip{flex-wrap:wrap;gap:18px 28px}.home-stat{border-right:none;padding-right:0}.steps-grid,.home-bottom{grid-template-columns:1fr}.guide-banner{flex-direction:column;align-items:flex-start;padding:20px 18px}.char-grid{grid-template-columns:1fr}.roster-tabs{flex-wrap:wrap;row-gap:2px}.roster-tab{padding:8px 10px;font-size:11px}.roster-sort{flex-basis:100%;align-self:auto;margin-left:0;padding:8px 0 2px}.roster-toolbar{flex-direction:column;align-items:stretch;gap:10px}.roster-filter{width:100%}.attr-chips{flex-wrap:wrap}.char-hero{min-height:0;padding:22px 0 20px;background-size:cover!important}.char-crumb{margin-bottom:12px}.char-kicker{margin-bottom:6px;font-size:11px}.char-name{margin-bottom:4px;font-size:30px}.char-epithet{margin-bottom:16px;font-size:13px}.char-stat-strip{grid-template-columns:repeat(4,1fr);gap:10px 12px;display:grid}.char-stat{border-right:none;padding-right:0}.char-crumb,.char-kicker,.char-name,.char-epithet{text-shadow:0 1px 6px #15171ce6,0 0 16px #15171cb3}.char-stat-val{font-size:17px}.char-stat-val small{font-size:11px}.char-stat-lbl{margin-top:4px;font-size:9px}.char-tabs{flex-wrap:wrap;row-gap:2px}.char-layout{flex-direction:column}.char-side{width:100%}.tab-locked{max-width:420px;padding:26px 4px 10px}.tab-locked-headline{color:var(--text);margin:0;font-size:20px;font-weight:700;line-height:1.3}.calc-content{display:block}.calc-side{max-height:none;margin-top:28px;position:static}.calc-side-head{display:none}.calc-boards{margin:0 -14px;overflow-x:clip}.char-strip{margin:0 -14px}.char-nav--prev{left:0}.char-nav--next{right:0}.filter-bar{gap:8px}.filter-row{flex-wrap:wrap;row-gap:6px}.filter-lbl{width:78px}.calc-row{flex-wrap:wrap;gap:0 14px;padding:0 18px}.calc-team{flex:1;width:auto;min-width:0}.calc-split,.calc-pct{display:none}.calc-dps{width:auto;margin-left:auto;margin-right:26px}.calc-meta{flex-basis:100%;padding-bottom:12px}.calc-head{padding:9px 18px}.calc-head-split,.calc-head-pct{display:none}.calc-head-team{flex:1;width:auto}.calc-head-dps{width:auto;margin-right:26px}.dir-cols{display:none}.dir-row{flex-wrap:wrap;gap:12px 28px;padding:14px}.dir-c-user{flex:100%;order:1;width:auto}.dir-c-calced,.dir-c-created,.dir-c-dps{text-align:left;order:2;width:auto}.dir-c-chars{flex-basis:100%;order:3}.dir-c-since{display:none}.dir-c-calced:after,.dir-c-created:after,.dir-c-dps:after{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-top:3px;font-size:9px;font-weight:700;display:block}.dir-c-calced:after{content:"Calced"}.dir-c-created:after{content:"Created"}.dir-c-dps:after{content:"Best DPS"}.dir-c-calced .dir-n,.dir-n{font-size:15px}.profile-hero{min-height:0}.profile-hero-main{padding:20px 14px 22px}.profile-back{margin-bottom:12px}.profile-ident{gap:14px;margin-bottom:18px}.profile-avatar{width:56px;height:56px}.profile-name{font-size:24px}.profile-hero-art{background-size:cover!important}.profile-back,.profile-handle{text-shadow:0 1px 6px #15171ce6,0 0 16px #15171cb3}.profile-stat-strip{flex-wrap:wrap;gap:10px 0}.profile-stat{border-right:none;margin-right:24px;padding-right:0}.profile-stat-val{font-size:19px}.profile-stat-lbl{margin-top:4px;font-size:9px}.profile-hero-art{opacity:.5}.prof-layout{flex-direction:column}.prof-rail{background:var(--bg);scrollbar-width:none;border-right:none;border-bottom:1px solid var(--border);flex-direction:row;width:100%;margin-top:0;position:static;overflow-x:auto}.prof-rail::-webkit-scrollbar{display:none}.prof-rail-btn{white-space:nowrap}.prof-row{flex-wrap:wrap;gap:9px 14px;padding:12px 14px}.prof-row-team,.prof-row-meta{flex-basis:100%}.prof-row-figures{flex-basis:100%;gap:32px;margin:2px 0}.prof-fig{text-align:left;min-width:0}.prof-row-author{text-align:left;order:5;align-items:baseline;gap:7px;min-width:0;display:flex}.prof-row-date{text-align:left;order:6;width:auto}.prof-view-link{order:7;margin-left:auto}.prof-author-link,.calc-author-link,.prof-view-link,.calc-view-link,.dir-empty-clear{margin:-9px -8px;padding:9px 8px;display:inline-block}.account-card{padding:18px 14px}.account-identity{flex-wrap:wrap;gap:12px}.admin-tile-grid{grid-template-columns:1fr}.stat-windows{flex-wrap:wrap}.user-row{flex-wrap:wrap;gap:10px 14px}.user-ident{flex:100%}}
