:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface-0:#0c0a09;--surface-1:#131110;--surface-2:#1a1715;--ink:#ece3d4;--ink-2:#a89e8c;--ink-muted:#776d5f;--hairline:#ece3d417;--hairline-strong:#ece3d429;--brass:#c9a2276b;--ember:#d95926;--gain:#5fd39b;--gain-bg:#199e7029;--temper:#4a90c9;--crimson:#8a1c2b;--leaf:#2c9e4d;--medal-gold:#d9b44a;--medal-silver:#c3c9cf;--medal-bronze:#c17f4a;--warn:#c98500;--font-display:"Cinzel", "Times New Roman", serif;--font-body:"Spectral", Georgia, serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;--page-max:1440px;--radius:3px;--ease:cubic-bezier(.2, .7, .3, 1);--ember-ink:#fdf5e7;--positive-ink:#8fd0a4;--negative-ink:#efa08a;--wordmark-gradient:linear-gradient(168deg, #fbf3e2 10%, #cbb182 55%, #9a7c4a 95%);--forge-glow:radial-gradient(120ch 60ch at 18% -12%, #d9592629, transparent 62%), radial-gradient(90ch 50ch at 88% -6%, #c985001a, transparent 60%), linear-gradient(180deg, #100d0b 0%, var(--surface-0) 38%, #080706 100%);--grain-opacity:.32}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface-0:#efe6cc;--surface-1:#e8dcbc;--surface-2:#dfd0a8;--ink:#2b2013;--ink-2:#5c4d34;--ink-muted:#8a7a5c;--hairline:#2b20131f;--hairline-strong:#2b201338;--brass:#966c148c;--gain:#1f7a4d;--gain-bg:#1f7a4d24;--warn:#8a5a00;--medal-gold:#8a6114;--ember-ink:var(--ink);--positive-ink:var(--gain);--negative-ink:var(--crimson);--wordmark-gradient:linear-gradient(168deg, #6b4a1a 10%, #8a6a2e 55%, #b08a3e 95%);--forge-glow:radial-gradient(140ch 70ch at 50% -20%, #785a2812, transparent 65%), linear-gradient(180deg, #f2ead4 0%, var(--surface-0) 45%, #e6d9b8 100%);--grain-opacity:.18}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background-color:var(--surface-0);min-height:100vh;color:var(--ink);font-family:var(--font-body);margin:0;font-size:16px;font-weight:300;line-height:1.55;overflow-x:hidden}body:before{content:"";z-index:-2;pointer-events:none;background:var(--forge-glow);position:fixed;inset:0}body:after{content:"";z-index:-1;pointer-events:none;opacity:var(--grain-opacity);mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");position:fixed;inset:0}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.shell{max-width:var(--page-max);margin:0 auto;padding:0 clamp(1rem,3.5vw,3.5rem) 5rem}.masthead{padding:1.5rem 0 0}.header-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem;padding-top:1rem;display:flex}.auth-widget{font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.72rem;display:flex}.auth-widget-name{color:var(--ink-2);letter-spacing:.02em}.auth-widget-hint{color:var(--ink-muted)}.auth-widget-claim{align-items:center;gap:.5rem;display:flex}.auth-widget-error{color:var(--warn)}.auth-button{border:1px solid var(--brass);border-radius:var(--radius);background:var(--surface-2);color:var(--ink);font-family:inherit;font-size:inherit;letter-spacing:.02em;cursor:pointer;transition:border-color .15s var(--ease), color .15s var(--ease);padding:.4rem .85rem}.auth-button:hover{border-color:var(--ember);color:var(--ember)}.auth-button:disabled{cursor:default;opacity:.6}.auth-button-ghost{border-color:var(--hairline-strong);color:var(--ink-2);background:0 0}.auth-select{border:1px solid var(--hairline-strong);border-radius:var(--radius);background:var(--surface-1);color:var(--ink);font-family:inherit;font-size:inherit;padding:.35rem .5rem}.refresh-button{border:1px solid var(--brass);border-radius:var(--radius);background:var(--surface-2);color:var(--ink);font-family:var(--font-mono);letter-spacing:.02em;cursor:pointer;transition:border-color .15s var(--ease), color .15s var(--ease);padding:.4rem .85rem;font-size:.72rem}.refresh-button:hover:not(:disabled){border-color:var(--ember);color:var(--ember)}.refresh-button:disabled{cursor:default;opacity:.6}.refresh-error{color:var(--warn);font-family:var(--font-mono);margin-left:.5rem;font-size:.7rem}.theme-toggle{border:1px solid var(--brass);border-radius:var(--radius);background:var(--surface-2);color:var(--ink);font-family:var(--font-mono);letter-spacing:.02em;cursor:pointer;transition:border-color .15s var(--ease), color .15s var(--ease);align-items:center;gap:.4rem;padding:.4rem .7rem;font-size:.72rem;display:inline-flex}.theme-toggle:hover{border-color:var(--ember);color:var(--ember)}#panel{margin-top:2rem}.panel-swap-enter-active,.panel-swap-leave-active{transition:opacity .22s var(--ease), transform .22s var(--ease)}.panel-swap-enter-from,.panel-swap-leave-to{opacity:0;transform:translateY(8px)}.topbar{border-bottom:1px solid var(--brass);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem 2.5rem;padding-bottom:1.1rem;display:flex}.identity{flex-wrap:wrap;align-items:baseline;gap:.9rem;display:flex}.wordmark-heading{margin:0;font-size:0;line-height:0}.wordmark{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;background:var(--wordmark-gradient);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(1.9rem,3.6vw,2.6rem);font-weight:700;line-height:1;text-decoration:none;display:inline-block}.identity-sub{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);align-items:center;gap:.5rem;margin:0;font-size:.68rem;display:flex}.identity-rank{font-family:var(--font-mono);align-items:baseline;gap:.35rem;display:none}.identity-rank-label{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);font-size:.58rem}.identity-rank-value{color:var(--ink);font-size:1.15rem;font-weight:500}.identity-sub .warn{color:var(--warn)}.player-nav{flex-wrap:wrap;align-items:center;gap:1.1rem;margin:1.1rem 0 0;display:flex}.player-nav-label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);margin-right:.2rem;font-size:.6rem}.player-nav-item{color:var(--ink-2);font-family:var(--font-mono);letter-spacing:.01em;transition:color .16s var(--ease), border-color .16s var(--ease);border-bottom:1.5px solid #0000;align-items:center;gap:.4rem;padding-bottom:.2rem;font-size:.7rem;text-decoration:none;display:inline-flex}.player-nav-item:hover{color:var(--ink);border-color:var(--accent)}.player-nav-item:focus-visible{outline:2px solid var(--ember);outline-offset:2px}.player-nav-item.router-link-active{color:var(--ink);border-color:var(--accent)}.metrics{flex-wrap:nowrap;align-items:flex-end;gap:0 1.75rem;display:flex}.metric{border-left:1px solid var(--hairline);padding-left:1.75rem}.metric:first-child{border-left:0;padding-left:0}.topbar.has-activity-cal{border-bottom:0;padding-bottom:0}.metrics-row{border-bottom:1px solid var(--brass);margin-top:1rem;padding-bottom:1.1rem}.metric-label{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted);white-space:nowrap;margin:0 0 .3rem;font-size:.6rem}.metric-value{height:1.5rem;font-family:var(--font-mono);letter-spacing:-.01em;color:var(--ink);white-space:nowrap;align-items:center;gap:.45rem;margin:0;font-size:1.5rem;font-weight:500;line-height:1;display:flex}.delta{letter-spacing:0;border-radius:2px;align-items:center;gap:.2rem;padding:.12rem .36rem;font-size:.7rem;font-weight:500;display:inline-flex}.delta.is-better{color:var(--positive-ink);background:#199e7029}.delta.is-worse{color:var(--negative-ink);background:#d9592629}.sparkline{width:132px;height:26px;display:block;overflow:visible}.sparkline-line{fill:none;stroke:var(--ember);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.sparkline-area{fill:#d9592624}.sparkline-head{fill:var(--ember);stroke:var(--surface-0);stroke-width:2px}@media (width<=1010px){.metric-xp .sparkline{display:none}.metrics{gap:0 1rem}.metric{padding-left:1rem}}.activity-cal{flex:none;align-self:center;max-width:100%;padding-bottom:2px;overflow-x:auto}.activity-cal-months,.activity-cal-grid{grid-auto-columns:8px;gap:1px;width:max-content;display:grid}.activity-cal-months{grid-auto-flow:column;margin-bottom:.25rem}.activity-cal-month{min-width:0;font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-muted);white-space:nowrap;font-size:.56rem}.activity-cal-grid{grid-template-rows:repeat(7,8px);grid-auto-flow:column}.activity-cal-cell{background:color-mix(in srgb, var(--gain) var(--fill-pct,0%), var(--surface-2));border-radius:1px;width:8px;height:8px}.activity-cal-cell.is-zero{background:var(--surface-2)}.activity-cal-cell.is-untracked{background:var(--surface-1)}.activity-cal-cell.is-placeholder{background:0 0}.matrix-section{margin-top:2rem}.matrix-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;margin-bottom:.7rem;display:flex}.matrix-title{align-items:center;gap:.6rem;display:flex}.matrix-head h2{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);margin:0;font-size:.66rem;font-weight:500}.matrix-invert{border:1px solid var(--hairline-strong);width:1.4rem;height:1.4rem;color:var(--ink-muted);cursor:pointer;transition:color .16s var(--ease), border-color .16s var(--ease), background-color .16s var(--ease);background:0 0;border-radius:2px;justify-content:center;align-items:center;padding:0;font-size:.6rem;display:inline-flex}.matrix-invert:hover{color:var(--ink);border-color:var(--ink-muted)}.matrix-invert:focus-visible{outline:2px solid var(--ember);outline-offset:2px}.matrix-invert.is-active{color:var(--ember-ink);border-color:var(--ember);background:#d9592621}.matrix-note{color:var(--ink-muted);margin:0;font-size:.76rem}.swatch{background:var(--swatch,currentColor);width:9px;height:9px;box-shadow:0 0 0 2px var(--surface-0);border-radius:50%;flex:none}.chip-up{font-family:var(--font-mono);color:var(--gain);background:var(--gain-bg);white-space:nowrap;border-radius:2px;align-items:center;padding:.05rem .3rem;font-size:.62rem;font-weight:500;line-height:1.4;display:inline-flex}.cell-gain,.lb-gain{font-size:.58rem}.highlights-split{grid-template-columns:2fr 1fr;align-items:stretch;gap:.9rem;display:grid}.highlights-split>.lb{flex-direction:column;display:flex}.highlights-row{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;display:grid}.highlights .lb-icon polygon{fill:var(--ember)}.activity-feed .lb-icon rect,.activity-feed .lb-icon path{fill:var(--ink-2)}.activity-feed-list{border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-1);flex-direction:column;flex:1;gap:.1rem;margin:0;padding:.35rem;list-style:none;display:flex}.activity-feed-list li{border-radius:var(--radius);cursor:default;transition:background-color .16s var(--ease);grid-template-columns:auto minmax(0,5rem) 1fr 5.5rem;align-items:center;column-gap:.5rem;padding:.22rem .5rem .22rem .35rem;display:grid}.activity-feed-list li:hover,.activity-feed-list li:focus-visible{background:var(--surface-2);outline:none}.activity-feed-name{text-overflow:ellipsis;min-width:0;font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink-2);white-space:nowrap;font-size:.7rem;overflow:hidden}.activity-feed-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.82rem;overflow:hidden}.activity-feed-levelup{justify-content:center;align-items:center;gap:.3rem;display:inline-flex}.activity-feed-skill-icon{flex:none}.activity-feed-time{font-family:var(--font-mono);letter-spacing:.02em;color:var(--ink-muted);white-space:nowrap;text-align:right;font-size:.62rem}.activity-feed-empty{text-align:center;min-height:8rem;color:var(--ink-muted);border:1px dashed var(--hairline-strong);border-radius:var(--radius);background:var(--surface-1);flex:1;justify-content:center;align-items:center;padding:1rem 1.25rem;font-size:.82rem;line-height:1.5;display:flex}@media (width<=720px){.highlights-split{grid-template-columns:1fr}}.highlight-badge{background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--radius);text-align:center;min-width:0;transition:background-color .16s var(--ease), border-color .16s var(--ease), transform .16s var(--ease);flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding:.8rem .75rem .7rem;display:flex}.highlight-badge:not(.is-empty){cursor:default}.highlight-badge:not(.is-empty):hover,.highlight-badge:not(.is-empty):focus-visible{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--surface-1));transform:translateY(-2px)}.highlight-badge:focus-visible{outline:2px solid var(--ember);outline-offset:2px}.highlight-badge.is-empty{opacity:.6}.highlight-medal{background:var(--surface-0);width:2.5rem;height:2.5rem;box-shadow:inset 0 0 0 2px var(--accent,var(--hairline-strong));color:var(--accent,var(--ink-muted));transition:box-shadow .16s var(--ease), color .16s var(--ease);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.1rem;display:flex}.highlight-badge:not(.is-empty):hover .highlight-medal,.highlight-badge:not(.is-empty):focus-visible .highlight-medal{box-shadow:inset 0 0 0 2px var(--accent), 0 0 14px -2px var(--accent)}.highlight-medal-icon{fill:currentColor;width:18px;height:18px}.highlight-label{font-family:var(--font-display);letter-spacing:.03em;color:var(--ember-ink);margin:0;font-size:.8rem;font-weight:700}.highlight-answer{align-items:center;gap:.35rem;min-width:0;max-width:100%;margin:0;display:inline-flex}.highlight-name{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.highlight-badge.is-empty .highlight-name{color:var(--ink-muted)}.highlight-value{font-family:var(--font-mono);color:var(--ink);margin:.05rem 0 0;font-size:1.1rem;font-weight:500;line-height:1}.lb{margin-bottom:1.75rem}.lb-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;margin-bottom:.7rem;display:flex}.lb-title{align-items:center;gap:.9rem;display:flex}.activity-badges{flex-wrap:wrap;gap:.4rem;display:flex}.activity-badge{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;border-radius:2px;align-items:center;padding:.16rem .5rem;font-size:.6rem;font-weight:500;display:inline-flex}.activity-badge.is-sleeping{color:var(--ink-muted);background:var(--hairline)}.activity-badge.is-consistent{color:var(--gain);background:var(--gain-bg)}.activity-badge.is-hot-streak{color:var(--ember-ink);background:#d959262e}.activity-badge.is-grinder{color:var(--ember-ink);background:#c9a22733}.gains-view-tabs{gap:.35rem;display:inline-flex}.gains-view-toggle{border:1px solid var(--hairline-strong);width:1.4rem;height:1.4rem;color:var(--ink-muted);cursor:pointer;transition:color .16s var(--ease), border-color .16s var(--ease), background-color .16s var(--ease);background:0 0;border-radius:2px;justify-content:center;align-items:center;padding:0;display:inline-flex}.gains-view-toggle:hover{color:var(--ink);border-color:var(--ink-muted)}.gains-view-toggle:focus-visible{outline:2px solid var(--ember);outline-offset:2px}.gains-view-toggle.is-active{color:var(--ember-ink);border-color:var(--ember);background:#d9592621}.toggle-icon{fill:currentColor;width:12px;height:12px}.toggle-line{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round}.lb-head h2{font-family:var(--font-mono);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2);align-items:center;gap:.5rem;margin:0;font-size:.66rem;font-weight:500;display:flex}.lb-icon{object-fit:contain;flex:none;width:18px;height:18px}.graph-line{fill:none;stroke:var(--gain);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.graph-axis{fill:none;stroke:var(--ink-muted);stroke-width:1.5px;stroke-linecap:round}.podium-block{fill:none;stroke-width:1.5px;stroke-linejoin:round}.podium-first{stroke:var(--ember)}.podium-second,.podium-third{stroke:var(--ink-muted)}.tabs{border:1px solid var(--hairline-strong);border-radius:3px;flex:none;min-width:11rem;display:inline-flex;position:relative;overflow:hidden}.tabs-indicator{z-index:0;width:33.3333%;transition:transform .22s var(--ease);pointer-events:none;background:#d9592621;position:absolute;inset:0}.tab{z-index:1;border:0;border-left:1px solid var(--hairline-strong);min-width:0;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;text-align:center;color:var(--ink-muted);white-space:nowrap;cursor:pointer;transition:color .16s var(--ease);background:0 0;flex:1 1 0;padding:.3rem .5rem;font-size:.62rem;font-weight:500;position:relative}.tab:first-child{border-left:0}.tab:hover{color:var(--ink)}.tab:focus-visible{outline:2px solid var(--ember);outline-offset:-2px}.tab.is-active{color:var(--ember-ink)}.lb-stack{background:var(--hairline);border:1px solid var(--hairline);border-radius:var(--radius);gap:1px;display:grid;overflow:hidden}.lb-band{background:var(--hairline);grid-template-columns:82px minmax(0,1fr);gap:1px;display:grid}.lb-band-head{background:var(--surface-2);flex-direction:column;justify-content:center;gap:.2rem;padding:.6rem .75rem;display:flex}.lb-band-label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin:0;font-size:.66rem}.lb-band-icon{object-fit:contain;width:18px;height:18px;display:block}.lb-row{background:var(--hairline);grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;display:grid}.chart-section{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:.9rem;display:grid}.chart-card{background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--radius);min-width:0;padding:1rem 1.1rem .9rem;overflow-x:auto}.chart-card-label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);align-items:center;gap:.5rem;margin:0 0 1rem;font-size:.66rem;font-weight:500;display:flex}.chart-empty{color:var(--ink-muted);margin:0;font-size:.78rem}.line-chart-svg{aspect-ratio:3;width:100%;display:block;overflow:visible}.line-chart-gridline{stroke:var(--hairline);stroke-width:.5px}.line-chart-axis-label{font-family:var(--font-mono);fill:var(--ink-muted);dominant-baseline:middle;font-size:7px}.line-chart-path{fill:none;stroke:var(--accent);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;opacity:.8}.line-chart-point{fill:var(--accent);stroke:var(--surface-1);stroke-width:.6px;cursor:pointer;transition:r .16s var(--ease), opacity .3s var(--ease)}.line-chart-point:hover,.line-chart-point:focus-visible{r:4.4}.line-chart-point:focus-visible{outline:2px solid var(--ember);outline-offset:1px}.line-chart-point.is-day-mark{opacity:.55;stroke-width:.4px}.line-chart-label{font-family:var(--font-mono);fill:var(--accent);text-anchor:end;dominant-baseline:middle;font-size:8.5px}.chart-legend{flex-wrap:wrap;justify-content:center;gap:.4rem 1.1rem;margin-top:.9rem;display:flex}.line-chart-legend-item{font-family:var(--font-mono);color:var(--ink-2);align-items:center;gap:.35rem;font-size:.6rem;display:inline-flex}.lb-entry{background:var(--surface-1);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color .16s var(--ease);border:0;flex-direction:column;gap:.15rem;padding:.7rem .85rem .85rem;display:flex;position:relative;overflow:hidden}.lb-entry:hover,.lb-entry:focus-visible{background:var(--surface-2);outline:none}.lb-entry-empty{cursor:default}.lb-entry.is-selected{background:color-mix(in srgb, var(--accent) 30%, var(--surface-1))}.lb-entry.is-selected:hover,.lb-entry.is-selected:focus-visible{background:color-mix(in srgb, var(--accent) 38%, var(--surface-1))}.lb-ribbon{transform-origin:50%;--ribbon-colour:var(--ember);background:linear-gradient(100deg, color-mix(in srgb, var(--ribbon-colour) 88%, white), color-mix(in srgb, var(--ribbon-colour) 82%, black));color:#1a0f08;width:6.5rem;font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:.1rem 0;font-size:.52rem;font-weight:700;position:absolute;top:.55rem;right:-1.85rem;transform:rotate(45deg);box-shadow:0 1px 3px #0006}.lb-ribbon.is-gold{--ribbon-colour:var(--medal-gold)}.lb-ribbon.is-silver{--ribbon-colour:var(--medal-silver)}.lb-ribbon.is-bronze{--ribbon-colour:var(--medal-bronze)}.lb-ribbon.is-crimson{--ribbon-colour:var(--crimson);color:var(--ink)}.lb-ribbon.is-green{--ribbon-colour:var(--leaf)}.lb-name{font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:.4rem;font-size:.68rem;display:flex;overflow:hidden}.lb-value{font-family:var(--font-mono);color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:.4rem;font-size:1.25rem;font-weight:500;line-height:1;display:flex}.lb-value-icon{margin-left:.3rem;display:inline-flex}.lb-value-icon img{object-fit:contain;width:15px;height:15px}.lb-sub{font-family:var(--font-mono);color:var(--ink-muted);align-items:center;gap:.3rem;font-size:.62rem;display:inline-flex}.lb-sub .skill-gain{font-size:inherit;color:inherit;gap:.3rem}.lb-sub .skill-gain img{width:12px;height:12px}.lb-bar{background:#ece3d40f;height:2px;position:absolute;bottom:0;left:0;right:0}.lb-bar-fill{background:var(--accent);opacity:.9;height:100%;transition:width .5s var(--ease);display:block}.matrix-scroll{border:1px solid var(--hairline);border-radius:var(--radius);background:linear-gradient(180deg, var(--surface-1), #13111066)}.matrix{table-layout:fixed;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;width:100%}.matrix thead th{z-index:2;background:var(--surface-2);border-bottom:1px solid var(--brass);position:sticky;top:0}.matrix th.corner{z-index:3;min-width:168px;left:0}.matrix thead th{text-align:left;vertical-align:bottom;padding:.55rem .75rem;font-weight:400}.player-head{min-width:108px}.corner span{font-family:var(--font-mono);color:var(--ink-muted);text-transform:uppercase;letter-spacing:.2em;font-size:.6rem}.player-sort{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.5rem;padding:0;display:flex}.player-sort:hover .player-name,.player-sort:focus-visible .player-name{color:var(--ember-ink)}.player-sort:focus-visible{outline:2px solid var(--ember);outline-offset:3px}.player-head.is-sorted{box-shadow:inset 0 2px 0 var(--accent);background:linear-gradient(#ece3d412,#0000)}.player-name{min-width:0;font-family:var(--font-mono);letter-spacing:.04em;color:var(--ink);white-space:nowrap;flex:auto;align-items:center;gap:.45rem;font-size:.7rem;display:flex}.player-name-text{text-overflow:ellipsis;vertical-align:bottom;flex:auto;min-width:0;max-width:100%;display:inline-block;overflow:hidden}.player-leads{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-muted);flex:none;align-items:center;gap:.28rem;font-size:.6rem;display:inline-flex}.player-leads.has-leads{color:var(--medal-gold)}.player-leads-star{font-size:1.75em;line-height:1}.row-total th,.row-total .cell{border-top:1px solid var(--brass);background:var(--surface-2);border-bottom:0}.row-total .skill-name{color:var(--ink)}.matrix tbody th{z-index:1;background:var(--surface-1);text-align:left;border-bottom:1px solid var(--hairline);border-right:1px solid var(--hairline);white-space:nowrap;min-width:152px;padding:.28rem .75rem;font-weight:400;position:sticky;left:0}.skill-icon{vertical-align:-.3em;object-fit:contain;width:18px;height:18px;margin-right:.5rem}.skill-name{color:var(--ink-2);letter-spacing:.01em;font-size:.82rem}.matrix tbody tr:hover th,.matrix tbody tr:hover .cell{background:var(--surface-2)}.cell{border-bottom:1px solid var(--hairline);vertical-align:middle;transition:background-color .14s var(--ease);cursor:default;padding:.28rem .75rem .5rem;position:relative}.cell-figures{justify-content:space-between;align-items:baseline;gap:.4rem;display:flex}.cell-level{align-items:baseline;gap:.3rem;display:flex}.cell:focus-visible{outline:2px solid var(--ember);outline-offset:-2px}.cell-primary{font-family:var(--font-mono);color:var(--ink);font-size:.92rem;font-weight:500;line-height:1.15}.cell.is-empty .cell-primary{color:var(--ink-muted);opacity:.55}.cell-rule{background:#ece3d412;border-radius:2px;height:2px;position:absolute;bottom:.28rem;left:.75rem;right:.75rem;overflow:hidden}.cell-rule-fill{background:var(--accent);opacity:.85;height:100%;transition:width .5s var(--ease);border-radius:2px;display:block}.cell.is-leader .cell-primary{color:var(--ember-ink)}.cell-star{color:var(--medal-gold);font-size:.72rem}.back-link{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .9rem;font-size:.7rem}.back-link a{color:var(--ink-2);-webkit-text-decoration-color:var(--hairline-strong);text-decoration-color:var(--hairline-strong);text-underline-offset:3px}.back-link a:hover,.back-link a:focus-visible{color:var(--ink)}.player-row{flex-wrap:wrap;align-items:flex-start;gap:1.5rem;display:flex}.player-row .lb{margin-bottom:0}.player-goals-sidebar{flex-direction:column;gap:1.5rem;display:flex}.player-row>.lb:last-child{flex:620px;min-width:620px}.skill-grid{background:var(--hairline);border:1px solid var(--hairline);border-radius:var(--radius);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;width:200px;display:grid;overflow:hidden}.skill-cell{background:var(--surface-1);width:100%;font:inherit;color:inherit;cursor:pointer;transition:background-color .14s var(--ease);border:0;justify-content:center;align-items:center;gap:.35rem;padding:.4rem .3rem .55rem;display:flex;position:relative}.skill-cell:hover{background:var(--surface-2)}.skill-cell:focus-visible{outline:2px solid var(--ember);outline-offset:-2px}.skill-cell.is-empty .cell-primary{color:var(--ink-muted);opacity:.55}.skill-cell.is-selected{background:color-mix(in srgb, var(--accent) 26%, var(--surface-1));box-shadow:inset 0 0 0 1px var(--accent)}.skill-cell.is-selected:hover{background:color-mix(in srgb, var(--accent) 34%, var(--surface-1))}.skill-cell-icon{object-fit:contain;flex:none;width:16px;height:16px}.skill-cell .cell-primary{font-size:.84rem}.skill-cell .cell-rule{display:none}.tabs-2up .tabs-indicator{width:50%}.page-tabs{margin-bottom:1rem}.quest-series-card{margin-bottom:1.25rem}.quest-series-card.is-collapsed{margin-bottom:.75rem}.quest-series-toggle{cursor:pointer;background:0 0;border:0;align-items:center;gap:.5rem;padding:0;display:flex}.quest-series-toggle:focus-visible{outline:2px solid var(--ember);outline-offset:2px}.quest-series-chevron{width:.6em;color:var(--ink-muted);transition:transform .14s var(--ease);border:.3em solid #0000;border-left:.45em solid;border-right-width:0;flex:none}.quest-series-card.is-collapsed .quest-series-chevron{transform:rotate(0)}.quest-series-card:not(.is-collapsed) .quest-series-chevron{transform:rotate(90deg)}.quest-series-count{font-family:var(--font-mono);color:var(--ink-muted);flex:none;font-size:.66rem;font-weight:400}.quest-series-links{flex-wrap:wrap;gap:.4rem;display:flex}.quest-series-link{border:1px solid var(--hairline-strong);background:var(--surface-1);color:var(--ink-2);font-family:var(--font-mono);letter-spacing:.02em;cursor:pointer;transition:color .16s var(--ease), border-color .16s var(--ease), background-color .16s var(--ease);border-radius:999px;padding:.2rem .65rem;font-size:.66rem}.quest-series-link:hover{color:var(--ink);border-color:var(--ink-muted)}.quest-series-link:focus-visible{outline:2px solid var(--ember);outline-offset:1px}.quest-series-link.is-selected{border-color:var(--ember);color:var(--ember-ink);background:#d9592621}.quest-series-link.is-done:not(.is-selected){border-color:var(--gain-bg);color:var(--gain)}.quest-list-card{flex-direction:column;gap:.5rem;width:200px;display:flex}.quest-filters{flex-direction:column;gap:.3rem;display:flex}.quest-filter-select,.quest-search-input{border:1px solid var(--hairline-strong);background:var(--surface-1);width:100%;color:var(--ink);font-family:var(--font-mono);letter-spacing:.02em;border-radius:3px;padding:.3rem .4rem;font-size:.62rem}.quest-search-input::placeholder{color:var(--ink-muted)}.quest-filter-select:focus-visible,.quest-search-input:focus-visible{outline:2px solid var(--ember);outline-offset:-2px}.quest-list{border:1px solid var(--hairline);border-radius:var(--radius);height:400px;margin:0;padding:0;list-style:none;overflow-y:auto}.quest-list-empty{padding:.5rem .1rem}.quest-list-item{border-bottom:1px solid var(--hairline);align-items:center;gap:.4rem;padding:.32rem .5rem;font-size:.76rem;line-height:1.25;display:flex}.quest-list-item:last-child{border-bottom:0}.quest-list-check{flex:none;width:.9em}.quest-list-item.is-completed .quest-list-check{color:var(--positive-ink)}.quest-list-item.is-in-progress .quest-list-check{color:var(--ember)}.quest-list-item.is-completed .quest-list-name{color:var(--ink-muted)}.quest-list-name{min-width:0;color:inherit;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:1;padding:0;overflow:hidden}.quest-list-name:hover{color:var(--ink);text-decoration:underline}.quest-list-name:focus-visible{outline:2px solid var(--ember);outline-offset:1px}.quest-list-item.is-selected{background:#d9592621}.quest-list-item.is-selected .quest-list-name{color:var(--ember-ink);font-weight:500}.quest-progress{color:var(--ink-muted);text-align:right;margin:0;font-size:.7rem}.quest-plan-card{margin-top:1.5rem}.quest-plan-columns{flex-wrap:wrap;gap:1.5rem;display:flex}.quest-plan-section{flex:260px;min-width:0}.quest-plan-card>.quest-plan-section{margin-top:1.25rem}.quest-plan-heading{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin:0 0 .5rem;font-size:.66rem;font-weight:500}.quest-plan-empty{color:var(--ink-muted);margin:0;font-size:.72rem}.quest-plan-list{margin:0;padding:0;list-style:none}.quest-plan-item{border-bottom:1px solid var(--hairline);flex-wrap:wrap;align-items:center;gap:.3rem .5rem;padding:.32rem 0;font-size:.76rem;line-height:1.25;display:flex}.quest-plan-list .quest-plan-item:last-child{border-bottom:0}.quest-plan-name{min-width:0;color:inherit;font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:0;flex:1;padding:0;overflow:hidden}.quest-plan-name:hover{color:var(--ink);text-decoration:underline}.quest-plan-name:focus-visible{outline:2px solid var(--ember);outline-offset:1px}.quest-plan-unlocks{font-family:var(--font-mono);color:var(--gain);flex:none;font-size:.64rem}.quest-plan-line-item{flex-direction:column;align-items:flex-start;gap:.3rem}.quest-plan-line-item .quest-plan-name{flex:none;width:100%}.quest-plan-line-next{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:.3rem;font-size:.7rem;display:flex}.quest-plan-line-next-label{color:var(--ink-muted)}.quest-plan-line-next-name{flex:none;width:auto;font-weight:500}.quest-flowchart .chart-empty{padding:1rem 0}.quest-graph-fullscreen-btn{border:1px solid var(--hairline-strong);width:1.6rem;height:1.6rem;color:var(--ink-muted);cursor:pointer;transition:color .16s var(--ease), border-color .16s var(--ease), background-color .16s var(--ease);background:0 0;border-radius:2px;justify-content:center;align-items:center;padding:0;font-size:.85rem;line-height:1;display:inline-flex}.quest-graph-fullscreen-btn:hover{color:var(--ink);border-color:var(--ink-muted)}.quest-graph-fullscreen-btn:focus-visible{outline:2px solid var(--ember);outline-offset:2px}.quest-graph-fullscreen-btn[aria-pressed=true]{color:var(--ember-ink);border-color:var(--ember);background:#d9592621}.quest-graph-fullscreen-portal:empty{display:none}.quest-flowchart.is-fullscreen{z-index:60;background:var(--surface-0);flex-direction:column;margin:0;padding:1.25rem clamp(1rem,3.5vw,2.5rem) 1.5rem;display:flex;position:fixed;inset:0;overflow-y:auto}.quest-flowchart.is-fullscreen .lb-head{flex:none}.quest-flowchart.is-fullscreen .quest-graph-body{flex-direction:column;flex:1;min-height:0;display:flex}.quest-flowchart.is-fullscreen .quest-graph-scroll{flex:1;min-height:0;max-height:none}.quest-graph-caption{color:var(--ink-muted);margin:0 0 .6rem;font-size:.72rem}.quest-graph-scroll{border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-0);max-height:520px;overflow:auto}.quest-graph-canvas{position:relative}.quest-graph-edges{pointer-events:none;position:absolute;inset:0}.quest-graph-edge{fill:none;stroke:var(--hairline-strong);stroke-width:1.3px;transition:opacity .16s var(--ease)}.quest-graph-edge.is-partial{stroke-dasharray:3 3}.quest-graph-edge.is-dimmed{opacity:.25}.quest-graph-arrowhead{fill:var(--hairline-strong)}.quest-graph-node{border:1px solid var(--hairline-strong);background:var(--surface-1);font-family:var(--font-mono);color:inherit;text-align:left;transition:opacity .16s var(--ease);border-radius:3px;flex-direction:column;justify-content:center;gap:.2rem;padding:.3rem .5rem;font-size:.68rem;display:flex;position:absolute}.quest-graph-node-header{align-items:center;gap:.3rem;min-width:0;display:flex}.quest-graph-node-expand-btn,.quest-graph-node-select,.quest-graph-node-goal-btn{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.quest-graph-node-expand-btn{text-align:center;width:.9em;color:var(--ink-muted);flex:none;font-weight:700}.quest-graph-node-expand-btn.is-empty{cursor:default}.quest-graph-node-expand-btn:hover{color:var(--ink)}.quest-graph-node-expand-btn:focus-visible{outline:2px solid var(--ember);outline-offset:1px}.quest-graph-node.is-expanded .quest-graph-node-expand-btn{color:var(--ink)}.quest-graph-node-select{flex:1;align-items:center;gap:.3rem;min-width:0;display:flex}.quest-graph-node-select:hover .quest-graph-node-name{color:var(--ink);text-decoration:underline}.quest-graph-node-select:focus-visible{outline:2px solid var(--ember);outline-offset:1px}.quest-graph-node-goal-btn{color:var(--ink-muted);flex:none}.quest-graph-node-goal-btn:hover{color:var(--medal-gold)}.quest-graph-node-goal-btn:focus-visible{outline:2px solid var(--ember);outline-offset:1px}.quest-graph-node-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.quest-graph-node-check{text-align:center;flex:none;width:.9em}.quest-graph-node.is-dimmed{opacity:.3}.quest-graph-node.is-highlighted{border-color:var(--brass);box-shadow:0 0 0 1px var(--brass)}.quest-graph-node-skills{flex-wrap:wrap;gap:.15rem .35rem;display:flex}.quest-graph-node-skill{align-items:center;gap:.15rem;font-size:.62rem;display:inline-flex}.quest-graph-node-skill img{flex:none}.quest-graph-node-skill.is-met{color:var(--gain)}.quest-graph-node-skill.is-not-met{color:var(--negative-ink)}.quest-graph-node.is-completed{border-color:#199e7080}.quest-graph-node.is-completed .quest-graph-node-check{color:var(--positive-ink)}.quest-graph-node.is-in-progress .quest-graph-node-check{color:var(--warn)}.quest-graph-node.is-external{color:var(--ink-muted);border-style:dashed}.quest-graph-node.is-target{border-color:var(--ember);background:#d9592621;border-width:2px;font-weight:500}.quest-graph-node.is-questline-target{border-color:var(--temper);background:#4a90c926;border-width:2px;font-weight:500}.quest-graph-legend{color:var(--ink-muted);flex-wrap:wrap;gap:.3rem .9rem;margin-top:.6rem;font-size:.66rem;display:flex}.quest-graph-legend-item{align-items:center;gap:.35rem;display:inline-flex}.quest-graph-legend-swatch{border:1px solid var(--hairline-strong);border-radius:2px;width:.7rem;height:.7rem}.quest-graph-legend-swatch.is-completed{border-color:#199e7080}.quest-graph-legend-swatch.is-in-progress{border-color:var(--warn)}.quest-graph-legend-swatch.is-external{border-style:dashed}.quest-graph-legend-swatch.is-target{border-color:var(--ember);background:#d9592621}.quest-graph-legend-swatch.is-questline-target{border-color:var(--temper);background:#4a90c926}.quest-graph-legend-line{border-top:1.3px solid var(--hairline-strong);width:1.1rem;height:0}.quest-graph-legend-line.is-partial{border-top-style:dashed}.quest-graph-legend-expand{text-align:center;width:.7rem;font-weight:700}.quest-graph-legend-skill{font-family:var(--font-mono);font-weight:500}.quest-graph-legend-skill.is-met{color:var(--gain)}.quest-graph-legend-skill.is-not-met{color:var(--negative-ink)}.quest-graph-legend-highlight{border:1px solid var(--brass);width:.7rem;height:.7rem;box-shadow:0 0 0 1px var(--brass);border-radius:2px}.quest-graph-legend-goal{color:var(--medal-gold);font-weight:700}.goals-readonly-hint{border:1px solid var(--hairline-strong);border-radius:var(--radius);background:var(--surface-1);color:var(--ink-2);font-family:var(--font-mono);margin:0 0 .9rem;padding:.6rem .85rem;font-size:.72rem}.goal-filters{margin-bottom:.7rem}.goal-filter-select{border:1px solid var(--hairline-strong);background:var(--surface-1);width:200px;color:var(--ink);font-family:var(--font-mono);letter-spacing:.02em;border-radius:3px;padding:.3rem .4rem;font-size:.62rem}.goal-filter-select:focus-visible{outline:2px solid var(--ember);outline-offset:-2px}.goal-focus{border:1px solid var(--brass);border-radius:var(--radius);background:var(--surface-2);flex-direction:column;gap:.4rem;margin-bottom:.7rem;padding:.6rem .75rem;display:flex}.goal-focus.is-complete{border-color:var(--gain-bg)}.goal-focus-head{align-items:center;gap:.45rem;display:flex}.goal-focus-eyebrow{color:var(--medal-gold);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;flex:none;font-size:.6rem;font-weight:600}.goal-focus-context{text-overflow:ellipsis;white-space:nowrap;max-width:40%;color:var(--ink-muted);flex:none;font-size:.68rem;overflow:hidden}.goal-group+.goal-group{margin-top:1.1rem}.goal-group-title{width:100%;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;margin:0 0 .4rem;padding:0;font-size:.62rem;font-weight:500;display:flex}.goal-group-title:hover{color:var(--ink)}.goal-group-title:focus-visible{outline:2px solid var(--ember);outline-offset:2px}.goal-group-chevron{width:.6em;transition:transform .14s var(--ease);border:.3em solid #0000;border-left:.45em solid;border-right-width:0;flex:none}.goal-group.is-collapsed .goal-group-chevron{transform:rotate(0)}.goal-group:not(.is-collapsed) .goal-group-chevron{transform:rotate(90deg)}.goal-group-name{flex:1;min-width:0}.goal-group-count{color:var(--ink-muted);flex:none;font-weight:400}.goal-group-check{color:var(--gain);flex:none}.goal-group.is-complete .goal-group-name{color:var(--gain)}.goals-list{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.goal-card{border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface-1);cursor:pointer;transition:border-color .14s var(--ease), background-color .14s var(--ease);flex-direction:column;gap:.4rem;padding:.6rem .75rem;display:flex}.goal-card:hover{border-color:var(--hairline-strong)}.goal-card.is-complete{border-color:var(--gain-bg)}.goal-card.is-focused{border-color:var(--brass);background:var(--surface-2)}.goal-subgoals{border-top:1px dashed var(--hairline);flex-direction:column;gap:.3rem;margin:.15rem 0 0;padding:.5rem 0 0;list-style:none;display:flex}.goal-subgoal-row{border-radius:var(--radius);cursor:pointer;transition:background-color .14s var(--ease);align-items:center;gap:.4rem;margin:-.1rem -.3rem;padding:.1rem .3rem;display:flex}.goal-subgoal-row:hover{background:var(--surface-2)}.goal-subgoal-row.is-focused{background:var(--surface-2);box-shadow:inset 2px 0 0 var(--brass)}.goal-subgoal-icon{object-fit:contain;flex:none;width:16px;height:16px}.goal-subgoal-name{text-overflow:ellipsis;white-space:nowrap;flex:none;width:6.5rem;min-width:0;font-size:.74rem;font-weight:500;overflow:hidden}.goal-subgoal-start{text-overflow:ellipsis;white-space:nowrap;text-align:right;width:3.25rem;color:var(--ink-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex:none;font-size:.65rem;overflow:hidden}.goal-subgoal-track{background:var(--hairline);border-radius:999px;flex:1;min-width:0;height:4px;position:relative;overflow:hidden}.goal-subgoal-fill{background-repeat:no-repeat;height:100%;position:absolute;inset:0 auto 0 0}.goal-subgoal-row.is-complete .goal-subgoal-fill{background:var(--gain)}.goal-subgoal-percent{text-align:center;width:2.2rem;color:var(--ink-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex:none;font-size:.65rem}.goal-subgoal-figures{text-overflow:ellipsis;white-space:nowrap;text-align:right;width:8rem;color:var(--ink-2);font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex:none;font-size:.65rem;overflow:hidden}.goal-subgoal-row.is-complete .goal-subgoal-percent,.goal-subgoal-row.is-complete .goal-subgoal-figures{color:var(--gain)}.goal-subgoal-row .goal-card-delete{width:1.1rem;height:1.1rem;font-size:.85rem}.goal-card-head{align-items:center;gap:.45rem;display:flex}.goal-card-icon{object-fit:contain;flex:none;width:18px;height:18px}.goal-card-name{text-overflow:ellipsis;white-space:nowrap;flex:none;min-width:0;max-width:40%;font-size:.82rem;font-weight:600;overflow:hidden}.goal-card-wiki-link{opacity:.55;flex:none;align-items:center;display:inline-flex}.goal-card-wiki-link:hover,.goal-card-wiki-link:focus-visible{opacity:1}.goal-card-wiki-link:focus-visible{outline:2px solid var(--ember);outline-offset:2px}.goal-card-head-spacer{flex:1;min-width:.5rem}.goal-card-labels{flex-wrap:wrap;gap:.3rem;display:flex}.goal-card-label{border:1px solid var(--hairline-strong);max-width:100%;color:var(--ink-2);font-family:var(--font-mono);border-radius:999px;align-items:center;gap:.3rem;padding:.05rem .45rem;font-size:.6rem;display:inline-flex;overflow:hidden}.goal-card-label-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.goal-card-current{color:var(--ink-muted);font-family:var(--font-mono);flex:none;font-size:.68rem}.goal-card-target{color:var(--ink-2);font-family:var(--font-mono);flex:none;font-size:.68rem}.goal-card.is-complete .goal-card-target{color:var(--gain)}.goal-card-delete{width:1.3rem;height:1.3rem;color:var(--ink-muted);cursor:pointer;transition:color .16s var(--ease), background-color .16s var(--ease);background:0 0;border:0;border-radius:999px;flex:none;font-size:.95rem;line-height:1}.goal-card-delete:hover,.goal-card-delete:focus-visible{color:var(--ink);background:var(--surface-2)}.goal-card-delete:focus-visible{outline:2px solid var(--ember);outline-offset:1px}.goal-progress-row{align-items:center;gap:.5rem;display:flex}.goal-progress-track{background:var(--hairline);border-radius:999px;flex:1;height:6px;overflow:hidden}.goal-progress-fill{background-repeat:no-repeat;height:100%;display:block}.goal-progress-percent{color:var(--ink-2);font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex:none;font-size:.68rem}.goal-card-meta{color:var(--ink-muted);margin:0;font-size:.68rem}.goal-dialog{border:1px solid var(--hairline-strong);border-radius:var(--radius);background:var(--surface-1);width:min(320px,100vw - 2rem);color:var(--ink);padding:0}.goal-dialog::backdrop{background:#0009}.goal-form{flex-direction:column;gap:.7rem;padding:1.1rem;display:flex}.goal-dialog-title{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.05rem;font-weight:500}.goal-dialog-current{color:var(--ink-2);margin:0;font-size:.76rem}.goal-celebration-title{align-items:center;gap:.5rem;display:flex}.goal-celebration-star{color:var(--medal-gold);font-size:1.1rem}.goal-celebration-list{flex-direction:column;gap:.5rem;max-height:240px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.goal-celebration-row{border:1px solid var(--gain-bg);border-radius:var(--radius);background:var(--gain-bg);align-items:center;gap:.5rem;padding:.4rem .5rem;display:flex}.goal-celebration-icon{flex:none}.goal-celebration-name{min-width:0;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.82rem;overflow:hidden}.goal-celebration-target{color:var(--gain);font-family:var(--font-mono);flex:none;font-size:.72rem;font-weight:500}.quest-goal-dialog-reqs{flex-wrap:wrap;gap:.3rem .6rem;margin:0;padding:0;list-style:none;display:flex}.quest-goal-dialog-req{font-family:var(--font-mono);color:var(--ink-2);align-items:center;gap:.3rem;font-size:.72rem;display:inline-flex}.quest-goal-dialog-tree-toggle{color:var(--ink-2);align-items:center;gap:.5rem;font-size:.78rem;display:flex}.quest-goal-dialog-tree-toggle input[type=checkbox]{accent-color:var(--ember)}.goal-target-choice{align-items:center;gap:.5rem;display:flex}.goal-target-choice input[type=radio]{accent-color:var(--ember)}.goal-target-choice span{color:var(--ink-2);font-size:.78rem}.goal-target-choice input[type=number]{border:1px solid var(--hairline-strong);background:var(--surface-0);width:130px;color:var(--ink);font-family:var(--font-mono);border-radius:3px;margin-left:auto;padding:.3rem .4rem;font-size:.72rem}.goal-target-choice input[type=number]:disabled{opacity:.4}.goal-target-choice input[type=number]:focus-visible{outline:2px solid var(--ember);outline-offset:-2px}.goal-text-field{align-items:center;gap:.5rem;display:flex}.goal-text-field>span{color:var(--ink-2);font-size:.78rem}.goal-text-field>input{border:1px solid var(--hairline-strong);background:var(--surface-0);width:130px;color:var(--ink);font-family:var(--font-mono);border-radius:3px;margin-left:auto;padding:.3rem .4rem;font-size:.72rem}.goal-text-field>input:focus-visible{outline:2px solid var(--ember);outline-offset:-2px}.goal-text-field-labels{flex-direction:column;align-items:stretch;gap:.35rem}.goal-label-field{flex-direction:column;gap:.4rem;display:flex}.goal-label-search{border:1px solid var(--hairline-strong);background:var(--surface-0);width:100%;color:var(--ink);font-family:var(--font-mono);border-radius:3px;padding:.3rem .4rem;font-size:.72rem}.goal-label-search:focus-visible{outline:2px solid var(--ember);outline-offset:-2px}.goal-label-dropdown{border:1px solid var(--hairline-strong);background:var(--surface-0);border-radius:3px;max-height:140px;margin:0;padding:.25rem;list-style:none;overflow-y:auto}.goal-label-row{align-items:center;gap:.2rem;display:flex}.goal-label-option{min-width:0;color:var(--ink-2);font-family:var(--font-mono);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:3px;flex:1;align-items:center;gap:.4rem;padding:.3rem .4rem;font-size:.7rem;display:flex}.goal-label-option:hover,.goal-label-option:focus-visible{background:var(--surface-2);color:var(--ink)}.goal-label-create{color:var(--ember)}.goal-label-row-delete{width:1.3rem;height:1.3rem;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.85rem;line-height:1;display:flex}.goal-label-row-delete:hover,.goal-label-row-delete:focus-visible{color:var(--negative-ink);background:var(--surface-2)}.goal-label-colours{border:1px solid var(--hairline-strong);background:var(--surface-0);border-radius:3px;flex-wrap:wrap;gap:.5rem;padding:.5rem;display:flex}.goal-label-colours[hidden]{display:none}.goal-label-swatch{border:1px solid var(--hairline-strong);background:var(--swatch);cursor:pointer;border-radius:50%;width:20px;height:20px}.goal-label-swatch:hover,.goal-label-swatch:focus-visible{outline:2px solid var(--ink);outline-offset:1px}.goal-label-chips{flex-wrap:wrap;gap:.35rem;display:flex}.goal-label-chip{border:1px solid var(--hairline-strong);color:var(--ink-2);font-family:var(--font-mono);border-radius:999px;align-items:center;gap:.3rem;padding:.15rem .3rem .15rem .5rem;font-size:.68rem;display:inline-flex}.goal-label-chip button{width:1rem;height:1rem;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;font-size:.8rem;line-height:1;display:inline-flex}.goal-label-chip button:hover,.goal-label-chip button:focus-visible{color:var(--ink);background:var(--surface-2)}.goal-dialog-error{color:var(--ember);margin:0;font-size:.72rem}.goal-dialog-actions{justify-content:flex-end;gap:.5rem;margin-top:.2rem;display:flex}.goal-btn{border:1px solid var(--hairline-strong);color:var(--ink-2);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;transition:border-color .16s var(--ease), color .16s var(--ease);background:0 0;border-radius:3px;padding:.35rem .85rem;font-size:.66rem}.goal-btn:hover{border-color:var(--ink-muted);color:var(--ink)}.goal-btn:focus-visible{outline:2px solid var(--ember);outline-offset:1px}.goal-btn-primary{border-color:var(--ember);color:var(--ember)}.goal-btn-primary:hover{background:#d959261f}.goal-btn-success{border-color:var(--gain);color:var(--gain)}.goal-btn-success:hover{background:var(--gain-bg)}.goal-btn-danger{border-color:var(--negative-ink);color:var(--negative-ink)}.goal-btn-danger:hover{background:#8a1c2b2e}.bar-chart-layout{grid-template-columns:2fr 1fr;align-items:start;gap:.9rem;display:grid}.bar-chart-layout>.bar-chart-card.is-active{grid-area:1/1}.bar-chart-layout>.player-compare-card{grid-area:2/1}.bar-chart-layout>.bar-chart-stack{grid-area:1/2/span 2}.bar-chart-stack{flex-direction:column;gap:.9rem;display:flex}.bar-chart-stack .bar-chart-card{padding:.75rem .85rem .65rem}.bar-chart-stack .bar-chart-total{font-size:1rem}.bar-chart-header{width:100%;font:inherit;text-align:left;color:inherit;background:0 0;border:0;padding:0;display:block}.bar-chart-activate{cursor:pointer}.bar-chart-activate:hover .chart-card-label,.bar-chart-activate:focus-visible .chart-card-label{color:var(--ember-ink)}.bar-chart-activate:focus-visible{outline:2px solid var(--ember);outline-offset:2px}.bar-chart-total{font-family:var(--font-mono);color:var(--ink);margin:0 0 .9rem;font-size:1.4rem;font-weight:500;line-height:1}.bar-chart-total-label{color:var(--ink-muted);font-size:.7rem;font-weight:400}.bar-chart-svg{aspect-ratio:300/110;width:100%;display:block;overflow:visible}.bar-chart-bar{fill:var(--accent);opacity:.85;cursor:pointer;transition:opacity .16s var(--ease);outline:none}.bar-chart-bar:hover,.bar-chart-bar:focus-visible{opacity:1}.bar-chart-bar:focus-visible{outline:2px solid var(--ember);outline-offset:1px}.bar-chart-bar.is-other-player{opacity:.1}.bar-chart-bar.is-other-player:hover,.bar-chart-bar.is-other-player:focus-visible{opacity:1}.bar-chart-bar.is-other-player.is-emphasized{opacity:.85}.bar-chart-label{font-family:var(--font-mono);fill:var(--ink-muted);font-size:7px}.bar-chart-gridline{stroke:var(--hairline);stroke-width:.5px}.bar-chart-axis-label{font-family:var(--font-mono);fill:var(--ink-muted);dominant-baseline:middle;font-size:7px}.player-toggle-row{flex-wrap:wrap;gap:.4rem;margin:0 0 .8rem;display:flex}.player-toggle{border:1px solid var(--hairline-strong);font-family:var(--font-mono);color:var(--ink-2);cursor:pointer;transition:opacity .16s var(--ease), border-color .16s var(--ease);background:0 0;border-radius:999px;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.62rem;display:inline-flex}.player-toggle:hover,.player-toggle:focus-visible{border-color:var(--ink-muted)}.player-toggle:focus-visible{outline:2px solid var(--ember);outline-offset:2px}.player-toggle.is-hidden{opacity:.4}.player-toggle.is-hidden>span:last-child{text-decoration:line-through}@media (width<=720px){.player-row>.lb:first-child,.player-goals-sidebar{width:100%}.skill-grid,.quest-list-card{margin:0 auto}.player-row>.lb:last-child{flex-basis:100%;min-width:0}.bar-chart-layout{flex-direction:column;align-items:stretch;gap:.9rem;display:flex}.bar-chart-stack .bar-chart-card{padding:1rem 1.1rem .9rem}.bar-chart-stack .bar-chart-total{font-size:1.4rem}}.empty{text-align:center;border:1px dashed var(--hairline-strong);border-radius:var(--radius);background:var(--surface-1);padding:4rem 2rem}.empty-title{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;margin:0 0 .6rem;font-size:1.3rem}.empty-body{max-width:56ch;color:var(--ink-2);margin:0 auto;font-size:.92rem}.empty-body+.empty-body{color:var(--ink-muted);margin-top:.8rem;font-size:.85rem}.empty-error{border-color:#d9592666}.tooltip{z-index:100;border:1px solid var(--hairline-strong);border-radius:var(--radius);opacity:0;pointer-events:none;min-width:180px;max-width:min(320px,100vw - 24px);max-height:calc(100vh - 32px);transition:opacity .14s var(--ease);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1a1715f7;padding:.75rem .9rem;position:fixed;top:0;left:0;overflow-y:auto;box-shadow:0 18px 40px #0000008c}.tooltip[data-visible]{opacity:1}.tooltip-title{border-bottom:1px solid var(--hairline);color:var(--ink);align-items:center;gap:.5rem;margin:0 0 .55rem;padding-bottom:.5rem;font-size:.85rem;font-weight:600;display:flex}.tooltip-rows{grid-template-columns:auto auto;gap:.25rem 1.25rem;margin:0;font-size:.78rem;display:grid}.tooltip-rows dt{color:var(--ink-muted)}.tooltip-rows dd{text-align:right;font-family:var(--font-mono);color:var(--ink);margin:0}.tooltip-skills{border-top:1px solid var(--hairline);margin-top:.6rem;padding-top:.55rem}.tooltip-skills-label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 .4rem;font-size:.58rem}.tooltip-skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem .9rem;display:grid}.tooltip-daily{border-top:1px solid var(--hairline);margin-top:.6rem;padding-top:.55rem}.tooltip-daily-label{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 .4rem;font-size:.58rem}.skill-gain{font-family:var(--font-mono);color:var(--gain);white-space:nowrap;align-items:center;gap:.35rem;font-size:.72rem;display:inline-flex}.skill-gain img{object-fit:contain;flex:none;width:14px;height:14px}.skill-gain.is-top{justify-content:flex-end}.site-footer{border-top:1px solid var(--hairline);color:var(--ink-muted);flex-wrap:wrap;justify-content:space-between;gap:.75rem 2rem;margin-top:4rem;padding-top:1.5rem;font-size:.78rem;display:flex}.site-footer a{color:var(--ink-2);-webkit-text-decoration-color:var(--hairline-strong);text-decoration-color:var(--hairline-strong);text-underline-offset:3px}.site-footer a:hover{color:var(--ink)}body[data-ready] .masthead,body[data-ready] #panel{animation:rise .7s var(--ease) both}body[data-ready] #panel{animation-delay:.1s}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.loading{text-align:center;font-family:var(--font-mono);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-muted);padding:5rem 0;font-size:.72rem}body[data-ready] .loading{display:none}@media (width<=720px){.identity-rank{display:flex}.metric-rank{display:none}.metrics{grid-template-columns:auto auto auto auto minmax(0,1fr);align-items:end;gap:0 .55rem;width:100%;display:grid}.metric{border-left:0;min-width:0;padding-left:0}.metric-level{grid-area:1/1}.metric-skills{grid-area:1/2}.metric-updated{grid-area:1/3}.metric-next{grid-area:1/4}.metric-xp{grid-area:1/5}.metric-label{letter-spacing:.06em;font-size:.5rem}.metric-value{gap:.25rem;height:1.05rem;font-size:1.05rem}.metric-updated .metric-value,.metric-next .metric-value{height:.85rem;font-size:.85rem}.metric-xp .metric-value{gap:.4rem}.metric-xp .sparkline{display:none}.topbar{gap:1.1rem}.lb-band{grid-template-columns:54px minmax(0,1fr)}.lb-band-head{padding:.4rem}.lb-band-label{letter-spacing:.1em;font-size:.56rem}.lb-entry{gap:.15rem;padding:.5rem .35rem .6rem}.lb-name{letter-spacing:0;gap:.25rem;font-size:.55rem}.lb-name .swatch{width:6px;height:6px}.lb-value{gap:.2rem;font-size:.9rem}.lb-value .chip-up{padding:0 .15rem;font-size:.5rem}.lb-ribbon,.lb-sub{display:none}.chart-section{grid-template-columns:1fr}.highlights-row{gap:.4rem}.highlight-badge{padding:.7rem .4rem .6rem}.highlight-medal{width:2.25rem;height:2.25rem}.highlight-medal-icon{width:16px;height:16px}.highlight-label{font-size:.74rem}.highlight-name{font-size:.68rem}.highlight-value{font-size:1.05rem}.tabs{width:100%}.tab{letter-spacing:.1em;flex:1;padding:.6rem .4rem;font-size:.65rem}}@media (width<=860px){.matrix{table-layout:fixed;width:100%}.skill-name,.corner span{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.matrix tbody th{text-align:center;width:30px;min-width:0;padding:.28rem .3rem}.matrix th.corner{width:30px}.skill-icon{vertical-align:middle;margin-right:0}.matrix thead th{padding:.5rem .35rem}.player-head{min-width:0}.player-sort{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.25rem}.player-name{letter-spacing:0;text-overflow:ellipsis;font-size:.6rem;display:block;overflow:hidden}.player-head .swatch{display:none}.player-leads{margin-top:.15rem;font-size:.55rem}.cell{padding:.28rem .35rem .5rem}.cell-figures{gap:.2rem}.cell-level{gap:.15rem}.cell-primary{font-size:.8rem}.cell-star{font-size:.62rem}.cell-gain{padding:0 .15rem;font-size:.5rem}.cell-rule{left:.35rem;right:.35rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (forced-colors:active){.cell.is-leader{outline:2px solid canvastext}.swatch,.cell-rule-fill,.lb-bar-fill{forced-color-adjust:none}}
