@import "https://fonts.googleapis.com/css2?family=Source+Serif+4:wght@300;400;500;600;700&family=DM+Sans:wght@300;400;500;600;700&family=Lexend+Zetta:wght@400;600;700&display=swap";:root{--bg:#080e0f;--card:#111e24;--card2:#1a2f38;--sand:#1a2f38;--accent:#7ab0bd;--green:#5ec98e;--red:#f07068;--purple:#85c5d3;--text:#d8e4e7;--dim:#94b0b8;--bright:#fff;--border:#253e47;--border-light:#35565f;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--font-sans:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:"Source Serif 4", Georgia, serif;--font-brand:"Lexend Zetta", sans-serif;--font-mono:"DM Sans", sans-serif;--shadow-sm:0 1px 4px #0003;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 24px #0006;--safe-top:var(--tg-content-safe-area-inset-top,0px);--safe-bottom:var(--tg-content-safe-area-inset-bottom,0px);--safe-left:var(--tg-content-safe-area-inset-left,0px);--safe-right:var(--tg-content-safe-area-inset-right,0px);--nav-height:64px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:15px}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;padding-top:var(--safe-top);padding-bottom:calc(var(--nav-height) + var(--safe-bottom) + 8px);line-height:1.6;overflow-x:hidden}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}img{max-width:100%;height:auto;display:block}button{font-family:var(--font-sans);cursor:pointer;border:none;outline:none}input,textarea,select{font-family:var(--font-sans);outline:none}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.serif{font-family:var(--font-serif)}.brand{font-family:var(--font-brand);letter-spacing:.08em;text-transform:uppercase}.card{background:var(--card);border-radius:var(--radius-md);padding:var(--space-lg);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.card-accent{border-color:var(--accent);border-width:2px}.section{margin-bottom:var(--space-xl)}.section-title{font-family:var(--font-serif);color:var(--bright);letter-spacing:-.02em;margin-bottom:var(--space-md);font-size:20px;font-weight:700}.tag{border-radius:var(--radius-sm);padding:4px 10px;font-size:10px;font-weight:600;display:inline-block}.tag-green{color:var(--green);background:#5ec98e1f;border:1px solid #5ec98e38}.tag-accent{color:var(--accent);background:#7ab0bd1f;border:1px solid #7ab0bd38}.tag-red{color:var(--red);background:#f070681f;border:1px solid #f0706838}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes glowPulse{0%,to{box-shadow:0 0 4px #5ec98e4d}50%{box-shadow:0 0 14px #5ec98e99}}@keyframes progressShine{0%{left:-100%}to{left:100%}}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes slideDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes expandHeight{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.fade-in{animation:.3s forwards fadeIn}.fade-in-up{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeInUp}.slide-in-right{animation:.4s cubic-bezier(.16,1,.3,1) forwards slideInRight}.slide-in-left{animation:.4s cubic-bezier(.16,1,.3,1) forwards slideInLeft}.scale-in{animation:.35s cubic-bezier(.16,1,.3,1) forwards scaleIn}.bounce-in{animation:.5s cubic-bezier(.16,1,.3,1) forwards bounceIn}.slide-down{animation:.3s cubic-bezier(.16,1,.3,1) forwards slideDown}.glow-pulse{animation:2s ease-in-out infinite glowPulse}.stagger-1{opacity:0;animation-delay:50ms}.stagger-2{opacity:0;animation-delay:.1s}.stagger-3{opacity:0;animation-delay:.12s}.stagger-4{opacity:0;animation-delay:.18s}.stagger-5{opacity:0;animation-delay:.22s}.stagger-6{opacity:0;animation-delay:.26s}.skeleton{background:linear-gradient(90deg, var(--card) 25%, var(--card2) 50%, var(--card) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.8s ease-in-out infinite shimmer}button{-webkit-tap-highlight-color:transparent;min-height:36px;transition:transform .15s,box-shadow .2s,background .2s}button:hover{transform:scale(1.02)}button:active{transform:scale(.97)}.card{transition:transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s,border-color .2s}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}a{transition:color .2s;position:relative}.progress-shine{position:relative;overflow:hidden}.progress-shine:after{content:"";background:linear-gradient(90deg,#0000,#ffffff26,#0000);width:60%;height:100%;animation:2.5s ease-in-out infinite progressShine;position:absolute;top:0;left:-100%}.gradient-border{position:relative;border:none!important}.gradient-border:before{content:"";border-radius:inherit;background:linear-gradient(135deg, var(--accent), var(--green), var(--accent));-webkit-mask-composite:xor;pointer-events:none;background-size:200% 200%;padding:1.5px;animation:4s infinite gradientShift;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}main>div{animation:.35s cubic-bezier(.16,1,.3,1) fadeInUp}html{scroll-behavior:smooth}::selection{color:var(--bright);background:#5ec98e4d}.number-animate{font-variant-numeric:tabular-nums;transition:opacity .3s}.expand-enter{animation:.3s cubic-bezier(.16,1,.3,1) forwards expandHeight;overflow:hidden}
