:root{--color-bg-primary: oklch(12% .015 260);--color-bg-secondary: oklch(16% .02 260);--color-bg-tertiary: oklch(20% .025 260);--color-text-primary: oklch(95% 0 0);--color-text-secondary: oklch(70% .02 260);--color-text-muted: oklch(50% .015 260);--color-accent: oklch(65% .2 280);--color-accent-light: oklch(75% .18 280);--color-accent-dark: oklch(55% .22 280);--color-border: oklch(25% .02 260);--color-border-light: oklch(30% .025 260);--gradient-accent: linear-gradient(135deg, oklch(65% .2 280) 0%, oklch(60% .22 320) 100%);--gradient-subtle: linear-gradient(180deg, var(--color-bg-secondary) 0%, var(--color-bg-primary) 100%);--font-sans: "Inter", "Noto Sans TC", system-ui, -apple-system, sans-serif;--font-display: "Inter Tight", "Inter", "Noto Sans TC", system-ui, sans-serif;--text-hero: clamp(2.5rem, 8vw, 4.5rem);--text-h1: clamp(2rem, 5vw, 3rem);--text-h2: clamp(1.5rem, 3.5vw, 2.25rem);--text-h3: clamp(1.25rem, 2.5vw, 1.5rem);--text-body: 1rem;--text-small: .875rem;--text-xs: .75rem;--leading-tight: 1.1;--leading-snug: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--space-5xl: 8rem;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1440px;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px}*,*:before,*:after{box-sizing:border-box}html{font-family:var(--font-sans);font-size:16px;line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{margin:0;padding:0;background-color:var(--color-bg-primary);color:var(--color-text-primary);min-height:100vh}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-semibold);line-height:var(--leading-tight);margin:0;color:var(--color-text-primary)}h1{font-size:var(--text-h1)}h2{font-size:var(--text-h2)}h3{font-size:var(--text-h3)}p{margin:0;color:var(--color-text-secondary);line-height:var(--leading-relaxed)}a{color:var(--color-accent-light);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent)}.container{width:100%;max-width:var(--container-xl);margin-left:auto;margin-right:auto;padding-left:var(--space-lg);padding-right:var(--space-lg)}@media(min-width:768px){.container{padding-left:var(--space-xl);padding-right:var(--space-xl)}}@media(min-width:1024px){.container{padding-left:var(--space-2xl);padding-right:var(--space-2xl)}}.section{padding-top:var(--space-4xl);padding-bottom:var(--space-4xl)}@media(min-width:768px){.section{padding-top:var(--space-5xl);padding-bottom:var(--space-5xl)}}.text-gradient{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.card{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);transition:border-color var(--transition-base),transform var(--transition-base)}.card:hover{border-color:var(--color-border-light);transform:translateY(-2px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--font-medium);line-height:1;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-base);text-decoration:none}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn-primary{background:var(--gradient-accent);color:#fff;font-weight:var(--font-semibold);text-shadow:0 1px 2px oklch(0% 0 0 / .3)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #7c7bff80;box-shadow:0 8px 25px oklch(65% .2 280 / .5);background:linear-gradient(135deg,#8d90ff,#ae70ff,#cc4ce7);background:linear-gradient(135deg,color(xyz 0.429 0.319 1.304),color(xyz 0.421 0.276 1.021),#cc4ce7);color:#fff;text-shadow:0 1px 3px oklch(0% 0 0 / .4)}.btn-secondary{background-color:transparent;color:var(--color-text-primary);border:1px solid var(--color-border-light)}.btn-secondary:hover{background-color:#7c7bff40;background-color:oklch(65% .2 280 / .25);border-color:var(--color-accent);color:#fff;box-shadow:0 4px 15px #7c7bff4d;box-shadow:0 4px 15px oklch(65% .2 280 / .3)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.animate-fade-in{animation:fadeIn .6s ease forwards}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.animate-float{animation:float 6s ease-in-out infinite}@keyframes gentle-pulse{0%,to{box-shadow:0 0 #7c7bff66;box-shadow:0 0 oklch(65% .2 280 / .4)}50%{box-shadow:0 0 20px 10px #7c7bff00;box-shadow:0 0 20px 10px oklch(65% .2 280 / 0)}}.animate-pulse-glow{animation:gentle-pulse 3s ease-in-out infinite}.stagger-1{--stagger-delay: .1s}.stagger-2{--stagger-delay: .2s}.stagger-3{--stagger-delay: .3s}.stagger-4{--stagger-delay: .4s}.stagger-5{--stagger-delay: .5s}@media(hover:none)and (pointer:coarse){.btn:active{transform:scale(.96);transition:transform .1s ease}.card:active,.feature-card:active{transform:scale(.98);transition:transform .1s ease}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-border-light);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}::selection{background-color:var(--color-accent);color:#fff}[appMouseGlow]{position:relative;overflow:hidden}[appMouseGlow]:before{content:"";position:absolute;inset:0;background:radial-gradient(600px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),oklch(65% .2 280 / .15),transparent 40%);pointer-events:none;opacity:0;transition:opacity var(--transition-base);z-index:1}[appMouseGlow].mouse-active:before{opacity:1}.glow-card{position:relative;overflow:hidden}.glow-card:after{content:"";position:absolute;inset:0;background:radial-gradient(400px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),oklch(65% .2 280 / .25),transparent 40%);pointer-events:none;opacity:0;transition:opacity var(--transition-base);border-radius:inherit}.glow-card:hover:after{opacity:1}.glow-card>*{position:relative;z-index:2}
