.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.scroll-to-top[data-astro-cid-p774adf7]{z-index:99;border-radius:var(--scroll-top-radius,50%);background:var(--demo-action-bg);width:3rem;height:3rem;color:var(--demo-action-color);box-shadow:0 4px 14px var(--glow-color-strong);opacity:0;pointer-events:none;transition:opacity var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base), scale var(--transition-press);justify-content:center;align-items:center;display:flex;position:fixed;bottom:2rem;right:2rem;transform:translateY(20px)}.scroll-to-top[data-astro-cid-p774adf7].visible{opacity:1;pointer-events:auto;transform:translateY(0)}@media (hover:hover) and (pointer:fine){.scroll-to-top[data-astro-cid-p774adf7]:hover{box-shadow:0 6px 20px var(--glow-color-strong);transform:translateY(-4px)}}.scroll-to-top[data-astro-cid-p774adf7]:active{scale:.94}@media (width<=1024px){.scroll-to-top[data-astro-cid-p774adf7]{bottom:2rem;right:1.5rem}}@media (width<=768px){.scroll-to-top[data-astro-cid-p774adf7]{width:2.75rem;height:2.75rem;bottom:1.5rem;right:1rem}}.main-bottom-design[data-astro-cid-ju4pidww]{justify-content:center;padding:2rem 0 1rem;display:none}@media (width<=768px){.main-bottom-design[data-astro-cid-ju4pidww]{display:flex}}.main-design-btn[data-astro-cid-ju4pidww]{border-radius:var(--radius-full,9999px);background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast), scale var(--transition-press);align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.82rem;font-weight:500;display:flex}@media (hover:hover) and (pointer:fine){.main-design-btn[data-astro-cid-ju4pidww]:hover{color:var(--accent-text);background:var(--bg-card);border-color:var(--accent-text)}}:root{color-scheme:dark;--bg-primary:#0a0a0f;--bg-primary-rgb:10, 10, 15;--bg-secondary:#12121a;--bg-card:#16161f;--bg-card-hover:#1c1c28;--bg-nav:#0a0a0fcc;--bg-nav-scrolled:#0a0a0ff2;--text-primary:#e4e4e7;--text-secondary:#a1a1aa;--text-muted:#84848d;--accent-start:#6366f1;--accent-end:#a855f7;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#818cf8;--glow-color:#6366f126;--glow-color-strong:#6366f159;--border-color:#27272a;--border-color-hover:#3f3f46;--nav-height:4rem;--nav-control-size:2.5rem;--nav-icon-size:1.125rem;--nav-focus-ring:0 0 0 3px color-mix(in srgb, var(--accent-start) 40%, transparent);--section-padding:6rem 0;--container-width:1100px;--container-padding:0 1.5rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--transition-press:.12s var(--ease-out);--transition-fast:.15s var(--ease-out);--transition-base:.25s var(--ease-out);--transition-slow:.4s var(--ease-out);--reveal-distance:16px;--reveal-duration:.42s;--reveal-step:50ms;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--font-serif:"Playfair Display", Georgia, "Times New Roman", serif;--font-display:var(--font-sans);--font-pixel:"Press Start 2P", ui-monospace, monospace;--status-success:#4ade80;--status-error:#fca5a5;--status-warning:#fde047;--status-info:#93c5fd;--status-online:var(--status-success);--shadow-card:0 1px 2px #0000000a;--shadow-card-hover:0 8px 30px #0003;--border-width:1px;--border-style:solid;--demo-panel-bg:var(--bg-card);--demo-panel-border:var(--border-color);--demo-panel-radius:var(--radius-lg);--demo-action-bg:linear-gradient(#00000080, #00000080), var(--accent-gradient);--demo-action-color:#fff}html[data-theme=light]{color-scheme:light;--bg-primary:#f8fafc;--bg-primary-rgb:248, 250, 252;--bg-secondary:#f1f5f9;--bg-card:#fff;--bg-card-hover:#f1f5f9;--bg-nav:#f8fafcd9;--bg-nav-scrolled:#f8fafcfa;--text-primary:#18181b;--text-secondary:#3f3f46;--text-muted:#52525b;--accent-start:#4f46e5;--accent-end:#9333ea;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#4f46e5;--glow-color:#4f46e526;--glow-color-strong:#4f46e559;--border-color:#e4e4e7;--border-color-hover:#d4d4d8;--status-success:#166534;--status-error:#991b1b;--status-warning:#713f12;--status-info:#1e40af}*,:before,:after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}html{scroll-behavior:smooth;scroll-padding-top:var(--nav-height);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body{font-family:var(--font-sans);color:var(--text-primary);background-color:var(--bg-primary);font-size:1rem;line-height:1.7;overflow-x:hidden}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:none}h1,h2,h3,h4{color:var(--text-primary);text-wrap:balance;font-weight:700;line-height:1.2}h1{font-size:clamp(2.5rem,6vw,4rem)}h2{font-size:clamp(1.75rem,4vw,2.5rem)}h3{font-size:clamp(1.25rem,2.5vw,1.5rem)}p{color:var(--text-secondary);text-wrap:pretty}.container{max-width:var(--container-width);padding:var(--container-padding);margin:0 auto}.section{padding:var(--section-padding)}.section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-text);margin-bottom:.75rem;font-size:.85rem;font-weight:600;display:inline-block}.section-title{margin-bottom:1rem}.section-title:last-child{margin-bottom:3rem}.section-subtitle{color:var(--text-secondary);max-width:600px;margin-bottom:3rem}@media (width<=768px){:root{--section-padding:4rem 0;--container-padding:0 1.25rem}}.gradient-text{color:var(--accent-text)}@keyframes reveal-in{0%{opacity:0;transform:translateY(var(--reveal-distance))}}.reveal:not(.visible),.reveal-stagger:not(.visible)>*{opacity:0}.reveal.visible{animation:reveal-in var(--reveal-duration) var(--ease-out) backwards}.reveal-stagger.visible:not(.revealed)>*{animation:reveal-in var(--reveal-duration) var(--ease-out) backwards;animation-delay:calc(var(--reveal-i,0) * var(--reveal-step))}.reveal-stagger>:nth-child(2){--reveal-i:1}.reveal-stagger>:nth-child(3){--reveal-i:2}.reveal-stagger>:nth-child(4){--reveal-i:3}.reveal-stagger>:nth-child(5){--reveal-i:4}.reveal-stagger>:nth-child(n+6){--reveal-i:5}@media (scripting:none){.reveal,.reveal-stagger>*{opacity:1}}@media (prefers-reduced-motion:reduce){.reveal,.reveal-stagger>*{opacity:1!important;animation:none!important;transform:none!important}html{scroll-behavior:auto}}::selection{background:color-mix(in srgb, var(--accent-start) 38%, transparent);color:var(--text-primary)}input,textarea{caret-color:var(--accent-text)}:root{accent-color:var(--accent-start);scrollbar-color:var(--border-color) var(--bg-primary);scrollbar-width:thin;-webkit-tap-highlight-color:transparent}a,button,summary,input,select,textarea,label,[role=button]{touch-action:manipulation}:where(button,[role=button],summary){transition:scale var(--transition-press)}:where(button,[role=button],summary):where(:not(:disabled,[aria-disabled=true])):active{scale:.97}@media (hover:hover) and (pointer:fine){.demo-hover:hover{--hover-color:var(--accent-text);--hover-border:var(--accent-start);--hover-bg:var(--bg-card-hover)}.demo-lift:hover{transform:translateY(-2px)}}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--accent-start);outline-offset:4px;border-radius:2px}.skip-to-content{background:var(--accent-gradient);color:#fff;z-index:9999;border-radius:var(--radius-md);opacity:0;transition:top var(--transition-fast), opacity var(--transition-fast);padding:.5rem 1rem;font-weight:600;position:absolute;top:-100%;left:50%;transform:translate(-50%)}.skip-to-content:focus{opacity:1;top:1rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}@media (hover:hover) and (pointer:fine){::-webkit-scrollbar-thumb:hover{background:var(--border-color-hover)}}.demo-header-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1.5rem;display:flex}.demo-header-github{color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast), scale var(--transition-press);align-items:center;gap:.5rem;padding:.4rem 1rem;font-size:.85rem;font-weight:500;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.demo-header-github:hover{background:var(--bg-card-hover);border-color:var(--text-secondary);color:var(--text-primary);transform:translateY(-2px)}}.demo-header-github:active{scale:.97}html[data-theme=barcelona-night]{color-scheme:dark;--bg-primary:#101a18;--bg-primary-rgb:16, 26, 24;--bg-secondary:#162521;--bg-card:#1b2d28;--bg-card-hover:#223a34;--bg-nav:#101a18b8;--bg-nav-scrolled:#101a18f2;--text-primary:#f2f6f1;--text-secondary:#c3d0ca;--text-muted:#9aada5;--accent-start:#56c7b2;--accent-end:#ff8a65;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#68d2bd;--accent-signal:#ff8a65;--glow-color:#56c7b229;--glow-color-strong:#56c7b257;--border-color:#2d4841;--border-color-hover:#3e6359}html[data-theme=barcelona-day]{color-scheme:light;--bg-primary:#f4f7f2;--bg-primary-rgb:244, 247, 242;--bg-secondary:#e7eee9;--bg-card:#fff;--bg-card-hover:#dce7e1;--bg-nav:#f4f7f2d1;--bg-nav-scrolled:#f4f7f2f7;--text-primary:#17231f;--text-secondary:#3f514b;--text-muted:#52645e;--accent-start:#006d72;--accent-end:#b9472f;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#00686d;--accent-signal:#b9472f;--glow-color:#006d7221;--glow-color-strong:#006d7245;--border-color:#cbd8d1;--border-color-hover:#afc2b8;--status-success:#166534;--status-error:#991b1b;--status-warning:#713f12;--status-info:#1e40af}html[data-theme=terminal-night]{color-scheme:dark;--bg-primary:#0a140c;--bg-primary-rgb:10, 20, 12;--bg-secondary:#0d1b10;--bg-card:#112317;--bg-card-hover:#19331f;--bg-nav:#0a140c99;--bg-nav-scrolled:#0a140ce6;--text-primary:#9fffb4;--text-secondary:#6bd688;--text-muted:#4baa5f;--accent-start:#3f6;--accent-end:#0c4;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#3f6;--glow-color:#33ff6638;--glow-color-strong:#33ff6680;--border-color:#1e4a2b;--border-color-hover:#2d6b42}html[data-theme=cyber-night]{color-scheme:dark;--bg-primary:#0b0221;--bg-primary-rgb:11, 2, 33;--bg-secondary:#150936;--bg-card:#1d1046;--bg-card-hover:#2a1866;--bg-nav:#0b022199;--bg-nav-scrolled:#0b0221e0;--text-primary:#f9f7ff;--text-secondary:#d0bdff;--text-muted:#9986d3;--accent-start:#ff2a6d;--accent-end:#0ff0fc;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#ff5087;--glow-color:#ff2a6d38;--glow-color-strong:#ff2a6d80;--border-color:#3a2780;--border-color-hover:#5a3dd6}html[data-theme=editorial-night]{color-scheme:dark;--bg-primary:#2a1119;--bg-primary-rgb:42, 17, 25;--bg-secondary:#3a1722;--bg-card:#451c2a;--bg-card-hover:#552635;--bg-nav:#2a1119b8;--bg-nav-scrolled:#2a1119f2;--text-primary:#f6e9ec;--text-secondary:#d2c1c5;--text-muted:#b19ca1;--accent-start:#f58aa8;--accent-end:#eea67f;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#f58aa8;--glow-color:#f58aa829;--glow-color-strong:#f58aa857;--border-color:#422930;--border-color-hover:#573e45}html[data-theme=editorial-day]{color-scheme:light;--bg-primary:#faf6f5;--bg-primary-rgb:250, 246, 245;--bg-secondary:#f3ebe9;--bg-card:#fefdfd;--bg-card-hover:#ece3e1;--bg-nav:#faf6f5d1;--bg-nav-scrolled:#faf6f5f7;--text-primary:#1b1416;--text-secondary:#473d40;--text-muted:#5a5052;--accent-start:#b0123c;--accent-end:#7c1d6f;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#b0123c;--glow-color:#b0123c21;--glow-color-strong:#b0123c45;--border-color:#d9d5d4;--border-color-hover:#b9b4b4;--status-success:#166534;--status-error:#991b1b;--status-warning:#713f12;--status-info:#1e40af}html[data-theme=pixel-night]{color-scheme:dark;--bg-primary:#15111d;--bg-primary-rgb:21, 17, 29;--bg-secondary:#1f192b;--bg-card:#272034;--bg-card-hover:#332b42;--bg-nav:#15111db8;--bg-nav-scrolled:#15111df2;--text-primary:#f2ecf6;--text-secondary:#ccc4d1;--text-muted:#a79dad;--accent-start:#ff8a1f;--accent-end:#ffd04a;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#ff8a1f;--glow-color:#ff8a1f29;--glow-color-strong:#ff8a1f57;--border-color:#2c2835;--border-color-hover:#423e4a}html[data-theme=pixel-day]{color-scheme:light;--bg-primary:#dff0fb;--bg-primary-rgb:223, 240, 251;--bg-secondary:#cee7f8;--bg-card:#f3f8fa;--bg-card-hover:#c3e0f3;--bg-nav:#dff0fbd1;--bg-nav-scrolled:#dff0fbf7;--text-primary:#0b1531;--text-secondary:#303f66;--text-muted:#42537a;--accent-start:#c4281c;--accent-end:#1b4fbf;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#b9180e;--glow-color:#c4281c21;--glow-color-strong:#c4281c45;--border-color:#bfd0de;--border-color-hover:#a1b1c2;--status-success:#166534;--status-error:#991b1b;--status-warning:#713f12;--status-info:#1e40af}html[data-theme=terminal-day]{color-scheme:light;--bg-primary:#eef4e6;--bg-primary-rgb:238, 244, 230;--bg-secondary:#e2ebd6;--bg-card:#fafcf8;--bg-card-hover:#dae4cc;--bg-nav:#eef4e6d1;--bg-nav-scrolled:#eef4e6f7;--text-primary:#0f1f10;--text-secondary:#364b37;--text-muted:#495f49;--accent-start:#166534;--accent-end:#0f766e;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#166534;--glow-color:#16653421;--glow-color-strong:#16653445;--border-color:#cdd5c6;--border-color-hover:#adb7a8;--status-success:#166534;--status-error:#991b1b;--status-warning:#713f12;--status-info:#1e40af}html[data-theme=cyber-day]{color-scheme:light;--bg-primary:#f3efff;--bg-primary-rgb:243, 239, 255;--bg-secondary:#eae4fb;--bg-card:#fcfbff;--bg-card-hover:#e2dbf7;--bg-nav:#f3efffd1;--bg-nav-scrolled:#f3effff7;--text-primary:#160a35;--text-secondary:#3e336c;--text-muted:#514781;--accent-start:#b0006b;--accent-end:#0a6c8f;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#b0006b;--glow-color:#b0006b21;--glow-color-strong:#b0006b45;--border-color:#d2cee3;--border-color-hover:#b2adc7;--status-success:#166534;--status-error:#991b1b;--status-warning:#713f12;--status-info:#1e40af}html[data-theme=notebook-night]{color-scheme:dark;--bg-primary:#1b2826;--bg-primary-rgb:27, 40, 38;--bg-secondary:#213431;--bg-card:#273c39;--bg-card-hover:#304945;--bg-nav:#1b2826b8;--bg-nav-scrolled:#1b2826f2;--text-primary:#eef1ea;--text-secondary:#d9ddd4;--text-muted:#b1b7ab;--accent-start:#f2d268;--accent-end:#8fd4b8;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#f2d268;--glow-color:#f2d26829;--glow-color-strong:#f2d26857;--border-color:#323e3c;--border-color-hover:#47534f}html[data-theme=notebook-day]{color-scheme:light;--bg-primary:#f5f8fb;--bg-primary-rgb:245, 248, 251;--bg-secondary:#e9eef4;--bg-card:#fdfdfe;--bg-card-hover:#e0e7ed;--bg-nav:#f5f8fbd1;--bg-nav-scrolled:#f5f8fbf7;--text-primary:#16223d;--text-secondary:#394a6d;--text-muted:#506287;--accent-start:#1c4fd1;--accent-end:#0e7490;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#1c4fd1;--glow-color:#1c4fd121;--glow-color-strong:#1c4fd145;--border-color:#d4d9e0;--border-color-hover:#b4bbc6;--status-success:#166534;--status-error:#991b1b;--status-warning:#713f12;--status-info:#1e40af}html[data-theme=brutalist-night]{color-scheme:dark;--bg-primary:#151515;--bg-primary-rgb:21, 21, 21;--bg-secondary:#1f1f1f;--bg-card:#262626;--bg-card-hover:#323232;--bg-nav:#151515b8;--bg-nav-scrolled:#151515f2;--text-primary:#f1f1ee;--text-secondary:#cacac6;--text-muted:#a4a49f;--accent-start:#ff4a1c;--accent-end:#ffe000;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#fc7353;--glow-color:#ff4a1c29;--glow-color-strong:#ff4a1c57;--border-color:#2c2c2c;--border-color-hover:#424241}html[data-theme=brutalist-day]{color-scheme:light;--bg-primary:#f6f6f3;--bg-primary-rgb:246, 246, 243;--bg-secondary:#ecece7;--bg-card:#fdfdfd;--bg-card-hover:#e4e4dd;--bg-nav:#f6f6f3d1;--bg-nav-scrolled:#f6f6f3f7;--text-primary:#0a0a0a;--text-secondary:#313131;--text-muted:#444;--accent-start:#1212d6;--accent-end:#d40000;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#1212d6;--glow-color:#1212d621;--glow-color-strong:#1212d645;--border-color:#d3d3d0;--border-color-hover:#b0b0ae;--status-success:#166534;--status-error:#991b1b;--status-warning:#713f12;--status-info:#1e40af}html[data-theme=blueprint-night]{color-scheme:dark;--bg-primary:#0c2f55;--bg-primary-rgb:12, 47, 85;--bg-secondary:#01396f;--bg-card:#00417e;--bg-card-hover:#054e92;--bg-nav:#0c2f55b8;--bg-nav-scrolled:#0c2f55f2;--text-primary:#e8f3ff;--text-secondary:#e1eefb;--text-muted:#b3c5d8;--accent-start:#7fd3ff;--accent-end:#4aa8e8;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#7fd3ff;--glow-color:#7fd3ff29;--glow-color-strong:#7fd3ff57;--border-color:#27466a;--border-color-hover:#3e5a7c;--status-success:#4ade80;--status-error:#fdacac;--status-warning:#fde047;--status-info:#93c5fd}html[data-theme=blueprint-day]{color-scheme:light;--bg-primary:#e8f0f6;--bg-primary-rgb:232, 240, 246;--bg-secondary:#dae7f0;--bg-card:#f7f9fa;--bg-card-hover:#d1dfea;--bg-nav:#e8f0f6d1;--bg-nav-scrolled:#e8f0f6f7;--text-primary:#0a2340;--text-secondary:#26466c;--text-muted:#406188;--accent-start:#0a5a9c;--accent-end:#017590;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#0a5a9c;--glow-color:#0a5a9c21;--glow-color-strong:#0a5a9c45;--border-color:#c8d3dd;--border-color-hover:#a8b6c4;--status-success:#166534;--status-error:#991b1b;--status-warning:#713f12;--status-info:#1e40af}html[data-theme=academic-night]{color-scheme:dark;--bg-primary:#101a16;--bg-primary-rgb:16, 26, 22;--bg-secondary:#16251f;--bg-card:#1c2d26;--bg-card-hover:#263932;--bg-nav:#101a16b8;--bg-nav-scrolled:#101a16f2;--text-primary:#ebe7da;--text-secondary:#cac4b2;--text-muted:#a8a18d;--accent-start:#7fc4a0;--accent-end:#c9d6a0;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#7fc4a0;--glow-color:#7fc4a029;--glow-color-strong:#7fc4a057;--border-color:#28302b;--border-color-hover:#3d453e}html[data-theme=academic-day]{color-scheme:light;--bg-primary:#fdfcf9;--bg-primary-rgb:253, 252, 249;--bg-secondary:#f4f2ec;--bg-card:#fefdfd;--bg-card-hover:#eceae3;--bg-nav:#fdfcf9d1;--bg-nav-scrolled:#fdfcf9f7;--text-primary:#16181d;--text-secondary:#3f4249;--text-muted:#52555c;--accent-start:#15429b;--accent-end:#8b1d2c;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#15429b;--glow-color:#15429b21;--glow-color-strong:#15429b45;--border-color:#dbdad9;--border-color-hover:#babab9;--status-success:#166534;--status-error:#991b1b;--status-warning:#713f12;--status-info:#1e40af}html[data-theme=ide-night]{color-scheme:dark;--bg-primary:#16181c;--bg-primary-rgb:22, 24, 28;--bg-secondary:#1f2227;--bg-card:#262930;--bg-card-hover:#31353d;--bg-nav:#16181cb8;--bg-nav-scrolled:#16181cf2;--text-primary:#dde1e7;--text-secondary:#bfc4cd;--text-muted:#9ba1ab;--accent-start:#5aa9ee;--accent-end:#b68ae6;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#5aa9ee;--glow-color:#5aa9ee29;--glow-color-strong:#5aa9ee57;--border-color:#2b2e32;--border-color-hover:#3f4246}html[data-theme=ide-day]{color-scheme:light;--bg-primary:#f6f7f9;--bg-primary-rgb:246, 247, 249;--bg-secondary:#ebedf1;--bg-card:#fdfdfe;--bg-card-hover:#e3e5ea;--bg-nav:#f6f7f9d1;--bg-nav-scrolled:#f6f7f9f7;--text-primary:#1f2328;--text-secondary:#444a51;--text-muted:#5c6269;--accent-start:#0b63c5;--accent-end:#7a4bd0;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#0661c2;--glow-color:#0b63c521;--glow-color-strong:#0b63c545;--border-color:#d7d8db;--border-color-hover:#b8babd;--status-success:#166534;--status-error:#991b1b;--status-warning:#713f12;--status-info:#1e40af}html[data-theme=risograph-night]{color-scheme:dark;--bg-primary:#141217;--bg-primary-rgb:20, 18, 23;--bg-secondary:#1e1b22;--bg-card:#25222a;--bg-card-hover:#312d37;--bg-nav:#141217b8;--bg-nav-scrolled:#141217f2;--text-primary:#f4efe9;--text-secondary:#cec7bf;--text-muted:#a9a198;--accent-start:#ff6f9c;--accent-end:#4cc9f0;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#ff6f9c;--glow-color:#ff6f9c29;--glow-color-strong:#ff6f9c57;--border-color:#2c292e;--border-color-hover:#423f42}html[data-theme=risograph-day]{color-scheme:light;--bg-primary:#f3f0ea;--bg-primary-rgb:243, 240, 234;--bg-secondary:#ebe6dc;--bg-card:#fbfaf9;--bg-card-hover:#e4ded2;--bg-nav:#f3f0ead1;--bg-nav-scrolled:#f3f0eaf7;--text-primary:#1b1a1f;--text-secondary:#45444b;--text-muted:#59575e;--accent-start:#cf1968;--accent-end:#1666c1;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#bc055c;--glow-color:#cf196821;--glow-color-strong:#cf196845;--border-color:#d3d1cc;--border-color-hover:#b4b2b0;--status-success:#166534;--status-error:#991b1b;--status-warning:#713f12;--status-info:#1e40af}html[data-theme=deco-night]{color-scheme:dark;--bg-primary:#0d0c0a;--bg-primary-rgb:13, 12, 10;--bg-secondary:#171512;--bg-card:#1e1c19;--bg-card-hover:#292723;--bg-nav:#0d0c0ab8;--bg-nav-scrolled:#0d0c0af2;--text-primary:#f1e8d4;--text-secondary:#cdc1a5;--text-muted:#a99b7a;--accent-start:#c9a961;--accent-end:#e8cf89;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#c9a961;--glow-color:#c9a96129;--glow-color-strong:#c9a96157;--border-color:#25231f;--border-color-hover:#3b3832}html[data-theme=deco-day]{color-scheme:light;--bg-primary:#f5eedd;--bg-primary-rgb:245, 238, 221;--bg-secondary:#eee4cb;--bg-card:#faf8f4;--bg-card-hover:#e8dcbf;--bg-nav:#f5eeddd1;--bg-nav-scrolled:#f5eeddf7;--text-primary:#1c1710;--text-secondary:#484137;--text-muted:#5b544a;--accent-start:#88651d;--accent-end:#b88d3a;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#7b5809;--glow-color:#88651d21;--glow-color-strong:#88651d45;--border-color:#d5cebf;--border-color-hover:#b6b0a1;--status-success:#166534;--status-error:#991b1b;--status-warning:#713f12;--status-info:#1e40af}html[data-theme=wabisabi-night]{color-scheme:dark;--bg-primary:#1c1b19;--bg-primary-rgb:28, 27, 25;--bg-secondary:#262522;--bg-card:#2e2c29;--bg-card-hover:#3a3835;--bg-nav:#1c1b19b8;--bg-nav-scrolled:#1c1b19f2;--text-primary:#e9e4d8;--text-secondary:#d0c9b8;--text-muted:#ada591;--accent-start:#b7a98a;--accent-end:#8f9e86;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#b7a98a;--glow-color:#b7a98a29;--glow-color-strong:#b7a98a57;--border-color:#32312e;--border-color-hover:#474541}html[data-theme=wabisabi-day]{color-scheme:light;--bg-primary:#efebe1;--bg-primary-rgb:239, 235, 225;--bg-secondary:#e7e1d2;--bg-card:#f6f5f3;--bg-card-hover:#e0d9c7;--bg-nav:#efebe1d1;--bg-nav-scrolled:#efebe1f7;--text-primary:#27241f;--text-secondary:#46423b;--text-muted:#605c55;--accent-start:#2f4b73;--accent-end:#76674c;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#2f4b73;--glow-color:#2f4b7321;--glow-color-strong:#2f4b7345;--border-color:#d2cec5;--border-color-hover:#b6b2a9;--status-success:#166534;--status-error:#991b1b;--status-warning:#713f12;--status-info:#1e40af}html[data-theme=zine-night]{color-scheme:dark;--bg-primary:#131313;--bg-primary-rgb:19, 19, 19;--bg-secondary:#1d1d1d;--bg-card:#242424;--bg-card-hover:#2f2f2f;--bg-nav:#131313b8;--bg-nav-scrolled:#131313f2;--text-primary:#f1f1ec;--text-secondary:#cacac3;--text-muted:#a4a49c;--accent-start:#ff3d8b;--accent-end:#ffd84d;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#ff6098;--glow-color:#ff3d8b29;--glow-color-strong:#ff3d8b57;--border-color:#2a2a2a;--border-color-hover:#40403f}html[data-theme=zine-day]{color-scheme:light;--bg-primary:#efefea;--bg-primary-rgb:239, 239, 234;--bg-secondary:#e5e5dd;--bg-card:#f9f9f7;--bg-card-hover:#deded4;--bg-nav:#efefead1;--bg-nav-scrolled:#efefeaf7;--text-primary:#0f0f0f;--text-secondary:#373737;--text-muted:#4a4a4a;--accent-start:#c9185a;--accent-end:#b87a00;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#b90c51;--glow-color:#c9185a21;--glow-color-strong:#c9185a45;--border-color:#cecec9;--border-color-hover:#adadaa;--status-success:#166534;--status-error:#991b1b;--status-warning:#713f12;--status-info:#1e40af}html[data-theme=comic-night]{color-scheme:dark;--bg-primary:#101b33;--bg-primary-rgb:16, 27, 51;--bg-secondary:#152446;--bg-card:#1a2c52;--bg-card-hover:#233765;--bg-nav:#101b33b8;--bg-nav-scrolled:#101b33f2;--text-primary:#fff7e6;--text-secondary:#dacfb8;--text-muted:#b6a98d;--accent-start:#ffd23f;--accent-end:#ff5c5c;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#ffd23f;--glow-color:#ffd23f29;--glow-color-strong:#ffd23f57;--border-color:#293448;--border-color-hover:#414a5b}html[data-theme=comic-day]{color-scheme:light;--bg-primary:#fffbea;--bg-primary-rgb:255, 251, 234;--bg-secondary:#f7f1d8;--bg-card:#fefdf9;--bg-card-hover:#f0e9cc;--bg-nav:#fffbead1;--bg-nav-scrolled:#fffbeaf7;--text-primary:#14110d;--text-secondary:#3e3a34;--text-muted:#514c46;--accent-start:#1a5fd1;--accent-end:#d9281c;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#1a5fd1;--glow-color:#1a5fd121;--glow-color-strong:#1a5fd145;--border-color:#dcd8c9;--border-color-hover:#bab6a9;--status-success:#166534;--status-error:#991b1b;--status-warning:#713f12;--status-info:#1e40af}html[data-theme=newspaper-night]{color-scheme:dark;--bg-primary:#1b1a17;--bg-primary-rgb:27, 26, 23;--bg-secondary:#252420;--bg-card:#2d2b27;--bg-card-hover:#393732;--bg-nav:#1b1a17b8;--bg-nav-scrolled:#1b1a17f2;--text-primary:#ebe6d8;--text-secondary:#cec7b4;--text-muted:#aba38d;--accent-start:#e8574a;--accent-end:#c9b98a;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#fe7c6d;--glow-color:#e8574a29;--glow-color-strong:#e8574a57;--border-color:#32302c;--border-color-hover:#46443f}html[data-theme=newspaper-day]{color-scheme:light;--bg-primary:#efece4;--bg-primary-rgb:239, 236, 228;--bg-secondary:#e7e2d5;--bg-card:#f7f6f4;--bg-card-hover:#e0dacb;--bg-nav:#efece4d1;--bg-nav-scrolled:#efece4f7;--text-primary:#141310;--text-secondary:#3e3c38;--text-muted:#504f4a;--accent-start:#a61e1e;--accent-end:#5c1010;--accent-gradient:linear-gradient(135deg, var(--accent-start), var(--accent-end));--accent-text:#a61e1e;--glow-color:#a61e1e21;--glow-color-strong:#a61e1e45;--border-color:#cfccc5;--border-color-hover:#afada6;--status-success:#166534;--status-error:#991b1b;--status-warning:#713f12;--status-info:#1e40af}html:is([data-design=minimal],[data-design=editorial],[data-design=swiss],[data-design=pixel],[data-design=cyber],[data-design=academic],[data-design=deco],[data-design=wabisabi]) .section-label{display:none}html[data-design=minimal]{--font-display:var(--font-sans);--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--border-width:1px;--shadow-card:0 1px 2px #0000000a}html[data-design=editorial]{--font-sans:"Crimson Pro", "Source Serif Pro", Georgia, serif;--font-display:"Playfair Display", Georgia, "Times New Roman", serif;--radius-sm:0;--radius-md:0;--radius-lg:0;--border-width:1px;--shadow-card:none;--section-padding:5rem 0;--container-width:960px}html[data-design=editorial] body{letter-spacing:.005em;font-size:1.125rem;line-height:1.8}html[data-design=editorial] h1,html[data-design=editorial] h2,html[data-design=editorial] h3,html[data-design=editorial] h4{font-family:var(--font-display);letter-spacing:-.015em;font-weight:700}html[data-design=editorial] .hero-name{font-family:var(--font-display);letter-spacing:-.04em;font-style:italic;font-weight:900}html[data-design=editorial] .hero-greeting{text-transform:none;letter-spacing:.02em;font-family:JetBrains Mono,ui-monospace,monospace;font-style:italic}html[data-design=editorial] .section-title{border-bottom:1px solid var(--border-color);margin-bottom:2rem;padding-bottom:1rem;font-size:clamp(2.25rem,5vw,3.5rem)}html[data-design=editorial] .about-text p:first-of-type:first-letter{float:left;font-family:var(--font-display);color:var(--accent-text);padding:.1em .1em 0 0;font-size:4.5em;font-weight:800;line-height:.85}html[data-design=editorial] .about-text{columns:2;column-rule:1px solid var(--border-color);column-gap:2.5rem}html[data-design=editorial] .about-text p,html[data-design=editorial] .about-text ul,html[data-design=editorial] .about-text .about-actions{break-inside:avoid}html[data-design=editorial] .card,html[data-design=editorial] .skill-group,html[data-design=editorial] .timeline-content,html[data-design=editorial] .work-card,html[data-design=editorial] .education-card,html[data-design=editorial] .certification-card,html[data-design=editorial] .demo-card,html[data-design=editorial] .contact-form{border:0;border-top:2px solid var(--text-primary);box-shadow:none;background:0 0;border-radius:0;padding-top:1.25rem}html[data-design=editorial] .skill-pill,html[data-design=editorial] .demo-tags li,html[data-design=editorial] .work-tags li{border-left:2px solid var(--accent-start);background:0 0;border-top:0;border-bottom:0;border-right:0;border-radius:0;padding:0 .5rem}html[data-design=editorial] .navbar{-webkit-backdrop-filter:none;background:var(--bg-primary);border-bottom:1px solid var(--border-color)}html[data-design=editorial] .nav-logo{font-family:var(--font-display);font-style:italic}html[data-design=editorial] .nav-links{gap:1.25rem}html[data-design=editorial] .nav-link{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem}html[data-design=editorial] .hero-cta,html[data-design=editorial] .contact-submit{background:var(--text-primary);color:var(--bg-primary);letter-spacing:.1em;text-transform:uppercase;border-radius:0;font-family:JetBrains Mono,ui-monospace,monospace}html[data-design=editorial] .hero-grid,html[data-design=editorial] .hero-gradient{display:none}@media (width<=768px){html[data-design=editorial] .about-text{columns:1}}html[data-design=swiss]{--font-sans:"Inter Tight", Helvetica, Arial, "Helvetica Neue", sans-serif;--font-display:var(--font-sans);--radius-sm:0;--radius-md:0;--radius-lg:0;--border-width:1px;--shadow-card:none;--section-padding:7rem 0;--container-width:1180px;--swiss-accent:var(--accent-text);--swiss-signal:var(--accent-signal,var(--accent-text));--swiss-on-accent:var(--bg-primary);--demo-panel-bg:transparent;--demo-panel-border:var(--text-primary);--demo-panel-radius:0;--demo-action-bg:var(--swiss-signal);--demo-action-color:var(--swiss-on-accent)}html[data-design=swiss][data-theme=barcelona-day]{--swiss-on-accent:#fff}html[data-design=swiss] body{letter-spacing:-.005em;font-size:1rem}html[data-design=swiss] h1,html[data-design=swiss] h2,html[data-design=swiss] h3,html[data-design=swiss] h4{letter-spacing:-.03em;text-transform:none;font-weight:700}html[data-design=swiss] .hero-name{letter-spacing:-.05em;font-size:clamp(2.5rem,14.5vw,4rem);font-weight:900;line-height:.9}@media (width>=481px){html[data-design=swiss] .hero-name{font-size:clamp(4rem,12vw,8rem)}}html[data-design=swiss] .hero-greeting,html[data-design=swiss] .nav-link{text-transform:uppercase;letter-spacing:.12em;font-size:.75rem;font-weight:600}html[data-design=swiss] .section{border-top:1px solid var(--text-primary);padding-top:4rem;position:relative}html[data-design=swiss] .section[data-num]:before{content:attr(data-num);top:1rem;right:max(1.5rem, calc((100% - var(--container-width)) / 2 + 1.5rem));color:var(--swiss-signal);letter-spacing:-.05em;font-variant-numeric:tabular-nums;pointer-events:none;font-size:clamp(3rem,8vw,7rem);font-weight:800;line-height:1;position:absolute}@media (width<=768px){html[data-design=swiss] .section[data-num]:before{right:1.25rem}}html[data-design=swiss] .section-title{letter-spacing:-.04em;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800}html[data-design=swiss] .navbar{background:var(--bg-primary);-webkit-backdrop-filter:none;border-bottom:1px solid var(--text-primary)}html[data-design=swiss] .nav-link:after{background:var(--swiss-accent)}html[data-design=swiss] .card,html[data-design=swiss] .skill-group,html[data-design=swiss] .timeline-content,html[data-design=swiss] .work-card,html[data-design=swiss] .education-card,html[data-design=swiss] .certification-card,html[data-design=swiss] .demo-card,html[data-design=swiss] .contact-form{border:1px solid var(--text-primary);box-shadow:none;background:0 0;border-radius:0}html[data-design=swiss] .skill-pill,html[data-design=swiss] .demo-tags li,html[data-design=swiss] .work-tags li{border:1px solid var(--text-primary);background:0 0;border-radius:0;font-weight:500}html[data-design=swiss] .hero-cta,html[data-design=swiss] .contact-submit{background:var(--swiss-signal);color:var(--swiss-on-accent);text-transform:uppercase;letter-spacing:.15em;border:0;border-radius:0;font-weight:700}html[data-design=swiss] .gradient-text{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--swiss-accent)}html[data-design=swiss]{--scroll-top-radius:0}html[data-design=swiss] .hero-grid,html[data-design=swiss] .hero-gradient{display:none}html[data-design=pixel]{--font-sans:"Press Start 2P", ui-monospace, "Courier New", monospace;--font-mono:"Press Start 2P", ui-monospace, "Courier New", monospace;--font-display:var(--font-sans);--radius-sm:0;--radius-md:0;--radius-lg:0;--border-width:3px;--shadow-card:4px 4px 0 var(--text-primary);--section-padding:4rem 0;--pixel-on-accent:#000;image-rendering:pixelated}html[data-design=pixel][data-theme=pixel-day]{--pixel-on-accent:#fff}html[data-design=pixel] body{letter-spacing:0;font-size:.8rem;line-height:1.9}html[data-design=pixel] p,html[data-design=pixel] li,html[data-design=pixel] span,html[data-design=pixel] label,html[data-design=pixel] input,html[data-design=pixel] textarea,html[data-design=pixel] button{font-size:.72rem}html[data-design=pixel] h1{font-size:clamp(1.4rem,3.5vw,2rem);line-height:1.4}html[data-design=pixel] h2{font-size:clamp(1.1rem,2.5vw,1.4rem);line-height:1.4}html[data-design=pixel] h3{font-size:clamp(.9rem,1.5vw,1.05rem);line-height:1.4}html[data-design=pixel] .hero-name{letter-spacing:0;font-size:clamp(1.6rem,4.5vw,2.8rem);font-weight:400;line-height:1.3}html[data-design=pixel] .hero-tagline{font-size:clamp(.8rem,1.6vw,1rem);line-height:1.6}html[data-design=pixel] .hero-description{font-size:.75rem;line-height:2}html[data-design=pixel] .card,html[data-design=pixel] .skill-group,html[data-design=pixel] .timeline-content,html[data-design=pixel] .work-card,html[data-design=pixel] .education-card,html[data-design=pixel] .certification-card,html[data-design=pixel] .demo-card,html[data-design=pixel] .contact-form{background:var(--bg-card);border:3px solid var(--text-primary);box-shadow:6px 6px 0 var(--text-primary);border-radius:0}@media (hover:hover) and (pointer:fine){html[data-design=pixel] .card:hover,html[data-design=pixel] .skill-group:hover,html[data-design=pixel] .timeline-content:hover,html[data-design=pixel] .work-card:hover,html[data-design=pixel] .education-card:hover,html[data-design=pixel] .certification-card:hover,html[data-design=pixel] .demo-card:hover{box-shadow:8px 8px 0 var(--accent-start);transform:translate(-2px,-2px)}}html[data-design=pixel] .skill-pill,html[data-design=pixel] .demo-tags li,html[data-design=pixel] .work-tags li{border:2px solid var(--text-primary);box-shadow:3px 3px 0 var(--text-primary);background:var(--bg-secondary);border-radius:0;padding:.4rem .7rem;font-size:.65rem}html[data-design=pixel] .navbar{background:var(--bg-primary);-webkit-backdrop-filter:none;border-bottom:3px solid var(--text-primary)}html[data-design=pixel] .nav-links{gap:1rem}html[data-design=pixel] .nav-link{white-space:nowrap;font-size:.55rem}html[data-design=pixel] .hero-cta,html[data-design=pixel] .contact-submit{background:var(--accent-start);color:var(--pixel-on-accent);border:3px solid var(--text-primary);box-shadow:5px 5px 0 var(--text-primary);border-radius:0;padding:.85rem 1.5rem;font-size:.75rem}@media (hover:hover) and (pointer:fine){html[data-design=pixel] .hero-cta:hover,html[data-design=pixel] .contact-submit:hover{box-shadow:7px 7px 0 var(--text-primary);transform:translate(-2px,-2px)}}html[data-design=pixel] .hero-cta:active,html[data-design=pixel] .contact-submit:active{box-shadow:2px 2px 0 var(--text-primary);transform:translate(2px,2px)}html[data-design=pixel] .form-group input,html[data-design=pixel] .form-group textarea{border:3px solid var(--text-primary);background:var(--bg-primary);font-family:var(--font-sans);border-radius:0;font-size:.72rem}html[data-design=pixel] .gradient-text{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--accent-text)}html[data-design=pixel] .hero-grid,html[data-design=pixel] .hero-gradient{display:none}html[data-design=pixel] .hero-greeting:after{content:"_";color:var(--accent-text);margin-left:.25rem;display:inline-block}@media (prefers-reduced-motion:no-preference){html[data-design=pixel] .hero-greeting:after{animation:1s step-end infinite design-pixel-blink}@keyframes design-pixel-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}}html[data-design=terminal]{--font-sans:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-display:var(--font-sans);--font-mono:var(--font-sans);--radius-sm:0;--radius-md:0;--radius-lg:0;--border-width:1px;--shadow-card:none;--container-width:1100px}html[data-design=terminal] body{letter-spacing:0;font-size:.95rem;line-height:1.7;position:relative}html[data-design=terminal] body:after{content:"";pointer-events:none;z-index:1;mix-blend-mode:multiply;background:repeating-linear-gradient(#0000 0 2px,#0000000f 2px 3px),radial-gradient(#0000 55%,#00000040 100%);position:fixed;inset:0}html[data-design=terminal][data-theme=terminal-day] body:after{background:repeating-linear-gradient(#0000 0 2px,#0000000a 2px 3px),radial-gradient(#0000 60%,#0000001f 100%)}html[data-design=terminal] h1,html[data-design=terminal] h2,html[data-design=terminal] h3,html[data-design=terminal] h4{letter-spacing:-.01em;font-weight:600}html[data-design=terminal] .hero-name{letter-spacing:-.02em;font-size:clamp(2rem,5.5vw,3.5rem);font-weight:700}html[data-design=terminal] .hero-greeting:before{content:"$ ";color:var(--accent-text)}html[data-design=terminal] .hero-greeting:after{content:"_";color:var(--accent-text);margin-left:.25rem;display:inline-block}html[data-design=terminal] .section-label:before{content:"// ";color:var(--text-muted);opacity:.7}html[data-design=terminal] .section-title:before{content:"> ";color:var(--accent-text);opacity:.8}html[data-design=terminal] .gradient-text{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--accent-text)}html[data-design=terminal] .card,html[data-design=terminal] .skill-group,html[data-design=terminal] .timeline-content,html[data-design=terminal] .work-card,html[data-design=terminal] .education-card,html[data-design=terminal] .certification-card,html[data-design=terminal] .demo-card,html[data-design=terminal] .contact-form{background:var(--bg-card);border:1px dashed var(--border-color-hover);box-shadow:none;border-radius:0;position:relative}html[data-design=terminal] .card:before,html[data-design=terminal] .skill-group:before,html[data-design=terminal] .timeline-content:before,html[data-design=terminal] .work-card:before,html[data-design=terminal] .education-card:before,html[data-design=terminal] .certification-card:before,html[data-design=terminal] .demo-card:before,html[data-design=terminal] .contact-form:before{content:"┌─";font-family:var(--font-mono);color:var(--accent-text);background:var(--bg-primary);opacity:.6;padding:0 .25rem;font-size:.75rem;line-height:1;position:absolute;top:-.1em;left:.5rem}html[data-design=terminal] .skill-pill,html[data-design=terminal] .demo-tags li,html[data-design=terminal] .work-tags li{border:1px solid var(--border-color-hover);font-family:var(--font-mono);background:0 0;border-radius:0;padding:.2rem .5rem}html[data-design=terminal] .skill-pill:before,html[data-design=terminal] .demo-tags li:before,html[data-design=terminal] .work-tags li:before{content:"[";color:var(--accent-text);margin-right:.15rem}html[data-design=terminal] .skill-pill:not(.has-tooltip):after,html[data-design=terminal] .demo-tags li:after,html[data-design=terminal] .work-tags li:after{content:"]";color:var(--accent-text);margin-left:.15rem}html[data-design=terminal] .skill-pill.has-tooltip .skill-bracket-close{color:var(--accent-text);margin-left:.15rem}.skill-bracket-close{display:none}html[data-design=terminal] .skill-bracket-close{display:inline}html[data-design=terminal] .navbar{background:var(--bg-primary);-webkit-backdrop-filter:none;border-bottom:1px dashed var(--border-color-hover)}html[data-design=terminal] .nav-logo:before{content:"~/";color:var(--accent-text);opacity:.7}html[data-design=terminal] .nav-link{font-family:var(--font-mono);font-size:.85rem}html[data-design=terminal] .nav-link:before{content:"./";opacity:.5;margin-right:.1rem}html[data-design=terminal] .hero-cta,html[data-design=terminal] .contact-submit{color:var(--accent-text);border:1px solid var(--accent-start);font-family:var(--font-mono);letter-spacing:0;background:0 0;border-radius:0}html[data-design=terminal] .hero-cta:before,html[data-design=terminal] .contact-submit:before{content:"> "}@media (hover:hover) and (pointer:fine){html[data-design=terminal] .hero-cta:hover,html[data-design=terminal] .contact-submit:hover{background:var(--accent-start);color:var(--bg-primary)}}html[data-design=terminal] .form-group input,html[data-design=terminal] .form-group textarea{background:var(--bg-primary);border:1px solid var(--border-color-hover);font-family:var(--font-mono);border-radius:0}html[data-design=terminal] .hero-grid,html[data-design=terminal] .hero-gradient{display:none}@media (prefers-reduced-motion:no-preference){html[data-design=terminal] .hero-greeting:after{animation:1s step-end infinite design-terminal-blink}@keyframes design-terminal-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}}html[data-design=cyber]{--font-sans:"Inter Tight", "Inter", system-ui, sans-serif;--font-display:"Orbitron", "Inter Tight", sans-serif;--radius-sm:0;--radius-md:0;--radius-lg:0;--border-width:1px;--shadow-card:0 0 20px color-mix(in oklab, var(--accent-start) 25%, transparent);--cyber-pink:#ff2e88;--cyber-cyan:#00f0ff;--cyber-on-neon:var(--bg-primary)}html[data-design=cyber][data-theme=cyber-day]{--cyber-pink:var(--accent-start);--cyber-cyan:var(--accent-end);--cyber-on-neon:#fff}html[data-design=cyber] body{letter-spacing:.01em;background:linear-gradient(180deg, transparent 0%, transparent 60%, color-mix(in oklab, var(--accent-start) 10%, transparent) 100%), var(--bg-primary)}html[data-design=cyber] h1,html[data-design=cyber] h2,html[data-design=cyber] h3,html[data-design=cyber] h4{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em;font-weight:800}html[data-design=cyber] .hero-name{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.01em;text-shadow:-2px 0 0 var(--cyber-pink), 2px 0 0 var(--cyber-cyan), 0 0 30px color-mix(in oklab, var(--accent-start) 50%, transparent);font-size:clamp(1.75rem,9vw,6rem);font-weight:900;line-height:.95}html[data-design=cyber] .hero-greeting,html[data-design=cyber] .nav-link{text-transform:uppercase;letter-spacing:.2em;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.7rem}html[data-design=cyber] .section-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.02em}html[data-design=cyber] .gradient-text{background:linear-gradient(90deg, var(--cyber-pink), var(--cyber-cyan));-webkit-text-fill-color:transparent;background-clip:text}html[data-design=cyber] .card,html[data-design=cyber] .skill-group,html[data-design=cyber] .timeline-content,html[data-design=cyber] .work-card,html[data-design=cyber] .education-card,html[data-design=cyber] .certification-card,html[data-design=cyber] .demo-card,html[data-design=cyber] .contact-form{background:color-mix(in oklab, var(--bg-card) 85%, transparent);border:1px solid var(--accent-start);box-shadow:0 0 0 1px color-mix(in oklab, var(--accent-start) 25%, transparent), 0 0 30px color-mix(in oklab, var(--accent-start) 18%, transparent), inset 0 0 20px color-mix(in oklab, var(--accent-start) 6%, transparent);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));border-radius:0}@media (hover:hover) and (pointer:fine){html[data-design=cyber] .card:hover,html[data-design=cyber] .skill-group:hover,html[data-design=cyber] .work-card:hover,html[data-design=cyber] .demo-card:hover,html[data-design=cyber] .education-card:hover,html[data-design=cyber] .certification-card:hover{box-shadow:0 0 0 1px var(--accent-start), 0 0 40px color-mix(in oklab, var(--accent-start) 35%, transparent), inset 0 0 30px color-mix(in oklab, var(--accent-start) 10%, transparent)}}html[data-design=cyber] .skill-pill,html[data-design=cyber] .demo-tags li,html[data-design=cyber] .work-tags li{border:1px solid var(--accent-start);text-transform:uppercase;letter-spacing:.12em;color:var(--accent-text);background:0 0;border-radius:0;padding:.3rem .6rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.65rem}html[data-design=cyber] .navbar{background:color-mix(in oklab, var(--bg-primary) 85%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--accent-start);box-shadow:0 0 20px color-mix(in oklab, var(--accent-start) 20%, transparent)}html[data-design=cyber] .nav-logo{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.15em}html[data-design=cyber] .hero-cta,html[data-design=cyber] .contact-submit{background:linear-gradient(90deg, var(--cyber-pink), var(--accent-start));color:var(--cyber-on-neon);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.15em;box-shadow:0 0 20px color-mix(in oklab, var(--cyber-pink) 40%, transparent), 0 0 40px color-mix(in oklab, var(--accent-start) 25%, transparent);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));border:0;border-radius:0;font-weight:700}@media (hover:hover) and (pointer:fine){html[data-design=cyber] .hero-cta:hover,html[data-design=cyber] .contact-submit:hover{box-shadow:0 0 30px color-mix(in oklab, var(--cyber-pink) 60%, transparent), 0 0 60px color-mix(in oklab, var(--accent-start) 40%, transparent)}}html[data-design=cyber] .form-group input,html[data-design=cyber] .form-group textarea{background:color-mix(in oklab, var(--bg-secondary) 70%, transparent);border:1px solid var(--accent-start);border-radius:0;font-family:JetBrains Mono,ui-monospace,monospace}html[data-design=cyber] .form-group input:focus,html[data-design=cyber] .form-group textarea:focus{box-shadow:0 0 0 2px color-mix(in oklab, var(--accent-start) 40%, transparent)}html[data-design=cyber] .hero{position:relative;overflow:hidden}html[data-design=cyber] .hero:before{content:"";transform-origin:50% 0;background-image:linear-gradient(to right, color-mix(in oklab, var(--cyber-cyan) 55%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in oklab, var(--cyber-pink) 45%, transparent) 1px, transparent 1px);opacity:.6;pointer-events:none;z-index:0;background-size:48px 48px;width:200%;height:50%;position:absolute;bottom:0;left:50%;transform:translate(-50%)perspective(600px)rotateX(65deg);mask-image:linear-gradient(#0000 15%,#000 100%)}html[data-design=cyber] .hero>*{z-index:1;position:relative}html[data-design=cyber] .hero-grid,html[data-design=cyber] .hero-gradient{display:none}@media (prefers-reduced-motion:no-preference){html[data-design=cyber] .hero:before{animation:18s linear infinite design-cyber-grid}@keyframes design-cyber-grid{0%{background-position:0 0,0 0}to{background-position:0 48px,48px 0}}}html[data-design=notebook]{--font-display:"Caveat", "Bradley Hand", "Comic Sans MS", cursive;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--border-width:1.5px;--shadow-card:2px 3px 0 #0000001f, 4px 8px 16px #00000014;--nb-ink:var(--text-primary);--nb-highlight:color-mix(in oklab, var(--accent-start) 35%, #fff58a);--nb-line:color-mix(in oklab, var(--text-primary) 14%, transparent)}html[data-design=notebook] body{background-image:linear-gradient(to right, var(--nb-line) 1px, transparent 1px), linear-gradient(to bottom, var(--nb-line) 1px, transparent 1px);background-size:28px 28px,28px 28px;background-attachment:fixed;line-height:1.75}html[data-design=notebook] h1,html[data-design=notebook] h2,html[data-design=notebook] h3,html[data-design=notebook] h4{font-family:var(--font-display);letter-spacing:-.01em;font-weight:700;line-height:1.1}html[data-design=notebook] .hero-name{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(3.5rem,10vw,6.5rem);font-weight:700;line-height:1;display:inline-block;position:relative;transform:rotate(-1deg)}html[data-design=notebook] .hero-name:after{content:"";background:var(--nb-highlight);mix-blend-mode:multiply;opacity:.55;z-index:-1;pointer-events:none;height:.35em;position:absolute;bottom:.05em;left:-.2em;right:-.2em;transform:skewY(-1deg)}html[data-design=notebook] .hero-greeting,html[data-design=notebook] .section-label{font-family:var(--font-display);letter-spacing:0;text-transform:none;color:var(--text-muted);font-size:1.25rem}html[data-design=notebook] .hero-greeting:before{content:"PS: ";color:var(--accent-text);font-style:italic}html[data-design=notebook] .section-title{font-family:var(--font-display);letter-spacing:-.02em;font-size:clamp(2.5rem,6vw,4rem)}html[data-design=notebook] .gradient-text{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--accent-text);position:relative}html[data-design=notebook] .card,html[data-design=notebook] .skill-group,html[data-design=notebook] .timeline-content,html[data-design=notebook] .work-card,html[data-design=notebook] .education-card,html[data-design=notebook] .certification-card,html[data-design=notebook] .demo-card,html[data-design=notebook] .contact-form{background:var(--bg-card);border:1.5px solid var(--nb-ink);border-radius:var(--radius-md);transition:transform var(--transition-medium);position:relative;box-shadow:2px 3px #0000001f,4px 8px 16px #00000014}html[data-design=notebook] .card:nth-of-type(odd),html[data-design=notebook] .timeline-content:nth-of-type(odd),html[data-design=notebook] .work-card:nth-of-type(odd),html[data-design=notebook] .education-card:nth-of-type(odd),html[data-design=notebook] .certification-card:nth-of-type(odd),html[data-design=notebook] .demo-card:nth-of-type(odd){transform:rotate(-.4deg)}html[data-design=notebook] .card:nth-of-type(2n),html[data-design=notebook] .timeline-content:nth-of-type(2n),html[data-design=notebook] .work-card:nth-of-type(2n),html[data-design=notebook] .education-card:nth-of-type(2n),html[data-design=notebook] .certification-card:nth-of-type(2n),html[data-design=notebook] .demo-card:nth-of-type(2n){transform:rotate(.35deg)}@media (hover:hover) and (pointer:fine){html[data-design=notebook] .card:hover,html[data-design=notebook] .work-card:hover,html[data-design=notebook] .education-card:hover,html[data-design=notebook] .certification-card:hover,html[data-design=notebook] .demo-card:hover{transform:rotate(0)translateY(-2px);box-shadow:3px 4px #00000024,6px 12px 20px #0000001a}}html[data-design=notebook] .card:before,html[data-design=notebook] .work-card:before,html[data-design=notebook] .demo-card:before,html[data-design=notebook] .education-card:before,html[data-design=notebook] .certification-card:before{content:"";background:color-mix(in oklab, var(--accent-start) 55%, #fff);opacity:.85;pointer-events:none;width:58px;height:18px;position:absolute;top:-10px;left:18px;transform:rotate(-3deg);box-shadow:0 2px 4px #0000001f}html[data-design=notebook] .skill-pill,html[data-design=notebook] .demo-tags li,html[data-design=notebook] .work-tags li{background:color-mix(in oklab, var(--accent-start) 18%, var(--bg-card));border:1px dashed var(--nb-ink);font-family:var(--font-display);border-radius:999px;padding:.2rem .8rem;font-size:1rem;transform:rotate(-1deg)}html[data-design=notebook] .skill-pill:nth-child(2n),html[data-design=notebook] .demo-tags li:nth-child(2n),html[data-design=notebook] .work-tags li:nth-child(2n){transform:rotate(1.2deg)}html[data-design=notebook] .navbar{background:color-mix(in oklab, var(--bg-nav) 92%, transparent);-webkit-backdrop-filter:blur(8px);border-bottom:1.5px dashed var(--nb-line)}html[data-design=notebook] .nav-logo{font-family:var(--font-display);font-size:1.6rem;font-weight:700}html[data-design=notebook] .nav-link{font-family:var(--font-display);letter-spacing:0;text-transform:none;font-size:1.15rem}@media (hover:hover) and (pointer:fine){html[data-design=notebook] .nav-link:hover{text-underline-offset:.25em;text-decoration:underline wavy}}html[data-design=notebook] .hero-cta,html[data-design=notebook] .contact-submit{background:var(--bg-card);color:var(--nb-ink);border:2px solid var(--nb-ink);font-family:var(--font-display);letter-spacing:0;text-transform:none;box-shadow:3px 3px 0 var(--accent-start);border-radius:999px;padding:.75rem 1.75rem;font-size:1.25rem;font-weight:700}@media (hover:hover) and (pointer:fine){html[data-design=notebook] .hero-cta:hover,html[data-design=notebook] .contact-submit:hover{box-shadow:5px 5px 0 var(--accent-start);transform:translate(-1px,-1px)}}html[data-design=notebook] .hero-cta:active,html[data-design=notebook] .contact-submit:active{box-shadow:1px 1px 0 var(--accent-start);transform:translate(2px,2px)}html[data-design=notebook] .form-group input,html[data-design=notebook] .form-group textarea{border:0;border-bottom:1.5px dashed var(--nb-ink);font-family:var(--font-sans);background:0 0;border-radius:0;padding:.5rem .25rem}html[data-design=notebook] .form-group input:focus,html[data-design=notebook] .form-group textarea:focus{border-bottom-style:solid;border-bottom-color:var(--accent-text);box-shadow:none;outline:0}html[data-design=notebook] .hero-grid,html[data-design=notebook] .hero-gradient{display:none}html[data-design=brutalist]{--font-sans:"Times New Roman", Times, Georgia, serif;--font-display:var(--font-sans);--radius-sm:0;--radius-md:0;--radius-lg:0;--border-width:3px;--shadow-card:none;--section-padding:4rem 0;--container-width:1080px;--br-yellow:#ffe000;--br-ink:var(--text-primary)}html[data-design=brutalist] body{letter-spacing:0;font-size:1.05rem;line-height:1.55}html[data-design=brutalist] h1,html[data-design=brutalist] h2,html[data-design=brutalist] h3,html[data-design=brutalist] h4{letter-spacing:-.01em;font-weight:900;line-height:1;font-family:var(--font-display)}html[data-design=brutalist] .hero-name{font-family:var(--font-display);letter-spacing:-.04em;background:var(--br-yellow);color:#000;border:4px solid var(--br-ink);box-shadow:8px 8px 0 var(--br-ink);padding:.05em .25em;font-size:clamp(3.5rem,11vw,7rem);font-weight:900;line-height:.9;display:inline-block;transform:rotate(-1deg)}@media (width<=480px){html[data-design=brutalist] .hero-name{font-size:clamp(2.5rem,14.4vw,3.5rem)}}html[data-design=brutalist] .hero-greeting,html[data-design=brutalist] .section-label{text-transform:uppercase;letter-spacing:0;background:var(--br-ink);color:var(--bg-primary);-webkit-text-fill-color:currentColor;-webkit-background-clip:border-box;background-clip:border-box;padding:.15rem .45rem;font-family:Arial Black,Arial,sans-serif;font-size:.85rem;font-weight:900;display:inline-block}html[data-design=brutalist] .section-title{letter-spacing:-.04em;text-underline-offset:.2em;font-size:clamp(2.5rem,7vw,4.5rem);font-weight:900;text-decoration:underline 6px}html[data-design=brutalist] .section{border-top:4px solid var(--br-ink);padding-top:3rem}html[data-design=brutalist] .section:nth-of-type(2n){border-top-style:double;border-top-width:8px}html[data-design=brutalist] .gradient-text{background:var(--br-yellow);-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:#000;color:#000;padding:0 .15em}html[data-design=brutalist] .card,html[data-design=brutalist] .skill-group,html[data-design=brutalist] .timeline-content,html[data-design=brutalist] .work-card,html[data-design=brutalist] .education-card,html[data-design=brutalist] .certification-card,html[data-design=brutalist] .demo-card,html[data-design=brutalist] .contact-form{background:var(--bg-card);border:4px solid var(--br-ink);box-shadow:8px 8px 0 var(--br-ink);border-radius:0}@media (hover:hover) and (pointer:fine){html[data-design=brutalist] .card:hover,html[data-design=brutalist] .work-card:hover,html[data-design=brutalist] .education-card:hover,html[data-design=brutalist] .certification-card:hover,html[data-design=brutalist] .demo-card:hover,html[data-design=brutalist] .skill-group:hover,html[data-design=brutalist] .timeline-content:hover{background:var(--br-yellow);color:#000;box-shadow:10px 10px 0 var(--br-ink);transform:translate(-2px,-2px)}html[data-design=brutalist] .card:hover *,html[data-design=brutalist] .work-card:hover *,html[data-design=brutalist] .demo-card:hover *,html[data-design=brutalist] .timeline-content:hover *,html[data-design=brutalist] .education-card:hover *,html[data-design=brutalist] .certification-card:hover *,html[data-design=brutalist] .skill-group:hover *{color:#000!important;border-color:#000!important}}html[data-design=brutalist] .skill-pill,html[data-design=brutalist] .demo-tags li,html[data-design=brutalist] .work-tags li{background:var(--bg-secondary);border:2px solid var(--br-ink);text-transform:uppercase;letter-spacing:.03em;border-radius:0;padding:.25rem .55rem;font-family:Arial,sans-serif;font-weight:700}@media (hover:hover) and (pointer:fine){html[data-design=brutalist] .work-card:hover .work-badge,html[data-design=brutalist] .card:hover .skill-pill,html[data-design=brutalist] .work-card:hover .skill-pill,html[data-design=brutalist] .demo-card:hover .skill-pill,html[data-design=brutalist] .timeline-content:hover .skill-pill,html[data-design=brutalist] .education-card:hover .skill-pill,html[data-design=brutalist] .certification-card:hover .skill-pill,html[data-design=brutalist] .skill-group:hover .skill-pill,html[data-design=brutalist] .card:hover .demo-tags li,html[data-design=brutalist] .work-card:hover .demo-tags li,html[data-design=brutalist] .demo-card:hover .demo-tags li,html[data-design=brutalist] .card:hover .work-tags li,html[data-design=brutalist] .work-card:hover .work-tags li,html[data-design=brutalist] .demo-card:hover .work-tags li,html[data-design=brutalist] .demo-card:hover .demo-video-button{background:#fff!important}}html[data-design=brutalist] .navbar{background:var(--bg-primary);-webkit-backdrop-filter:none;border-bottom:4px solid var(--br-ink)}html[data-design=brutalist] .nav-logo{text-transform:uppercase;letter-spacing:-.02em;font-family:Arial Black,Arial,sans-serif;text-decoration:underline 3px}html[data-design=brutalist] .nav-link{font-family:var(--font-sans);text-underline-offset:.15em;font-size:1rem;font-style:italic;text-decoration:underline}@media (hover:hover) and (pointer:fine){html[data-design=brutalist] .nav-link:hover{background:var(--br-yellow);color:#000;text-decoration:none}}html[data-design=brutalist] .hero-cta,html[data-design=brutalist] .contact-submit{background:var(--br-yellow);color:#000;border:4px solid var(--br-ink);text-transform:uppercase;letter-spacing:.02em;box-shadow:6px 6px 0 var(--br-ink);border-radius:0;padding:.85rem 1.75rem;font-family:Arial Black,Arial,sans-serif;font-weight:900}@media (hover:hover) and (pointer:fine){html[data-design=brutalist] .hero-cta:hover,html[data-design=brutalist] .contact-submit:hover{box-shadow:8px 8px 0 var(--br-ink);transform:translate(-2px,-2px)}}html[data-design=brutalist] .hero-cta:active,html[data-design=brutalist] .contact-submit:active{box-shadow:2px 2px 0 var(--br-ink);transform:translate(3px,3px)}html[data-design=brutalist] .form-group input,html[data-design=brutalist] .form-group textarea{background:var(--bg-primary);border:3px solid var(--br-ink);border-radius:0;padding:.6rem .75rem;font-family:Arial,sans-serif}html[data-design=brutalist] .form-group input:focus,html[data-design=brutalist] .form-group textarea:focus{background:var(--br-yellow);color:#000;box-shadow:4px 4px 0 var(--br-ink);outline:0}html[data-design=brutalist] a{text-underline-offset:.15em;text-decoration:underline 2px}html[data-design=brutalist] .hero-grid,html[data-design=brutalist] .hero-gradient{display:none}html[data-design=blueprint]{--font-sans:"Inter Tight", "Inter", system-ui, sans-serif;--font-display:"JetBrains Mono", ui-monospace, monospace;--radius-sm:0;--radius-md:0;--radius-lg:0;--border-width:1px;--shadow-card:none;--bp-ink:color-mix(in oklab, #fff 92%, var(--accent-start));--bp-grid:color-mix(in oklab, var(--accent-start) 35%, transparent);--bp-grid-strong:color-mix(in oklab, var(--accent-start) 55%, transparent);--bp-tint:color-mix(in oklab, var(--bg-primary) 82%, var(--accent-start))}html[data-design=blueprint][data-theme=blueprint-day]{--bp-ink:color-mix(in oklab, var(--text-primary) 80%, transparent);--bp-grid:color-mix(in oklab, var(--accent-start) 30%, transparent);--bp-grid-strong:color-mix(in oklab, var(--accent-start) 50%, transparent);--bp-tint:color-mix(in oklab, var(--bg-primary) 88%, var(--accent-start))}html[data-design=blueprint] body{background-color:var(--bp-tint);background-image:linear-gradient(to right, var(--bp-grid) 1px, transparent 1px), linear-gradient(to bottom, var(--bp-grid) 1px, transparent 1px), linear-gradient(to right, var(--bp-grid-strong) 1px, transparent 1px), linear-gradient(to bottom, var(--bp-grid-strong) 1px, transparent 1px);color:var(--bp-ink);letter-spacing:.005em;background-size:32px 32px,32px 32px,128px 128px,128px 128px;background-attachment:fixed}html[data-design=blueprint] h1,html[data-design=blueprint] h2,html[data-design=blueprint] h3,html[data-design=blueprint] h4{color:var(--bp-ink);letter-spacing:-.01em;font-weight:700}html[data-design=blueprint] .hero-name{font-family:var(--font-sans);letter-spacing:-.04em;color:var(--bp-ink);padding:0 .5em;font-size:clamp(2.75rem,9vw,5.5rem);font-weight:800;line-height:.95;display:inline-block;position:relative}html[data-design=blueprint] .hero-name:before,html[data-design=blueprint] .hero-name:after{content:"";border:1px solid var(--bp-ink);opacity:.7;width:.4em;height:1em;position:absolute;top:50%;transform:translateY(-50%)}html[data-design=blueprint] .hero-name:before{border-right:0;left:-.1em}html[data-design=blueprint] .hero-name:after{border-left:0;right:-.1em}html[data-design=blueprint] .hero-greeting,html[data-design=blueprint] .section-label,html[data-design=blueprint] .nav-link{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.15em;color:color-mix(in oklab, var(--bp-ink) 80%, transparent);font-size:.72rem}html[data-design=blueprint] .section-label:before{content:"SEC · ";opacity:.6}html[data-design=blueprint] .section-title{font-family:var(--font-sans);letter-spacing:-.03em;border-bottom:1px solid var(--bp-ink);margin-bottom:1.5rem;padding-bottom:.5rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:800;position:relative}html[data-design=blueprint] .section-title:after{content:"—";font-family:var(--font-display);opacity:.6;margin-left:.5em;font-weight:400;display:inline-block}html[data-design=blueprint] .gradient-text{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--bp-ink);text-underline-offset:.2em;text-decoration:underline 1px;text-decoration-color:color-mix(in oklab, var(--bp-ink) 40%, transparent)}html[data-design=blueprint] .section[data-num]{position:relative}html[data-design=blueprint] .section[data-num]:before{content:"REV-" attr(data-num);font-family:var(--font-display);letter-spacing:.15em;color:color-mix(in oklab, var(--bp-ink) 60%, transparent);border:1px solid color-mix(in oklab, var(--bp-ink) 40%, transparent);pointer-events:none;padding:.15rem .4rem;font-size:.65rem;position:absolute;top:.75rem;right:.5rem}html[data-design=blueprint] .card,html[data-design=blueprint] .skill-group,html[data-design=blueprint] .timeline-content,html[data-design=blueprint] .work-card,html[data-design=blueprint] .education-card,html[data-design=blueprint] .certification-card,html[data-design=blueprint] .demo-card,html[data-design=blueprint] .contact-form{background:color-mix(in oklab, var(--bg-card) 50%, transparent);border:1px solid var(--bp-ink);box-shadow:none;border-radius:0;position:relative}html[data-design=blueprint] .card:before,html[data-design=blueprint] .card:after,html[data-design=blueprint] .work-card:before,html[data-design=blueprint] .work-card:after,html[data-design=blueprint] .education-card:before,html[data-design=blueprint] .education-card:after,html[data-design=blueprint] .certification-card:before,html[data-design=blueprint] .certification-card:after,html[data-design=blueprint] .demo-card:before,html[data-design=blueprint] .demo-card:after{content:"";border:2px solid var(--bp-ink);pointer-events:none;width:10px;height:10px;position:absolute}html[data-design=blueprint] .card:before,html[data-design=blueprint] .work-card:before,html[data-design=blueprint] .education-card:before,html[data-design=blueprint] .certification-card:before,html[data-design=blueprint] .demo-card:before{border-bottom:0;border-right:0;top:-5px;left:-5px}html[data-design=blueprint] .card:after,html[data-design=blueprint] .work-card:after,html[data-design=blueprint] .education-card:after,html[data-design=blueprint] .certification-card:after,html[data-design=blueprint] .demo-card:after{border-top:0;border-left:0;bottom:-5px;right:-5px}html[data-design=blueprint] .skill-pill,html[data-design=blueprint] .demo-tags li,html[data-design=blueprint] .work-tags li{border:1px solid var(--bp-ink);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.1em;color:var(--bp-ink);background:0 0;border-radius:0;padding:.25rem .55rem;font-size:.68rem}html[data-design=blueprint] .navbar{background:color-mix(in oklab, var(--bp-tint) 90%, transparent);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--bp-ink)}html[data-design=blueprint] .nav-logo{font-family:var(--font-display);letter-spacing:.05em;color:var(--bp-ink);font-size:.95rem}html[data-design=blueprint] .nav-logo:before{content:"⌗ ";opacity:.6}html[data-design=blueprint] .hero-cta,html[data-design=blueprint] .contact-submit{color:var(--bp-ink);border:1px solid var(--bp-ink);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.2em;background:0 0;border-radius:0;padding:.9rem 1.6rem;font-size:.8rem;position:relative}html[data-design=blueprint] .hero-cta:before,html[data-design=blueprint] .contact-submit:before{content:"[ ";opacity:.5}html[data-design=blueprint] .hero-cta:after,html[data-design=blueprint] .contact-submit:after{content:" ]";opacity:.5}@media (hover:hover) and (pointer:fine){html[data-design=blueprint] .hero-cta:hover,html[data-design=blueprint] .contact-submit:hover{background:color-mix(in oklab, var(--bp-ink) 12%, transparent);box-shadow:inset 0 0 0 1px var(--bp-ink)}}html[data-design=blueprint] .form-group input,html[data-design=blueprint] .form-group textarea{border:1px solid var(--bp-ink);font-family:var(--font-display);color:var(--bp-ink);background:0 0;border-radius:0;font-size:.85rem}html[data-design=blueprint] .form-group input:focus,html[data-design=blueprint] .form-group textarea:focus{box-shadow:inset 0 0 0 1px var(--bp-ink);outline:0}html[data-design=blueprint] .hero-grid,html[data-design=blueprint] .hero-gradient{display:none}html[data-design=academic]{--font-sans:"EB Garamond", "Crimson Pro", "Source Serif Pro", Georgia, "Times New Roman", serif;--font-display:var(--font-sans);--radius-sm:0;--radius-md:0;--radius-lg:0;--border-width:1px;--shadow-card:none;--section-padding:5.5rem 0;--container-width:880px;counter-reset:acad-section}html[data-design=academic] body{letter-spacing:.005em;background:var(--bg-primary);font-size:1.15rem;line-height:1.75}html[data-design=academic] p{text-align:justify;text-justify:inter-word;hyphens:auto}html[data-design=academic] h1,html[data-design=academic] h2,html[data-design=academic] h3,html[data-design=academic] h4{font-family:var(--font-display);letter-spacing:0;font-weight:700}html[data-design=academic] .hero{text-align:center;min-height:auto;padding-top:calc(var(--nav-height) + 4.5rem);align-items:flex-start;padding-bottom:5rem}html[data-design=academic] .hero-inner,html[data-design=academic] .hero-content{text-align:center;margin:0 auto;padding-top:0}html[data-design=academic] .hero-name{font-family:var(--font-display);letter-spacing:-.005em;text-align:center;margin:0 auto .5rem;font-size:clamp(2.5rem,6vw,4rem);font-weight:700;line-height:1.1}html[data-design=academic] .hero-greeting{font-family:var(--font-display);text-transform:none;letter-spacing:0;color:var(--text-muted);font-size:1rem;font-style:italic}html[data-design=academic] .hero-greeting:before{content:"Abstract. ";color:var(--text-primary);font-style:normal;font-weight:700}html[data-design=academic] .hero-tagline{font-size:1.25rem;font-style:italic}html[data-design=academic] .hero-description{text-align:center;hyphens:none;max-width:62ch;margin-left:auto;margin-right:auto;font-size:1.1rem;line-height:1.75}html[data-design=academic] .section{counter-increment:acad-section;border-top:1px solid color-mix(in oklab, var(--text-primary) 25%, transparent);padding-top:3.25rem}html[data-design=academic] .section-title{font-family:var(--font-display);letter-spacing:-.005em;hyphens:none;margin-top:.25rem;margin-bottom:1.75rem;font-size:clamp(1.9rem,3.5vw,2.6rem);font-weight:700;line-height:1.2}html[data-design=academic] .section-title:before{content:counter(acad-section, decimal-leading-zero) ".  ";font-family:var(--font-display);color:var(--accent-text);font-weight:700}html[data-design=academic] .gradient-text{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--text-primary);font-style:italic}html[data-design=academic] .card,html[data-design=academic] .skill-group,html[data-design=academic] .timeline-content,html[data-design=academic] .work-card,html[data-design=academic] .education-card,html[data-design=academic] .certification-card,html[data-design=academic] .demo-card,html[data-design=academic] .contact-form{border:1px solid color-mix(in oklab, var(--text-primary) 25%, transparent);box-shadow:none;background:0 0;border-radius:0;padding:1.85rem 2.15rem}html[data-design=academic] .work-card h3:before,html[data-design=academic] .demo-card h3:before,html[data-design=academic] .education-card h3:before,html[data-design=academic] .certification-card h3:before{content:"§  ";font-family:var(--font-display);color:var(--accent-text);font-weight:400}html[data-design=academic] .skill-pill,html[data-design=academic] .demo-tags li,html[data-design=academic] .work-tags li{text-transform:none;letter-spacing:.04em;color:var(--accent-text);background:0 0;border:0;border-radius:0;padding:.1rem 0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.72rem;font-weight:500}html[data-design=academic] .skill-pill:before,html[data-design=academic] .demo-tags li:before,html[data-design=academic] .work-tags li:before{content:"["}html[data-design=academic] .skill-pill:after,html[data-design=academic] .demo-tags li:after,html[data-design=academic] .work-tags li:after{content:"]"}html[data-design=academic] .navbar{background:var(--bg-primary);-webkit-backdrop-filter:none;border-bottom:1px solid color-mix(in oklab, var(--text-primary) 20%, transparent)}html[data-design=academic] .nav-logo{font-family:var(--font-display);letter-spacing:0;white-space:nowrap;flex-shrink:0;font-size:1.15rem;font-style:italic;font-weight:700}html[data-design=academic] .nav-links{gap:1.25rem}html[data-design=academic] .nav-link{font-family:var(--font-display);font-variant:small-caps;text-transform:lowercase;letter-spacing:.04em;white-space:nowrap;hyphens:none;font-size:1rem}html[data-design=academic] .hero-cta,html[data-design=academic] .contact-submit{color:var(--accent-text);border:0;border-bottom:1px solid var(--accent-start);font-family:var(--font-display);text-transform:none;letter-spacing:0;box-shadow:none;background:0 0;border-radius:0;padding:.25rem .1rem;font-size:1.05rem;font-style:italic}html[data-design=academic] .hero-cta:after,html[data-design=academic] .contact-submit:after{content:" →";font-style:normal}@media (hover:hover) and (pointer:fine){html[data-design=academic] .hero-cta:hover,html[data-design=academic] .contact-submit:hover{color:var(--accent-text);border-bottom-color:var(--accent-text);box-shadow:none;background:0 0;transform:none}}html[data-design=academic] .form-group input,html[data-design=academic] .form-group textarea{border:0;border-bottom:1px solid color-mix(in oklab, var(--text-primary) 40%, transparent);font-family:var(--font-display);background:0 0;border-radius:0;padding:.5rem 0;font-size:1.05rem}html[data-design=academic] .form-group input:focus,html[data-design=academic] .form-group textarea:focus{border-bottom-color:var(--accent-text);box-shadow:none;outline:0}html[data-design=academic] blockquote{border-left:2px solid var(--accent-start);padding-left:1rem;font-style:italic}html[data-design=academic] .hero-grid,html[data-design=academic] .hero-gradient{display:none}html[data-design=ide]{--font-sans:"JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-display:var(--font-sans);--font-mono:var(--font-sans);--radius-sm:.25rem;--radius-md:.25rem;--radius-lg:.25rem;--border-width:1px;--shadow-card:none;--ide-keyword:#c678dd;--ide-string:#98c379;--ide-func:#61afef;--ide-number:#d19a66;--ide-comment:color-mix(in oklab, var(--text-muted) 90%, transparent);--ide-gutter:color-mix(in oklab, var(--bg-secondary) 85%, transparent);--ide-line:color-mix(in oklab, var(--text-muted) 45%, transparent);--ide-tab-bg:color-mix(in oklab, var(--bg-secondary) 95%, transparent);--ide-tab-active:var(--bg-card)}html[data-design=ide][data-theme=ide-day]{--ide-keyword:#7c3aed;--ide-string:#166534;--ide-func:#1d4ed8;--ide-number:#b45309}html[data-design=ide] body{letter-spacing:0;padding-bottom:26px;font-size:.95rem;line-height:1.65}html[data-design=ide] body:after{content:"⎇ main    ✓ no problems    UTF-8    LF    TypeScript    Ln 42, Col 18";z-index:50;background:var(--accent-start);height:24px;color:var(--bg-primary);font-family:var(--font-mono);letter-spacing:.02em;white-space:nowrap;pointer-events:none;align-items:center;padding:0 1rem;font-size:.7rem;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden}html[data-design=ide] h1,html[data-design=ide] h2,html[data-design=ide] h3,html[data-design=ide] h4{font-family:var(--font-display);letter-spacing:-.005em;font-weight:600}html[data-design=ide] .hero-name{font-family:var(--font-display);letter-spacing:-.015em;color:var(--ide-string);font-size:clamp(2rem,5.5vw,3.5rem);font-weight:700}html[data-design=ide] .hero-name:before,html[data-design=ide] .hero-name:after{content:"\"";color:var(--ide-string);opacity:.8}html[data-design=ide] .hero-greeting{font-family:var(--font-mono);text-transform:none;letter-spacing:0;color:var(--ide-comment);font-style:italic}html[data-design=ide] .hero-greeting:before{content:"// ";opacity:.75}html[data-design=ide] .hero-tagline{font-family:var(--font-mono)}html[data-design=ide] .section-label{font-family:var(--font-mono);text-transform:none;letter-spacing:0;color:var(--ide-comment);font-style:italic}html[data-design=ide] .section-label:before{content:"// ";opacity:.75}html[data-design=ide] .section-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--ide-func);font-weight:700}html[data-design=ide] .section-title:before{content:"▸ ";color:var(--text-muted);opacity:.7;font-weight:400}html[data-design=ide] .section-title:after{content:"()";color:var(--text-muted);opacity:.6;font-weight:400}html[data-design=ide] .gradient-text{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--ide-keyword)}html[data-design=ide] .card,html[data-design=ide] .skill-group,html[data-design=ide] .timeline-content,html[data-design=ide] .work-card,html[data-design=ide] .education-card,html[data-design=ide] .certification-card,html[data-design=ide] .demo-card,html[data-design=ide] .contact-form{background:var(--ide-tab-active);border:1px solid var(--border-color-hover);box-shadow:none;border-radius:.25rem;padding:2.25rem 1.25rem 1.25rem 2.5rem;position:relative;overflow:hidden}html[data-design=ide] .card:before,html[data-design=ide] .work-card:before,html[data-design=ide] .education-card:before,html[data-design=ide] .certification-card:before,html[data-design=ide] .demo-card:before,html[data-design=ide] .contact-form:before{content:"● card.tsx  ×";background:var(--ide-tab-bg);border-bottom:1px solid var(--border-color);height:26px;font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.02em;align-items:center;padding:0 .75rem;font-size:.7rem;display:flex;position:absolute;top:0;left:0;right:0}html[data-design=ide] .skill-group:before{content:"● skills.json  ×";background:var(--ide-tab-bg);border-bottom:1px solid var(--border-color);height:26px;font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.02em;align-items:center;padding:0 .75rem;font-size:.7rem;display:flex;position:absolute;top:0;left:0;right:0}html[data-design=ide] .timeline-content:before{content:"● experience.log  ×";background:var(--ide-tab-bg);border-bottom:1px solid var(--border-color);height:26px;font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.02em;align-items:center;padding:0 .75rem;font-size:.7rem;display:flex;position:absolute;top:0;left:0;right:0}html[data-design=ide] .card:after,html[data-design=ide] .skill-group:after,html[data-design=ide] .timeline-content:after,html[data-design=ide] .work-card:after,html[data-design=ide] .education-card:after,html[data-design=ide] .certification-card:after,html[data-design=ide] .demo-card:after,html[data-design=ide] .contact-form:after{content:"";background:linear-gradient(to right, var(--ide-gutter) 0, var(--ide-gutter) 31px, var(--ide-line) 31px, var(--ide-line) 32px);pointer-events:none;width:32px;position:absolute;top:26px;bottom:0;left:0}html[data-design=ide] .skill-pill,html[data-design=ide] .demo-tags li,html[data-design=ide] .work-tags li{background:color-mix(in oklab, var(--ide-keyword) 12%, transparent);border:1px solid color-mix(in oklab, var(--ide-keyword) 35%, transparent);font-family:var(--font-mono);letter-spacing:0;color:var(--ide-keyword);border-radius:.2rem;padding:.15rem .5rem;font-size:.72rem}html[data-design=ide] .skill-pill:before,html[data-design=ide] .demo-tags li:before,html[data-design=ide] .work-tags li:before{content:"#";opacity:.6;margin-right:.1rem}html[data-design=ide] .navbar{background:var(--bg-secondary);-webkit-backdrop-filter:none;border-bottom:1px solid var(--border-color-hover)}html[data-design=ide] .nav-logo{font-family:var(--font-mono);letter-spacing:0;color:var(--ide-func);font-size:.9rem;font-weight:600}html[data-design=ide] .nav-logo:before{content:"{ ";color:var(--text-muted);opacity:.6}html[data-design=ide] .nav-logo:after{content:" }";color:var(--text-muted);opacity:.6}html[data-design=ide] .nav-link{font-family:var(--font-mono);letter-spacing:0;text-transform:none;color:var(--text-secondary);font-size:.82rem}html[data-design=ide] .nav-link:before{content:"▸ ";opacity:.5}html[data-design=ide] .hero-cta,html[data-design=ide] .contact-submit{background:var(--ide-func);color:var(--bg-primary);font-family:var(--font-mono);letter-spacing:0;text-transform:none;box-shadow:none;border:0;border-radius:.2rem;padding:.6rem 1.25rem;font-size:.85rem;font-weight:600}html[data-design=ide] .hero-cta:before,html[data-design=ide] .contact-submit:before{content:"▶︎ ";font-size:.75rem}@media (hover:hover) and (pointer:fine){html[data-design=ide] .hero-cta:hover,html[data-design=ide] .contact-submit:hover{background:color-mix(in oklab, var(--ide-func) 85%, #fff);transform:none}}html[data-design=ide] .form-group input,html[data-design=ide] .form-group textarea{background:var(--bg-primary);border:1px solid var(--border-color-hover);font-family:var(--font-mono);color:var(--ide-string);border-radius:.2rem;font-size:.85rem}html[data-design=ide] .form-group input:focus,html[data-design=ide] .form-group textarea:focus{border-color:var(--ide-func);box-shadow:0 0 0 1px var(--ide-func);outline:0}html[data-design=ide] .hero-grid,html[data-design=ide] .hero-gradient{display:none}html[data-design=risograph]{--radius-sm:.15rem;--radius-md:.25rem;--radius-lg:.25rem;--border-width:2px;--shadow-card:4px 4px 0 color-mix(in oklab, var(--accent-start) 70%, var(--text-primary));--riso-pink:#ff5b88;--riso-cyan:#3ad3ff}html[data-design=risograph] body{letter-spacing:.005em;background:var(--bg-primary)}html[data-design=risograph] body:after{content:"";pointer-events:none;z-index:1;opacity:.32;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' seed='7' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.55 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");position:fixed;inset:0}html[data-design=risograph] .section{position:relative}html[data-design=risograph] .section:nth-of-type(odd){background:color-mix(in oklab, var(--accent-start) 9%, var(--bg-primary))}html[data-design=risograph] .section:nth-of-type(2n){background:color-mix(in oklab, var(--accent-end) 9%, var(--bg-primary))}html[data-design=risograph] h1,html[data-design=risograph] h2,html[data-design=risograph] h3,html[data-design=risograph] h4{letter-spacing:-.01em;font-weight:800}html[data-design=risograph] .hero-name,html[data-design=risograph] .section-title{text-shadow:-1.5px 1.5px 0 color-mix(in oklab, var(--riso-pink) 65%, transparent), 1.5px -1.5px 0 color-mix(in oklab, var(--riso-cyan) 65%, transparent)}html[data-design=risograph] .hero-name{font-family:var(--font-sans);letter-spacing:-.03em;font-size:clamp(3rem,9vw,5.5rem);font-weight:900;line-height:.95}html[data-design=risograph] .hero-greeting,html[data-design=risograph] .section-label{background:var(--text-primary);color:var(--bg-primary);-webkit-text-fill-color:currentColor;letter-spacing:.1em;text-transform:uppercase;box-shadow:2px 2px 0 color-mix(in oklab, var(--accent-start) 80%, transparent);-webkit-background-clip:border-box;background-clip:border-box;padding:.15rem .5rem;font-size:.7rem;font-weight:700;display:inline-block;transform:rotate(-1.5deg)}html[data-design=risograph] .section-title{letter-spacing:-.03em;font-size:clamp(2rem,5vw,3.25rem);font-weight:900}html[data-design=risograph] .gradient-text{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--accent-text);text-shadow:-1.5px 1.5px 0 color-mix(in oklab, var(--riso-pink) 70%, transparent), 1.5px -1.5px 0 color-mix(in oklab, var(--riso-cyan) 70%, transparent)}html[data-design=risograph] .card,html[data-design=risograph] .skill-group,html[data-design=risograph] .timeline-content,html[data-design=risograph] .work-card,html[data-design=risograph] .education-card,html[data-design=risograph] .certification-card,html[data-design=risograph] .demo-card,html[data-design=risograph] .contact-form{background-color:var(--bg-card);background-image:radial-gradient(color-mix(in oklab, var(--accent-start) 28%, transparent) 1.1px, transparent 1.4px);border:2px solid var(--text-primary);box-shadow:4px 4px 0 color-mix(in oklab, var(--accent-start) 75%, var(--text-primary));background-position:0 0;background-size:8px 8px;border-radius:.25rem}html[data-design=risograph] .section:nth-of-type(2n) .card,html[data-design=risograph] .section:nth-of-type(2n) .work-card,html[data-design=risograph] .section:nth-of-type(2n) .education-card,html[data-design=risograph] .section:nth-of-type(2n) .certification-card,html[data-design=risograph] .section:nth-of-type(2n) .demo-card,html[data-design=risograph] .section:nth-of-type(2n) .skill-group,html[data-design=risograph] .section:nth-of-type(2n) .timeline-content{background-image:radial-gradient(color-mix(in oklab, var(--accent-end) 28%, transparent) 1.1px, transparent 1.4px);box-shadow:4px 4px 0 color-mix(in oklab, var(--accent-end) 75%, var(--text-primary))}@media (hover:hover) and (pointer:fine){html[data-design=risograph] .card:hover,html[data-design=risograph] .work-card:hover,html[data-design=risograph] .education-card:hover,html[data-design=risograph] .certification-card:hover,html[data-design=risograph] .demo-card:hover{box-shadow:6px 6px 0 color-mix(in oklab, var(--accent-start) 85%, var(--text-primary));transform:translate(-2px,-2px)}}html[data-design=risograph] .skill-pill,html[data-design=risograph] .demo-tags li,html[data-design=risograph] .work-tags li{background:var(--text-primary);color:var(--bg-primary);letter-spacing:.04em;text-transform:uppercase;box-shadow:2px 2px 0 color-mix(in oklab, var(--accent-start) 70%, transparent);border:0;border-radius:0;padding:.25rem .55rem;font-size:.65rem;font-weight:700}html[data-design=risograph] .skill-pill:nth-child(odd),html[data-design=risograph] .demo-tags li:nth-child(odd),html[data-design=risograph] .work-tags li:nth-child(odd){background:var(--accent-start);color:var(--bg-primary)}html[data-design=risograph] .navbar{background:var(--bg-primary);-webkit-backdrop-filter:none;border-bottom:2px solid var(--text-primary)}html[data-design=risograph] .nav-logo{letter-spacing:-.02em;text-shadow:-1px 1px 0 color-mix(in oklab, var(--riso-pink) 60%, transparent), 1px -1px 0 color-mix(in oklab, var(--riso-cyan) 60%, transparent);font-weight:900}html[data-design=risograph] .nav-link{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:700}html[data-design=risograph] .hero-cta,html[data-design=risograph] .contact-submit{background:var(--accent-start);color:var(--bg-primary);border:2px solid var(--text-primary);letter-spacing:.08em;text-transform:uppercase;box-shadow:4px 4px 0 var(--text-primary);border-radius:.25rem;padding:.8rem 1.5rem;font-weight:800}@media (hover:hover) and (pointer:fine){html[data-design=risograph] .hero-cta:hover,html[data-design=risograph] .contact-submit:hover{box-shadow:6px 6px 0 var(--text-primary);transform:translate(-2px,-2px)}}html[data-design=risograph] .hero-cta:active,html[data-design=risograph] .contact-submit:active{box-shadow:2px 2px 0 var(--text-primary);transform:translate(2px,2px)}html[data-design=risograph] .form-group input,html[data-design=risograph] .form-group textarea{background:var(--bg-primary);border:2px solid var(--text-primary);font-family:var(--font-sans);border-radius:.15rem;padding:.6rem .75rem}html[data-design=risograph] .form-group input:focus,html[data-design=risograph] .form-group textarea:focus{box-shadow:3px 3px 0 var(--accent-start);outline:0}html[data-design=risograph] .hero-grid,html[data-design=risograph] .hero-gradient{display:none}html[data-design=deco]{--font-sans:"Cormorant Garamond", "Playfair Display", Georgia, serif;--font-display:"Poiret One", "Playfair Display", "Cormorant Garamond", serif;--radius-sm:0;--radius-md:0;--radius-lg:0;--border-width:1px;--shadow-card:none;--deco-gold:#c9a961;--deco-gold-grad:linear-gradient(135deg, #e8cf89 0%, #b88d3a 45%, #e8cf89 100%);counter-reset:deco-section}html[data-design=deco][data-theme=deco-day]{--deco-gold:var(--accent-start);--deco-gold-grad:linear-gradient(135deg, var(--accent-start) 0%, color-mix(in oklab, var(--accent-start) 70%, black) 45%, var(--accent-start) 100%)}html[data-design=deco] body{background-image:radial-gradient(ellipse 120% 70% at 50% -20%, color-mix(in oklab, var(--deco-gold) 22%, transparent), transparent 60%), conic-gradient(from 90deg at 50% 0%, transparent 0deg, color-mix(in oklab, var(--deco-gold) 7%, transparent) 4deg, transparent 8deg, color-mix(in oklab, var(--deco-gold) 7%, transparent) 12deg, transparent 16deg, color-mix(in oklab, var(--deco-gold) 7%, transparent) 20deg, transparent 180deg);background-attachment:fixed;background-color:var(--bg-primary);letter-spacing:.015em}html[data-design=deco] h1,html[data-design=deco] h2,html[data-design=deco] h3,html[data-design=deco] h4{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;font-weight:400}html[data-design=deco] .hero-name{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;background:var(--deco-gold-grad);-webkit-text-fill-color:transparent;text-align:center;background-clip:text;font-size:clamp(2.4rem,9vw,6rem);font-weight:400;line-height:1;display:block;position:relative}html[data-design=deco] .hero-name:before,html[data-design=deco] .hero-name:after{content:"";border-top:1px solid var(--deco-gold);border-bottom:1px solid var(--deco-gold);width:min(360px,60%);height:6px;margin:.5rem auto;display:block}html[data-design=deco] .hero-greeting{font-family:var(--font-display);letter-spacing:.35em;text-transform:uppercase;color:var(--deco-gold);font-size:.75rem;font-weight:400}html[data-design=deco] .section{counter-increment:deco-section;border-top:1px solid var(--deco-gold);border-bottom:1px solid var(--deco-gold);padding:5rem 0;position:relative}html[data-design=deco] .section:before{content:"";border-top:1px solid color-mix(in oklab, var(--deco-gold) 60%, transparent);height:0;position:absolute;top:4px;left:0;right:0}html[data-design=deco] .section-title{font-family:var(--font-display);letter-spacing:.1em;text-align:center;text-transform:uppercase;margin-bottom:2rem;font-size:clamp(2rem,4.5vw,3rem);font-weight:400}html[data-design=deco] .section-title:before{content:counter(deco-section, upper-roman) "  ·  ";color:var(--deco-gold);font-weight:400}html[data-design=deco] .gradient-text{background:var(--deco-gold-grad);-webkit-text-fill-color:transparent;background-clip:text}html[data-design=deco] .card,html[data-design=deco] .skill-group,html[data-design=deco] .timeline-content,html[data-design=deco] .work-card,html[data-design=deco] .education-card,html[data-design=deco] .certification-card,html[data-design=deco] .demo-card,html[data-design=deco] .contact-form{background:color-mix(in oklab, var(--bg-card) 80%, transparent);border:1px solid var(--deco-gold);box-shadow:inset 0 0 0 3px var(--bg-card), inset 0 0 0 4px var(--deco-gold);clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px);border-radius:0;padding:1.75rem}html[data-design=deco] .card h3,html[data-design=deco] .work-card h3,html[data-design=deco] .education-card h3,html[data-design=deco] .certification-card h3,html[data-design=deco] .demo-card h3{text-align:center;color:var(--deco-gold);letter-spacing:.15em;margin-bottom:1rem;font-size:1.1rem;position:relative}html[data-design=deco] .card h3:after,html[data-design=deco] .work-card h3:after,html[data-design=deco] .education-card h3:after,html[data-design=deco] .certification-card h3:after,html[data-design=deco] .demo-card h3:after{content:"◆";color:var(--deco-gold);margin:.4rem auto 0;font-size:.6rem;display:block}html[data-design=deco] .skill-pill,html[data-design=deco] .demo-tags li,html[data-design=deco] .work-tags li{border:1px solid var(--deco-gold);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.2em;color:var(--deco-gold);background:0 0;border-radius:0;padding:.35rem .75rem;font-size:.7rem}html[data-design=deco] .navbar{background:color-mix(in oklab, var(--bg-primary) 92%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--deco-gold);box-shadow:0 1px 0 var(--deco-gold)}html[data-design=deco] .nav-logo{font-family:var(--font-display);letter-spacing:.3em;text-transform:uppercase;background:var(--deco-gold-grad);-webkit-text-fill-color:transparent;background-clip:text;font-size:1.2rem}html[data-design=deco] .nav-link{font-family:var(--font-display);letter-spacing:.3em;text-transform:uppercase;font-size:.75rem;font-weight:400}html[data-design=deco] .hero-cta,html[data-design=deco] .contact-submit{background:var(--deco-gold-grad);color:var(--bg-primary);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.3em;clip-path:polygon(10px 0,calc(100% - 10px) 0,100% 50%,calc(100% - 10px) 100%,10px 100%,0 50%);box-shadow:none;border:0;border-radius:0;padding:.9rem 2rem;font-size:.8rem;font-weight:400}@media (hover:hover) and (pointer:fine){html[data-design=deco] .hero-cta:hover,html[data-design=deco] .contact-submit:hover{filter:brightness(1.1);transform:none}}html[data-design=deco] .form-group input,html[data-design=deco] .form-group textarea{border:1px solid var(--deco-gold);font-family:var(--font-sans);background:0 0;border-radius:0;padding:.75rem 1rem;font-size:1rem}html[data-design=deco] .form-group input:focus,html[data-design=deco] .form-group textarea:focus{box-shadow:inset 0 0 0 1px var(--deco-gold);outline:0}html[data-design=deco] .hero-grid{display:none}html[data-design=deco] .hero-gradient{background:radial-gradient(circle at 50% 0%, color-mix(in oklab, var(--deco-gold) 35%, transparent), transparent 60%);opacity:.8}html[data-design=wabisabi]{--font-sans:"Shippori Mincho", "Noto Serif JP", "Cormorant Garamond", "Hiragino Mincho ProN", "Yu Mincho", Georgia, serif;--font-display:var(--font-sans);--radius-sm:0;--radius-md:0;--radius-lg:0;--border-width:1px;--shadow-card:none;--section-padding:9rem 0;--container-width:760px;--wabi-ink:color-mix(in oklab, var(--text-primary) 95%, transparent);--wabi-paper:var(--bg-primary);--wabi-hair:color-mix(in oklab, var(--text-primary) 18%, transparent)}html[data-design=wabisabi] body{background:var(--wabi-paper);color:var(--wabi-ink);letter-spacing:.04em;font-size:1.05rem;line-height:2}html[data-design=wabisabi] h1,html[data-design=wabisabi] h2,html[data-design=wabisabi] h3,html[data-design=wabisabi] h4{font-family:var(--font-display);letter-spacing:.06em;font-weight:400;line-height:1.4}html[data-design=wabisabi] .hero{padding:8rem 0 10rem;position:relative}html[data-design=wabisabi] .hero-name{font-family:var(--font-display);letter-spacing:.02em;color:var(--wabi-ink);font-size:clamp(2.5rem,5.5vw,4rem);font-weight:400;line-height:1.5}html[data-design=wabisabi] .hero-greeting{text-transform:lowercase;letter-spacing:.3em;color:var(--text-muted);font-family:JetBrains Mono,ui-monospace,monospace;font-size:.65rem;font-weight:400}html[data-design=wabisabi] .hero-tagline{letter-spacing:.03em;font-style:italic;font-weight:400}html[data-design=wabisabi] .hero-description{max-width:48ch;color:var(--text-secondary);font-size:1rem;line-height:2.1}html[data-design=wabisabi] .section{border:0;padding-left:2.5rem;position:relative}html[data-design=wabisabi] .section:before{content:"";background:var(--wabi-hair);width:1px;position:absolute;top:2rem;bottom:2rem;left:0}html[data-design=wabisabi] .section-title{font-family:var(--font-display);letter-spacing:.04em;color:var(--wabi-ink);margin-bottom:3rem;font-size:clamp(1.5rem,3vw,2rem);font-weight:400}html[data-design=wabisabi] .section-title:after{content:"";background:var(--wabi-hair);width:24px;height:1px;margin-top:1.25rem;display:block}html[data-design=wabisabi] .gradient-text{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--accent-text);font-style:italic}html[data-design=wabisabi] .card,html[data-design=wabisabi] .skill-group,html[data-design=wabisabi] .timeline-content,html[data-design=wabisabi] .work-card,html[data-design=wabisabi] .education-card,html[data-design=wabisabi] .certification-card,html[data-design=wabisabi] .demo-card,html[data-design=wabisabi] .contact-form{border:0;border-top:1px solid var(--wabi-hair);box-shadow:none;background:0 0;border-radius:0;padding:2rem 0 2.5rem}html[data-design=wabisabi] .skill-pill,html[data-design=wabisabi] .demo-tags li,html[data-design=wabisabi] .work-tags li{letter-spacing:.15em;text-transform:lowercase;color:var(--text-muted);background:0 0;border:0;border-radius:0;padding:0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.7rem;font-weight:400}html[data-design=wabisabi] .skill-pill+.skill-pill:before,html[data-design=wabisabi] .demo-tags li+li:before,html[data-design=wabisabi] .work-tags li+li:before{content:"·";opacity:.5;margin:0 .6rem 0 -.2rem}html[data-design=wabisabi] .navbar{background:color-mix(in oklab, var(--wabi-paper) 95%, transparent);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--wabi-hair)}html[data-design=wabisabi] .nav-logo{font-family:var(--font-display);letter-spacing:.15em;margin-right:2rem;font-size:1rem;font-weight:400}html[data-design=wabisabi] .nav-links{gap:1.15rem}html[data-design=wabisabi] .nav-link{letter-spacing:.12em;text-transform:lowercase;white-space:nowrap;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.65rem;font-weight:400}html[data-design=wabisabi] .hero-cta,html[data-design=wabisabi] .contact-submit{color:var(--wabi-ink);border:0;border-bottom:1px solid var(--wabi-ink);font-family:var(--font-display);letter-spacing:.08em;text-transform:lowercase;box-shadow:none;background:0 0;border-radius:0;padding:.5rem .25rem;font-size:1rem;font-weight:400}html[data-design=wabisabi] .hero-cta:after,html[data-design=wabisabi] .contact-submit:after{content:" →";opacity:.6;transition:margin-left var(--transition-medium), opacity var(--transition-medium);margin-left:1.5rem}@media (hover:hover) and (pointer:fine){html[data-design=wabisabi] .hero-cta:hover,html[data-design=wabisabi] .contact-submit:hover{box-shadow:none;background:0 0;transform:none}html[data-design=wabisabi] .hero-cta:hover:after,html[data-design=wabisabi] .contact-submit:hover:after{opacity:1;margin-left:2rem}}html[data-design=wabisabi] .form-group input,html[data-design=wabisabi] .form-group textarea{border:0;border-bottom:1px solid var(--wabi-hair);font-family:var(--font-sans);background:0 0;border-radius:0;padding:.5rem 0;font-size:1rem}html[data-design=wabisabi] .form-group input:focus,html[data-design=wabisabi] .form-group textarea:focus{border-bottom-color:var(--wabi-ink);box-shadow:none;outline:0}html[data-design=wabisabi] .hero-grid,html[data-design=wabisabi] .hero-gradient{display:none}html[data-design=zine]{--font-sans:"Times New Roman", Times, Georgia, serif;--font-display:"Arial Black", "Helvetica Neue", sans-serif;--radius-sm:0;--radius-md:0;--radius-lg:0;--border-width:3px;--shadow-card:4px 4px 0 var(--text-primary);--zine-ink:var(--text-primary);--zine-paper:var(--bg-primary);--zine-spot:var(--accent-start);--zine-tape:color-mix(in oklab, #ffd84d 55%, var(--bg-primary))}html[data-design=zine] body{background-color:var(--zine-paper);font-family:var(--font-sans);letter-spacing:0;color:var(--zine-ink);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.08 0'/></filter><rect width='220' height='220' filter='url(%23g)'/></svg>")}html[data-design=zine] h1,html[data-design=zine] h2,html[data-design=zine] h3,html[data-design=zine] h4{font-family:var(--font-display);text-transform:uppercase;letter-spacing:0;line-height:1.05}html[data-design=zine] .hero-name{text-transform:uppercase;filter:contrast(1.1);font-size:clamp(2.25rem,8vw,5rem);font-weight:900;line-height:.95;display:block;transform:rotate(-1.5deg)}html[data-design=zine] .hero-name:first-letter{background:var(--zine-ink);color:var(--zine-paper);margin-right:.1em;padding:0 .1em;font-family:"Press Start 2P",Courier New,monospace}html[data-design=zine] .hero-greeting,html[data-design=zine] .section-label{letter-spacing:.04em;background:var(--zine-ink);color:var(--zine-paper);-webkit-text-fill-color:currentColor;text-transform:uppercase;-webkit-background-clip:border-box;background-clip:border-box;padding:.2rem .5rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem;font-weight:700;display:inline-block;transform:rotate(-2deg)}html[data-design=zine] .hero-tagline{color:var(--zine-spot);font-family:Caveat,cursive;font-size:1.8rem;font-weight:700;transform:rotate(1deg)}html[data-design=zine] .section{border-top:3px solid var(--zine-ink);border-bottom:3px solid var(--zine-ink);padding:4.5rem 0;position:relative}html[data-design=zine] .section-title{font-family:var(--font-display);text-transform:uppercase;background:var(--zine-ink);color:var(--zine-paper);margin-bottom:2rem;padding:.3rem .8rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:900;display:inline-block;transform:rotate(-1deg)}html[data-design=zine] .section:nth-of-type(2n) .section-title{background:var(--zine-spot);color:var(--zine-paper);transform:rotate(1deg)}html[data-design=zine] .gradient-text{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--zine-paper);background-color:var(--zine-spot);padding:0 .2em}html[data-design=zine] .card,html[data-design=zine] .skill-group,html[data-design=zine] .timeline-content,html[data-design=zine] .work-card,html[data-design=zine] .education-card,html[data-design=zine] .certification-card,html[data-design=zine] .demo-card,html[data-design=zine] .contact-form{background:var(--zine-paper);border:3px solid var(--zine-ink);box-shadow:5px 5px 0 var(--zine-ink);filter:contrast(1.05);border-radius:0;padding:1.5rem;position:relative}html[data-design=zine] .card:nth-of-type(odd),html[data-design=zine] .work-card:nth-of-type(odd),html[data-design=zine] .demo-card:nth-of-type(odd),html[data-design=zine] .education-card:nth-of-type(odd),html[data-design=zine] .certification-card:nth-of-type(odd){transform:rotate(-.6deg)}html[data-design=zine] .card:nth-of-type(2n),html[data-design=zine] .work-card:nth-of-type(2n),html[data-design=zine] .demo-card:nth-of-type(2n),html[data-design=zine] .education-card:nth-of-type(2n),html[data-design=zine] .certification-card:nth-of-type(2n){transform:rotate(.8deg)}html[data-design=zine] .card:before,html[data-design=zine] .work-card:before,html[data-design=zine] .demo-card:before,html[data-design=zine] .education-card:before,html[data-design=zine] .certification-card:before{content:"";background:var(--zine-tape);border:1px solid color-mix(in oklab, var(--zine-ink) 40%, transparent);opacity:.85;width:60px;height:18px;position:absolute;top:-10px;left:18px;transform:rotate(-8deg);box-shadow:1px 1px 2px #00000026}html[data-design=zine] .card:after,html[data-design=zine] .work-card:after,html[data-design=zine] .demo-card:after,html[data-design=zine] .education-card:after,html[data-design=zine] .certification-card:after{content:"";background:var(--zine-ink);width:14px;height:3px;box-shadow:0 4px 0 var(--zine-ink);position:absolute;top:10px;right:14px;transform:rotate(8deg)}html[data-design=zine] .card h3,html[data-design=zine] .work-card h3,html[data-design=zine] .demo-card h3,html[data-design=zine] .education-card h3,html[data-design=zine] .certification-card h3{font-family:var(--font-display);text-transform:uppercase;letter-spacing:0;margin-bottom:.5rem;font-size:1.2rem;font-weight:900}html[data-design=zine] .skill-pill,html[data-design=zine] .demo-tags li,html[data-design=zine] .work-tags li{background:var(--zine-paper);border:2px solid var(--zine-ink);letter-spacing:0;text-transform:uppercase;color:var(--zine-ink);border-radius:0;padding:.15rem .5rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.75rem;font-weight:700}html[data-design=zine] .skill-pill:nth-child(3n){background:var(--zine-spot);color:var(--zine-paper);transform:rotate(-3deg)}html[data-design=zine] .skill-pill:nth-child(3n+1){font-family:"Press Start 2P",ui-monospace,monospace;font-size:.6rem;transform:rotate(2deg)}html[data-design=zine] .skill-pill:nth-child(3n+2){letter-spacing:.02em;text-transform:none;font-family:Caveat,cursive;font-size:1.05rem;font-weight:700;transform:rotate(-1deg)}html[data-design=zine] .navbar,html[data-design=zine] .navbar.scrolled{border-bottom:4px solid var(--zine-spot);-webkit-backdrop-filter:none}@media (width>=1025px){html[data-design=zine] .navbar,html[data-design=zine] .navbar.scrolled{background:var(--zine-ink);--text-primary:var(--zine-paper);--text-secondary:color-mix(in oklab, var(--zine-paper) 86%, var(--zine-ink));--text-muted:color-mix(in oklab, var(--zine-paper) 70%, var(--zine-ink));--accent-text:color-mix(in oklab, var(--zine-spot) 55%, var(--zine-paper));--border-color:color-mix(in oklab, var(--zine-paper) 40%, var(--zine-ink))}}html[data-design=zine] .nav-logo{font-family:var(--font-display);letter-spacing:0;text-transform:uppercase;color:var(--zine-paper);background:var(--zine-spot);padding:0 .4rem;font-size:1.15rem;font-weight:900;display:inline-block;transform:rotate(-2deg)}html[data-design=zine] .nav-link{text-transform:uppercase;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.78rem;font-weight:700}@media (hover:hover) and (pointer:fine){html[data-design=zine] .nav-link:hover{background:var(--zine-spot);color:var(--zine-paper)}}html[data-design=zine] .hero-cta,html[data-design=zine] .contact-submit{background:var(--zine-ink);color:var(--zine-paper);border:3px solid var(--zine-ink);font-family:var(--font-display);text-transform:uppercase;letter-spacing:.05em;box-shadow:5px 5px 0 var(--zine-spot);border-radius:0;padding:.75rem 1.5rem;font-size:1rem;font-weight:900;transform:rotate(-1deg)}@media (hover:hover) and (pointer:fine){html[data-design=zine] .hero-cta:hover,html[data-design=zine] .contact-submit:hover{box-shadow:3px 3px 0 var(--zine-spot);transform:rotate(-1deg)translate(2px,2px)}}html[data-design=zine] .form-group input,html[data-design=zine] .form-group textarea{background:var(--zine-paper);border:3px solid var(--zine-ink);color:var(--zine-ink);border-radius:0;padding:.5rem .75rem;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.95rem}html[data-design=zine] .form-group input:focus,html[data-design=zine] .form-group textarea:focus{background:var(--zine-tape);box-shadow:4px 4px 0 var(--zine-ink);outline:0}html[data-design=zine] .hero-grid,html[data-design=zine] .hero-gradient{display:none}html[data-design=comic]{--font-sans:"Inter", system-ui, sans-serif;--font-display:"Bangers", "Inter Tight", sans-serif;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--border-width:3px;--comic-ink:var(--text-primary);--comic-pop:var(--accent-start);--comic-pop2:var(--accent-end);--comic-paper:var(--bg-primary);--comic-panel:var(--bg-card);--shadow-card:4px 4px 0 var(--comic-ink)}html[data-design=comic] body{background-color:var(--comic-paper);background-image:radial-gradient(color-mix(in oklab, var(--comic-pop) 45%, transparent) 1.2px, transparent 1.6px);color:var(--comic-ink);font-family:var(--font-sans);background-size:8px 8px}html[data-design=comic] h1,html[data-design=comic] h2,html[data-design=comic] h3,html[data-design=comic] h4{font-family:var(--font-display);letter-spacing:.03em;color:var(--comic-ink);font-weight:400;line-height:1}html[data-design=comic] .hero{position:relative}html[data-design=comic] .hero-name{font-family:var(--font-display);letter-spacing:.02em;color:var(--comic-pop);text-shadow:-3px 0 0 var(--comic-ink), 3px 0 0 var(--comic-ink), 0 -3px 0 var(--comic-ink), 0 3px 0 var(--comic-ink), -3px -3px 0 var(--comic-ink), 3px 3px 0 var(--comic-ink), -3px 3px 0 var(--comic-ink), 3px -3px 0 var(--comic-ink), 6px 6px 0 var(--comic-ink);font-size:clamp(3rem,10vw,6.5rem);font-weight:400;line-height:.9;display:inline-block;transform:rotate(-2deg)}html[data-design=comic] .hero:after{content:"POW!";font-family:var(--font-display);color:var(--comic-pop2);clip-path:polygon(0% 10%,20% 0%,35% 15%,50% 0%,65% 15%,80% 0%,100% 10%,95% 30%,100% 50%,90% 65%,100% 85%,80% 95%,65% 85%,50% 100%,35% 85%,20% 100%,0% 85%,10% 65%,0% 50%,10% 30%);text-shadow:-2px 0 0 var(--comic-ink), 2px 0 0 var(--comic-ink), 0 -2px 0 var(--comic-ink), 0 2px 0 var(--comic-ink);pointer-events:none;background:#ffeb3b;padding:.5rem 1rem;font-size:clamp(1.5rem,3.5vw,2.5rem);position:absolute;top:14%;right:5%;transform:rotate(15deg)}html[data-design=comic] .hero-greeting{font-family:var(--font-display);letter-spacing:.05em;color:var(--comic-ink);background:var(--comic-panel);border:3px solid var(--comic-ink);box-shadow:3px 3px 0 var(--comic-ink);text-transform:uppercase;border-radius:999px;padding:.25rem .75rem;font-size:1.2rem;display:inline-block;transform:rotate(-1deg)}html[data-design=comic] .hero-tagline{font-family:var(--font-display);letter-spacing:.02em;color:var(--comic-ink);font-size:1.6rem;font-weight:400}html[data-design=comic] .section-label{font-family:var(--font-display);letter-spacing:.08em;color:var(--comic-pop2);text-transform:uppercase;font-size:1rem}html[data-design=comic] .section{border-top:3px solid var(--comic-ink);padding:4rem 0;position:relative}html[data-design=comic] .section-title{font-family:var(--font-display);letter-spacing:.04em;color:var(--comic-pop);text-shadow:-2px 0 0 var(--comic-ink), 2px 0 0 var(--comic-ink), 0 -2px 0 var(--comic-ink), 0 2px 0 var(--comic-ink), 4px 4px 0 var(--comic-ink);margin-bottom:2rem;font-size:clamp(2.5rem,6vw,4rem)}html[data-design=comic] .gradient-text{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--comic-pop2)}html[data-design=comic] .card,html[data-design=comic] .skill-group,html[data-design=comic] .timeline-content,html[data-design=comic] .work-card,html[data-design=comic] .education-card,html[data-design=comic] .certification-card,html[data-design=comic] .demo-card,html[data-design=comic] .contact-form{background:var(--comic-panel);border:3px solid var(--comic-ink);box-shadow:5px 5px 0 var(--comic-ink);border-radius:.75rem;padding:1.5rem;position:relative}html[data-design=comic] .card h3,html[data-design=comic] .work-card h3,html[data-design=comic] .demo-card h3,html[data-design=comic] .education-card h3,html[data-design=comic] .certification-card h3{font-family:var(--font-display);letter-spacing:.03em;color:var(--comic-pop);text-shadow:2px 2px 0 var(--comic-ink);margin-bottom:.5rem;font-size:1.6rem;font-weight:400}html[data-design=comic] .skill-pill,html[data-design=comic] .demo-tags li,html[data-design=comic] .work-tags li{background:var(--comic-panel);border:2px solid var(--comic-ink);font-family:var(--font-display);letter-spacing:.04em;color:var(--comic-ink);text-transform:uppercase;box-shadow:2px 2px 0 var(--comic-ink);border-radius:999px;padding:.2rem .75rem;font-size:.95rem;font-weight:400}html[data-design=comic] .skill-pill:nth-child(3n){background:color-mix(in oklab, var(--comic-pop2) 25%, var(--comic-panel))}html[data-design=comic] .skill-pill:nth-child(3n+1){background:color-mix(in oklab, var(--comic-pop) 25%, var(--comic-panel))}html[data-design=comic] .navbar{background:var(--comic-panel);-webkit-backdrop-filter:none;border-bottom:3px solid var(--comic-ink);box-shadow:0 3px 0 var(--comic-ink)}html[data-design=comic] .nav-logo{font-family:var(--font-display);letter-spacing:.04em;color:var(--comic-pop);text-shadow:2px 2px 0 var(--comic-ink);text-transform:uppercase;font-size:1.6rem;font-weight:400}html[data-design=comic] .nav-link{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--comic-ink);font-size:1rem;font-weight:400}html[data-design=comic] .hero-cta,html[data-design=comic] .contact-submit{background:var(--comic-pop2);color:var(--comic-paper);border:3px solid var(--comic-ink);font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;box-shadow:4px 4px 0 var(--comic-ink);border-radius:999px;padding:.6rem 1.4rem;font-size:1.15rem;font-weight:400}@media (hover:hover) and (pointer:fine){html[data-design=comic] .hero-cta:hover,html[data-design=comic] .contact-submit:hover{box-shadow:3px 3px 0 var(--comic-ink);transform:translate(1px,1px)}}html[data-design=comic] .form-group input,html[data-design=comic] .form-group textarea{background:var(--comic-panel);border:3px solid var(--comic-ink);font-family:var(--font-sans);box-shadow:2px 2px 0 var(--comic-ink);border-radius:.5rem;padding:.6rem .85rem;font-size:1rem}html[data-design=comic] .form-group input:focus,html[data-design=comic] .form-group textarea:focus{box-shadow:4px 4px 0 var(--comic-pop);outline:0}html[data-design=comic] .hero-grid{display:none}html[data-design=comic] .hero-gradient{opacity:.7;background:radial-gradient(circle at 70% 30%,oklab(92.8464% -.0390086 .175994/.55),#0000 60%)}html[data-design=newspaper]{--font-sans:"EB Garamond", "Crimson Pro", Georgia, serif;--font-display:"UnifrakturMaguntia", "Playfair Display", Georgia, serif;--font-subhead:"Playfair Display", Georgia, serif;--radius-sm:0;--radius-md:0;--radius-lg:0;--border-width:1px;--news-paper:var(--bg-primary);--news-ink:var(--text-primary);--news-muted:color-mix(in oklab, var(--news-ink) 55%, transparent);--news-hair:color-mix(in oklab, var(--news-ink) 30%, transparent);--shadow-card:none}html[data-design=newspaper] body{background:var(--news-paper);color:var(--news-ink);font-family:var(--font-sans);letter-spacing:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.1' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 0.05 0'/></filter><rect width='180' height='180' filter='url(%23n)'/></svg>");font-size:1.02rem;line-height:1.55}html[data-design=newspaper] h1,html[data-design=newspaper] h2,html[data-design=newspaper] h3,html[data-design=newspaper] h4{font-family:var(--font-subhead);letter-spacing:.01em;font-weight:700;line-height:1.2}html[data-design=newspaper] .hero{border-top:4px double var(--news-ink);border-bottom:4px double var(--news-ink);text-align:center;padding:3rem 0 2.5rem}html[data-design=newspaper] .hero-name{font-family:var(--font-display);letter-spacing:.02em;color:var(--news-ink);text-align:center;margin:.25rem 0 .5rem;font-size:clamp(3rem,10vw,6rem);font-weight:400;line-height:1;display:block}html[data-design=newspaper] .hero-greeting{font-variant:small-caps;letter-spacing:.18em;color:var(--news-muted);text-align:center;border-bottom:1px solid var(--news-hair);margin-bottom:.75rem;padding-bottom:.5rem;font-family:EB Garamond,Georgia,serif;font-size:.85rem;font-weight:500;display:block}html[data-design=newspaper] .hero-greeting:before{content:"VOL. MMXXVI  ·  NO. III  ·  ";letter-spacing:.2em}html[data-design=newspaper] .hero-greeting:after{content:"  ·  PRICE: FREE";letter-spacing:.2em}html[data-design=newspaper] .hero-tagline{font-family:var(--font-subhead);color:var(--news-ink);max-width:60ch;margin:0 auto .5rem;font-size:1.25rem;font-style:italic;font-weight:400}html[data-design=newspaper] .hero-description{text-align:justify;text-align-last:center;hyphens:auto;max-width:60ch;color:var(--news-ink);margin:.75rem auto 1.25rem}html[data-design=newspaper] .section{border-top:1px solid var(--news-ink);padding:3rem 0;position:relative}html[data-design=newspaper] .section-label,html[data-design=newspaper] .section[data-num]:before{font-variant:small-caps;letter-spacing:.3em;color:var(--news-muted);margin-bottom:.75rem;font-family:EB Garamond,Georgia,serif;font-size:.8rem;font-weight:600;display:block}html[data-design=newspaper] .section[data-num]:before{content:"SECTION " attr(data-num);border-bottom:1px solid var(--news-hair);margin-bottom:1rem;padding-bottom:.35rem;position:static}html[data-design=newspaper] .section-title{font-family:var(--font-subhead);letter-spacing:-.005em;color:var(--news-ink);margin-bottom:.25rem;font-size:clamp(1.9rem,4vw,2.8rem);font-weight:800;line-height:1.1}html[data-design=newspaper] .section-title:after{content:"";border-top:3px double var(--news-ink);width:100%;margin-top:.75rem;margin-bottom:1.5rem;display:block}html[data-design=newspaper] .gradient-text{background:0 0;-webkit-background-clip:initial;background-clip:initial;-webkit-text-fill-color:currentColor;color:var(--news-ink);font-style:italic}html[data-design=newspaper] .about-text{column-count:2;column-rule:1px solid var(--news-hair);text-align:justify;hyphens:auto;column-gap:2rem;font-size:1rem;line-height:1.6}html[data-design=newspaper] .about-text p:first-of-type:first-letter{font-family:var(--font-display);float:left;color:var(--news-ink);padding-top:.2rem;padding-right:.5rem;font-size:3.2em;line-height:.9}@media (width<=720px){html[data-design=newspaper] .about-text{column-count:1}}html[data-design=newspaper] .card,html[data-design=newspaper] .skill-group,html[data-design=newspaper] .timeline-content,html[data-design=newspaper] .work-card,html[data-design=newspaper] .education-card,html[data-design=newspaper] .certification-card,html[data-design=newspaper] .demo-card,html[data-design=newspaper] .contact-form{background:var(--news-paper);border:1px solid var(--news-ink);box-shadow:none;border-radius:0;padding:1.5rem;position:relative}html[data-design=newspaper] .card h3,html[data-design=newspaper] .work-card h3,html[data-design=newspaper] .demo-card h3,html[data-design=newspaper] .education-card h3,html[data-design=newspaper] .certification-card h3{font-family:var(--font-subhead);letter-spacing:-.01em;margin-bottom:.5rem;font-size:1.3rem;font-weight:800;line-height:1.15}html[data-design=newspaper] .skill-pill,html[data-design=newspaper] .demo-tags li,html[data-design=newspaper] .work-tags li{font-variant:small-caps;letter-spacing:.12em;color:var(--news-ink);text-transform:lowercase;background:0 0;border:0;border-radius:0;padding:0;font-family:EB Garamond,Georgia,serif;font-size:.78rem;font-weight:600}html[data-design=newspaper] .skill-pill:before,html[data-design=newspaper] .demo-tags li:before,html[data-design=newspaper] .work-tags li:before{content:"[ ";color:var(--news-muted)}html[data-design=newspaper] .skill-pill:after,html[data-design=newspaper] .demo-tags li:after,html[data-design=newspaper] .work-tags li:after{content:" ]";color:var(--news-muted)}html[data-design=newspaper] .navbar{background:var(--news-paper);-webkit-backdrop-filter:none;border-bottom:3px double var(--news-ink);box-shadow:none}html[data-design=newspaper] .nav-logo{font-family:var(--font-display);letter-spacing:.02em;color:var(--news-ink);font-size:1.6rem;font-weight:400}html[data-design=newspaper] .nav-link{font-variant:small-caps;letter-spacing:.15em;text-transform:lowercase;color:var(--news-ink);font-family:EB Garamond,Georgia,serif;font-size:.9rem;font-weight:600}html[data-design=newspaper] .hero-cta,html[data-design=newspaper] .contact-submit{background:var(--news-ink);color:var(--news-paper);border:1px solid var(--news-ink);font-variant:small-caps;letter-spacing:.15em;box-shadow:4px 4px 0 var(--news-ink), 4px 4px 0 1px var(--news-paper) inset;text-transform:lowercase;border-radius:0;padding:.65rem 1.25rem;font-family:EB Garamond,Georgia,serif;font-size:.95rem;font-weight:700}@media (hover:hover) and (pointer:fine){html[data-design=newspaper] .hero-cta:hover,html[data-design=newspaper] .contact-submit:hover{box-shadow:3px 3px 0 var(--news-ink);background:var(--news-ink);transform:translate(1px,1px)}}html[data-design=newspaper] .form-group input,html[data-design=newspaper] .form-group textarea{background:var(--news-paper);border:0;border-bottom:1px solid var(--news-ink);font-family:var(--font-sans);border-radius:0;padding:.45rem 0;font-size:1rem}html[data-design=newspaper] .form-group input:focus,html[data-design=newspaper] .form-group textarea:focus{box-shadow:none;border-bottom-width:2px;outline:0}html[data-design=newspaper] .footer{border-top:3px double var(--news-ink);border-bottom:3px double var(--news-ink);text-align:center;font-variant:small-caps;letter-spacing:.15em;color:var(--news-muted);padding:2rem 0;font-family:EB Garamond,Georgia,serif}html[data-design=newspaper] .hero-grid,html[data-design=newspaper] .hero-gradient{display:none}
