*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#f5efe1;background:radial-gradient(circle at 72% 10%,#eec66133,#0000 24rem),radial-gradient(circle at 12% 18%,#bd40823d,#0000 22rem),linear-gradient(140deg,#101625 0%,#172237 42%,#162c2e 100%);min-width:320px;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit}.portfolio-shell[data-v-bc5429c3]{min-height:100vh;overflow:hidden}.hero[data-v-bc5429c3],.project-showcase[data-v-bc5429c3],.skills-band[data-v-bc5429c3],.site-footer[data-v-bc5429c3]{width:min(1180px,100%);margin:0 auto;padding-inline:clamp(18px,4vw,42px)}.hero[data-v-bc5429c3]{min-height:82vh;padding-top:24px;padding-bottom:clamp(34px,5vw,58px);position:relative}.hero[data-v-bc5429c3]:before{opacity:.38;content:"";pointer-events:none;background-color:#0000;background-image:linear-gradient(#f5efe10f 1px,#0000 1px),linear-gradient(90deg,#f5efe10f 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:42px 42px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #f5efe11a;border-radius:8px;width:min(980px,112vw);height:min(620px,78vw);position:absolute;inset:96px auto auto 50%;transform:translate(-50%)}.topbar[data-v-bc5429c3]{z-index:2;justify-content:space-between;align-items:center;gap:24px;min-height:52px;display:flex;position:relative}.brand[data-v-bc5429c3],.nav-links a[data-v-bc5429c3],.button[data-v-bc5429c3],.project-links a[data-v-bc5429c3],.footer-links a[data-v-bc5429c3]{text-decoration:none}.brand[data-v-bc5429c3]{align-items:center;gap:10px;font-weight:900;display:inline-flex}.brand-mark[data-v-bc5429c3]{background:linear-gradient(145deg,#0000 0 38%,#11182757 39% 58%,#0000 59%),linear-gradient(145deg,#2fb7a6,#bb3e80 54%,#f2c45f);border-radius:5px;width:18px;height:18px}.nav-links[data-v-bc5429c3]{color:#dcd0bb;gap:clamp(14px,3vw,32px);font-size:.92rem;font-weight:800;display:flex}.hero-layout[data-v-bc5429c3]{z-index:1;grid-template-columns:minmax(0,1fr) minmax(290px,410px);align-items:center;gap:clamp(32px,7vw,92px);min-height:calc(82vh - 76px);padding-top:32px;display:grid;position:relative}.hero-copy[data-v-bc5429c3]{max-width:780px}.eyebrow[data-v-bc5429c3]{color:#f2c45f;letter-spacing:0;text-transform:uppercase;margin:0 0 14px;font-size:.78rem;font-weight:950}h1[data-v-bc5429c3],h2[data-v-bc5429c3],h3[data-v-bc5429c3],p[data-v-bc5429c3]{margin-top:0}h1[data-v-bc5429c3]{letter-spacing:0;max-width:820px;margin-bottom:24px;font-size:clamp(3.2rem,8.6vw,7.2rem);line-height:.9}h2[data-v-bc5429c3]{color:#fff7e6;letter-spacing:0;margin-bottom:16px;font-size:clamp(2.4rem,5vw,5.2rem);line-height:.92}h3[data-v-bc5429c3]{color:#fff7e6;letter-spacing:0;margin-bottom:18px;font-size:clamp(2rem,4vw,3.7rem);line-height:.94}h4[data-v-bc5429c3]{color:#fff7e6;letter-spacing:0;margin:0 0 14px;font-size:1.35rem;line-height:1.15}.hero-text[data-v-bc5429c3]{color:#ded2bf;max-width:680px;margin-bottom:30px;font-size:clamp(1.05rem,2vw,1.28rem);line-height:1.65}.hero-actions[data-v-bc5429c3],.project-links[data-v-bc5429c3],.footer-links[data-v-bc5429c3]{flex-wrap:wrap;gap:12px;display:flex}.button[data-v-bc5429c3]{border:1px solid #f5efe13d;border-radius:8px;justify-content:center;align-items:center;min-height:48px;padding:0 20px;font-weight:900;display:inline-flex}.button.primary[data-v-bc5429c3]{color:#111827;background:#f2c45f;border-color:#f2c45f;box-shadow:0 16px 44px #f2c45f3d}.button.secondary[data-v-bc5429c3]{color:#f5efe1;background:#f5efe114}.dev-panel[data-v-bc5429c3]{background:radial-gradient(circle at 82% 18%,#2fb7a638,#0000 15rem),radial-gradient(circle at 8% 80%,#bb3e8033,#0000 14rem),#0a111fd1;border:1px solid #f5efe129;border-radius:8px;min-height:430px;position:relative;overflow:hidden;box-shadow:0 28px 90px #0000006b}.dev-panel[data-v-bc5429c3]:before{content:"";opacity:.8;background-color:#0000;background-image:linear-gradient(#f5efe10d 1px,#0000 1px),linear-gradient(90deg,#f5efe10d 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:44px 0 0}.panel-header[data-v-bc5429c3]{z-index:1;background:#f5efe10f;border-bottom:1px solid #f5efe11f;align-items:center;gap:8px;height:44px;padding:0 18px;display:flex;position:relative}.panel-header span[data-v-bc5429c3]{background:#bb3e80;border-radius:50%;width:11px;height:11px}.panel-header span[data-v-bc5429c3]:nth-child(2){background:#f2c45f}.panel-header span[data-v-bc5429c3]:nth-child(3){background:#2fb7a6}.panel-body[data-v-bc5429c3]{z-index:1;gap:16px;padding:28px;display:grid;position:relative}.panel-kicker[data-v-bc5429c3]{color:#8fe1d6;margin-bottom:6px;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.86rem;font-weight:800}.code-line[data-v-bc5429c3]{border-bottom:1px solid #f5efe11a;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:14px;padding:12px 0;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;display:grid}.code-key[data-v-bc5429c3]{color:#f2c45f;font-size:.88rem}.code-value[data-v-bc5429c3]{color:#f5efe1;font-size:.94rem}.ship-card[data-v-bc5429c3]{background:#2fb7a61a;border:1px solid #2fb7a657;border-radius:8px;gap:8px;margin-top:18px;padding:20px;display:grid}.ship-card strong[data-v-bc5429c3]{color:#fff7e6;font-size:1.22rem}.ship-card span[data-v-bc5429c3]{color:#ded2bf;line-height:1.5}.project-showcase[data-v-bc5429c3]{padding-top:clamp(42px,7vw,88px);padding-bottom:clamp(54px,8vw,110px)}.showcase-heading[data-v-bc5429c3]{justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px;display:flex}.showcase-heading h2[data-v-bc5429c3]{margin-bottom:0}.project-stack[data-v-bc5429c3]{gap:20px;display:grid}.project-card[data-v-bc5429c3]{background:linear-gradient(115deg,#f5efe114,#f5efe105),#090f1cc2;border:1px solid #f5efe124;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(260px,380px);align-items:stretch;gap:clamp(20px,4vw,44px);padding:clamp(22px,4vw,36px);display:grid;position:relative;box-shadow:0 24px 80px #0000004d}.project-card[data-v-bc5429c3]:before{border-radius:inherit;background:linear-gradient(90deg, var(--accent), transparent 28%), repeating-linear-gradient(90deg, #f5efe10d 0 1px, transparent 1px 42px);opacity:.22;content:"";pointer-events:none;position:absolute;inset:0}.project-card--teal[data-v-bc5429c3]{--accent:#2fb7a6}.project-card--amber[data-v-bc5429c3]{--accent:#f2c45f}.project-card--rose[data-v-bc5429c3]{--accent:#bb3e80}.library-card--teal[data-v-bc5429c3]{--accent:#2fb7a6}.library-card--amber[data-v-bc5429c3]{--accent:#f2c45f}.library-card--rose[data-v-bc5429c3]{--accent:#bb3e80}.project-content[data-v-bc5429c3],.project-meta[data-v-bc5429c3]{z-index:1;position:relative}.project-labels[data-v-bc5429c3]{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.project-labels span[data-v-bc5429c3],.project-type[data-v-bc5429c3]{color:var(--accent);text-transform:uppercase;margin:0;font-size:.82rem;font-weight:950}.project-labels span[data-v-bc5429c3]{border:1px solid color-mix(in srgb, var(--accent), #fff 24%);color:#fff7e6;background:color-mix(in srgb, var(--accent), transparent 82%);border-radius:8px;padding:6px 9px}.project-description[data-v-bc5429c3],.project-why[data-v-bc5429c3],.project-note[data-v-bc5429c3]{color:#dfd3c1;max-width:680px;font-size:1.04rem;line-height:1.62}.project-why[data-v-bc5429c3]{color:#fff7e6;border-top:1px solid #f5efe124;margin-bottom:0;padding-top:16px;font-weight:800}.project-note[data-v-bc5429c3]{color:#cbbfad;margin:16px 0 0;font-size:.95rem;font-weight:750}.project-meta[data-v-bc5429c3]{flex-direction:column;justify-content:space-between;gap:18px;display:flex}.highlight-panel[data-v-bc5429c3]{border:1px solid color-mix(in srgb, var(--accent), #fff 20%);background:linear-gradient(140deg, color-mix(in srgb, var(--accent), transparent 86%), transparent), #090f1c6b;border-radius:8px;padding:18px}.highlight-panel p[data-v-bc5429c3]{color:var(--accent);text-transform:uppercase;margin-bottom:12px;font-size:.78rem;font-weight:950}.highlight-panel ul[data-v-bc5429c3]{gap:10px;margin:0;padding:0;list-style:none;display:grid}.highlight-panel li[data-v-bc5429c3]{color:#f4ead8;padding-left:18px;font-weight:800;line-height:1.35;position:relative}.highlight-panel li[data-v-bc5429c3]:before{background:var(--accent);content:"";border-radius:50%;width:7px;height:7px;position:absolute;top:.62em;left:0}.stack-list[data-v-bc5429c3]{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.stack-list li[data-v-bc5429c3]{color:#f7eddb;background:#f5efe114;border:1px solid #f5efe124;border-radius:8px;padding:8px 10px;font-size:.82rem;font-weight:850}.project-links a[data-v-bc5429c3],.footer-links a[data-v-bc5429c3]{color:#f2c45f;text-underline-offset:4px;font-weight:950}.project-library[data-v-bc5429c3]{border-top:1px solid #f5efe11f;margin-top:clamp(38px,6vw,72px);padding-top:clamp(34px,5vw,58px)}.library-heading[data-v-bc5429c3]{gap:8px;max-width:760px;margin-bottom:24px;display:grid}.library-heading h3[data-v-bc5429c3]{margin-bottom:0;font-size:clamp(2rem,4vw,3.6rem)}.library-heading p[data-v-bc5429c3]:not(.eyebrow){color:#ded2bf;margin-bottom:0;font-size:1rem;line-height:1.6}.library-grid[data-v-bc5429c3]{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.library-card[data-v-bc5429c3]{background:linear-gradient(140deg, color-mix(in srgb, var(--accent), transparent 88%), transparent 46%), #090f1c94;border:1px solid #f5efe11f;border-radius:8px;flex-direction:column;min-height:320px;padding:22px;display:flex;position:relative}.library-card .project-type[data-v-bc5429c3]{margin-bottom:10px}.library-card[data-v-bc5429c3]:before{background:var(--accent);content:"";border-radius:8px 8px 0 0;height:3px;position:absolute;top:0;left:0;right:0}.library-card>p[data-v-bc5429c3]:not(.project-type){color:#dfd3c1;line-height:1.6}.stack-list.compact[data-v-bc5429c3]{margin-top:auto;margin-bottom:20px}.stack-list.compact li[data-v-bc5429c3]{padding:7px 9px;font-size:.78rem}.skills-band[data-v-bc5429c3]{border-top:1px solid #f5efe11f;border-bottom:1px solid #f5efe11f;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(24px,5vw,64px);padding-top:clamp(42px,6vw,76px);padding-bottom:clamp(42px,6vw,76px);display:grid}.skills-band h2[data-v-bc5429c3]{margin-bottom:0;font-size:clamp(2rem,4vw,3.7rem)}.skill-columns[data-v-bc5429c3]{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.skill-columns ul[data-v-bc5429c3]{background:#f5efe10f;border:1px solid #f5efe11f;border-radius:8px;align-content:start;gap:10px;margin:0;padding:18px;list-style:none;display:grid}.skill-columns li[data-v-bc5429c3]{color:#e1d5c3;font-weight:800}.site-footer[data-v-bc5429c3]{justify-content:space-between;align-items:center;gap:28px;padding-top:54px;padding-bottom:62px;display:flex}.site-footer h2[data-v-bc5429c3]{margin-bottom:0;font-size:clamp(2rem,4vw,4rem)}@media (width<=940px){.hero-layout[data-v-bc5429c3],.project-card[data-v-bc5429c3],.skills-band[data-v-bc5429c3],.library-grid[data-v-bc5429c3]{grid-template-columns:1fr}.hero[data-v-bc5429c3],.hero-layout[data-v-bc5429c3]{min-height:auto}.dev-panel[data-v-bc5429c3]{min-height:420px}}@media (width<=660px){.topbar[data-v-bc5429c3]{flex-direction:column;align-items:flex-start}.nav-links[data-v-bc5429c3]{justify-content:space-between;width:100%}h1[data-v-bc5429c3]{font-size:clamp(2.9rem,16vw,4.8rem)}.showcase-heading[data-v-bc5429c3],.site-footer[data-v-bc5429c3]{flex-direction:column;align-items:flex-start}.skill-columns[data-v-bc5429c3]{grid-template-columns:1fr}.dev-panel[data-v-bc5429c3]{min-height:380px}}
