:root{--bg: #08090b;--bg-deep: #050608;--panel: #0c0d11;--ink: #eeeae3;--ink-86: rgba(238, 234, 227, .86);--ink-70: rgba(238, 234, 227, .7);--ink-60: rgba(238, 234, 227, .6);--ink-50: rgba(238, 234, 227, .5);--ink-42: rgba(238, 234, 227, .42);--ink-38: rgba(238, 234, 227, .38);--ink-34: rgba(238, 234, 227, .34);--line: rgba(255, 255, 255, .07);--line-strong: rgba(255, 255, 255, .1);--chip-border: rgba(255, 255, 255, .11);--acc: #b79bff;--acc-ink: #0a0b0d;--match: #7fd7a4;--partial: #e5c07b;--gap: #e08a7a;--sans: "Instrument Sans", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--acc)}::selection{background:color-mix(in oklab,var(--acc) 35%,transparent)}::placeholder{color:var(--ink-34)}button{font-family:var(--sans)}code,.mono{font-family:var(--mono)}@keyframes riseIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes softPulse{0%,to{opacity:.35}50%{opacity:.9}}.rv{animation:riseIn .7s cubic-bezier(.2,.7,.2,1) both}.pulse-dot{width:6px;height:6px;border-radius:50%;background:var(--acc);animation:softPulse 2.6s infinite}.acc-dot{width:9px;height:9px;border-radius:2px;background:var(--acc);box-shadow:0 0 14px var(--acc);flex:none}#about,#experience,#projects,#ai,#skills,#ask{scroll-margin-top:84px}.topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:18px 48px;border-bottom:1px solid var(--line);background:#08090bc7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:11px;border:0;background:transparent;padding:0;cursor:pointer;color:var(--ink)}.brand .name{font-size:14px;font-weight:600;letter-spacing:-.01em}.brand .domain{font-family:var(--mono);font-size:11px;color:var(--ink-38)}.topbar nav{display:flex;align-items:center;gap:26px;flex-wrap:wrap;font-size:13.5px;color:var(--ink-60)}.topbar nav a,.topbar nav button{border:0;background:transparent;padding:0;cursor:pointer;font-size:13.5px;color:inherit;transition:color .18s}.topbar nav a:hover,.topbar nav button:hover{color:var(--acc)}.topbar nav .active{color:var(--ink)}.topbar nav .cta{padding:8px 15px;border:1px solid rgba(255,255,255,.16);border-radius:8px;font-size:13px;color:var(--ink)}.hero{position:relative;overflow:hidden;padding:118px 48px 76px;display:flex;flex-direction:column;align-items:center;text-align:center}.hero-glow{position:absolute;top:-260px;left:50%;transform:translate(-50%);width:1100px;height:620px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in oklab,var(--acc) 16%,transparent),transparent);filter:blur(20px);pointer-events:none}.hero-badge{position:relative;display:flex;align-items:center;gap:9px;padding:6px 12px 6px 8px;border:1px solid var(--line-strong);border-radius:999px;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--ink-60)}.hero h1{position:relative;margin:34px 0 0;max-width:19ch;font-size:74px;line-height:1.02;letter-spacing:-.035em;font-weight:600;text-wrap:balance}.hero .sub{position:relative;margin:24px 0 0;max-width:62ch;font-size:17.5px;line-height:1.62;color:var(--ink-60)}.ask-divider{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;max-width:820px;margin:52px auto 18px}.ask-divider .rule-l{height:1px;flex:1;background:linear-gradient(90deg,transparent,rgba(255,255,255,.14))}.ask-divider .rule-r{height:1px;flex:1;background:linear-gradient(270deg,transparent,rgba(255,255,255,.14))}.ask-divider .line{font-size:15px;letter-spacing:-.01em;color:#eeeae3e6}.ask-divider em{font-style:normal;color:var(--acc)}.ask-wrap{max-width:820px;margin:0 auto;padding:0 48px 84px}.ask-frame{padding:2px;border-radius:18px;background:linear-gradient(180deg,color-mix(in oklab,var(--acc) 34%,transparent),#ffffff0f)}.ask-row{display:flex;align-items:center;gap:14px;padding:18px 18px 18px 22px;border-radius:16px;background:var(--panel)}.ask-row .dot{width:8px;height:8px;border-radius:2px;background:var(--acc);box-shadow:0 0 16px var(--acc);flex:none}.ask-row input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:var(--ink);font-family:var(--sans);font-size:18px;letter-spacing:-.01em}.ask-row .kbd{font-family:var(--mono);font-size:10.5px;color:#eeeae34d;border:1px solid rgba(255,255,255,.12);border-radius:5px;padding:3px 6px}.btn-acc{padding:11px 20px;border:0;border-radius:10px;background:var(--acc);color:var(--acc-ink);font-size:14px;font-weight:600;cursor:pointer}.btn-acc:disabled{opacity:.45;cursor:default}.sugg-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.sugg{padding:9px 14px;border:1px solid var(--chip-border);border-radius:999px;background:transparent;color:#eeeae3ad;font-size:13.5px;cursor:pointer;transition:.18s}.sugg:hover:not(:disabled){border-color:color-mix(in oklab,var(--acc) 50%,transparent);background:#ffffff0b}.sugg:disabled{opacity:.4;cursor:default}.thread{margin-top:34px;border:1px solid rgba(255,255,255,.09);border-radius:18px;background:linear-gradient(180deg,#ffffff09,#ffffff02);overflow:hidden}.thread-head{display:flex;align-items:center;justify-content:space-between;padding:13px 20px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-42)}.thread-head button{border:0;background:transparent;cursor:pointer;color:var(--ink-42);font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}.thread-head button:hover{color:var(--acc)}.thread-body{padding:24px 26px 26px;display:flex;flex-direction:column;gap:20px}.turn{display:flex;gap:14px;align-items:flex-start}.turn .who{flex:none;margin-top:3px;width:24px;height:24px;border-radius:7px;border:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px;color:var(--ink-50)}.turn .who.ai{border:1px solid color-mix(in oklab,var(--acc) 45%,transparent);background:color-mix(in oklab,var(--acc) 22%,transparent)}.turn .who.ai span{width:7px;height:7px;border-radius:2px;background:var(--acc);animation:softPulse 2.2s infinite}.turn .q{margin:0;font-size:17.5px;letter-spacing:-.012em;line-height:1.5}.turn .a{flex:1;min-width:0}.turn .a p{margin:0 0 13px;font-size:16px;line-height:1.68;color:var(--ink-86);white-space:pre-wrap}.turn .a p:last-child{margin-bottom:0}.retrieving{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;color:var(--ink-42)}.retrieving .word{animation:softPulse 1.2s infinite}.retrieving .trail{height:1px;width:120px;background:linear-gradient(90deg,var(--acc),transparent)}.actions-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;padding-top:18px;border-top:1px solid var(--line)}.action-btn{padding:9px 14px;border:1px solid var(--chip-border);border-radius:9px;background:transparent;color:var(--ink-70);font-size:13px;cursor:pointer;transition:.18s}.action-btn:hover{border-color:color-mix(in oklab,var(--acc) 50%,transparent);background:#ffffff0b}.section{padding:78px 48px;border-top:1px solid var(--line)}.section-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:220px 1fr;gap:56px}.kicker{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-38)}.kicker-link{display:inline-block;margin-top:18px;font-size:13.5px;color:var(--ink-50);border-bottom:1px solid rgba(255,255,255,.16);padding-bottom:2px;font-family:var(--sans);letter-spacing:0;text-transform:none}.lede{margin:0 0 20px;font-size:24px;line-height:1.55;letter-spacing:-.02em}.body-dim{margin:0 0 16px;font-size:16.5px;line-height:1.7;color:var(--ink-60)}.body-dim:last-child{margin-bottom:0}.chip-tag{padding:5px 10px;border:1px solid var(--line-strong);border-radius:6px;font-family:var(--mono);font-size:11px;color:#eeeae385}.hoverline{transition:.25s}.hoverline:hover{background:#ffffff08}.roles{border-left:1px solid var(--line-strong)}.role{position:relative;padding:26px 24px 30px 30px;border-bottom:1px solid var(--line)}.role-dot{position:absolute;left:-4.5px;top:34px;width:8px;height:8px;border-radius:2px}.role-head{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap}.role-head h3{margin:0;font-size:24px;letter-spacing:-.022em;font-weight:600}.role-head .period{font-family:var(--mono);font-size:12px;color:var(--ink-42)}.role .company{margin-top:6px;font-size:15px;color:var(--acc)}.role .summary{margin:14px 0 0;max-width:76ch;font-size:15.5px;line-height:1.68;color:var(--ink-60)}.role-metrics{display:flex;flex-wrap:wrap;gap:26px;margin-top:20px}.role-metrics .value{font-size:23px;letter-spacing:-.02em}.role-metrics .label{font-family:var(--mono);font-size:10.5px;color:#eeeae366;margin-top:4px}.role .chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.project{padding:24px;border:1px solid rgba(255,255,255,.09);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.03),transparent)}.project .top{display:flex;align-items:center;justify-content:space-between}.project .kind{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--acc)}.project .toggle{border:0;background:transparent;cursor:pointer;color:#eeeae373;font-family:var(--mono);font-size:11px}.project .toggle:hover{color:var(--acc)}.project h3{margin:14px 0 0;font-size:21px;letter-spacing:-.02em;font-weight:600}.project .problem{margin:10px 0 0;font-size:15px;line-height:1.62;color:#eeeae394}.project .case{margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:13px}.case-label{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-34);margin-bottom:6px}.project .case p{margin:0;font-size:14.5px;line-height:1.6;color:#eeeae3b8}.project .impact{display:flex;align-items:center;gap:9px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.project .impact .dot{width:5px;height:5px;border-radius:1px;background:var(--acc);flex:none}.project .impact span:last-child{font-size:14px;color:#eeeae3cc}.project .chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.project .chips .chip-tag{padding:4px 9px;border-radius:5px;font-size:10.5px;color:var(--ink-50)}.ai h2{margin:0;font-size:40px;line-height:1.12;letter-spacing:-.03em;font-weight:600;max-width:20ch}.ai-grid{display:grid;grid-template-columns:1fr 64px 1fr;gap:0;align-items:stretch;margin-top:42px}.ai-col{padding:26px;border-radius:16px}.ai-col.machine{border:1px solid color-mix(in oklab,var(--acc) 28%,rgba(255,255,255,.08));background:radial-gradient(120% 100% at 0% 0%,color-mix(in oklab,var(--acc) 10%,transparent),transparent)}.ai-col.human{border:1px solid rgba(255,255,255,.09);background:#ffffff05}.ai-col .head{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px}.ai-col.machine .head{color:var(--acc)}.ai-col.human .head{color:var(--ink-60)}.ai-col .item{padding:9px 0;border-bottom:1px solid rgba(255,255,255,.06);font-size:15px;color:#eeeae3c7}.ai-mid{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.ai-mid .rule-t{width:1px;flex:1;background:linear-gradient(180deg,transparent,rgba(255,255,255,.16))}.ai-mid .rule-b{width:1px;flex:1;background:linear-gradient(0deg,transparent,rgba(255,255,255,.16))}.ai-mid .word{font-family:var(--mono);font-size:10px;color:#eeeae359;writing-mode:vertical-rl}.ai .closing{margin:28px 0 0;font-size:15.5px;line-height:1.7;color:#eeeae38c;max-width:78ch}.skills-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.skill-card{display:block;padding:22px;border:1px solid rgba(255,255,255,.09);border-radius:14px;color:inherit;text-decoration:none}.skill-card .name{font-size:15.5px;font-weight:600;letter-spacing:-.01em;margin-bottom:14px}.skill-card .chips{display:flex;flex-wrap:wrap;gap:6px}.skill-card .chip-tag{color:var(--ink-60)}.contact{padding:96px 48px 60px;border-top:1px solid var(--line)}.contact-inner{max-width:1180px;margin:0 auto}.contact h2{margin:0;font-size:56px;line-height:1.05;letter-spacing:-.04em;font-weight:600}.contact .sub{margin:18px 0 0;font-size:17px;color:#eeeae38c;max-width:56ch}.contact-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.contact-links .primary{display:flex;align-items:center;gap:10px;padding:14px 22px;border-radius:11px;background:var(--acc);color:var(--acc-ink);font-size:15px;font-weight:600}.contact-links .primary:hover{color:var(--acc-ink);opacity:.9}.contact-links .ghost{display:flex;align-items:center;gap:10px;padding:14px 22px;border:1px solid rgba(255,255,255,.13);border-radius:11px;font-size:15px;transition:.18s}.contact-links .ghost:hover{border-color:color-mix(in oklab,var(--acc) 50%,transparent);background:#ffffff0b;color:var(--ink)}.footer-strip{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:72px;padding-top:22px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11px;color:#eeeae352}.view-shell{max-width:1180px;margin:0 auto;padding:64px 48px 96px}.view-shell .view-head{max-width:74ch}.view-shell h2{margin:0;font-size:44px;line-height:1.08;letter-spacing:-.032em;font-weight:600}.view-shell h3{margin:54px 0 18px;font-size:13px;font-weight:500;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-42)}.section-note{font-size:15px;line-height:1.65;color:var(--ink-60);max-width:74ch}.error{color:var(--gap);font-size:14.5px}.jd-frame{margin-top:26px;padding:2px;border-radius:18px;background:linear-gradient(180deg,color-mix(in oklab,var(--acc) 34%,transparent),#ffffff0f)}textarea.jd{display:block;width:100%;min-height:220px;resize:vertical;padding:18px 22px;border:0;outline:0;border-radius:16px;background:var(--panel);color:var(--ink);font-family:var(--sans);font-size:15.5px;line-height:1.6}.assessment{margin:34px 0 22px;padding:24px 26px;border:1px solid color-mix(in oklab,var(--acc) 28%,rgba(255,255,255,.08));border-radius:16px;background:radial-gradient(120% 100% at 0% 0%,color-mix(in oklab,var(--acc) 10%,transparent),transparent);font-size:18px;line-height:1.6;letter-spacing:-.012em}.req{padding:20px 22px;margin-bottom:12px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent)}.req .head{display:flex;align-items:baseline;justify-content:space-between;gap:18px;flex-wrap:wrap}.req .head strong{font-size:15.5px;letter-spacing:-.01em;font-weight:600}.req .evidence{margin-top:10px;font-size:14.5px;line-height:1.62;color:var(--ink-60)}.req .sections{margin-top:12px;font-size:11px;color:var(--ink-42)}.verdict{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;padding:4px 10px;border-radius:999px;border:1px solid}.verdict.match{color:var(--match);border-color:color-mix(in oklab,var(--match) 45%,transparent);background:color-mix(in oklab,var(--match) 10%,transparent)}.verdict.partial{color:var(--partial);border-color:color-mix(in oklab,var(--partial) 45%,transparent);background:color-mix(in oklab,var(--partial) 10%,transparent)}.verdict.gap{color:var(--gap);border-color:color-mix(in oklab,var(--gap) 45%,transparent);background:color-mix(in oklab,var(--gap) 10%,transparent)}.eval-pass{color:var(--match)}.eval-fail{color:var(--gap)}.notice{color:var(--ink-60);font-size:14.5px}table.log{width:100%;border-collapse:collapse;font-size:13.5px}table.log th{text-align:left;padding:9px 12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;font-weight:500;color:var(--ink-42);border-bottom:1px solid var(--line-strong)}table.log td{padding:9px 12px;border-bottom:1px solid var(--line);color:var(--ink-70);vertical-align:top}table.log .mono{font-size:12px}.ship-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin-bottom:26px}.stat{padding:18px 20px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent)}.stat .label{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-42)}.stat .value{margin-top:8px;font-size:24px;letter-spacing:-.02em}@media(max-width:960px){.topbar{padding:14px 22px}.topbar nav{gap:16px}.hero{padding:84px 22px 56px}.hero h1{font-size:46px}.ask-wrap{padding:0 22px 64px}.section,.contact{padding-left:22px;padding-right:22px}.section-inner{grid-template-columns:1fr;gap:26px}.projects-grid{grid-template-columns:1fr}.skills-grid{grid-template-columns:1fr 1fr}.ai-grid{grid-template-columns:1fr;gap:16px}.ai-mid{display:none}.contact h2{font-size:38px}.view-shell{padding:44px 22px 72px}.view-shell h2{font-size:32px}}@media(max-width:560px){.hero h1{font-size:36px}.skills-grid{grid-template-columns:1fr}.ask-row{padding:14px;gap:10px}.ask-row input{font-size:15px}.ask-row .kbd{display:none}}
