@import "https://fonts.googleapis.com/css2?family=Noto+Serif:ital,wght@0,300;0,400;0,600;0,700;1,300;1,400&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";:root{--forest:#001a0e;--forest-dark:#132f21;--forest-mid:#0d2518;--linen:#faf9f6;--cream:#fdfbf7;--espresso:#1a1c1a;--teal:#1b4965;--sage:#d8e8dc;--sandstone:#e8dfc8;--blush:#f5e6e0;--terracotta:#c2785b;--amber:#f59e0b;--rose:#e11d48;--accent:#486554;--accent-soft:#4865541f;--accent-medium:#48655440;--accent-bright:#aeceb9;--gold:var(--accent);--gold-soft:var(--accent-soft);--gold-medium:var(--accent-medium);--gold-bright:var(--accent-bright);--tertiary:#1c1508;--tertiary-warm:#d4c5b0;--surface-dim:#efeeeb;--surface-container:#f0eeeb;--surface-container-high:#e9e8e5;--surface-container-low:#f4f3f0;--surface-tint:#486554;--on-surface:#1a1c1a;--on-surface-variant:#424843;--outline:#727973;--outline-variant:#c2c8c2;--secondary:#5f5e5e;--font-serif:"Noto Serif", Georgia, serif;--font-sans:"DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-ui:"Plus Jakarta Sans", var(--font-sans);--sidebar-width:260px;--sidebar-collapsed:72px;--nav-height:80px;--chat-width:420px;--container-max:1440px;--max-content:960px;--max-layout:1280px;--section-pad:clamp(60px, 10vw, 120px);--container-pad:clamp(24px, 4vw, 64px);--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 2px 8px #0000000f;--shadow-btn:0 2px 8px #00000014;--shadow-card:0 4px 24px #0000000f;--shadow-hover:0 8px 32px #0000001a;--shadow-dropdown:0 24px 48px #00000029;--shadow-drawer:-4px 0 32px #0000001f;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-btn:8px;--radius-lg:12px;--radius-xl:14px;--radius-card:14px;--radius-pill:24px;--radius-full:9999px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--duration-fast:.15s;--duration:.3s;--duration-slow:.5s;--duration-reveal:.7s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);background:var(--linen);color:var(--espresso);line-height:1.6;overflow-x:hidden}.serif-display{font-family:var(--font-serif);letter-spacing:-.02em}.overline{font-family:var(--font-sans);letter-spacing:2.5px;text-transform:uppercase;color:var(--forest);margin-bottom:16px;font-size:11px;font-weight:600;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#001a0e26;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#001a0e4d}.view-enter{animation:viewFadeIn .3s var(--ease-out) forwards}@keyframes viewFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.view-exit{animation:.15s ease-in forwards viewFadeOut}@keyframes viewFadeOut{to{opacity:0}}.reveal{opacity:0;transition:opacity .7s var(--ease-out), transform .7s var(--ease-out);transform:translateY(24px)}.reveal.visible{opacity:1;transform:translateY(0)}@keyframes goldPulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.gold-spinner span{animation:1.4s ease-in-out infinite goldPulse;display:inline-block}.gold-spinner span:nth-child(2){animation-delay:.2s}.gold-spinner span:nth-child(3){animation-delay:.4s}@keyframes progressFill{0%{stroke-dashoffset:var(--circumference)}to{stroke-dashoffset:var(--offset)}}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@keyframes checkFill{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.scrim{z-index:40;background:#0006;animation:.2s forwards fadeIn;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-soft);color:var(--forest)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}
