:root{--color-neutral-50:#f8fafc;--color-neutral-100:#f1f5f9;--color-neutral-200:#e2e8f0;--color-neutral-300:#cbd5e1;--color-neutral-450:#7f8ea3;--color-neutral-500:#64748b;--color-neutral-550:#616f85;--color-neutral-600:#475569;--color-neutral-700:#334155;--color-neutral-900:#0f172a;--color-neutral-950:#0a0d12;--color-blue-50:#eff4ff;--color-blue-200:#bfd3fe;--color-blue-300:#8ab4ff;--color-blue-400:#77a3f8;--color-blue-500:#5b91f5;--color-blue-600:#1a56db;--color-blue-700:#1443b0;--color-red-50:#fef2f2;--color-red-300:#fca5a5;--color-red-400:#f87171;--color-red-600:#dc2626;--color-red-700:#b91c1c;--color-green-50:#f0fdf4;--color-green-400:#4ade80;--color-green-700:#15803d;--color-amber-50:#fffbeb;--color-amber-200:#fde68a;--color-amber-300:#fcd34d;--color-amber-800:#92400e;--color-white:#fff;--color-dark-canvas:#0f1319;--color-dark-surface:#161b23;--color-dark-surface-alt:#1c222c;--color-dark-surface-muted:#242b37;--color-dark-sidebar:#0a0d12;--color-dark-border:#272f3b;--color-dark-border-strong:#3a4453;--color-dark-border-control:#68768c;--color-dark-ink:#e8edf5;--color-dark-ink-muted:#a8b4c6;--color-dark-ink-subtle:#8a97ab;--color-dark-brand-soft:#182236;--color-dark-positive-soft:#10231a;--color-dark-negative-soft:#2a1618;--color-dark-flat-soft:#232a35;--color-dark-notice-bg:#2a2213;--color-dark-notice-border:#4a3a17;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-brand:var(--color-blue-600);--color-brand-hover:var(--color-blue-700);--color-brand-ink:var(--color-blue-700);--color-brand-soft:var(--color-blue-50);--color-on-brand:var(--color-white);--color-danger:var(--color-red-600);--color-danger-hover:var(--color-red-700);--color-danger-ink:var(--color-red-700);--color-on-danger:var(--color-white);--color-positive:var(--color-green-700);--color-positive-soft:var(--color-green-50);--color-negative:var(--color-red-700);--color-negative-soft:var(--color-red-50);--color-flat:var(--color-neutral-600);--color-flat-soft:var(--color-neutral-100);--color-ink:var(--color-neutral-900);--color-ink-strong:var(--color-neutral-700);--color-ink-muted:var(--color-neutral-600);--color-ink-subtle:var(--color-neutral-550);--color-prose:var(--color-neutral-600);--color-surface:var(--color-white);--color-surface-alt:var(--color-neutral-50);--color-surface-muted:var(--color-neutral-100);--color-canvas:#f6f8fb;--color-canvas-dashboard:var(--color-neutral-100);--color-border:var(--color-neutral-200);--color-border-strong:var(--color-neutral-300);--color-border-control:var(--color-neutral-450);--color-border-brand-soft:var(--color-blue-200);--color-border-accent:var(--color-neutral-500);--color-sidebar-bg:var(--color-neutral-900);--color-sidebar-item:var(--color-neutral-300);--color-sidebar-accent:var(--color-blue-300);--color-sidebar-border:#ffffff14;--color-sidebar-hover:#ffffff0f;--color-sidebar-active-bg:rgba(var(--brand-rgb), .18);--color-embed-surface:var(--color-white);--color-embed-ink:var(--color-neutral-600);--color-notice-bg:var(--color-amber-50);--color-notice-border:var(--color-amber-200);--color-notice-ink:var(--color-amber-800);--brand-rgb:26, 86, 219;--danger-rgb:220, 38, 38;--surface-rgb:255, 255, 255;--shadow-rgb:15, 23, 42;--shadow-strength:1;--color-tooltip-surface:rgba(var(--surface-rgb), .88);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--radius-xs:6px;--radius-control:8px;--radius-card:12px;--radius-panel:16px;--radius-pill:999px;--shadow-xs:0 1px 2px rgba(var(--shadow-rgb), calc(.06 * var(--shadow-strength)));--shadow-sm:0 1px 2px rgba(var(--shadow-rgb), calc(.05 * var(--shadow-strength))), 0 2px 6px rgba(var(--shadow-rgb), calc(.04 * var(--shadow-strength)));--shadow-md:0 2px 4px rgba(var(--shadow-rgb), calc(.05 * var(--shadow-strength))), 0 8px 20px rgba(var(--shadow-rgb), calc(.07 * var(--shadow-strength)));--shadow-lg:0 4px 8px rgba(var(--shadow-rgb), calc(.07 * var(--shadow-strength))), 0 16px 36px rgba(var(--shadow-rgb), calc(.11 * var(--shadow-strength)));--shadow-brand:0 1px 2px rgba(var(--brand-rgb), .24), 0 6px 16px rgba(var(--brand-rgb), .22);--color-focus:var(--color-brand);--focus-ring:0 0 0 2px var(--color-surface), 0 0 0 4px var(--color-focus);--focus-ring-tight:0 0 0 2px var(--color-focus);--z-popover:50;--z-toolbar:80;--z-topbar:90;--z-sidebar:100;--font-family-base:"Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-family-display:"Montserrat", var(--font-family-base);--font-family-script:"Kaushan Script", cursive;--font-family-mono:ui-monospace, "Cascadia Mono", "SFMono-Regular", Menlo, Consolas, monospace;--font-size-xs:.765rem;--font-size-sm:.833rem;--font-size-md:.882rem;--font-size-lg:.98rem;--font-size-xl:1.715rem;--font-size-2xl:1.96rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--leading-none:1;--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.7;--tracking-tighter:-.035em;--tracking-tight:-.02em;--tracking-normal:0;--tracking-wide:.04em;--tracking-wider:.08em;--layout-max-width:1300px;--layout-sidebar-width:240px;--layout-topbar-height:64px;--ease-out:cubic-bezier(.2, .8, .25, 1);--duration-fast:.14s;--duration-base:.22s;--transition-fast:var(--duration-base) var(--ease-out)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-brand:var(--color-blue-500);--color-brand-hover:var(--color-blue-400);--color-brand-ink:var(--color-blue-300);--color-brand-soft:var(--color-dark-brand-soft);--color-on-brand:var(--color-neutral-950);--color-danger:var(--color-red-400);--color-danger-hover:var(--color-red-300);--color-danger-ink:var(--color-red-300);--color-on-danger:var(--color-neutral-950);--color-positive:var(--color-green-400);--color-positive-soft:var(--color-dark-positive-soft);--color-negative:var(--color-red-400);--color-negative-soft:var(--color-dark-negative-soft);--color-flat:var(--color-dark-ink-muted);--color-flat-soft:var(--color-dark-flat-soft);--color-ink:var(--color-dark-ink);--color-ink-strong:var(--color-neutral-300);--color-ink-muted:var(--color-dark-ink-muted);--color-ink-subtle:var(--color-dark-ink-subtle);--color-prose:var(--color-dark-ink-muted);--color-surface:var(--color-dark-surface);--color-surface-alt:var(--color-dark-surface-alt);--color-surface-muted:var(--color-dark-surface-muted);--color-canvas:var(--color-dark-canvas);--color-canvas-dashboard:var(--color-dark-canvas);--color-border:var(--color-dark-border);--color-border-strong:var(--color-dark-border-strong);--color-border-control:var(--color-dark-border-control);--color-border-brand-soft:var(--color-neutral-600);--color-border-accent:var(--color-neutral-500);--color-sidebar-bg:var(--color-dark-sidebar);--color-sidebar-item:var(--color-neutral-300);--color-sidebar-accent:var(--color-blue-300);--color-notice-bg:var(--color-dark-notice-bg);--color-notice-border:var(--color-dark-notice-border);--color-notice-ink:var(--color-amber-300);--brand-rgb:91, 145, 245;--danger-rgb:248, 113, 113;--surface-rgb:22, 27, 35;--shadow-rgb:0, 0, 0;--shadow-strength:4;--color-tooltip-surface:rgba(var(--surface-rgb), .9)}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-brand:var(--color-blue-500);--color-brand-hover:var(--color-blue-400);--color-brand-ink:var(--color-blue-300);--color-brand-soft:var(--color-dark-brand-soft);--color-on-brand:var(--color-neutral-950);--color-danger:var(--color-red-400);--color-danger-hover:var(--color-red-300);--color-danger-ink:var(--color-red-300);--color-on-danger:var(--color-neutral-950);--color-positive:var(--color-green-400);--color-positive-soft:var(--color-dark-positive-soft);--color-negative:var(--color-red-400);--color-negative-soft:var(--color-dark-negative-soft);--color-flat:var(--color-dark-ink-muted);--color-flat-soft:var(--color-dark-flat-soft);--color-ink:var(--color-dark-ink);--color-ink-strong:var(--color-neutral-300);--color-ink-muted:var(--color-dark-ink-muted);--color-ink-subtle:var(--color-dark-ink-subtle);--color-prose:var(--color-dark-ink-muted);--color-surface:var(--color-dark-surface);--color-surface-alt:var(--color-dark-surface-alt);--color-surface-muted:var(--color-dark-surface-muted);--color-canvas:var(--color-dark-canvas);--color-canvas-dashboard:var(--color-dark-canvas);--color-border:var(--color-dark-border);--color-border-strong:var(--color-dark-border-strong);--color-border-control:var(--color-dark-border-control);--color-border-brand-soft:var(--color-neutral-600);--color-border-accent:var(--color-neutral-500);--color-sidebar-bg:var(--color-dark-sidebar);--color-sidebar-item:var(--color-neutral-300);--color-sidebar-accent:var(--color-blue-300);--color-notice-bg:var(--color-dark-notice-bg);--color-notice-border:var(--color-dark-notice-border);--color-notice-ink:var(--color-amber-300);--brand-rgb:91, 145, 245;--danger-rgb:248, 113, 113;--surface-rgb:22, 27, 35;--shadow-rgb:0, 0, 0;--shadow-strength:4;--color-tooltip-surface:rgba(var(--surface-rgb), .9)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;transition:background-color var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;transition:none}}body{font-family:var(--font-family-base);background-color:var(--color-canvas);color:var(--color-ink);min-height:100vh;line-height:var(--leading-relaxed);font-feature-settings:"cv05", "cv08", "cv11", "ss03";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}a{text-decoration:none}ul{list-style:none}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}input,select,textarea,progress{accent-color:var(--color-brand)}::selection{background:rgba(var(--brand-rgb), .22);color:var(--color-ink)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-pill);background-clip:content-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--color-border-control);background-clip:content-box}::-webkit-scrollbar-corner{background:0 0}.container{width:100%;max-width:var(--layout-max-width);padding:0 var(--space-8);margin:0 auto}.section-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-4)}.section-description{color:var(--color-ink-muted);line-height:var(--leading-relaxed)}.primary-btn{background:var(--color-brand);color:var(--color-on-brand);padding:.9rem var(--space-6);border-radius:var(--radius-control);font-weight:var(--font-weight-semibold);transition:background var(--transition-fast), box-shadow var(--transition-fast);border:none}.primary-btn:hover{background:var(--color-brand-hover)}.primary-btn:focus-visible,.secondary-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.secondary-btn{border:1px solid var(--color-border-control);background:var(--color-surface);color:var(--color-ink);padding:.9rem var(--space-6);border-radius:var(--radius-control);font-weight:var(--font-weight-semibold);transition:border-color var(--transition-fast), background var(--transition-fast)}.secondary-btn:hover{border-color:var(--color-ink-subtle);background:var(--color-surface-alt)}.skip-link{top:var(--space-2);left:var(--space-2);z-index:200;padding:var(--space-2) var(--space-4);border-radius:var(--radius-control);background:var(--color-brand);color:var(--color-on-brand);font-weight:var(--font-weight-semibold);opacity:0;position:absolute;transform:translateY(-200%)}.skip-link:focus-visible{box-shadow:var(--focus-ring);opacity:1;outline:none;transform:none}.dashboard-content:focus{outline:none}.session-check{min-height:100vh;padding:var(--space-8);background:var(--color-canvas);justify-content:center;align-items:center;display:flex}.session-check__text{color:var(--color-ink-muted);font-size:var(--font-size-md);margin:0}.navbar{background-color:var(--color-sidebar-bg);border-bottom:1px solid var(--color-sidebar-border);z-index:100;top:0}.navbar-container{max-width:var(--layout-max-width);padding:var(--space-4) var(--space-8);justify-content:space-between;align-items:center;margin:auto;display:flex}.navbar-logo{font-size:1.8rem;font-family:var(--font-family-display);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tight);align-items:baseline;display:flex}.navbar-links{align-items:center;gap:var(--space-8);display:flex}.navbar-links a{color:var(--color-white);font-weight:var(--font-weight-medium)}.navbar-links .login-btn{padding:var(--space-3) 1.3rem;border-radius:var(--radius-control);background:var(--color-brand);color:var(--color-on-brand);font-weight:var(--font-weight-semibold);transition:background var(--transition-fast)}.navbar-links .login-btn:hover{background:var(--color-brand-hover)}.navbar-links a:focus-visible{outline:2px solid var(--color-sidebar-accent);outline-offset:3px;border-radius:var(--radius-xs)}.logo-black{color:var(--color-ink)}.logo-white{color:var(--color-white)}.logo-blue{color:var(--color-brand)}.logo-red{color:var(--color-danger);font-family:var(--font-family-script);font-weight:var(--font-weight-regular);margin-left:.05em;font-size:1.15em}.hero{isolation:isolate;background-color:var(--color-canvas);align-items:center;min-height:670px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";z-index:-1;background:radial-gradient(62rem 42rem at 12% -10%, rgba(var(--brand-rgb), .16), transparent 68%), radial-gradient(48rem 38rem at 92% 8%, rgba(var(--danger-rgb), .09), transparent 66%), radial-gradient(70rem 30rem at 50% 108%, rgba(var(--brand-rgb), .07), transparent 70%);position:absolute;inset:0}.hero:after{content:"";z-index:-1;pointer-events:none;opacity:.035;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%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.hero-container{max-width:var(--layout-max-width);padding:4rem var(--space-8);justify-content:space-between;align-items:center;gap:10rem;margin:auto;display:flex}.section{padding:6rem 0}.footer{background:var(--color-sidebar-bg);color:var(--color-white)}.footer-container{max-width:var(--layout-max-width);padding:var(--space-12) var(--space-8);justify-content:space-between;margin:auto;display:flex}.footer-links{gap:var(--space-8);display:flex}.footer-links a{color:var(--color-white);transition:color var(--transition-fast)}.footer-links a:hover{color:var(--color-sidebar-accent)}.footer-links a:focus-visible,.footer-brand a:focus-visible{outline:2px solid var(--color-sidebar-accent);outline-offset:3px;border-radius:var(--radius-xs)}.footer-bottom{text-align:center;padding:var(--space-4);border-top:1px solid var(--color-neutral-700)}.footer-brand{max-width:400px}.footer-brand p{margin-top:var(--space-4);color:var(--color-neutral-300)}.publication-section{padding:5rem var(--space-8)}.publication-container{gap:var(--space-12);grid-template-columns:minmax(0,1.4fr) minmax(320px,.8fr);align-items:center;max-width:1180px;margin:0 auto;display:grid}.section-eyebrow{color:var(--color-brand-ink);background:var(--color-brand-soft);border:1px solid var(--color-border-brand-soft);border-radius:var(--radius-pill);padding:.35rem var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-extrabold);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-bottom:var(--space-4);align-items:center;display:inline-flex}.publication-title{color:var(--color-ink);font-size:clamp(2rem,4vw,3rem);line-height:var(--leading-tight);font-weight:var(--font-weight-extrabold);letter-spacing:var(--tracking-tighter);margin:0}.publication-description{color:var(--color-prose);font-size:var(--font-size-lg);line-height:var(--leading-relaxed);max-width:760px;margin:1.1rem 0 0}.publication-highlight-card{background:linear-gradient(135deg, rgba(var(--brand-rgb), .08), rgba(var(--danger-rgb), .05)), var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:var(--space-8);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.publication-highlight-card:before{content:"";background:rgba(var(--brand-rgb), .12);border-radius:var(--radius-pill);width:160px;height:160px;position:absolute;top:-60px;right:-60px}.publication-highlight-label{z-index:1;color:var(--color-danger-ink);font-size:var(--font-size-xs);font-weight:var(--font-weight-extrabold);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-bottom:.85rem;position:relative}.publication-highlight-title{z-index:1;color:var(--color-ink);font-size:1.35rem;line-height:var(--leading-snug);font-weight:var(--font-weight-extrabold);margin:0;position:relative}.publication-highlight-text{z-index:1;margin:var(--space-4) 0 0;color:var(--color-prose);font-size:.95rem;line-height:var(--leading-relaxed);position:relative}.publication-cards{max-width:1180px;margin:var(--space-12) auto 0;gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.publication-info-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:var(--space-6);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast), box-shadow var(--transition-fast), border-color var(--transition-fast)}.publication-info-card:hover{border-color:var(--color-border-accent);box-shadow:var(--shadow-lg);transform:translateY(-3px)}@media (prefers-reduced-motion:reduce){.publication-info-card,.publication-info-card:hover{transition:none;transform:none}}.publication-card-icon{border-radius:var(--radius-card);background:var(--color-ink);width:42px;height:42px;color:var(--color-surface);font-size:var(--font-size-sm);font-weight:var(--font-weight-extrabold);margin-bottom:var(--space-4);justify-content:center;align-items:center;display:flex}.publication-info-card:nth-child(2) .publication-card-icon{background:var(--color-brand)}.publication-info-card:nth-child(3) .publication-card-icon{background:var(--color-danger)}.publication-info-card h3{color:var(--color-ink);font-size:1.05rem;font-weight:var(--font-weight-extrabold);margin:0}.publication-info-card p{margin:var(--space-3) 0 0;color:var(--color-ink-muted);font-size:.92rem;line-height:var(--leading-relaxed)}@media (width<=992px){.hero-container{gap:var(--space-8);flex-direction:column}.publication-container{grid-template-columns:1fr}.publication-highlight-card{max-width:680px}.publication-cards{grid-template-columns:1fr}}@media (width<=768px){.navbar-container{gap:var(--space-4);flex-wrap:wrap}.navbar-links{gap:var(--space-4)}.publication-section{padding:3.5rem var(--space-4)}.publication-highlight-card{padding:var(--space-6)}.publication-info-card{padding:var(--space-5)}.footer-container{gap:var(--space-6);flex-direction:column}}.dashboard-layout{background-color:var(--color-canvas-dashboard);min-height:100vh;display:flex}.dashboard-main{min-width:0;margin-left:var(--layout-sidebar-width);flex-direction:column;flex:1;min-height:100vh;display:flex}.dashboard-content{padding:var(--space-8);flex:1}.dashboard-layout--fill-height,.dashboard-layout--fill-height .dashboard-main{min-height:100dvh}.dashboard-layout--fill-height .dashboard-content{flex-direction:column;display:flex}.dashboard-sidebar{width:var(--layout-sidebar-width);background-color:var(--color-sidebar-bg);height:100vh;color:var(--color-white);padding:var(--space-6) 0;z-index:var(--z-sidebar);flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.sidebar-logo{padding:0 var(--space-6) var(--space-6);border-bottom:1px solid var(--color-sidebar-border);margin-bottom:var(--space-4)}.sidebar-menu{flex-direction:column;display:flex}.sidebar-item{padding:.85rem var(--space-6);color:var(--color-sidebar-item);transition:background-color var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);font-size:.95rem;text-decoration:none;box-shadow:inset 3px 0 #0000}.sidebar-item:hover{background-color:var(--color-sidebar-hover);color:var(--color-white)}.sidebar-item.active{background-color:var(--color-sidebar-active-bg);color:var(--color-white);font-weight:var(--font-weight-semibold);box-shadow:inset 3px 0 0 var(--color-sidebar-accent)}.sidebar-item:focus-visible,.sidebar-group-toggle:focus-visible{outline:2px solid var(--color-sidebar-accent);outline-offset:-2px}.sidebar-group-toggle{align-items:center;gap:var(--space-2);width:100%;padding:.6rem var(--space-6);color:var(--color-sidebar-item);font-family:inherit;font-size:.7rem;font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-wider);text-transform:uppercase;text-align:left;cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;display:flex}.sidebar-group-toggle:hover{color:var(--color-white)}.sidebar-group-caret{width:0;height:0;transition:transform var(--transition-fast);border-top:3.5px solid #0000;border-bottom:3.5px solid #0000;border-left:4px solid;flex:none}.sidebar-group-toggle.expanded .sidebar-group-caret{transform:rotate(90deg)translate(1px)}.sidebar-group-items{flex-direction:column;display:flex}.sidebar-item--nested{padding-left:calc(var(--space-6) + var(--space-4));font-size:.9rem}.dashboard-topbar{z-index:var(--z-topbar);height:var(--layout-topbar-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:var(--space-4);padding:0 var(--space-8);box-shadow:var(--shadow-xs);display:flex;position:sticky;top:0}.topbar-title{font-size:1.15rem;font-weight:var(--font-weight-semibold);color:var(--color-ink);white-space:nowrap}.topbar-actions{align-items:center;gap:var(--space-4);min-width:0;display:flex}.topbar-user{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--color-ink-muted);font-size:var(--font-size-md);overflow:hidden}.topbar-theme-toggle{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);width:32px;height:32px;color:var(--color-ink-muted);transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);flex:none;justify-content:center;align-items:center;display:inline-flex}.topbar-theme-toggle:hover{background:var(--color-surface-alt);border-color:var(--color-border-strong);color:var(--color-ink)}.topbar-theme-toggle:focus-visible{box-shadow:var(--focus-ring);outline:none}.topbar-logout{white-space:nowrap;background:var(--color-surface);min-height:32px;color:var(--color-ink);border:1px solid var(--color-border-control);padding:var(--space-1) var(--space-3);border-radius:var(--radius-control);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);transition:background var(--transition-fast), border-color var(--transition-fast);flex:none}.topbar-logout:hover{background:var(--color-surface-alt);border-color:var(--color-ink-muted)}.topbar-logout:focus-visible{box-shadow:var(--focus-ring);outline:none}.dashboard-provenance{align-items:baseline;gap:var(--space-2) var(--space-3);margin:0 0 var(--space-4);flex-wrap:wrap;display:flex}.dashboard-provenance-line{color:var(--color-ink-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-normal);line-height:var(--leading-normal);margin:0}.dashboard-provenance-counts{color:var(--color-ink-subtle);font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);letter-spacing:var(--tracking-normal)}.dashboard-caveats{flex:100%}.dashboard-caveats-summary{width:fit-content;padding:2px var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-pill);color:var(--color-ink-strong);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);line-height:var(--leading-normal);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);list-style:none;display:list-item}.dashboard-caveats-summary::-webkit-details-marker{display:none}.dashboard-caveats-summary:hover{border-color:var(--color-border-strong);color:var(--color-ink)}.dashboard-caveats-summary:focus-visible{border-color:var(--color-brand);box-shadow:var(--focus-ring);outline:none}.dashboard-caveats-summary:hover .dashboard-caveats-marker{color:var(--color-ink-strong)}.dashboard-caveats-marker{margin-right:var(--space-1);color:var(--color-ink-muted);font-size:.6em}.dashboard-caveats-marker:before{content:"▼"}.dashboard-caveats[open] .dashboard-caveats-marker:before{content:"▲"}.dashboard-caveats-list{margin:var(--space-2) 0 0;padding-left:var(--space-5);max-width:78ch;color:var(--color-ink-muted);font-size:var(--font-size-xs);line-height:var(--leading-normal);list-style:outside}.dashboard-caveats-list li+li{margin-top:var(--space-1)}.kpi-grid{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.kpi-card{grid-row:span 3;grid-template-rows:subgrid;row-gap:var(--space-1);background:var(--color-surface);border-radius:var(--radius-card);min-width:0;padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-sm);border-left:3px solid var(--color-border-strong);transition:box-shadow var(--transition-fast);display:grid}.kpi-card:hover{box-shadow:var(--shadow-md)}.kpi-head{justify-content:space-between;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.kpi-card--brand{border-left-color:var(--color-brand)}.kpi-card--ink{border-left-color:var(--color-ink)}.kpi-card--neutral{border-left-color:var(--color-border-strong)}.kpi-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--color-ink-muted);line-height:var(--leading-snug);margin:0}.kpi-value-row{align-items:baseline;gap:var(--space-1) var(--space-2);flex-wrap:wrap;min-width:0;margin:0;display:flex}.kpi-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--color-ink)}.kpi-unit{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-ink-muted);white-space:nowrap}.kpi-sublabel{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-ink-strong);line-height:var(--leading-snug);margin:0}.kpi-foot{align-items:center;gap:var(--space-1) var(--space-2);line-height:var(--leading-snug);flex-wrap:wrap;margin:auto 0 0;padding-top:0;display:flex}.kpi-comparison{font-size:var(--font-size-xs);color:var(--color-ink-muted);line-height:var(--leading-snug)}.kpi-estimated{border:1px solid var(--color-notice-border);border-radius:var(--radius-xs);background:var(--color-notice-bg);color:var(--color-notice-ink);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);cursor:help;padding:0 .3rem;text-decoration:none}.trend-badge{border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);line-height:var(--leading-normal);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:.3rem;padding:.15rem .5rem;display:inline-flex}.trend-badge--up{color:var(--color-positive);background:var(--color-positive-soft)}.trend-badge--down{color:var(--color-negative);background:var(--color-negative-soft)}.trend-badge--flat{color:var(--color-flat);background:var(--color-flat-soft)}.trend-badge-arrow{font-size:.62em;line-height:var(--leading-none);transform:translateY(-.05em)}.dashboard-toolbar{top:var(--layout-topbar-height);z-index:var(--z-toolbar);margin:calc(-1 * var(--space-8)) calc(-1 * var(--space-8)) var(--space-6);padding:var(--space-3) var(--space-8);gap:var(--space-3);background:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;position:sticky}.toolbar-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.toolbar-row--slicers>*{flex:220px;max-width:28rem}.toolbar-row--slicers>.filter-group--measure{flex-basis:20rem}.toolbar-row--slicers .toolbar-field--date{flex:0 auto}.toolbar-row--slicers .toolbar-field--date-custom{flex-wrap:wrap;flex:0 auto;min-width:min-content;max-width:none}.toolbar-field--date-custom .toolbar-select{width:auto}.toolbar-field--date-custom .toolbar-daterange{flex-wrap:wrap}.toolbar-row--modes{justify-content:space-between;row-gap:var(--space-2)}.toolbar-modes{align-items:center;gap:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.toolbar-actions{align-items:center;gap:var(--space-3);margin-left:auto;display:flex}.toolbar-field{align-items:center;gap:var(--space-2);min-width:0;display:flex}.toolbar-label{color:var(--color-ink-strong);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);white-space:nowrap}.toolbar-label--sub{color:var(--color-ink-muted);font-weight:var(--font-weight-semibold)}.toolbar-daterange{align-items:center;gap:var(--space-2);flex:auto;min-width:0;display:flex}.toolbar-select,.toolbar-date,.dashboard-toolbar .checkbox-dropdown-button{min-height:38px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-control);font-size:var(--font-size-sm);min-width:0}.toolbar-select,.toolbar-date{border:1px solid var(--color-border-control);background:var(--color-surface);width:100%;color:var(--color-ink);font-weight:var(--font-weight-semibold);transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);outline:none}.toolbar-select{cursor:pointer}.toolbar-date{flex:none;width:10.5rem;min-width:10.5rem}.toolbar-select:hover{border-color:var(--color-ink-muted);background:var(--color-surface-alt)}.toolbar-select:focus-visible,.toolbar-date:focus-visible{border-color:var(--color-brand);box-shadow:var(--focus-ring);outline:none}.dashboard-toolbar .filter-group{align-items:center;gap:var(--space-2);flex-direction:row}.dashboard-toolbar .filter-label{font-size:var(--font-size-xs);white-space:nowrap;margin-bottom:0}.dashboard-toolbar .checkbox-dropdown{flex:auto;min-width:6rem}.filter-group{flex-direction:column;min-width:0;display:flex}.filter-label{color:var(--color-ink-strong);font-size:.8rem;font-weight:var(--font-weight-bold);margin-bottom:.4rem}.toolbar-segment-field{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.toolbar-segment{background:var(--color-surface-muted);border-radius:var(--radius-pill);flex-wrap:wrap;max-width:100%;padding:2px;display:inline-flex}.toolbar-segment-option{color:var(--color-ink-muted);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);line-height:var(--leading-normal);white-space:nowrap;cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);background:0 0;border:none}.toolbar-segment-option:hover{color:var(--color-ink)}.toolbar-segment-option.active{background:var(--color-surface);color:var(--color-brand-ink);box-shadow:var(--shadow-xs)}.toolbar-segment-option:focus-visible{box-shadow:var(--focus-ring-tight);outline:none}.toolbar-clear{background:var(--color-surface-muted);min-height:32px;color:var(--color-ink-subtle);padding:var(--space-1) var(--space-3);border-radius:var(--radius-control);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);cursor:not-allowed;transition:background var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);border:none}.toolbar-clear.active{background:var(--color-brand);color:var(--color-on-brand);cursor:pointer}.toolbar-clear.active:hover{background:var(--color-brand-hover)}.toolbar-clear:focus-visible{box-shadow:var(--focus-ring);outline:none}.toolbar-clear:disabled{opacity:1}.toolbar-download{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.toolbar-download-error{color:var(--color-danger-ink);font-size:var(--font-size-xs);line-height:var(--leading-normal);flex-basis:100%}.toolbar-rowcount{color:var(--color-ink-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);white-space:nowrap;font-variant-numeric:tabular-nums}.toolbar-notes{gap:var(--space-2);flex-direction:column;display:flex}.toolbar-note{padding:var(--space-1) var(--space-3);border-radius:var(--radius-control);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:var(--leading-normal);margin:0}.toolbar-note--scope{background:var(--color-brand-soft);border:1px solid rgba(var(--brand-rgb), .25);color:var(--color-brand-ink)}.toolbar-note--unit{background:var(--color-notice-bg);border:1px solid var(--color-notice-border);color:var(--color-notice-ink)}.toolbar-note--warning{background:var(--color-notice-bg);border:1px solid var(--color-notice-border);border-left:3px solid var(--color-danger);color:var(--color-notice-ink)}.checkbox-dropdown{width:100%;position:relative}.checkbox-dropdown-button{border:1px solid var(--color-border-control);background:var(--color-surface);width:100%;min-height:42px;color:var(--color-ink);border-radius:var(--radius-control);padding:.6rem var(--space-3);justify-content:space-between;align-items:center;gap:var(--space-3);cursor:pointer;font-size:var(--font-size-md);text-align:left;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast);display:flex}.checkbox-dropdown-button:hover{border-color:var(--color-ink-muted)}.checkbox-dropdown-button.active{border-color:var(--color-brand)}.checkbox-dropdown-button:focus-visible{border-color:var(--color-brand);box-shadow:var(--focus-ring);outline:none}.checkbox-dropdown-button.has-value{border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-ink)}.checkbox-dropdown-button.has-value .checkbox-dropdown-text{font-weight:var(--font-weight-bold)}.checkbox-dropdown-button.has-value .checkbox-dropdown-icon{color:var(--color-brand-ink)}.checkbox-dropdown-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.checkbox-dropdown-icon{color:var(--color-ink-muted);flex-shrink:0;font-size:.7rem}.checkbox-dropdown-menu{z-index:var(--z-popover);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);width:100%;box-shadow:var(--shadow-lg);position:absolute;top:calc(100% + .4rem);left:0;overflow:hidden}.checkbox-dropdown-actions{align-items:stretch;gap:var(--space-1);border-bottom:1px solid var(--color-surface-muted);background:var(--color-surface-alt);flex-direction:column;padding:.65rem;display:flex}.checkbox-dropdown-buttons{justify-content:space-between;gap:var(--space-2);display:flex}.checkbox-dropdown-hint{color:var(--color-ink-muted);font-size:var(--font-size-xs);line-height:var(--leading-snug);margin:0}.checkbox-dropdown-search{width:100%;min-height:32px;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border-control);border-radius:var(--radius-xs);background:var(--color-surface);color:var(--color-ink);font:inherit;font-size:var(--font-size-sm);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}.checkbox-dropdown-search:focus{border-color:var(--color-brand);box-shadow:var(--focus-ring-tight)}.checkbox-dropdown-actions button{color:var(--color-brand-ink);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);cursor:pointer;padding:var(--space-1);background:0 0;border:none}.checkbox-dropdown-actions button:hover{color:var(--color-brand-ink);text-decoration:underline}.checkbox-dropdown-actions button:focus-visible{border-radius:var(--radius-xs);box-shadow:var(--focus-ring-tight);outline:none}.checkbox-options{max-height:220px;padding:.4rem;overflow-y:auto}.checkbox-group+.checkbox-group{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-surface-muted)}.checkbox-group-label{padding:var(--space-1) .45rem;color:var(--color-ink-subtle);font-size:.7rem;font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.checkbox-option{padding:var(--space-2) .45rem;border-radius:var(--radius-xs);color:var(--color-ink);font-size:var(--font-size-sm);cursor:pointer;transition:background var(--transition-fast);align-items:center;gap:.55rem;display:flex}.checkbox-option:hover{background:var(--color-surface-muted)}.checkbox-option:focus-within{background:var(--color-brand-soft);box-shadow:var(--focus-ring-tight)}.checkbox-option input{width:15px;height:15px;accent-color:var(--color-brand);cursor:pointer}.checkbox-empty{padding:var(--space-3);color:var(--color-ink-muted);font-size:var(--font-size-sm);text-align:center}.charts-grid{gap:var(--space-6);grid-template-columns:minmax(0,1fr);display:grid}.chart-card{background:var(--color-surface);border-radius:var(--radius-card);padding:var(--space-6);box-shadow:var(--shadow-sm);min-width:0;transition:box-shadow var(--transition-fast)}.chart-card:hover{box-shadow:var(--shadow-md)}.chart-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-ink);margin:0 0 var(--space-5) 0;border-bottom:1px solid var(--color-surface-muted);align-items:baseline;gap:var(--space-3);flex-wrap:wrap;padding-bottom:.85rem;display:flex}.chart-subtitle{font-size:.8rem;font-weight:var(--font-weight-regular);color:var(--color-ink-muted)}.chart-warning{margin:-.75rem 0 var(--space-4);color:var(--color-notice-ink);background:var(--color-notice-bg);border:1px solid var(--color-notice-border);border-radius:var(--radius-control);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:.65rem .8rem}.chart-note{margin:var(--space-3) 0 0;color:var(--color-ink-muted);font-size:var(--font-size-xs)}.chart-hint{margin:var(--space-2) 0 0;min-height:1.05rem;color:var(--color-ink-subtle);font-size:var(--font-size-xs)}.recharts-surface:focus:not(:focus-visible){outline:none}.recharts-surface:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:var(--radius-xs)}.recharts-line-curve{transition:stroke-opacity var(--transition-fast), stroke-width var(--transition-fast), stroke var(--transition-fast)}.recharts-bar-rectangle path{transition:fill-opacity var(--transition-fast)}@media (prefers-reduced-motion:reduce){.recharts-line-curve,.recharts-bar-rectangle path{transition:none}}.chart-legend{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-surface-muted)}.chart-legend-items{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chart-legend-items>li{display:flex}.chart-legend-chip,.chart-legend-more{align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);background:var(--color-surface-alt);color:var(--color-ink-strong);font:inherit;font-size:var(--font-size-xs);line-height:var(--leading-snug);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);border:1px solid #0000;padding:.25rem .55rem;display:inline-flex}.chart-legend-chip:hover,.chart-legend-more:hover{background:var(--color-surface-muted)}.chart-legend-chip:focus-visible,.chart-legend-more:focus-visible{box-shadow:var(--focus-ring);outline:none}.chart-legend-chip--focused{background:var(--color-brand-soft);color:var(--color-ink)}.chart-legend-chip--pinned{border-color:var(--color-border-brand-soft);background:var(--color-brand-soft);color:var(--color-ink);font-weight:var(--font-weight-semibold)}.chart-legend-chip--muted{color:var(--color-ink-muted)}.chart-legend-key{border-radius:2px;flex:none;width:14px;height:2px}.chart-legend-more{color:var(--color-ink-muted)}.chart-tooltip{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-tooltip-surface);-webkit-backdrop-filter:blur(10px)saturate(1.1);backdrop-filter:blur(10px)saturate(1.1);max-width:min(46rem,92vw);box-shadow:var(--shadow-md);font-size:var(--font-size-xs);padding:.55rem .7rem}.chart-tooltip-label{margin:0 0 var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-surface-muted);color:var(--color-ink-muted);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-normal)}.chart-tooltip-items{margin:0;padding:0;list-style:none}.chart-tooltip-items--columns{columns:3 13rem;column-fill:auto;column-gap:var(--space-3);max-height:15rem;font-size:.72rem}.chart-tooltip-row{align-items:baseline;gap:var(--space-2);border-radius:var(--radius-xs);break-inside:avoid;padding:.1rem .25rem;display:flex}.chart-tooltip-row--focused{background:rgba(var(--brand-rgb), .06)}.chart-tooltip-key{border-radius:2px;flex:none;width:10px;height:2px;transform:translateY(-.2em)}.chart-tooltip-name{min-width:0;color:var(--color-ink-muted);text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.chart-tooltip-row--focused .chart-tooltip-name{color:var(--color-ink)}.chart-tooltip-value{color:var(--color-ink);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;flex:none}.chart-tooltip-est{color:var(--color-ink-muted);font-weight:var(--font-weight-regular)}.chart-tooltip-foot{margin:var(--space-2) 0 0;padding-top:var(--space-2);border-top:1px solid var(--color-surface-muted);color:var(--color-ink-subtle)}.chart-empty{min-height:220px;padding:var(--space-8);border:1px dashed var(--color-border-strong);border-radius:var(--radius-card);background:var(--color-surface-alt);color:var(--color-ink-muted);font-size:var(--font-size-md);text-align:center;justify-content:center;align-items:center;display:flex}.leaderboard-card{padding:var(--space-5) var(--space-6);margin-bottom:var(--space-6)}.leaderboard-card .chart-title{margin-bottom:var(--space-3);padding-bottom:var(--space-3)}.leaderboard-card .chart-empty{min-height:140px}.leaderboard-list{margin:0;padding:0;list-style:none}.leaderboard-row{align-items:center;column-gap:var(--space-3);row-gap:var(--space-2);padding:var(--space-3) 0;grid-template-columns:1.5rem minmax(0,18rem) minmax(3rem,1fr) 3rem minmax(6rem,auto) minmax(5.5rem,auto);grid-template-areas:"rank name bar share value delta";min-width:0;display:grid}.leaderboard-row+.leaderboard-row{border-top:1px solid var(--color-surface-muted)}.leaderboard-list:not(.leaderboard-list--strip) .leaderboard-row{margin:0 calc(-1 * var(--space-3));padding-left:var(--space-3);padding-right:var(--space-3);border-radius:var(--radius-xs);transition:background var(--duration-fast) var(--ease-out)}.leaderboard-list:not(.leaderboard-list--strip) .leaderboard-row:hover{background:var(--color-surface-alt)}.leaderboard-rank{color:var(--color-ink-subtle);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;grid-area:rank;justify-self:end}.leaderboard-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--color-ink);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);grid-area:name;overflow:hidden}.leaderboard-bar{border-radius:var(--radius-pill);background:var(--color-brand-soft);grid-area:bar;min-width:0;height:6px}.leaderboard-bar-fill{border-radius:0 var(--radius-pill) var(--radius-pill) 0;background:var(--color-brand);min-width:3px;height:100%;transition:width var(--duration-base) var(--ease-out);display:block}@media (prefers-reduced-motion:reduce){.leaderboard-bar-fill{transition:none}}.leaderboard-bar-missing{color:var(--color-ink-subtle);font-size:var(--font-size-xs);grid-area:bar}.leaderboard-share{color:var(--color-ink-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;grid-area:share;justify-self:end}.leaderboard-value{color:var(--color-ink);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;grid-area:value;justify-self:end}.leaderboard-delta{justify-self:end;align-items:center;gap:var(--space-1);grid-area:delta;display:inline-flex}.leaderboard-list--no-share .leaderboard-row{grid-template-columns:1.5rem minmax(0,1fr) minmax(6rem,auto) minmax(5.5rem,auto);grid-template-areas:"rank name value delta"}.leaderboard-card--strip{padding:var(--space-3);margin-bottom:var(--space-4)}.leaderboard-card--strip .chart-title{margin-bottom:var(--space-2);font-size:var(--font-size-sm);gap:var(--space-2);border-bottom:none;padding-bottom:0}.leaderboard-card--strip .chart-empty{min-height:74px}.leaderboard-list--strip{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid}.leaderboard-list--strip .leaderboard-row{align-items:center;column-gap:var(--space-2);row-gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--color-surface-alt);border-radius:var(--radius-control);grid-template:"rank name share""value value delta""bar bar bar"1.05rem/1rem minmax(0,1fr) auto}.leaderboard-list--strip .leaderboard-row+.leaderboard-row{border-top:none}.leaderboard-list--strip .leaderboard-name{font-size:var(--font-size-xs)}.leaderboard-list--strip .leaderboard-value{font-size:var(--font-size-md);justify-self:start}.leaderboard-list--strip .leaderboard-bar{align-self:start;height:5px}.leaderboard-list--strip .leaderboard-bar-missing{align-self:start}.leaderboard-list--strip.leaderboard-list--no-share .leaderboard-row{grid-template-rows:auto auto;grid-template-areas:"rank name name""value value delta"}.dashboard-loading{padding:var(--space-8);text-align:center;color:var(--color-ink-muted)}.dashboard-skeleton{padding:0}.dashboard-skeleton__toolbar .skeleton-line--control{width:100%;height:38px}.dashboard-skeleton__toolbar .skeleton-line--half{width:55%;height:32px}.dashboard-skeleton__label{min-height:3.25rem;margin:0 0 var(--space-4);text-align:center;color:var(--color-ink-muted);font-size:var(--font-size-sm)}.skeleton-card{gap:var(--space-3);padding:var(--space-5);background:var(--color-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-sm);flex-direction:column;min-width:0;display:flex}.skeleton-card--kpi{min-height:7rem}.skeleton-card--strip{min-height:8.25rem;margin-bottom:var(--space-4);padding:var(--space-3);gap:var(--space-2)}.skeleton-card--strip .skeleton-plot--strip{flex:auto;height:auto}.skeleton-card--chart{min-height:30.5rem;padding:var(--space-6)}.skeleton-line,.skeleton-plot{border-radius:var(--radius-control);background:linear-gradient(90deg, var(--color-surface-muted) 25%, var(--color-surface-alt) 37%, var(--color-surface-muted) 63%);background-size:400% 100%;animation:1.4s ease-in-out infinite skeleton-sweep;display:block}.skeleton-line--sm{width:40%;height:.75rem}.skeleton-line--md{width:60%;height:1rem}.skeleton-line--lg{width:75%;height:1.75rem}.skeleton-plot{height:20rem}@keyframes skeleton-sweep{0%{background-position:100%}to{background-position:0}}@media (prefers-reduced-motion:reduce){.skeleton-line,.skeleton-plot{animation:none}}.dashboard-message{max-width:560px;margin:var(--space-8) auto;padding:var(--space-6);background:var(--color-surface);border-radius:var(--radius-panel);box-shadow:var(--shadow-md);border-left:4px solid var(--color-brand);text-align:center}.dashboard-message h3{margin:0 0 var(--space-2);color:var(--color-ink);font-size:var(--font-size-lg)}.dashboard-message p{color:var(--color-ink-muted);font-size:var(--font-size-md);line-height:var(--leading-normal);margin:0}.dashboard-message__retry{margin-top:var(--space-4);padding:var(--space-2) var(--space-5);background:var(--color-brand);color:var(--color-on-brand);border-radius:var(--radius-control);font-size:var(--font-size-sm);cursor:pointer;border:none;font-weight:600}.dashboard-message__retry:hover{background:var(--color-brand-hover)}.dashboard-message__retry:focus-visible{box-shadow:var(--focus-ring);outline:none}a.dashboard-message__retry{text-decoration:none;display:inline-block}.dashboard-message--error{border-left-color:var(--color-danger)}.download-excel-btn{min-height:46px;padding:var(--space-3) var(--space-5);background:var(--color-brand);color:var(--color-on-brand);border:1px solid var(--color-brand);border-radius:var(--radius-control);font-size:var(--font-size-md);font-weight:var(--font-weight-extrabold);white-space:nowrap;box-shadow:var(--shadow-brand);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;gap:.6rem;text-decoration:none;display:inline-flex}.download-excel-btn:hover:not(:disabled){background:var(--color-brand-hover);border-color:var(--color-brand-hover);box-shadow:0 2px 4px rgba(var(--brand-rgb), .26), 0 10px 22px rgba(var(--brand-rgb), .28);transform:translateY(-1px)}.download-excel-btn:active:not(:disabled){box-shadow:0 1px 3px rgba(var(--brand-rgb), .28);transform:translateY(0)}.download-excel-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.download-excel-btn:disabled{background:var(--color-surface-muted);border-color:var(--color-border);color:var(--color-ink-subtle);box-shadow:none;cursor:not-allowed}.download-excel-icon{border-radius:var(--radius-pill);background:rgba(var(--surface-rgb), .2);width:22px;height:22px;font-size:var(--font-size-sm);line-height:var(--leading-none);justify-content:center;align-items:center;display:inline-flex}.download-excel-link{text-align:center;color:var(--color-ink-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-decoration:underline}.download-excel-link:hover{color:var(--color-brand-ink)}.download-excel-link:focus-visible{border-radius:var(--radius-xs);box-shadow:var(--focus-ring);outline:none}.download-excel-btn--compact{min-height:32px;padding:var(--space-1) var(--space-3);border-radius:var(--radius-control);font-size:var(--font-size-xs);gap:var(--space-2);box-shadow:none}.download-excel-btn--compact:hover:not(:disabled){box-shadow:none;transform:none}.download-excel-btn--compact .download-excel-icon{width:16px;height:16px;font-size:.7rem}@media (width<=1200px){.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=992px){.dashboard-toolbar{margin:0 0 var(--space-6);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-panel);box-shadow:var(--shadow-sm);position:static}.leaderboard-list:not(.leaderboard-list--strip) .leaderboard-row{grid-template-columns:1.5rem minmax(0,1fr) 3rem minmax(5.5rem,auto);grid-template-areas:"rank name value value""rank bar share delta"}.leaderboard-list--no-share:not(.leaderboard-list--strip) .leaderboard-row{grid-template-columns:1.5rem minmax(0,1fr) minmax(5.5rem,auto);grid-template-areas:"rank name delta"}}@media (height<=700px){.dashboard-toolbar{position:static}}@media (width<=768px){.dashboard-layout{flex-direction:column}.dashboard-sidebar{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;height:auto;padding:var(--space-3) var(--space-4);flex-flow:wrap;position:static;overflow-y:visible}.sidebar-logo{border-bottom:none;margin-bottom:0;padding:0}.sidebar-menu{gap:var(--space-2);flex-flow:wrap}.sidebar-item{padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);white-space:nowrap}.sidebar-group-toggle{display:none}.sidebar-group,.sidebar-group-items{gap:var(--space-2);flex-flow:wrap;display:flex}.sidebar-item--nested{padding-left:var(--space-3);font-size:.95rem}.dashboard-main{margin-left:0}.dashboard-layout--fill-height .dashboard-main{min-height:0}.dashboard-topbar{padding:0 var(--space-4);gap:var(--space-3)}.topbar-actions{gap:var(--space-3)}.dashboard-content{padding:var(--space-4)}.dashboard-toolbar{margin:0 0 var(--space-4);padding:var(--space-3)}.toolbar-row--slicers>*,.toolbar-row--slicers>.filter-group--measure,.toolbar-row--slicers .toolbar-field--date,.toolbar-row--slicers .toolbar-field--date-custom{flex:100%;max-width:none}.toolbar-field,.toolbar-daterange,.dashboard-toolbar .filter-group{flex-wrap:wrap}.toolbar-date{flex:8.5rem;width:auto;min-width:8.5rem}.toolbar-select,.toolbar-date,.dashboard-toolbar .checkbox-dropdown-button{min-height:44px}.toolbar-segment-option{min-height:36px;padding:var(--space-2) var(--space-3)}.toolbar-clear,.download-excel-btn--compact,.topbar-logout{min-height:44px}.download-excel-link{align-items:center;min-height:44px;display:inline-flex}.topbar-theme-toggle{width:40px;height:40px}.toolbar-row--modes{flex-direction:column;align-items:stretch}.toolbar-modes{justify-content:space-between}.toolbar-actions{flex-wrap:wrap;margin-left:0}.toolbar-download{flex-wrap:wrap}.kpi-grid{grid-template-columns:1fr}.dashboard-provenance{flex-direction:column;align-items:flex-start}}.login-page{min-height:100vh;padding:var(--space-4);background:var(--color-sidebar-bg);justify-content:center;align-items:center;display:flex}.login-card{background:var(--color-surface);width:100%;max-width:450px;padding:var(--space-12);border-radius:var(--radius-panel);box-shadow:var(--shadow-lg);border:1px solid var(--color-border)}.login-header{text-align:center;margin-bottom:var(--space-8)}.login-header h1{font-size:2.2rem;line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-2)}.login-header .navbar-logo{justify-content:center}.login-header p{color:var(--color-ink-muted)}.form-group{margin-bottom:var(--space-5);flex-direction:column;display:flex}.form-group label{margin-bottom:var(--space-2);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold)}.form-group input{padding:.8rem var(--space-4);border:1px solid var(--color-border-control);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-ink);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}.form-group input::placeholder{color:var(--color-ink-subtle)}.form-group input:focus{border-color:var(--color-brand);box-shadow:var(--focus-ring)}.login-submit-btn{background:var(--color-brand);width:100%;color:var(--color-on-brand);border-radius:var(--radius-control);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-top:var(--space-4);transition:background var(--transition-fast);border:none;padding:.9rem}.login-submit-btn:hover:not(:disabled){background:var(--color-brand-hover)}.login-submit-btn:disabled{background:var(--color-surface-muted);color:var(--color-ink-subtle);cursor:not-allowed}.login-error{margin-top:var(--space-4);color:var(--color-danger-ink);font-size:var(--font-size-sm);line-height:var(--leading-snug)}.login-submit-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.login-help{margin-top:var(--space-4);color:var(--color-ink-muted);font-size:var(--font-size-xs);line-height:var(--leading-normal);text-align:center}@media (width<=480px){.login-card{padding:var(--space-8) var(--space-6)}}.assistant-page{gap:var(--space-3);flex-direction:column;flex:1;display:flex}.assistant-note{color:var(--color-ink-muted);font-size:var(--font-size-sm);line-height:var(--leading-normal);margin:0}.assistant-frame{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-embed-surface);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;flex:1;width:100%;min-height:24rem;display:block}.assistant-frame--loading{padding:var(--space-6);color:var(--color-embed-ink);font-size:var(--font-size-md);text-align:center;justify-content:center;align-items:center;display:flex}@media (width<=768px){.assistant-frame{min-height:18rem}}.account-page{max-width:32rem}.account-card{background:var(--color-surface);border-radius:var(--radius-card);padding:var(--space-6);box-shadow:var(--shadow-sm);min-width:0}.account-card-title{margin:0 0 var(--space-2);color:var(--color-ink);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug)}.account-card-lead{margin:0 0 var(--space-5);color:var(--color-ink-muted);font-size:var(--font-size-sm);line-height:var(--leading-normal)}.account-notice{margin:0 0 var(--space-5);padding:var(--space-3) var(--space-4);color:var(--color-notice-ink);background:var(--color-notice-bg);border:1px solid var(--color-notice-border);border-radius:var(--radius-control);font-size:var(--font-size-sm);line-height:var(--leading-normal)}.account-form{gap:var(--space-4);flex-direction:column;display:flex}.account-field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.account-label{color:var(--color-ink);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug)}.account-optional{color:var(--color-ink-muted);font-weight:var(--font-weight-regular)}.account-hint{color:var(--color-ink-muted);font-size:var(--font-size-xs);line-height:var(--leading-normal);margin:0}.account-hint a{color:var(--color-brand-ink)}.account-input,.account-select{width:100%;min-height:40px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-control);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-ink);font:inherit;font-size:var(--font-size-md);line-height:var(--leading-snug);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none}.account-select{cursor:pointer}.account-input:focus,.account-select:focus-visible{border-color:var(--color-brand);box-shadow:var(--focus-ring)}.account-input:disabled,.account-select:disabled{background:var(--color-surface-muted);color:var(--color-ink-muted);cursor:not-allowed}.account-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.account-button{justify-content:center;align-items:center;gap:var(--space-1);min-height:36px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-control);font:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug);white-space:nowrap;cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);border:1px solid #0000;display:inline-flex}.account-button:focus-visible{box-shadow:var(--focus-ring);outline:none}.account-button--primary{background:var(--color-brand);color:var(--color-on-brand)}.account-button--primary:hover:not(:disabled){background:var(--color-brand-hover)}.account-button--secondary{background:var(--color-surface);color:var(--color-ink);border-color:var(--color-border-control)}.account-button--secondary:hover:not(:disabled){background:var(--color-surface-alt);border-color:var(--color-ink-muted)}.account-button--danger{background:var(--color-danger);color:var(--color-on-danger)}.account-button--danger:hover:not(:disabled){background:var(--color-danger-hover)}.account-button--danger-outline{background:var(--color-surface);color:var(--color-danger-ink);border-color:var(--color-border-control)}.account-button--danger-outline:hover:not(:disabled){background:var(--color-surface-alt);border-color:var(--color-danger-ink)}.account-button--quiet{color:var(--color-brand-ink);background:0 0}.account-button--quiet:hover:not(:disabled){background:var(--color-brand-soft)}.account-button:disabled{background:var(--color-surface-muted);color:var(--color-ink-subtle);cursor:not-allowed;border-color:#0000}.account-error{color:var(--color-danger-ink);font-size:var(--font-size-sm);line-height:var(--leading-snug);margin:0}.account-success{color:var(--color-positive);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug);margin:0}@media (width<=768px){.account-card{padding:var(--space-4)}.account-input,.account-select,.account-button{min-height:44px}}
