:root{--color-gray-950:#151718;--color-teal-400:#0a7ea4;--color-teal-600:#0d6a8a;--color-teal-900:#052a3a;--color-mint-400:#8cebaa;--color-amber-400:#fbbf24;--color-white:#f8f8f6;--color-white-90:hsla(60,12%,97%,.9);--color-white-80:hsla(60,12%,97%,.8);--color-white-70:hsla(60,12%,97%,.7);--color-white-60:hsla(60,12%,97%,.6);--color-white-55:hsla(60,12%,97%,.55);--color-white-50:hsla(60,12%,97%,.5);--color-white-40:hsla(60,12%,97%,.4);--color-white-30:hsla(60,12%,97%,.3);--glass-subtle-bg:hsla(0,0%,100%,.06);--glass-subtle-border:hsla(0,0%,100%,.08);--glass-medium-bg:hsla(0,0%,100%,.12);--glass-medium-border:hsla(0,0%,100%,.18);--glass-strong-bg:hsla(0,0%,100%,.2);--glass-strong-border:hsla(0,0%,100%,.3);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-12:48px;--sp-16:64px;--radius:8px;--radius-lg:12px;--radius-full:9999px;--ease-gentle:cubic-bezier(0.33,1,0.68,1);--duration-gentle:350ms;--duration-snappy:200ms}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--color-gray-950);color:var(--color-white-90);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}.glass-card{background:var(--glass-medium-bg);border:1px solid var(--glass-medium-border);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-lg)}.glass-card--strong{background:var(--glass-strong-bg);border-color:var(--glass-strong-border)}.glass-card--subtle{background:var(--glass-subtle-bg);border-color:var(--glass-subtle-border)}:focus-visible{outline:2px solid var(--color-teal-400);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (prefers-reduced-motion:no-preference){.page-enter{animation:pageEnter var(--duration-gentle) var(--ease-gentle) both}@keyframes pageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}