:root{--color-ink-black:#0f1720;--color-deep-charcoal:#1b2430;--color-warm-ivory:#faf7f2;--color-soft-sand:#f2ece3;--color-stone-gray:#d7d1c7;--color-mid-gray:#9e9890;--color-dim-text:#6b6560;--color-muted-text:#4a4540;--color-royal-blue:#1d4ed8;--color-royal-blue-hover:#1a3fc4;--color-signal-red:#c6283d;--color-warm-gold:#c89a2b;--color-coral:#e36c5c;--color-teal:#147d74;--color-plum:#5c3b6f;--color-bg:var(--color-warm-ivory);--color-bg-alt:var(--color-soft-sand);--color-text:var(--color-ink-black);--color-text-secondary:var(--color-dim-text);--color-border:rgba(215,209,199,0.55);--color-border-strong:rgba(27,36,48,0.15);--font-ui:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Georgia,serif;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:28px;--radius-full:9999px;--shadow-sm:0 1px 3px rgba(15,23,32,0.08),0 1px 2px rgba(15,23,32,0.04);--shadow-md:0 4px 12px rgba(15,23,32,0.1),0 2px 4px rgba(15,23,32,0.06);--shadow-lg:0 10px 30px rgba(15,23,32,0.12),0 4px 8px rgba(15,23,32,0.06);--shadow-xl:0 20px 50px rgba(15,23,32,0.18),0 8px 16px rgba(15,23,32,0.08);--shadow-glow:0 0 40px rgba(29,78,216,0.25);--container-max:1200px;--container-narrow:720px;--container-wide:1400px;--brand-violet:#7b3fe4;--brand-violet-soft:#8b5cf6;--brand-pink:#ec4899;--brand-pink-soft:#f472b6;--brand-magenta:#d946ef;--brand-gradient:linear-gradient(135deg,#7b3fe4,#ec4899);--brand-gradient-soft:linear-gradient(135deg,rgba(123,63,228,0.10),rgba(236,72,153,0.10));--brand-gradient-tint:linear-gradient(135deg,rgba(123,63,228,0.16),rgba(236,72,153,0.18));--brand-gradient-radial:radial-gradient(120% 100% at 0% 0%,#7b3fe4 0%,#d946ef 50%,#ec4899 100%);--surface-app-bg:#f7f4fb;--surface-card:#ffffff;--surface-muted:#faf7fc;--surface-divider:#ece8f1;--surface-divider-soft:#f1edf5;--text-strong:#0f172a;--text-mid:#475569;--text-soft:#64748b;--text-faint:#94a3b8;--status-good:#10b981;--status-good-soft:rgba(16,185,129,0.12);--status-warn:#f59e0b;--status-bad:#ef4444;--status-bad-soft:rgba(239,68,68,0.12);--status-info:#3b82f6;--shadow-card:0 1px 2px rgba(15,23,42,0.04),0 8px 24px rgba(15,23,42,0.05);--shadow-pop:0 4px 12px rgba(15,23,42,0.06),0 20px 40px rgba(15,23,42,0.08);--shadow-brand:0 10px 24px rgba(123,63,228,0.28);--shadow-brand-strong:0 12px 32px rgba(123,63,228,0.36)}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-ui);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font-family:inherit}h1,h2,h3,h4,h5,h6{margin:0;font-family:var(--font-display);font-weight:700;line-height:1.15;letter-spacing:-.02em}p{margin:0}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-to-content{position:absolute;top:-100%;left:.75rem;z-index:9999;padding:.625rem 1rem;background:var(--color-ink-black);color:var(--color-warm-ivory);font-size:.875rem;font-weight:700;border-radius:0 0 var(--radius-md) var(--radius-md);text-decoration:none;transition:top .1s ease}.skip-to-content:focus-visible{top:0;outline:3px solid var(--color-royal-blue);outline-offset:-3px}:focus{outline:none}:focus-visible{outline:2.5px solid var(--color-royal-blue);outline-offset:2px;border-radius:4px}[role=button]:focus-visible,a:focus-visible,button:focus-visible{outline:2.5px solid var(--color-royal-blue);outline-offset:2px}::selection{background:rgba(29,78,216,.18);color:var(--color-ink-black)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(15,23,32,.14);border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:rgba(15,23,32,.28)}*{scrollbar-width:thin;scrollbar-color:rgba(15,23,32,.14) transparent}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (forced-colors:active){.ap-skeleton{forced-color-adjust:none;background:ButtonFace}}@media print{.app-shell-topbar-wrap,.bottom-nav,.left-rail-wrap,.right-rail-wrap{display:none!important}.app-shell-center{padding:0!important}a[href]:after{content:" (" attr(href) ")";font-size:.8em;color:#666}}