:root,[data-theme=dark],[data-theme=light]{color-scheme:dark;--n-950: oklch(.15 .01 230);--n-900: oklch(.17 .01 230);--n-850: oklch(.205 .012 230);--n-800: oklch(.22 .013 230);--n-750: oklch(.225 .012 230);--n-700: oklch(.235 .012 230);--n-650: oklch(.25 .013 230);--n-600: oklch(.27 .013 230);--n-550: oklch(.3 .013 230);--n-400: oklch(.42 .012 230);--n-350: oklch(.55 .012 230);--n-300: oklch(.62 .012 230);--n-200: oklch(.72 .012 230);--n-100: oklch(.8 .008 230);--n-50: oklch(.94 .006 230);--bg-app: var(--n-900);--bg-sidebar: var(--n-950);--surface-card: var(--n-850);--surface-inset: var(--n-750);--surface-hover: var(--n-800);--surface-input: oklch(.2 .012 230);--surface-selected: oklch(.28 .013 230);--overlay-scrim: oklch(.1 .01 230 / .6);--border-card: var(--n-600);--border-divider: oklch(.26 .013 230);--border-row: var(--n-700);--border-control: var(--n-550);--border-shell: var(--n-650);--text-primary: var(--n-50);--text-secondary: var(--n-200);--text-muted: var(--n-300);--text-faint: var(--n-350);--text-disabled: var(--n-400);--text-nav: var(--n-100);--accent: oklch(.78 .12 200);--accent-hover: oklch(.84 .1 200);--accent-on: oklch(.18 .03 220);--accent-text: oklch(.8 .11 200);--accent-text-hover: oklch(.88 .08 200);--accent-soft: oklch(.78 .12 200 / .12);--accent-soft-strong: oklch(.78 .12 200 / .16);--accent-tint: oklch(.78 .12 200 / .07);--accent-2: oklch(.74 .12 250);--accent-2-on: oklch(.18 .03 250);--accent-2-text: oklch(.8 .1 250);--accent-2-soft: oklch(.74 .12 250 / .16);--diff-normal: oklch(.76 .12 160);--diff-heroic: oklch(.74 .12 250);--diff-mythic: oklch(.74 .14 310);--diff-normal-soft: oklch(.76 .12 160 / .16);--diff-normal-text: oklch(.82 .1 160);--diff-heroic-soft: oklch(.74 .11 250 / .16);--diff-heroic-text: oklch(.8 .1 250);--diff-mythic-soft: oklch(.74 .14 310 / .16);--diff-mythic-text: oklch(.82 .11 310);--pip-empty: var(--n-600);--role-tank: oklch(.74 .12 250);--role-healer: oklch(.76 .12 160);--role-melee: oklch(.78 .13 55);--role-ranged: oklch(.74 .13 305);--role-hybrid: oklch(.78 .11 195);--status-success: oklch(.76 .12 160);--status-warning: oklch(.82 .12 90);--status-late: oklch(.78 .13 55);--status-danger: oklch(.7 .15 25);--status-info: oklch(.74 .12 250);--status-excused: oklch(.74 .13 305);--status-on: oklch(.2 .02 230);--tier-legendary: oklch(.8 .13 60);--tier-epic: oklch(.74 .13 305);--tier-rare: oklch(.74 .12 250);--tier-common: var(--text-muted);--class-death-knight: #C41F3B;--class-demon-hunter: #A330C9;--class-druid: #FF7D0A;--class-evoker: #33937F;--class-hunter: #ABD473;--class-mage: #69CCF0;--class-monk: #00FF96;--class-paladin: #F58CBA;--class-priest: #FFFFFF;--class-rogue: #FFF569;--class-shaman: #0070DE;--class-warlock: #9482C9;--class-warrior: #C79C6E;--shadow-pop: 0 12px 32px oklch(0 0 0 / .45), 0 0 0 1px var(--border-card);--font-sans: "Onest", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--text-2xs: 10.5px;--text-xs: 11px;--text-xs-plus: 11.5px;--text-sm: 12px;--text-sm-plus: 12.5px;--text-base: 13px;--text-md: 13.5px;--text-lg: 14px;--text-xl: 15px;--text-2xl: 18px;--text-3xl: 22px;--text-4xl: 28px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--tracking-label: .06em;--tracking-nav: .08em;--tracking-tight: -.01em;--leading-tight: 1.2;--leading-body: 1.45;--space-1: 2px;--space-2: 4px;--space-3: 6px;--space-4: 8px;--space-5: 10px;--space-6: 12px;--space-7: 14px;--space-8: 16px;--space-9: 18px;--space-10: 20px;--space-12: 24px;--space-16: 32px;--space-20: 40px;--gap-grid: 14px;--pad-page-x: 24px;--pad-page-top: 20px;--pad-card: 16px;--pad-card-header: 10px 16px;--pad-row: 9px 16px;--radius-xs: 2px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-full: 999px;--size-topbar: 52px;--size-sidebar: 228px;--size-rail: 64px;--size-control: 32px;--size-control-lg: 36px;--size-nav-item: 36px;--size-pip: 18px;--size-icon: 16px;--ease-out: cubic-bezier(.2, .7, .2, 1);--dur-fast: .12s;--dur-base: .18s}[data-theme=light]{color-scheme:light;--n-950: oklch(.955 .006 230);--n-900: oklch(.975 .004 230);--n-850: oklch(.995 .002 230);--n-800: oklch(.955 .006 230);--n-750: oklch(.965 .005 230);--n-700: oklch(.93 .006 230);--n-650: oklch(.9 .008 230);--n-600: oklch(.9 .008 230);--n-550: oklch(.86 .01 230);--n-400: oklch(.72 .012 230);--n-350: oklch(.56 .014 230);--n-300: oklch(.5 .015 230);--n-200: oklch(.4 .015 230);--n-100: oklch(.32 .015 230);--n-50: oklch(.22 .015 230);--surface-input: oklch(.995 .002 230);--surface-selected: oklch(.92 .008 230);--overlay-scrim: oklch(.2 .02 230 / .35);--border-divider: oklch(.92 .007 230);--accent: oklch(.58 .11 212);--accent-hover: oklch(.52 .11 214);--accent-on: oklch(.99 .004 230);--accent-text: oklch(.5 .1 215);--accent-text-hover: oklch(.42 .1 218);--accent-soft: oklch(.58 .11 212 / .1);--accent-soft-strong: oklch(.58 .11 212 / .14);--accent-tint: oklch(.58 .11 212 / .06);--accent-2: oklch(.58 .14 255);--accent-2-on: oklch(.99 .004 230);--accent-2-text: oklch(.48 .14 258);--accent-2-soft: oklch(.58 .14 255 / .14);--diff-normal: oklch(.62 .13 160);--diff-heroic: oklch(.58 .14 255);--diff-mythic: oklch(.56 .17 310);--diff-normal-soft: oklch(.62 .13 160 / .12);--diff-normal-text: oklch(.46 .12 162);--diff-heroic-soft: oklch(.58 .14 255 / .12);--diff-heroic-text: oklch(.48 .14 258);--diff-mythic-soft: oklch(.56 .17 310 / .12);--diff-mythic-text: oklch(.46 .17 312);--pip-empty: oklch(.91 .008 230);--role-tank: oklch(.58 .14 255);--role-healer: oklch(.6 .13 160);--role-melee: oklch(.64 .15 50);--role-ranged: oklch(.56 .15 305);--role-hybrid: oklch(.6 .1 200);--status-success: oklch(.6 .13 160);--status-warning: oklch(.7 .14 85);--status-late: oklch(.64 .15 50);--status-danger: oklch(.58 .18 25);--status-info: oklch(.58 .14 255);--status-excused: oklch(.56 .15 305);--status-on: oklch(.99 .004 230);--tier-legendary: oklch(.62 .15 60);--tier-epic: oklch(.54 .16 305);--tier-rare: oklch(.54 .15 255);--class-death-knight: #B01A34;--class-demon-hunter: #9124B4;--class-druid: #D96400;--class-evoker: #2A7E6C;--class-hunter: #6E9A3A;--class-mage: #2E9CC8;--class-monk: #00A864;--class-paladin: #D3508E;--class-priest: #6B7280;--class-rogue: #A89400;--class-shaman: #0062C4;--class-warlock: #7461B8;--class-warrior: #9C7447;--shadow-pop: 0 12px 32px oklch(.3 .02 230 / .16), 0 0 0 1px var(--border-card)}html,body{margin:0;background:var(--bg-app);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}a:hover{color:var(--accent-text-hover)}::-moz-selection{background:var(--accent-soft-strong)}::selection{background:var(--accent-soft-strong)}@font-face{font-family:Onest;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/onest-latin.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2) format("woff2")}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg-app);color:var(--text-primary);font-family:var(--font-sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent-text);text-decoration:none}a:hover{color:var(--accent-text-hover);text-decoration:underline;text-underline-offset:2px}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:22px}h2{font-size:14px}h3{font-size:13px}p{margin:0}code,.mono,.input--mono{font-family:var(--font-mono);font-size:12.5px}.muted{color:var(--text-muted)}.small{font-size:12.5px}.strong{font-weight:600}.right{text-align:right}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.shell{display:grid;grid-template-columns:216px 1fr;min-height:100vh}.nav{background:var(--bg-sidebar);border-right:1px solid var(--border-shell);padding:16px 12px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh}.nav__brand{display:flex;align-items:center;gap:8px;font-weight:600;padding:0 6px}.nav__brand em{font-style:normal;font-size:11px;color:var(--accent-text);background:var(--accent-soft);padding:1px 6px;border-radius:var(--radius-full)}.nav nav{display:flex;flex-direction:column;gap:2px}.nav nav a{color:var(--text-nav);padding:8px 10px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:space-between}.nav nav a:hover{background:var(--surface-hover);text-decoration:none}.nav nav a.is-on,.nav nav a.active:not(.is-on){background:var(--surface-selected);color:var(--text-primary)}.nav__foot{margin-top:auto;display:flex;flex-direction:column;gap:6px;padding:0 6px;overflow:hidden}.nav__foot span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{background:var(--status-warning);color:var(--status-on);font-size:11px;padding:0 6px;border-radius:var(--radius-full)}.linklike{background:none;border:0;padding:0;color:var(--accent-text);cursor:pointer;text-align:left;font:inherit}.linklike:hover{text-decoration:underline}.main{min-width:0}.page{max-width:1180px;margin:0 auto;padding:28px 28px 64px;display:flex;flex-direction:column;gap:18px}.page--narrow{max-width:720px}.page__head{display:flex;flex-direction:column;gap:4px}.page__head--row{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}.crumb{font-size:12.5px;color:var(--text-muted)}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.actions{display:flex;gap:8px;flex-wrap:wrap}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.two--tight{gap:28px;margin-top:18px;padding-top:18px;border-top:1px solid var(--border-divider)}.card{background:var(--surface-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0}.card__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.card__head h2{text-transform:uppercase;font-size:11.5px;letter-spacing:.06em;color:var(--text-muted)}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat{background:var(--surface-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);padding:12px 14px;display:flex;flex-direction:column;gap:2px}.stat__label{font-size:12px;color:var(--text-muted)}.stat__value{font-size:26px;font-weight:600;line-height:1.15;font-variant-numeric:tabular-nums}.stat__hint{font-size:12px;color:var(--text-faint)}.chip{display:inline-block;font-size:11.5px;padding:0 7px;line-height:19px;border-radius:var(--radius-full);background:var(--surface-inset);color:var(--text-secondary);margin:0 4px 0 0;white-space:nowrap}.chip--good{background:color-mix(in srgb,var(--status-success) 18%,transparent);color:var(--status-success)}.chip--warn{background:color-mix(in srgb,var(--status-warning) 18%,transparent);color:var(--status-warning)}.chip--bad{background:color-mix(in srgb,var(--status-danger) 18%,transparent);color:var(--status-danger)}.chip--info{background:color-mix(in srgb,var(--status-info) 18%,transparent);color:var(--status-info)}td .chip:first-of-type{margin-left:8px}td>a+.chip{margin-left:8px}.empty{color:var(--text-muted);padding:16px 4px;text-align:center}.note{padding:10px 12px;border-radius:var(--radius-md);background:var(--surface-inset);color:var(--text-secondary)}.note--bad{background:color-mix(in srgb,var(--status-danger) 14%,transparent);color:var(--text-primary);border:1px solid color-mix(in srgb,var(--status-danger) 40%,transparent)}.note--good{background:color-mix(in srgb,var(--status-success) 14%,transparent);border:1px solid color-mix(in srgb,var(--status-success) 40%,transparent)}.note--warn{background:color-mix(in srgb,var(--status-warning) 14%,transparent);border:1px solid color-mix(in srgb,var(--status-warning) 40%,transparent)}.plain{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.plain .row{justify-content:space-between}.attention{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.attention li{display:flex;gap:10px;align-items:baseline}.attention li:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--status-warning);flex:none;transform:translateY(-1px)}.attention li a{font-weight:600}.facts{margin:0;display:grid;gap:6px}.facts div{display:flex;justify-content:space-between;gap:12px}.facts dt{color:var(--text-muted)}.facts dd{margin:0;text-align:right;word-break:break-all}.field{display:flex;flex-direction:column;gap:4px}.field__label{font-size:12.5px;color:var(--text-secondary);font-weight:500}.field__hint{font-size:12px;color:var(--text-faint)}.input{background:var(--surface-input);border:1px solid var(--border-control);color:var(--text-primary);border-radius:var(--radius-md);padding:8px 10px;font:inherit;width:100%;min-width:0}.input--sm{width:auto;padding:5px 8px}textarea.input{resize:vertical}.check,.radio{display:inline-flex;gap:8px;align-items:flex-start;cursor:pointer}.radio{padding:10px 12px;border:1px solid var(--border-control);border-radius:var(--radius-md)}.radio:has(input:checked){border-color:var(--accent);background:var(--accent-tint)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;font:inherit;font-weight:500;padding:7px 13px;border-radius:var(--radius-md);border:1px solid var(--border-control);background:var(--surface-inset);color:var(--text-primary);cursor:pointer;white-space:nowrap}.btn:hover:not(:disabled){background:var(--surface-hover);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--accent);color:var(--accent-on);border-color:transparent}.btn--primary:hover:not(:disabled){background:var(--accent-hover);color:var(--accent-on)}.btn--danger{color:var(--status-danger);border-color:color-mix(in srgb,var(--status-danger) 50%,transparent);background:transparent}.copy__row{display:flex;gap:8px}.reveal{padding:12px;border:1px dashed var(--accent);border-radius:var(--radius-md);background:var(--accent-tint)}.seg{display:inline-flex;background:var(--surface-inset);border-radius:var(--radius-md);padding:2px;gap:2px;flex-wrap:wrap}.seg button{background:none;border:0;color:var(--text-secondary);padding:5px 11px;border-radius:var(--radius-sm);cursor:pointer;font:inherit}.seg button.is-on{background:var(--surface-selected);color:var(--text-primary)}.pw{position:relative;display:block}.pw__input{padding-right:42px}.pw__toggle{position:absolute;top:0;right:0;height:100%;width:40px;display:grid;place-items:center;background:none;border:0;color:var(--text-muted);cursor:pointer;border-radius:0 var(--radius-md) var(--radius-md) 0}.pw__toggle:hover{color:var(--text-primary)}.pw__toggle[aria-pressed=true]{color:var(--accent-text)}.dialog{background:var(--surface-card);color:var(--text-primary);border:1px solid var(--border-card);border-radius:var(--radius-lg);padding:20px;width:min(520px,calc(100vw - 32px))}.dialog::backdrop{background:var(--overlay-scrim)}.dialog[open],.dialog form{display:flex;flex-direction:column;gap:14px}.dialog__body{color:var(--text-secondary)}.dialog__actions{display:flex;justify-content:flex-end;gap:8px}.table-wrap{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-weight:600;padding:6px 10px;border-bottom:1px solid var(--border-divider);white-space:nowrap}.table td{padding:10px;border-bottom:1px solid var(--border-row);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table .num{text-align:right;font-variant-numeric:tabular-nums}.progress{display:inline-flex;align-items:center;gap:8px}.progress__bar{width:70px;height:6px;background:var(--pip-empty);border-radius:var(--radius-full);overflow:hidden}.progress__bar i{display:block;height:100%;background:var(--accent)}.progress__n{font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.checks li{display:flex;gap:10px;align-items:center;color:var(--text-secondary)}.checks li.is-done{color:var(--text-primary)}.checks__mark{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--border-control);display:grid;place-items:center;font-size:11px;flex:none}.checks li.is-done .checks__mark{background:var(--status-success);border-color:var(--status-success);color:var(--status-on)}.chart{margin:0}.chart svg{width:100%;height:auto;display:block;touch-action:pan-y}.chart svg:focus-visible{outline-offset:4px}.chart__grid{stroke:var(--border-divider);stroke-width:1}.chart__cursor{stroke:var(--text-faint);stroke-width:1;stroke-dasharray:3 3}.chart__tick{fill:var(--text-faint);font-size:10.5px;font-family:var(--font-sans)}.chart__legend{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;margin-top:6px;font-size:12.5px;color:var(--text-secondary)}.chart__key{display:inline-flex;align-items:center;gap:6px}.chart__key i{width:10px;height:10px;border-radius:2px}.chart__key b{font-variant-numeric:tabular-nums;color:var(--text-primary)}.chart__when{margin-left:auto;color:var(--text-faint)}.sparks{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:4px}.spark-tile{display:flex;flex-direction:column;gap:2px;background:var(--surface-inset);border-radius:var(--radius-md);padding:8px 10px}.spark-tile strong{font-size:16px;font-variant-numeric:tabular-nums}.spark{width:100%;height:28px;display:block}.msg__head{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.msg__body{white-space:pre-wrap;word-break:break-word}.auth{min-height:100vh;display:grid;place-items:center;padding:24px}.auth__card{width:min(400px,100%);background:var(--surface-card);border:1px solid var(--border-card);border-radius:var(--radius-lg);padding:28px;display:flex;flex-direction:column;gap:14px}.auth__card img{align-self:flex-start}@media(max-width:860px){.shell{grid-template-columns:1fr}.nav{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 12px;border-right:0;border-bottom:1px solid var(--border-shell)}.nav nav{flex-direction:row;flex-wrap:wrap}.nav__foot{margin-top:0;flex-direction:row;align-items:center;margin-left:auto}.page{padding:18px 16px 48px}.two{grid-template-columns:1fr}}.reply-form{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-control)}.reply-form textarea{min-height:140px;line-height:1.6}.reply-form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.reply-history{margin-top:20px;border-top:1px solid var(--border-control);padding-top:16px}.reply-history__entry{padding:12px 16px;margin-top:10px;border-left:2px solid var(--border-control);background:var(--surface-input);border-radius:var(--radius-md)}.reply-history__body{color:var(--text-secondary);white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.6;margin-top:6px}
