.header[data-astro-cid-3ef6ksr2]{height:var(--header-height);border-bottom:1px solid var(--c-border);background:#ffffff0d}.h-full[data-astro-cid-3ef6ksr2]{height:100%}.logo[data-astro-cid-3ef6ksr2]{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:var(--c-text);letter-spacing:-.05em}.nav-desktop[data-astro-cid-3ef6ksr2]{display:none}@media (min-width: 768px){.nav-desktop[data-astro-cid-3ef6ksr2]{display:flex;gap:2rem}}.nav-link[data-astro-cid-3ef6ksr2]{position:relative;font-weight:500;color:var(--c-text-muted)}.nav-link[data-astro-cid-3ef6ksr2]:hover{color:var(--c-accent)}.nav-link[data-astro-cid-3ef6ksr2]:after{content:"";position:absolute;bottom:-4px;left:0;width:0%;height:2px;background:var(--c-accent);transition:width var(--duration-fast) ease}.nav-link[data-astro-cid-3ef6ksr2]:hover:after{width:100%}.theme-btn[data-astro-cid-3ef6ksr2]{background:none;border:1px solid var(--c-border);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.25rem;transition:all var(--duration-fast)}.theme-btn[data-astro-cid-3ef6ksr2]:hover{background:var(--c-bg-transparent);border-color:var(--c-accent)}html[data-theme=dark] .sun[data-astro-cid-3ef6ksr2]{display:none}html:not([data-theme=dark]) .moon[data-astro-cid-3ef6ksr2]{display:none}:root{--max-width: 1200px;--header-height: 70px;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-full: 9999px;--font-sans: "Varela Round", "Noto Sans SC", system-ui, sans-serif;--font-display: "Mochiy Pop One", sans-serif;--font-mono: "JetBrains Mono", monospace;--ease-spring: cubic-bezier(.175, .885, .32, 1.275);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--duration-fast: .2s;--duration-normal: .4s;--duration-slow: .7s;--calc-gold-light: #F9E79F;--calc-gold: #F4D03F;--calc-gold-dark: #D4AC0D;--calc-blue-light: #AED6F1;--calc-blue: #85C1E9;--calc-blue-dark: #3498DB;--calc-pink: #FADBD8;--c-bg: #FFFFFF;--c-bg-transparent: rgba(255, 255, 255, .7);--c-text: #2c3e50;--c-text-muted: #7f8c8d;--c-accent: var(--calc-blue);--c-accent-hover: var(--calc-blue-dark);--c-border: rgba(133, 193, 233, .3);--shadow-sm: 0 2px 8px rgba(133, 193, 233, .15);--shadow-md: 0 8px 24px rgba(133, 193, 233, .2);--shadow-lg: 0 16px 48px rgba(133, 193, 233, .25);--glass-bg: rgba(255, 255, 255, .65);--glass-border: rgba(255, 255, 255, .8);--glass-blur: 16px}[data-theme=dark]{--sorc-amber-light: #FFD54F;--sorc-amber: #FFBF00;--sorc-amber-dark: #FF8F00;--sorc-pink: #FF4081;--sorc-void: #0F0F1A;--c-bg: var(--sorc-void);--c-bg-transparent: rgba(15, 15, 26, .7);--c-text: #ecf0f1;--c-text-muted: #bdc3c7;--c-accent: var(--sorc-amber);--c-accent-hover: var(--sorc-pink);--c-border: rgba(255, 191, 0, .2);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .5);--shadow-md: 0 8px 24px rgba(255, 191, 0, .1);--shadow-lg: 0 0 40px rgba(255, 191, 0, .15);--glass-bg: rgba(10, 10, 18, .7);--glass-border: rgba(255, 191, 0, .15);--glass-blur: 24px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{line-height:1.5;-webkit-font-smoothing:antialiased;font-family:var(--font-sans);background-color:var(--c-bg);color:var(--c-text)}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{text-decoration:none;color:inherit;transition:color var(--duration-fast) ease}ul,ol{list-style:none}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}@media (min-width: 768px){h1{font-size:3.5rem}h2{font-size:2.5rem}}code{font-family:var(--font-mono)}.container{width:100%;max-width:var(--max-width);margin-inline:auto;padding-inline:1.5rem}.flex{display:flex}.flex-col{flex-direction:column}.flex-center{display:flex;align-items:center;justify-content:center}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,1fr)}@media (min-width: 768px){.grid-cols-3{grid-template-columns:repeat(3,1fr)}}.hidden{display:none!important}.block{display:block!important}.inline-block{display:inline-block!important}.glass-panel{background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--shadow-md);border-radius:var(--radius-lg);transition:all var(--duration-normal) var(--ease-smooth)}.glass-panel:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--c-accent)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:var(--radius-full);font-weight:700;cursor:pointer;transition:all var(--duration-fast) var(--ease-spring);border:1px solid transparent}.btn-primary{background-color:var(--c-accent);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background-color:var(--c-accent-hover);transform:scale(1.05);box-shadow:var(--shadow-md)}.btn-ghost{background-color:transparent;color:var(--c-text);border:1px solid var(--c-border)}.btn-ghost:hover{background-color:var(--c-bg-transparent);border-color:var(--c-accent)}#background-canvas{position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(135deg,var(--bg-gradient-start, #F9E79F),var(--bg-gradient-end, #AED6F1));overflow:hidden}[data-theme=dark] #background-canvas{background:linear-gradient(135deg,#0f0f1a,#2c003e)}.particle{position:absolute;border-radius:50%;pointer-events:none}.particle.light{background:#fff;filter:blur(8px);opacity:.6;animation:float 20s infinite linear}.particle.dark{width:3px;height:3px;background:var(--sorc-amber);box-shadow:0 0 5px var(--sorc-amber);opacity:0;animation:twitch 4s infinite steps(4)}[data-theme=dark] .particle.light{display:none}html:not([data-theme=dark]) .particle.dark{display:none}@keyframes float{0%{transform:translateY(100vh) scale(.5);opacity:0}50%{opacity:.8}to{transform:translateY(-10vh) scale(1.2);opacity:0}}@keyframes twitch{0%{opacity:0;transform:translate(0)}5%{opacity:1;transform:translate(10px,-5px)}10%{opacity:0;transform:translate(-5px,10px)}to{opacity:0}}
