:root{--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--font-size-xs: .72rem;--font-size-meta: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.1rem;--color-bg: #f9f9f7;--color-surface: #ffffff;--color-border: #e2e2df;--color-text: #1a1a18;--color-muted: #737370;--color-accent: #1a1a18;--color-accent-soft: #f0f0ee;--color-tag-bg: #ebebea;--color-status-active: #22c55e;--domain-code: #14b8a6;--domain-sound: #f59e0b;--domain-visuals: #8b5cf6;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-24: 6rem;--radius-sm: 3px;--radius-md: 6px;--radius-lg: 10px;--radius-xl: 16px;--max-w: 720px;--max-w-wide: 1024px;--shadow-sm: 0 1px 3px rgba(0,0,0,.06), 0 1px 2px rgba(0,0,0,.04);--shadow-md: 0 4px 12px rgba(0,0,0,.07), 0 2px 4px rgba(0,0,0,.04);--shadow-lg: 0 8px 28px rgba(0,0,0,.09), 0 4px 8px rgba(0,0,0,.05);--shadow-card: 0 4px 16px rgba(0,0,0,.06), 0 1px 3px rgba(0,0,0,.04);--transition-fast: .1s ease;--transition: .18s ease;--transition-slow: .32s ease;--z-base: 1;--z-raised: 10;--z-header: 20;--z-progress: 30;--z-skip: 100;--z-canvas: 9999;--timeline-col: 170px;--post-row-date: 130px;--post-row-date-sm: 80px;--project-card-min: 280px}@media(prefers-color-scheme:dark){:root{--color-bg: #111110;--color-surface: #1a1a18;--color-border: #2c2c2a;--color-text: #e8e8e4;--color-muted: #888884;--color-accent: #e8e8e4;--color-accent-soft: #222220;--color-tag-bg: #222220;--shadow-sm: 0 1px 3px rgba(0,0,0,.25), 0 1px 2px rgba(0,0,0,.15);--shadow-md: 0 4px 12px rgba(0,0,0,.3), 0 2px 4px rgba(0,0,0,.18);--shadow-lg: 0 8px 28px rgba(0,0,0,.38), 0 4px 8px rgba(0,0,0,.22);--shadow-card: 0 4px 16px rgba(0,0,0,.28), 0 1px 3px rgba(0,0,0,.18)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);line-height:1.6;min-height:100vh;display:flex;flex-direction:column}@supports (scrollbar-color: auto){*{scrollbar-color:var(--color-border) transparent;scrollbar-width:thin}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--color-muted)}h1,h2,h3,h4{line-height:1.15;letter-spacing:-.025em;font-weight:600}h1{font-size:clamp(2rem,5vw,3.5rem);letter-spacing:-.03em}h2{font-size:clamp(1.4rem,3vw,2rem)}h3{font-size:1.2rem}h4{font-size:1rem}p{max-width:65ch}a{color:inherit;text-decoration:underline;text-decoration-color:var(--color-border);text-underline-offset:3px;transition:text-decoration-color var(--transition)}a:hover{text-decoration-color:var(--color-text)}::selection{background:var(--color-text);color:var(--color-bg)}:focus-visible{outline:2px solid var(--color-text);outline-offset:3px;border-radius:var(--radius-sm)}code,pre{font-family:var(--font-mono);font-size:.875em}pre{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);overflow-x:auto;line-height:1.7}img{display:block;max-width:100%}.container{width:100%;max-width:var(--max-w);margin-inline:auto;padding-inline:var(--space-6)}.container--wide{max-width:var(--max-w-wide)}.section{padding-block:var(--space-12)}.divider{border:none;height:1px;background:linear-gradient(to right,transparent,var(--color-border) 20%,var(--color-border) 80%,transparent);margin-block:var(--space-12)}.tag{display:inline-block;font-family:var(--font-mono);font-size:var(--font-size-meta);background:var(--color-tag-bg);color:var(--color-muted);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);letter-spacing:.02em;line-height:1.5}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.card:hover{border-color:var(--color-muted);box-shadow:var(--shadow-card);transform:translateY(-3px)}.site-header[data-astro-cid-37fxchfa]{position:sticky;top:0;z-index:var(--z-header);background:color-mix(in srgb,var(--color-bg) 85%,transparent);border-bottom:1px solid var(--color-border);padding-block:var(--space-3) var(--space-4);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.nav[data-astro-cid-37fxchfa]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.nav__logo[data-astro-cid-37fxchfa]{font-family:var(--font-mono);font-size:.9rem;font-weight:500;text-decoration:none;letter-spacing:-.02em;color:var(--color-text);display:flex;align-items:baseline;gap:var(--space-3);flex-shrink:0}.nav__logo[data-astro-cid-37fxchfa]:hover{opacity:.75}.nav__logo[data-astro-cid-37fxchfa]:focus-visible{outline:2px solid var(--color-text);outline-offset:4px;border-radius:var(--radius-sm)}.nav__links[data-astro-cid-37fxchfa]{display:flex;list-style:none;gap:var(--space-1)}.nav__link[data-astro-cid-37fxchfa]{display:block;font-size:var(--font-size-sm);color:var(--color-muted);text-decoration:none;padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);transition:color var(--transition),background var(--transition)}.nav__link[data-astro-cid-37fxchfa]:hover{color:var(--color-text);background:var(--color-accent-soft)}.nav__link[data-astro-cid-37fxchfa]:focus-visible{outline:2px solid var(--color-text);outline-offset:2px;border-radius:var(--radius-md)}.nav__link--active[data-astro-cid-37fxchfa]{color:var(--color-text);font-weight:500;background:var(--color-tag-bg)}.nav__link--active[data-astro-cid-37fxchfa]:hover{background:var(--color-tag-bg)}.site-main[data-astro-cid-37fxchfa]{flex:1}.site-footer[data-astro-cid-37fxchfa]{border-top:1px solid var(--color-border);padding-block:var(--space-8);margin-top:var(--space-16)}.footer-inner[data-astro-cid-37fxchfa]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-4)}.footer-copy[data-astro-cid-37fxchfa]{font-family:var(--font-mono);font-size:var(--font-size-meta);color:var(--color-muted);line-height:1.8}.footer-copy[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]{color:var(--color-muted);text-decoration-color:transparent;transition:color var(--transition),text-decoration-color var(--transition)}.footer-copy[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]:hover{color:var(--color-text);text-decoration-color:var(--color-muted)}.footer-links[data-astro-cid-37fxchfa]{display:flex;list-style:none;gap:var(--space-5);flex-wrap:wrap}.footer-links[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]{font-size:var(--font-size-meta);color:var(--color-muted);text-decoration:none;transition:color var(--transition)}.footer-links[data-astro-cid-37fxchfa] a[data-astro-cid-37fxchfa]:hover{color:var(--color-text)}.skip-link[data-astro-cid-37fxchfa]{position:absolute;top:-100px;left:var(--space-4);z-index:var(--z-skip);background:var(--color-text);color:var(--color-bg);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;text-decoration:none;transition:top var(--transition-fast)}.skip-link[data-astro-cid-37fxchfa]:focus{top:var(--space-4)}@media(max-width:640px){.nav__links[data-astro-cid-37fxchfa]{gap:0}.nav__link[data-astro-cid-37fxchfa]{font-size:.8rem;padding:var(--space-1) var(--space-2)}}@media(max-width:480px){.nav__links[data-astro-cid-37fxchfa] li[data-astro-cid-37fxchfa]:nth-child(n+4){display:none}}@media(max-width:360px){.nav__links[data-astro-cid-37fxchfa]{display:none}}@media(max-width:640px){.footer-inner[data-astro-cid-37fxchfa]{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.footer-links[data-astro-cid-37fxchfa]{gap:var(--space-4)}}
