:root{--bg:#07060d;--fg:#ece8f6;--muted:#a49cba;--line:#c4aaff24;--tile:#120e20c7;--tile-hover:#1c1632e0;--accent:#b48cff;--accent-soft:#b48cff24;--ice:#9fd8ff;--ice-soft:#9fd8ff24;--ok:#4ade80;--glass:hsla(0,0%,100%,.055);--glass-edge:#ffffff29;--glass-shadow:0 30px 60px -28px #000c;--blob-a:#8454ff80;--blob-b:#60a5fa4d;--chip:#ffffff0f;--btn:#9b6bff;--btn-fg:#fff;--banner:#9b6bff24;--banner-fg:#d9c8ff;--shot-bg:#fff;--display:"Bricolage Grotesque","Avenir Next","Segoe UI",system-ui,sans-serif;--body:"Geist","Helvetica Neue","Segoe UI",system-ui,sans-serif;--mono:"Geist Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;--r:18px;color-scheme:dark}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;background:#07060d;background:var(--bg);background-attachment:fixed;background-image:radial-gradient(ellipse 80% 50% at 15% -10%,#8454ff38,#0000 60%),radial-gradient(ellipse 60% 40% at 100% 0,#60a5fa1a,#0000 60%);color:#ece8f6;color:var(--fg);font-family:Geist,Helvetica Neue,Segoe UI,system-ui,sans-serif;font-family:var(--body);font-size:15px;line-height:1.55}a{color:inherit}:focus-visible{border-radius:6px;outline:2px solid #b48cff;outline:2px solid var(--accent);outline-offset:2px}#stars{height:100%;inset:0;pointer-events:none;position:fixed;width:100%;z-index:0}.wrap{margin:0 auto;max-width:1160px;padding-block:28px 64px;padding-inline:20px;position:relative;z-index:1}.grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(12,minmax(0,1fr))}.tile{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#120e20c7;background:var(--tile);border:1px solid #c4aaff24;border:1px solid var(--line);border-radius:18px;border-radius:var(--r);display:flex;flex-direction:column;gap:12px;grid-column:span 4;grid-column:span var(--span,4);min-width:0;padding:20px;position:relative;transition:background .2s ease,box-shadow .25s ease,transform .2s ease}.tile.flash{box-shadow:0 0 0 2px #b48cff,0 0 32px -6px #b48cff;box-shadow:0 0 0 2px var(--accent),0 0 32px -6px var(--accent)}.hero-wrap{grid-column:span 7;min-width:0;position:relative}.hero-wrap:after,.hero-wrap:before{border-radius:50%;content:"";filter:blur(46px);pointer-events:none;position:absolute;z-index:0}.hero-wrap:before{background:#8454ff80;background:var(--blob-a);height:70%;left:-4%;top:6%;width:62%}.hero-wrap:after{background:#60a5fa4d;background:var(--blob-b);bottom:-6%;height:60%;right:2%;width:48%}.hero{-webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);background:hsla(0,0%,100%,.055);background:var(--glass);border:1px solid #ffffff29;border:1px solid var(--glass-edge);border-radius:24px;box-shadow:0 30px 60px -28px #000c,inset 0 1px 0 #ffffff29;box-shadow:var(--glass-shadow),inset 0 1px 0 var(--glass-edge);display:flex;flex-direction:column;gap:18px;height:100%;justify-content:space-between;padding:30px;position:relative;z-index:1}.hero h1{text-wrap:balance;font-family:Bricolage Grotesque,Avenir Next,Segoe UI,system-ui,sans-serif;font-family:var(--display);font-size:clamp(2.3rem,5vw,3.4rem);font-weight:700;letter-spacing:-.025em;line-height:1.02;margin:0}.hero .role{color:#9fd8ff;color:var(--ice);font-family:Geist Mono,ui-monospace,SF Mono,Menlo,Consolas,monospace;font-family:var(--mono);font-size:13px;letter-spacing:.06em;margin:0 0 10px;text-transform:uppercase}.hero .pitch{color:#a49cba;color:var(--muted);font-size:17px;margin:12px 0 0;max-width:40ch}.facts{display:flex;flex-wrap:wrap;gap:8px}.fact{align-items:center;background:#ffffff0f;background:var(--chip);border:1px solid #c4aaff24;border:1px solid var(--line);border-radius:999px;display:inline-flex;font-size:13px;font-weight:500;gap:8px;padding:6px 12px}.fact.available{border-color:color-mix(in srgb,#4ade80 45%,#0000);border-color:color-mix(in srgb,var(--ok) 45%,#0000)}.dot{animation:pulse 2.4s ease-out infinite;background:#4ade80;background:var(--ok);border-radius:50%;box-shadow:0 0 0 0 #4ade80;box-shadow:0 0 0 0 var(--ok);height:8px;width:8px}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,#4ade80 55%,#0000);box-shadow:0 0 0 0 color-mix(in srgb,var(--ok) 55%,#0000)}80%,to{box-shadow:0 0 0 9px #0000}}.links{display:flex;flex-wrap:wrap;gap:10px}.btn{align-items:center;background:#ffffff0f;background:var(--chip);border:1px solid #c4aaff24;border:1px solid var(--line);border-radius:12px;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 16px;text-decoration:none;transition:transform .15s ease,background .15s ease}.btn:hover{background:#1c1632e0;background:var(--tile-hover);transform:translateY(-1px)}.btn.primary{background:#9b6bff;background:var(--btn);border-color:#9b6bff;border-color:var(--btn);box-shadow:0 8px 24px -10px #9b6bff;box-shadow:0 8px 24px -10px var(--btn);color:#fff;color:var(--btn-fg)}.btn svg{flex:none;height:17px;width:17px}.stats{grid-gap:14px;display:grid;gap:14px;grid-column:span 5;grid-template-columns:1fr 1fr;min-width:0}.stat{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#120e20c7;background:var(--tile);border:1px solid #c4aaff24;border:1px solid var(--line);border-radius:18px;border-radius:var(--r);color:inherit;cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:10px;justify-content:space-between;min-width:0;padding:16px;text-align:left;transition:background .2s ease,transform .15s ease}.stat:hover{background:#1c1632e0;background:var(--tile-hover);transform:translateY(-1px)}.stat b{font-feature-settings:"tnum";color:#9fd8ff;color:var(--ice);font-family:Bricolage Grotesque,Avenir Next,Segoe UI,system-ui,sans-serif;font-family:var(--display);font-size:clamp(1.6rem,3vw,2.1rem);font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.02em;line-height:1}.stat span{color:#a49cba;color:var(--muted);font-size:13px}.stat small{color:#b48cff;color:var(--accent);font-family:Geist Mono,ui-monospace,SF Mono,Menlo,Consolas,monospace;font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.ask{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#120e20c7;background:var(--tile);border:1px solid #c4aaff24;border:1px solid var(--line);border-radius:18px;border-radius:var(--r);display:flex;flex-direction:column;gap:12px;grid-column:1/-1;padding:14px}.ask form{align-items:center;display:flex;gap:10px}.ask-icon{background:#b48cff24;background:var(--accent-soft);border-radius:10px;color:#b48cff;color:var(--accent);display:grid;flex:none;height:36px;place-items:center;width:36px}.ask input{background:#0000;border:0;color:#ece8f6;color:var(--fg);flex:1 1;font:500 16px Geist,Helvetica Neue,Segoe UI,system-ui,sans-serif;font:500 16px var(--body);min-width:0;padding:8px 4px}.ask input::placeholder{color:#a49cba;color:var(--muted)}.ask input:focus{outline:none}.ask form:focus-within{border-radius:12px;box-shadow:0 0 0 2px #b48cff24;box-shadow:0 0 0 2px var(--accent-soft)}.ask .go{background:#9b6bff;background:var(--btn);border:0;border-radius:10px;color:#fff;color:var(--btn-fg);cursor:pointer;flex:none;font:600 14px Geist,Helvetica Neue,Segoe UI,system-ui,sans-serif;font:600 14px var(--body);padding:9px 14px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{background:#0000;border:1px solid #c4aaff24;border:1px solid var(--line);border-radius:999px;color:#ece8f6;color:var(--fg);cursor:pointer;font:500 13px Geist,Helvetica Neue,Segoe UI,system-ui,sans-serif;font:500 13px var(--body);padding:6px 11px}.chip:hover{background:#b48cff24;background:var(--accent-soft);border-color:#0000}.answer{border-top:1px solid #c4aaff24;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px;padding-top:12px}.answer p{margin:0}.answer .q{color:#a49cba;color:var(--muted);font-family:Geist Mono,ui-monospace,SF Mono,Menlo,Consolas,monospace;font-family:var(--mono);font-size:12px;letter-spacing:.04em}.answer .refs{display:flex;flex-wrap:wrap;gap:8px}.ref{background:#b48cff24;background:var(--accent-soft);border:1px solid #c4aaff24;border:1px solid var(--line);border-radius:999px;color:#b48cff;color:var(--accent);cursor:pointer;font:600 13px Geist,Helvetica Neue,Segoe UI,system-ui,sans-serif;font:600 13px var(--body);padding:6px 11px;text-decoration:none}.mail{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.mail span{font-family:Geist Mono,ui-monospace,SF Mono,Menlo,Consolas,monospace;font-family:var(--mono);font-size:14px;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.also{align-items:center;color:#a49cba;color:var(--muted);display:flex;flex-wrap:wrap;font-size:13px;gap:8px}.ref.strong{background:#9b6bff;background:var(--btn);border-color:#9b6bff;border-color:var(--btn);color:#fff;color:var(--btn-fg)}.note{font-size:12px}.eyebrow,.note{color:#a49cba;color:var(--muted);margin:0}.eyebrow{letter-spacing:.08em;text-transform:uppercase}.badge,.eyebrow{font-family:Geist Mono,ui-monospace,SF Mono,Menlo,Consolas,monospace;font-family:var(--mono);font-size:11px}.badge{align-self:flex-start;background:#b48cff24;background:var(--accent-soft);border-radius:6px;color:#b48cff;color:var(--accent);letter-spacing:.04em;padding:4px 9px}.tile h3{text-wrap:balance;font-family:Bricolage Grotesque,Avenir Next,Segoe UI,system-ui,sans-serif;font-family:var(--display);font-size:1.25rem;font-weight:700;letter-spacing:-.01em;line-height:1.15;margin:0}.tile .sub{color:#a49cba;color:var(--muted);font-size:14px;margin:0}.tile p.lead{margin:0}.shot{aspect-ratio:16/9;background:#fff;background:var(--shot-bg);border:1px solid #c4aaff24;border:1px solid var(--line);border-radius:12px;max-width:100%;object-fit:contain;width:100%}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}.tag{border:1px solid #c4aaff24;border:1px solid var(--line);border-radius:6px;color:#a49cba;color:var(--muted);font-family:Geist Mono,ui-monospace,SF Mono,Menlo,Consolas,monospace;font-family:var(--mono);font-size:11.5px;padding:3px 8px}.head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.more{background:#0000;border:1px solid #c4aaff24;border:1px solid var(--line);border-radius:9px;color:#ece8f6;color:var(--fg);cursor:pointer;flex:none;font:600 12.5px Geist,Helvetica Neue,Segoe UI,system-ui,sans-serif;font:600 12.5px var(--body);padding:6px 10px}.more:hover{background:#b48cff24;background:var(--accent-soft)}.detail,.sheet[hidden]{display:none}.sheet{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#04030a9e;display:grid;inset:0;padding:16px;place-items:center;position:fixed;z-index:50}@keyframes card-in{0%{transform:translateY(12px) scale(.985)}to{transform:none}}.sheet-card{animation:card-in .22s ease;background:#141024f0;border:1px solid #ffffff29;border:1px solid var(--glass-edge);border-radius:22px;box-shadow:0 40px 80px -30px #000000e6,0 0 0 1px #9b6bff1f;max-height:min(86vh,920px);max-width:760px;overflow:auto;padding:0;position:relative;width:100%}.sheet-bar{align-items:center;background:#141024f7;border-bottom:1px solid #c4aaff24;border-bottom:1px solid var(--line);display:flex;gap:12px;justify-content:space-between;padding:12px 14px 12px 22px;position:-webkit-sticky;position:sticky;top:0;z-index:2}.sheet-bar span{color:#a49cba;color:var(--muted);font-family:Geist Mono,ui-monospace,SF Mono,Menlo,Consolas,monospace;font-family:var(--mono);font-size:12px;letter-spacing:.06em;min-width:0;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.sheet-close{align-items:center;background:#ffffff0f;background:var(--chip);border:1px solid #c4aaff24;border:1px solid var(--line);border-radius:10px;color:#ece8f6;color:var(--fg);cursor:pointer;display:inline-flex;flex:none;font:600 14px Geist,Helvetica Neue,Segoe UI,system-ui,sans-serif;font:600 14px var(--body);gap:6px;padding:8px 14px}.sheet-close:hover{background:#b48cff24;background:var(--accent-soft)}.sheet-close svg{height:15px;width:15px}#sheetBody{padding:22px 26px 28px}.sheet .tile{-webkit-backdrop-filter:none;backdrop-filter:none;background:none;border:0;display:flex!important;flex-direction:column;gap:14px;padding:0}.sheet .tile .more{display:none}.sheet .detail{display:block}.sheet .tile h3{font-size:1.5rem}.sheet .shot{max-height:360px}.sheet .bullets,.sheet .detail ul{font-size:15px;gap:9px}.sheet-done{display:none;justify-content:center;margin-top:22px}.sheet-done button{background:#ffffff0f;background:var(--chip);border:1px solid #c4aaff24;border:1px solid var(--line);border-radius:12px;color:#ece8f6;color:var(--fg);cursor:pointer;font:600 15px Geist,Helvetica Neue,Segoe UI,system-ui,sans-serif;font:600 15px var(--body);min-height:46px;width:100%}@media (max-width:640px){.sheet{-webkit-backdrop-filter:none;backdrop-filter:none;display:block;padding:0}.sheet,.sheet-card{background:#07060d;background:var(--bg)}.sheet-card{-webkit-overflow-scrolling:touch;animation:none;border:0;border-radius:0;box-shadow:none;height:100vh;height:100dvh;max-height:none;max-width:none;overscroll-behavior:contain;width:100%}.sheet-bar{background:#0c0a16f7;padding:calc(10px + env(safe-area-inset-top, 0px)) 12px 10px 18px}#sheetBody{padding:18px 18px calc(28px + env(safe-area-inset-bottom, 0px))}.sheet .shot{max-height:none}.sheet-done{display:flex}}.bullets{grid-gap:8px;display:grid;font-size:14.5px;gap:8px;margin:0;padding-left:18px}.bullets li::marker{color:#b48cff;color:var(--accent)}.detail ul{grid-gap:6px;display:grid;gap:6px;margin:0;max-width:80ch;padding-left:18px}.detail li::marker{color:#b48cff;color:var(--accent)}.tile-links{display:flex;flex-wrap:wrap;font-size:14px;font-weight:600;gap:14px}.tile-links a{color:#b48cff;color:var(--accent);text-decoration:none}.tile-links a:hover{text-decoration:underline}.xp{grid-gap:0;gap:0}.xp,.xp-row{display:grid}.xp-row{grid-gap:4px 12px;border-top:1px solid #c4aaff24;border-top:1px solid var(--line);gap:4px 12px;grid-template-columns:1fr auto;padding:10px 0}.xp-row:first-child{border-top:0;padding-top:0}.xp-row b{font-weight:600}.xp-row .when{font-feature-settings:"tnum";font-family:Geist Mono,ui-monospace,SF Mono,Menlo,Consolas,monospace;font-family:var(--mono);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.xp-row .org,.xp-row .when{color:#a49cba;color:var(--muted)}.xp-row .org{font-size:14px}.xp-row .org,.xp-row ul{grid-column:1/-1}.timeline{grid-gap:16px;display:grid;gap:16px;list-style:none;margin:0;padding:0;position:relative}.timeline:before{background:linear-gradient(#b48cff,#b48cff1f);background:linear-gradient(var(--accent),#b48cff1f);border-radius:2px;bottom:8px;content:"";left:5px;position:absolute;top:8px;width:2px}.timeline>li{grid-gap:3px;display:grid;gap:3px;min-width:0;padding-left:28px;position:relative}.timeline>li:before{background:#07060d;background:var(--bg);border:2px solid #b48cff;border:2px solid var(--accent);border-radius:50%;content:"";height:12px;left:0;position:absolute;top:6px;width:12px}.timeline>li.now:before{background:#b48cff;background:var(--accent);box-shadow:0 0 0 4px #b48cff24,0 0 14px #b48cff;box-shadow:0 0 0 4px var(--accent-soft),0 0 14px var(--accent)}.t-top{align-items:baseline;display:flex;flex-wrap:wrap;gap:6px 12px;justify-content:space-between}.t-top b{font-size:15.5px;font-weight:600}.timeline .when{font-feature-settings:"tnum";color:#9fd8ff;color:var(--ice);font-family:Geist Mono,ui-monospace,SF Mono,Menlo,Consolas,monospace;font-family:var(--mono);font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap}.timeline .org{color:#a49cba;color:var(--muted);font-size:13.5px}.timeline .hl{font-size:14.5px;margin:2px 0 0}.timeline .detail{display:none;font-size:14px;gap:6px;margin:6px 0 0;padding-left:18px}.timeline .detail li::marker{color:#b48cff;color:var(--accent)}.sheet .timeline .detail{display:grid}.sheet .timeline .hl{display:none}#experience{border-color:#b48cff52;box-shadow:0 0 0 1px #9b6bff14,0 20px 50px -30px #9b6bff80}#education .tags{margin-top:0}#education .eyebrow.section{border-top:1px solid #c4aaff24;border-top:1px solid var(--line);margin-top:8px;padding-top:12px}#education .plain{grid-gap:4px;color:#a49cba;color:var(--muted);display:grid;font-size:14px;gap:4px;margin:0;padding-left:18px}#education .plain li::marker{color:#b48cff;color:var(--accent)}#education .award{color:#9fd8ff;color:var(--ice)}#experience .stack-label{border-top:1px solid #c4aaff24;border-top:1px solid var(--line);margin-top:6px;padding-top:12px}.edu{grid-gap:12px;display:grid;gap:12px}.edu div{grid-gap:2px;display:grid;gap:2px}.edu b{font-weight:600}.edu span{font-size:14px}.edu span,footer{color:#a49cba;color:var(--muted)}footer{display:flex;flex-wrap:wrap;font-size:13px;gap:8px;justify-content:space-between;margin-top:28px}@media (max-width:980px){.grid{grid-template-columns:repeat(6,minmax(0,1fr))}.hero-wrap,.stats{grid-column:1/-1}.stats{grid-template-columns:repeat(4,1fr)}.tile{grid-column:span 3}#mirror,#rakuten,#tetris,.tile.wide{grid-column:1/-1}#mirror,#tetris{grid-column-gap:18px;align-items:start;column-gap:18px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#mirror>.shot,#tetris>.shot{grid-row:span 6}}@media (max-width:640px){.grid{grid-template-columns:minmax(0,1fr)}.tile,.tile.wide{grid-column:1/-1}#mirror,#tetris{display:flex}.stats{grid-template-columns:1fr 1fr}.hero{padding:22px}.ask form{flex-wrap:wrap}.ask input{flex-basis:calc(100% - 50px)}.ask .go{width:100%}}@media (pointer:fine){html.orbit-cursor,html.orbit-cursor *{cursor:none}html.orbit-cursor input,html.orbit-cursor textarea{cursor:text}.c-dot,.c-ring{border-radius:50%;left:0;opacity:0;pointer-events:none;position:fixed;top:0;transition:opacity .2s ease;will-change:transform;z-index:9999}html.orbit-cursor.c-in .c-dot,html.orbit-cursor.c-in .c-ring{opacity:1}.c-dot{background:#9fd8ff;background:var(--ice);box-shadow:0 0 10px 2px #9fd8ffbf;height:6px;width:6px}.c-ring{height:36px;width:36px}.c-ring .shell{border:1.5px solid #b48cff8c;border-radius:50%;box-shadow:0 0 12px #9b6bff59,inset 0 0 8px #9b6bff40;inset:0;position:absolute;transition:transform .22s ease,background-color .22s ease,border-color .22s ease,box-shadow .22s ease}.c-ring .orbit{animation:orbit 3.2s linear infinite;inset:-3px;transition:transform .22s ease}.c-ring .moon,.c-ring .orbit{border-radius:50%;position:absolute}.c-ring .moon{background:#9fd8ff;background:var(--ice);box-shadow:0 0 6px #9fd8ffe6;height:5px;left:50%;margin-left:-2.5px;top:0;width:5px}.c-ring.hot .shell{background:#9b6bff1f;border-color:#c8affff2;box-shadow:0 0 20px #9b6bff99,inset 0 0 12px #9b6bff66;transform:scale(1.55)}.c-ring.hot .orbit{animation-duration:1.4s;transform:scale(1.55)}.c-ring.down .orbit,.c-ring.down .shell{transform:scale(.7)}@keyframes orbit{to{rotate:1turn}}}@media (prefers-reduced-motion:reduce){.c-dot,.c-ring{display:none}html.orbit-cursor,html.orbit-cursor *{cursor:auto}}@media (max-width:400px){.stat{padding:13px}.stat b{font-size:clamp(1.3rem,6.6vw,1.7rem)}.wrap{padding-inline:14px}}@media (pointer:coarse){.chip,.go,.more,.ref,.sheet-close{min-height:42px}.chip,.ref{align-items:center;display:inline-flex}.btn{min-height:44px}.sheet-close{min-width:42px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}.sr-only{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}[hidden]{display:none!important}body,html{margin:0}img{max-width:100%}
/*# sourceMappingURL=main.c383dd88.css.map*/