:root{--forest-50: #eaf6ef;--forest-300: #6cc79a;--forest-500: #2f9e63;--forest-700: #1e6b45;--forest-900: #123c28;--gold-300: #f2cd74;--gold-500: #d4af37;--gold-700: #a9832a;--ink: #1a211d;--paper: #f7f8f5;--board-bg: #f6f7f4;--board-grid: rgba(28, 45, 36, .07);--on-board: #26312b;--on-board-dim: #6b7a71;--card-bg: #ffffff;--card-border: rgba(20, 40, 30, .1);--glass-tint: rgba(15, 26, 20, .66);--glass-blur: 16px;--glass-sat: 155%;--glass-border: rgba(212, 175, 55, .22);--glass-hi: rgba(255, 255, 255, .1);--chrome-solid: #101a14;--text: #eef2ec;--text-dim: #b3c1b8;--muted: #8b978f;--accent: var(--forest-500);--accent-hi: var(--forest-300);--on-accent: #eafff2;--gold: var(--gold-500);--live: var(--forest-300);--warn: var(--gold-500);--ring: rgba(108, 199, 154, .55);--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-eyebrow: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-lg: 15px;--fw-medium: 600;--fw-bold: 700;--fw-black: 800;--tracking-tight: -.01em;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--r-sm: 8px;--r-md: 11px;--r-lg: 14px;--r-pill: 999px;--e-1: 0 1px 2px rgba(6, 16, 10, .18);--e-2: 0 6px 18px rgba(6, 16, 10, .22);--e-3: 0 14px 40px rgba(6, 16, 10, .3);--ease: cubic-bezier(.2, .7, .2, 1);--dur-fast: .12s;--dur: .2s}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--board-bg: #14181a;--board-grid: rgba(150, 180, 165, .1);--on-board: #e9ede9;--on-board-dim: #9aa8a0;--card-bg: #1b2420;--card-border: rgba(255, 255, 255, .08);--glass-tint: rgba(32, 46, 39, .72);--glass-border: rgba(212, 175, 55, .3);--glass-hi: rgba(255, 255, 255, .07);--chrome-solid: #1c2822;--e-1: 0 1px 2px rgba(0, 0, 0, .5);--e-2: 0 6px 18px rgba(0, 0, 0, .5);--e-3: 0 14px 40px rgba(0, 0, 0, .55)}}:root[data-theme=dark]{--board-bg: #14181a;--board-grid: rgba(150, 180, 165, .1);--on-board: #e9ede9;--on-board-dim: #9aa8a0;--card-bg: #1b2420;--card-border: rgba(255, 255, 255, .08);--glass-tint: rgba(32, 46, 39, .72);--glass-border: rgba(212, 175, 55, .3);--glass-hi: rgba(255, 255, 255, .07);--chrome-solid: #1c2822;--e-1: 0 1px 2px rgba(0, 0, 0, .5);--e-2: 0 6px 18px rgba(0, 0, 0, .5);--e-3: 0 14px 40px rgba(0, 0, 0, .55)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--dur) ease,color var(--dur) ease}#app{min-height:100vh}a:focus-visible,button:focus-visible{outline:2px solid var(--ring);outline-offset:2px}body{background:var(--board-bg);color:var(--on-board);font-family:var(--font-sans)}.topbar.svelte-1n46o8q{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) clamp(var(--sp-4),5vw,var(--sp-6));background:color-mix(in srgb,var(--board-bg) 82%,transparent);border-bottom:1px solid var(--card-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand.svelte-1n46o8q{display:inline-flex;align-items:center;gap:var(--sp-2);color:var(--on-board);text-decoration:none;font-weight:var(--fw-bold)}.brand-mark.svelte-1n46o8q{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--r-sm);background:var(--accent);color:var(--on-accent);font-weight:var(--fw-black);font-size:var(--fs-md);letter-spacing:.02em}.brand-name.svelte-1n46o8q{font-size:var(--fs-lg)}.theme-toggle.svelte-1n46o8q{min-width:72px;height:36px;padding:0 var(--sp-3);border:1px solid var(--card-border);border-radius:var(--r-sm);background:var(--card-bg);color:var(--on-board-dim);font:inherit;font-size:var(--fs-md);font-weight:var(--fw-bold);cursor:pointer;transition:color var(--dur) var(--ease),border-color var(--dur) var(--ease)}.theme-toggle.svelte-1n46o8q:hover{color:var(--on-board);border-color:var(--accent)}main.svelte-1n46o8q{width:min(1080px,calc(100% - (2*clamp(var(--sp-4),5vw,var(--sp-6)))));margin:0 auto}.hero.svelte-1n46o8q{padding:clamp(48px,12vh,128px) 0 clamp(40px,8vh,72px)}.hero.svelte-1n46o8q h1:where(.svelte-1n46o8q){margin:0;font-size:clamp(44px,9vw,84px);line-height:1.02;letter-spacing:var(--tracking-tight);font-weight:var(--fw-black)}.role.svelte-1n46o8q{margin:var(--sp-4) 0 0;font-size:clamp(18px,3vw,22px);font-weight:var(--fw-medium);color:var(--on-board)}.hero-links.svelte-1n46o8q{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-top:var(--sp-5)}.link-btn.svelte-1n46o8q{display:inline-flex;align-items:center;gap:var(--sp-2);height:44px;padding:0 var(--sp-4);border:1px solid var(--card-border);border-radius:var(--r-sm);background:var(--card-bg);color:var(--on-board);font-size:var(--fs-md);font-weight:var(--fw-bold);text-decoration:none;transition:border-color var(--dur) var(--ease),transform var(--dur-fast) var(--ease)}.link-btn.svelte-1n46o8q:hover{border-color:var(--accent);transform:translateY(-1px)}.link-btn.svelte-1n46o8q .icon:where(.svelte-1n46o8q){display:inline-flex;width:17px;height:17px;color:var(--on-board-dim)}.link-btn.svelte-1n46o8q:hover .icon:where(.svelte-1n46o8q){color:var(--accent)}.icon.svelte-1n46o8q svg,.card-icon.svelte-1n46o8q svg{width:100%;height:100%;display:block}.projects.svelte-1n46o8q{padding-bottom:clamp(56px,10vh,96px)}.projects.svelte-1n46o8q h2:where(.svelte-1n46o8q){margin:0 0 var(--sp-5);font-size:var(--fs-eyebrow);font-weight:var(--fw-black);letter-spacing:.14em;text-transform:uppercase;color:var(--on-board-dim)}.grid.svelte-1n46o8q{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4)}.card.svelte-1n46o8q{display:flex;flex-direction:column;padding:var(--sp-5);border:1px solid var(--card-border);border-radius:var(--r-lg);background:var(--card-bg);box-shadow:var(--e-1);color:var(--on-board);text-decoration:none;transition:transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease),border-color var(--dur) var(--ease)}.card.svelte-1n46o8q:hover{transform:translateY(-3px);box-shadow:var(--e-2);border-color:var(--accent)}.card-head.svelte-1n46o8q{display:flex;align-items:center;gap:var(--sp-3)}.card-icon.svelte-1n46o8q{display:grid;place-items:center;flex:none;width:42px;height:42px;padding:9px;border-radius:var(--r-md);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent)}.card-title.svelte-1n46o8q{display:flex;flex-direction:column;gap:1px;min-width:0}.card-title.svelte-1n46o8q h3:where(.svelte-1n46o8q){margin:0;font-size:21px;font-weight:var(--fw-black);letter-spacing:var(--tracking-tight)}.tagline.svelte-1n46o8q{font-size:var(--fs-md);font-weight:var(--fw-bold);color:var(--accent)}.card-desc.svelte-1n46o8q{margin:var(--sp-4) 0 var(--sp-4);font-size:var(--fs-md);line-height:1.55;color:var(--on-board-dim)}.tags.svelte-1n46o8q{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 var(--sp-4);padding:0;list-style:none}.tags.svelte-1n46o8q li:where(.svelte-1n46o8q){padding:4px 9px;border:1px solid var(--card-border);border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--on-board-dim)}.card-foot.svelte-1n46o8q{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:var(--sp-3);border-top:1px solid var(--card-border);font-size:var(--fs-sm);font-weight:var(--fw-bold)}.host.svelte-1n46o8q{color:var(--on-board-dim)}.open.svelte-1n46o8q{display:inline-flex;align-items:center;gap:6px;color:var(--accent)}.arrow.svelte-1n46o8q{transition:transform var(--dur) var(--ease)}.card.svelte-1n46o8q:hover .arrow:where(.svelte-1n46o8q){transform:translate(3px)}footer.svelte-1n46o8q{width:min(1080px,calc(100% - (2*clamp(var(--sp-4),5vw,var(--sp-6)))));margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:var(--sp-5) 0 clamp(40px,8vh,64px);border-top:1px solid var(--card-border)}.footer-links.svelte-1n46o8q{display:flex;flex-wrap:wrap;gap:var(--sp-4)}.footer-links.svelte-1n46o8q a:where(.svelte-1n46o8q){color:var(--on-board-dim);text-decoration:none;font-size:var(--fs-md);font-weight:var(--fw-bold)}.footer-links.svelte-1n46o8q a:where(.svelte-1n46o8q):hover{color:var(--accent)}.copyright.svelte-1n46o8q{font-size:var(--fs-sm);color:var(--on-board-dim)}@media(max-width:640px){.grid.svelte-1n46o8q{grid-template-columns:minmax(0,1fr)}}
