:root{--color-brand-primary:#2a96d1;--color-brand-secondary:#44bac6;--color-brand-accent:#849dbc;--color-brand-light:#e8f1f5;--color-brand-dark:#1a3a5c;--brand-primary-hsl:202 68% 49%;--brand-secondary-hsl:187 54% 52%;--brand-accent-hsl:216 32% 63%;--background:204 100% 99%;--foreground:215 48% 18%;--card:0 0% 100%;--card-foreground:215 48% 18%;--popover:0 0% 100%;--popover-foreground:215 48% 18%;--primary:204 88% 45%;--primary-foreground:210 40% 98%;--secondary:187 60% 70%;--secondary-foreground:215 48% 18%;--muted:204 100% 96%;--muted-foreground:214 22% 45%;--accent:224 35% 65%;--accent-foreground:210 40% 98%;--destructive:0 76% 58%;--destructive-foreground:0 0% 100%;--border:204 48% 90%;--input:204 48% 90%;--ring:204 88% 45%;--text-primary:rgba(18,42,64,0.95);--text-secondary:rgba(34,54,74,0.85);--text-tertiary:rgba(64,84,104,0.70);--surface-primary:#ffffff;--surface-primary-hover:#f9fafb;--surface-secondary:#f9fafb;--surface-secondary-hover:#f3f4f6;--surface-elevated:#f3f4f6;--surface-elevated-hover:#e5e7eb;--elevation-0:#ffffff;--elevation-1:#f9fafb;--elevation-2:#f3f4f6;--elevation-3:#e5e7eb;--elevation-4:#d1d5db;--liquid-glass-bg:rgba(255,255,255,0.78);--liquid-glass-surface:rgba(244,249,255,0.82);--liquid-glass-border:rgba(255,255,255,0.24);--nav-bg:rgba(255,255,255,0.15);--nav-border:rgba(255,255,255,0.2);--shadow-color:31,78,112;--shadow-sm:0 8px 32px rgba(31,78,112,0.12);--shadow-md:0 12px 40px rgba(24,66,96,0.16);--sidebar-background:0 0% 98%;--sidebar-foreground:240 5.3% 26.1%;--sidebar-primary:240 5.9% 10%;--sidebar-primary-foreground:0 0% 98%;--sidebar-accent:240 4.8% 95.9%;--sidebar-accent-foreground:240 5.9% 10%;--sidebar-border:220 13% 91%;--sidebar-ring:217.2 91.2% 59.8%;--chart-1:12 76% 61%;--chart-2:173 58% 39%;--chart-3:197 37% 24%;--chart-4:43 74% 66%;--chart-5:27 87% 67%}.dark{--background:20 6% 7%;--foreground:0 0% 98%;--card:20 6% 12%;--card-foreground:0 0% 98%;--popover:20 15% 8%;--popover-foreground:0 0% 95%;--muted:20 6% 20%;--muted-foreground:0 0% 75%;--border:20 6% 25%;--input:20 6% 16%;--text-primary:rgba(255,255,255,0.95);--text-secondary:rgba(255,255,255,0.75);--text-tertiary:rgba(255,255,255,0.55);--surface-primary:#1F1E1D;--surface-primary-hover:#272524;--surface-secondary:#272524;--surface-secondary-hover:#31302F;--surface-elevated:#31302F;--surface-elevated-hover:#3B3A39;--elevation-0:#121110;--elevation-1:#1F1E1D;--elevation-2:#272524;--elevation-3:#31302F;--elevation-4:#3B3A39;--elevation-0-hsl:hsl(20,6%,7%);--elevation-1-hsl:hsl(20,6%,12%);--elevation-2-hsl:hsl(20,6%,16%);--elevation-3-hsl:hsl(20,6%,20%);--elevation-4-hsl:hsl(20,6%,24%);--liquid-glass-bg:rgba(30,28,26,0.75);--liquid-glass-surface:rgba(35,32,30,0.80);--liquid-glass-border:rgba(255,255,255,0.12);--nav-bg:rgba(30,28,26,0.75);--nav-border:rgba(255,255,255,0.10);--shadow-color:0,0,0;--shadow-sm:0 8px 32px rgba(0,0,0,0.60);--shadow-md:0 12px 40px rgba(0,0,0,0.70);--glass-bg:rgba(31,30,29,0.8);--glass-border:rgba(255,255,255,0.1);--glass-shadow:0 8px 32px rgba(0,0,0,0.4);--login-card-bg-start:rgba(30,30,30,0.9);--login-card-bg-end:rgba(23,23,23,0.85);--login-card-border:rgba(255,255,255,0.08);--login-card-shadow-outer:rgba(0,0,0,0.5);--login-card-shadow-mid:rgba(0,0,0,0.35);--login-card-shadow-inset-top:rgba(255,255,255,0.08);--login-card-shadow-inset-bottom:rgba(0,0,0,0.2);--login-glow-secondary-strong:rgba(68,186,198,0.2);--login-glow-secondary-medium:rgba(68,186,198,0.15);--login-glow-secondary-soft:rgba(68,186,198,0.08);--login-glow-secondary-faint:rgba(68,186,198,0.05);--login-glow-accent-medium:rgba(42,88,140,0.15);--login-glow-accent-soft:rgba(42,88,140,0.12);--login-glow-accent-faint:rgba(42,88,140,0.1);--login-emblem-border:rgba(255,255,255,0.1);--login-emblem-shadow:rgba(0,0,0,0.3);--sidebar-background:240 5.9% 10%;--sidebar-foreground:240 4.8% 95.9%;--sidebar-primary:224.3 76.3% 48%;--sidebar-primary-foreground:0 0% 100%;--sidebar-accent:240 3.7% 15.9%;--sidebar-accent-foreground:240 4.8% 95.9%;--sidebar-border:240 3.7% 15.9%;--sidebar-ring:217.2 91.2% 59.8%;--chart-1:220 70% 50%;--chart-2:160 60% 45%;--chart-3:30 80% 55%;--chart-4:280 65% 60%;--chart-5:340 75% 55%}:root{--brand-primary:202,88%,42%;--brand-secondary:187,60%,70%;--brand-accent:224,35%,65%;--brand-neutral:215,48%,18%;--glass-opacity:0.12;--glass-border-opacity:0.2;--glass-hover-opacity:0.16;--font-sans:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI","PingFang HK","Noto Sans TC",system-ui,sans-serif;--font-display:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI","PingFang HK","Noto Sans TC",system-ui,sans-serif;--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--font-serif:ui-serif,Georgia,Cambria,"Times New Roman",Times,serif;--font-brand-display:var(--font-display);--font-brand-text:var(--font-sans);--text-xs:0.75rem;--text-xs-line:1rem;--text-sm:0.875rem;--text-sm-line:1.25rem;--text-base:1rem;--text-base-line:1.5rem;--text-lg:1.125rem;--text-lg-line:1.75rem;--text-xl:1.25rem;--text-xl-line:1.75rem;--text-2xl:1.5rem;--text-2xl-line:2rem;--text-3xl:1.875rem;--text-3xl-line:2.25rem;--text-4xl:2.25rem;--text-4xl-line:2.5rem;--text-5xl:3rem;--text-5xl-line:1;--text-6xl:3.75rem;--text-6xl-line:1;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--tracking-tighter:-0.05em;--tracking-tight:-0.025em;--tracking-normal:0;--tracking-wide:0.025em;--tracking-wider:0.05em;--tracking-widest:0.1em;--font-thin:100;--font-extralight:200;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--font-black:900;--space-0:0;--space-px:1px;--space-0-5:0.125rem;--space-1:0.25rem;--space-1-5:0.375rem;--space-2:0.5rem;--space-2-5:0.625rem;--space-3:0.75rem;--space-3-5:0.875rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-9:2.25rem;--space-10:2.5rem;--space-11:2.75rem;--space-12:3rem;--space-14:3.5rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-28:7rem;--space-32:8rem;--space-36:9rem;--space-40:10rem;--space-44:11rem;--space-48:12rem;--space-52:13rem;--space-56:14rem;--space-60:15rem;--space-64:16rem;--space-72:18rem;--space-80:20rem;--space-96:24rem;--radius:0.75rem;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:1rem;--radius-2xl:1.5rem;--radius-3xl:2rem;--radius-full:9999px;--radius-apple-sm:8px;--radius-apple-md:12px;--radius-apple-lg:16px;--radius-apple-xl:20px;--radius-apple-2xl:22px;--radius-apple-3xl:28px;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px;--container-2xl:1400px;--container-3xl:1536px;--container-full:100%;--nav-height:7rem;--topbar-height:56px;--sidebar-width:260px;--sidebar-collapsed-width:72px;--sidebar-transition:300ms cubic-bezier(0.4,0,0.2,1);--touch-target-min:44px;--touch-target-comfortable:48px}@media (min-width:640px){:root{--nav-height:6rem}}@media (min-width:1024px){:root{--nav-height:5rem}}:root{--shadow-none:none;--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.05);--shadow:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px -1px rgba(0,0,0,0.1);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -2px rgba(0,0,0,0.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -4px rgba(0,0,0,0.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1),0 8px 10px -6px rgba(0,0,0,0.1);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,0.25);--shadow-inner:inset 0 2px 4px 0 rgba(0,0,0,0.05);--shadow-apple-sm:0 2px 8px rgba(0,0,0,0.04),0 1px 2px rgba(0,0,0,0.06);--shadow-apple-md:0 4px 16px rgba(0,0,0,0.06),0 2px 4px rgba(0,0,0,0.08);--shadow-apple-lg:0 8px 24px rgba(0,0,0,0.08),0 4px 8px rgba(0,0,0,0.10);--shadow-apple-xl:0 16px 48px rgba(0,0,0,0.10),0 8px 16px rgba(0,0,0,0.12);--shadow-apple-2xl:0 24px 64px rgba(0,0,0,0.12),0 12px 24px rgba(0,0,0,0.14);--shadow-brand-soft:0 18px 46px rgba(34,86,122,0.18);--shadow-brand-medium:0 12px 32px rgba(31,78,112,0.16);--shadow-brand-inner:inset 0 1px 0 rgba(255,255,255,0.5);--shadow-glass:0 8px 32px rgba(31,78,112,0.12),inset 0 1px 0 rgba(255,255,255,0.5);--shadow-glass-elevated:0 18px 42px rgba(42,88,140,0.08),inset 0 1px 0 rgba(255,255,255,0.45),inset 0 -1px 0 rgba(45,105,135,0.08);--shadow-glass-hover:0 20px 54px rgba(45,105,135,0.14),inset 0 1px 0 rgba(255,255,255,0.65),inset 0 -1px 0 rgba(45,105,135,0.08);--shadow-glass-positive:0 18px 48px rgba(16,185,129,0.18),inset 0 1px 0 rgba(255,255,255,0.5);--shadow-glass-caution:0 18px 48px rgba(251,191,36,0.18),inset 0 1px 0 rgba(255,255,255,0.5);--shadow-glass-negative:0 18px 48px rgba(248,113,113,0.16),inset 0 1px 0 rgba(255,255,255,0.45);--shadow-glass-neutral:0 18px 48px rgba(148,163,184,0.16),inset 0 1px 0 rgba(255,255,255,0.45);--blur-none:0;--blur-sm:4px;--blur-md:8px;--blur-lg:12px;--blur-xl:16px;--blur-2xl:24px;--blur-3xl:40px;--blur-4xl:72px;--blur-5xl:96px;--blur-brand-strong:28px;--blur-brand-medium:18px;--blur-brand-soft:12px}.dark{--shadow-sm:0 1px 2px 0 rgba(0,0,0,0.3);--shadow:0 1px 3px 0 rgba(0,0,0,0.4),0 1px 2px -1px rgba(0,0,0,0.3);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.5),0 2px 4px -2px rgba(0,0,0,0.4);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.5),0 4px 6px -4px rgba(0,0,0,0.4);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.5),0 8px 10px -6px rgba(0,0,0,0.4);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,0.6);--shadow-inner:inset 0 2px 4px 0 rgba(0,0,0,0.3);--shadow-apple-sm:0 2px 8px rgba(0,0,0,0.3),0 1px 2px rgba(0,0,0,0.2);--shadow-apple-md:0 4px 16px rgba(0,0,0,0.4),0 2px 4px rgba(0,0,0,0.3);--shadow-apple-lg:0 8px 24px rgba(0,0,0,0.5),0 4px 8px rgba(0,0,0,0.4);--shadow-apple-xl:0 16px 48px rgba(0,0,0,0.6),0 8px 16px rgba(0,0,0,0.5);--shadow-apple-2xl:0 24px 64px rgba(0,0,0,0.7),0 12px 24px rgba(0,0,0,0.6);--shadow-glass:0 8px 32px rgba(0,0,0,0.4);--shadow-glass-elevated:0 12px 40px rgba(0,0,0,0.45),inset 0 1px 0 rgba(255,255,255,0.12),inset 0 -1px 0 rgba(0,0,0,0.25);--shadow-glass-hover:0 16px 48px rgba(0,0,0,0.50),inset 0 1px 0 rgba(255,255,255,0.16),inset 0 -1px 0 rgba(0,0,0,0.30);--shadow-glass-positive:0 18px 48px rgba(0,0,0,0.65),inset 0 1px 0 rgba(16,185,129,0.15);--shadow-glass-caution:0 18px 48px rgba(0,0,0,0.65),inset 0 1px 0 rgba(251,191,36,0.15);--shadow-glass-negative:0 18px 48px rgba(0,0,0,0.65),inset 0 1px 0 rgba(248,113,113,0.15);--shadow-glass-neutral:0 18px 48px rgba(0,0,0,0.32),inset 0 1px 0 rgba(255,255,255,0.08)}:root{--z-hide:-1;--z-auto:auto;--z-0:0;--z-10:10;--z-20:20;--z-30:30;--z-40:40;--z-50:50;--z-60:60;--z-70:70;--z-80:80;--z-90:90;--z-100:100;--z-max:9999;--z-base:var(--z-0);--z-float:var(--z-10);--z-sticky:var(--z-20);--z-navigation:var(--z-30);--z-header:var(--z-30);--z-sidebar:var(--z-30);--z-dropdown:var(--z-40);--z-popover:var(--z-40);--z-select:var(--z-40);--z-modal:var(--z-50);--z-dialog:var(--z-50);--z-overlay:var(--z-50);--z-drawer:var(--z-50);--z-sheet:var(--z-50);--z-toast:var(--z-60);--z-notification:var(--z-60);--z-alert:var(--z-60);--z-snackbar:var(--z-60);--z-tooltip:var(--z-70);--z-command:var(--z-80);--z-spotlight:var(--z-80);--z-loading:var(--z-90);--z-spinner:var(--z-90);--z-top:var(--z-100);--z-debug:var(--z-max);--duration-instant:0ms;--duration-fast:100ms;--duration-normal:200ms;--duration-slow:300ms;--duration-slower:500ms;--duration-slowest:700ms;--duration-hover:var(--duration-fast);--duration-enter:var(--duration-slow);--duration-exit:var(--duration-normal);--duration-fade:var(--duration-slow);--duration-slide:var(--duration-slow);--duration-scale:var(--duration-slow);--ease-apple:cubic-bezier(0.4,0.0,0.2,1);--ease-apple-in:cubic-bezier(0.4,0.0,1,1);--ease-apple-out:cubic-bezier(0.0,0.0,0.2,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--ease-linear:linear;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-hover:var(--ease-apple);--ease-enter:var(--ease-apple-out);--ease-exit:var(--ease-apple-in);--ease-bounce:var(--ease-spring)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes slide-in-from-top{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slide-in-from-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slide-in-from-left{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes slide-in-from-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slide-out-to-top{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes slide-out-to-bottom{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes scale-in{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scale-out{0%{transform:scale(1);opacity:1}to{transform:scale(.95);opacity:0}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{transform:translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}@keyframes gradient-shift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@keyframes logo-float{0%{transform:translate(-50%,-50%) rotate(0deg) scale(1);opacity:.08}25%{transform:translate(-50%,-50%) rotate(5deg) scale(1.05);opacity:.12}50%{transform:translate(-50%,-50%) rotate(0deg) scale(1.1);opacity:.15}75%{transform:translate(-50%,-50%) rotate(-5deg) scale(1.05);opacity:.12}to{transform:translate(-50%,-50%) rotate(0deg) scale(1);opacity:.08}}@keyframes logo-glow{0%,to{filter:drop-shadow(0 0 20px rgba(68,186,198,.3))}50%{filter:drop-shadow(0 0 40px rgba(68,186,198,.6)) drop-shadow(0 0 60px rgba(42,88,140,.4))}}@keyframes logo-pulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.02)}}@keyframes float{0%,to{transform:translate(0) scale(1)}25%{transform:translate(50px,-30px) scale(1.1)}50%{transform:translate(-30px,-60px) scale(.9)}75%{transform:translate(-50px,30px) scale(1.05)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}