:root,[data-theme="dark"]{--surface:#0a0f1a;--surface-elevated:#111827;--text-primary:#f1f5f9;--text-secondary:#94a3b8;--text-muted:#64748b;--border:rgba(255,255,255,0.08);--glass-bg:rgba(17,24,39,0.65);--card-bg:rgba(17,24,39,0.5);--mesh-1:rgba(24,82,157,0.35);--mesh-2:rgba(245,130,32,0.2);--mesh-3:rgba(59,130,246,0.15);--grid-line:rgba(255,255,255,0.03);--selection:rgba(24,82,157,0.4);--hero-overlay:rgba(10,15,26,0.75)}
[data-theme="light"]{--surface:#f1f5f9;--surface-elevated:#fff;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--border:rgba(15,23,42,0.1);--glass-bg:rgba(255,255,255,0.85);--card-bg:rgba(255,255,255,0.9);--mesh-1:rgba(24,82,157,0.12);--mesh-2:rgba(245,130,32,0.08);--mesh-3:rgba(59,130,246,0.1);--grid-line:rgba(15,23,42,0.06);--selection:rgba(24,82,157,0.25);--hero-overlay:rgba(241,245,249,0.82)}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Outfit',system-ui,sans-serif;background:var(--surface);color:var(--text-primary);min-height:100vh;transition:background-color .25s,color .25s;line-height:1.6}
::selection{background:var(--selection)}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
input,select{font-family:inherit}
img,svg{display:block}
.mono{font-family:'JetBrains Mono',monospace}
.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}
.glass{background:var(--glass-bg);backdrop-filter:blur(16px);border:1px solid var(--border)}
.mesh-bg{background:radial-gradient(ellipse 80% 50% at 20% -10%,var(--mesh-1),transparent),radial-gradient(ellipse 60% 40% at 80% 0%,var(--mesh-2),transparent),radial-gradient(ellipse 50% 30% at 50% 100%,var(--mesh-3),transparent),var(--surface)}
.grid-pattern{background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:48px 48px}
.text-gradient{background:linear-gradient(135deg,#18529d 0%,#f58220 50%,#f9a826 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
[data-theme="light"] .text-gradient{background:linear-gradient(135deg,#18529d 0%,#f58220 50%,#f9a826 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes pulse-glow{0%,100%{opacity:.4}50%{opacity:.8}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.animate-float{animation:float 6s ease-in-out infinite}
.animate-pulse-glow{animation:pulse-glow 4s ease-in-out infinite}
.fade-in{animation:fadeInUp .5s ease both}
.fade-in-d1{animation-delay:.1s}.fade-in-d2{animation-delay:.2s}.fade-in-d3{animation-delay:.3s}.fade-in-d4{animation-delay:.4s}
.container{max-width:80rem;margin:0 auto;padding:0 1rem}
@media(min-width:640px){.container{padding:0 1.5rem}}
@media(min-width:1024px){.container{padding:0 2rem}}
.flex{display:flex}.flex-col{flex-direction:column}.flex-1{flex:1}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-10{gap:2.5rem}
.flex-wrap{flex-wrap:wrap}.shrink-0{flex-shrink:0}.min-w-0{min-width:0}
.grid{display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1023px){.grid-3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}
@media(min-width:640px){.sm-grid-2{grid-template-columns:repeat(2,1fr)}.sm-grid-4{grid-template-columns:repeat(4,1fr)}}
@media(min-width:768px){.md-grid-2{grid-template-columns:repeat(2,1fr)}.md-grid-3{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.lg-grid-3{grid-template-columns:repeat(3,1fr)}.lg-grid-4{grid-template-columns:repeat(4,1fr)}}
.w-full{width:100%}.h-16{height:4rem}.min-h-screen{min-height:100vh}
.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}
.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}
.pt-16{padding-top:4rem}.pb-8{padding-bottom:2rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mt-20{margin-top:5rem}
.text-xs{font-size:.75rem}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}.text-2xl{font-size:1.5rem}.text-3xl{font-size:1.875rem}.text-4xl{font-size:2.25rem}
@media(min-width:640px){.sm-text-4xl{font-size:2.25rem}.sm-text-5xl{font-size:3rem}.sm-text-xl{font-size:1.25rem}}
@media(min-width:1024px){.lg-text-6xl{font-size:3.75rem}}
.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-extrabold{font-weight:800}
.uppercase{text-transform:uppercase}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.tracking-tight{letter-spacing:-.025em}.leading-tight{line-height:1.25}.leading-relaxed{line-height:1.625}
.text-center{text-align:center}.text-right{text-align:right}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.relative{position:relative}.absolute{position:absolute}.sticky{position:sticky}.top-0{top:0}.inset-0{inset:0}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}
.overflow-hidden{overflow:hidden}.pointer-events-none{pointer-events:none}
.border{border:1px solid var(--border)}.border-t{border-top:1px solid var(--border)}.border-b{border-bottom:1px solid var(--border)}
.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}
.transition-all{transition:all .3s}.transition-colors{transition:color .2s,background-color .2s,border-color .2s}
.hidden{display:none}
@media(min-width:640px){.sm-flex{display:flex}.sm-block{display:block}.sm-hidden{display:none}.sm-items-center{align-items:center}.sm-items-end{align-items:flex-end}.sm-flex-row{flex-direction:row}}
@media(min-width:768px){.md-flex{display:flex}.md-block{display:block}.md-grid{display:grid}}
@media(min-width:1024px){.lg-flex{display:flex}.lg-block{display:block}.lg-hidden{display:none}}
.nav-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--border)}
.nav-link{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.5rem;font-size:.875rem;font-weight:500;color:var(--text-secondary);transition:color .2s,background .2s}
.nav-link:hover,.nav-link.active{color:var(--text-primary);background:var(--border)}
.mobile-menu{display:none;padding-bottom:1rem;border-top:1px solid var(--border);padding-top:.75rem}
.mobile-menu.open{display:block}
@media(min-width:1024px){.mobile-menu{display:none!important}}
.theme-toggle{display:block;padding:.5rem;border-radius:.5rem;color:var(--text-muted);transition:color .2s,background .2s}
.theme-toggle:hover{color:var(--text-primary);background:var(--glass-bg)}
.hamburger{display:block;padding:.5rem;border-radius:.5rem;color:var(--text-secondary)}
.hamburger:hover{background:var(--glass-bg)}
@media(min-width:1024px){.hamburger{display:none}}
.desktop-nav{display:none;align-items:center;gap:.25rem;flex:1;justify-content:center}
@media(min-width:1024px){.desktop-nav{display:flex}}
.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:.75rem;background:#18529d;color:#fff;font-weight:600;box-shadow:0 10px 15px -3px rgba(24,82,157,.3);transition:all .2s}
.btn-primary:hover{background:#18529d;transform:scale(1.02)}
.btn-glass{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:.75rem;font-weight:500;transition:background .2s}
.module-card{display:block;border-radius:1rem;overflow:hidden;transition:all .3s;border:1px solid var(--border)}
.module-card:hover{box-shadow:0 20px 25px -5px rgba(0,0,0,.1);transform:translateY(-4px)}
.hero-art{position:relative;overflow:hidden;border-radius:1rem;border:1px solid var(--border);background:var(--card-bg)}
.hero-art svg{width:100%;height:100%}
.time-bar{display:flex;height:.75rem;border-radius:9999px;overflow:hidden;background:var(--border)}
.time-bar div{transition:width .3s}
.search-input{width:100%;padding:.625rem 1rem .625rem 2.5rem;border-radius:.75rem;font-size:.875rem;color:var(--text-primary);background:var(--glass-bg);border:1px solid var(--border);backdrop-filter:blur(16px);outline:none;transition:box-shadow .2s}
.search-input:focus{box-shadow:0 0 0 2px rgba(24,82,157,.5)}
.search-input::placeholder{color:var(--text-muted)}
select.search-input{padding-left:.75rem;appearance:auto}
.export-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.75rem;font-size:.875rem;font-weight:500;background:#18529d;color:#fff;box-shadow:0 10px 15px -3px rgba(24,82,157,.2);transition:background .2s}
.export-btn:hover{background:#18529d}
.export-dropdown{position:absolute;right:0;margin-top:.5rem;z-index:50;min-width:200px;border-radius:.75rem;border:1px solid var(--border);padding:.25rem 0;box-shadow:0 20px 25px -5px rgba(0,0,0,.2)}
.export-dropdown button{width:100%;display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;color:var(--text-secondary);text-align:left;transition:color .2s,background .2s}
.export-dropdown button:hover{color:var(--text-primary);background:var(--glass-bg)}
.section-card{border-radius:1rem;padding:1.5rem}
.badge{display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .625rem;border-radius:9999px;border:1px solid}
.footer{border-top:1px solid var(--border);margin-top:5rem}
.footer a:hover{color:#18529d}
.timeline-line{position:absolute;left:1rem;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,#18529d,#f58220,#3b82f6,#f9a826,#18529d);opacity:.4}
@media(min-width:768px){.timeline-line{left:50%;transform:translateX(-50%)}}
.timeline-node{position:absolute;left:1rem;width:2.5rem;height:2.5rem;transform:translateX(-50%);border-radius:9999px;border-width:2px;border-style:solid;display:flex;align-items:center;justify-content:center;z-index:10;background:var(--surface)}
@media(min-width:768px){.timeline-node{left:50%}}
.timeline-content{margin-left:3.5rem}
@media(min-width:768px){.timeline-content{margin-left:0}}
.whitespace-pre-wrap{white-space:pre-wrap}
@media print{.no-print{display:none!important}body,.mesh-bg{background:#fff!important;color:#0f172a!important}.glass{background:#fff!important;border:1px solid #e2e8f0!important;box-shadow:none!important}.text-primary{color:#0f172a!important}.text-secondary,.text-muted{color:#475569!important}main{padding:0!important}a[href]::after{content:none!important}.print-break{page-break-before:always}}
.print-only{display:none}
@media print{.print-only{display:block}}
.color-amber{color:#f59e0b}.color-blue{color:#3b82f6}.color-green{color:#f9a826}.color-purple{color:#8b5cf6}.color-rose{color:#f43f5e}
.bg-amber{background:rgba(245,158,11,.15);color:#fbbf24;border-color:rgba(245,158,11,.3)}
.bg-blue{background:rgba(59,130,246,.15);color:#93c5fd;border-color:rgba(59,130,246,.3)}
.bg-green{background:rgba(59,130,246,.15);color:#6ee7b7;border-color:rgba(59,130,246,.3)}
.bg-purple{background:rgba(139,92,246,.15);color:#c4b5fd;border-color:rgba(139,92,246,.3)}
.bg-rose{background:rgba(244,63,94,.15);color:#fda4af;border-color:rgba(244,63,94,.3)}
[data-theme="light"] .bg-amber{color:#b45309}[data-theme="light"] .bg-blue{color:#1d4ed8}[data-theme="light"] .bg-green{color:#047857}[data-theme="light"] .bg-purple{color:#6d28d9}[data-theme="light"] .bg-rose{color:#be123c}
