@import"https://fonts.googleapis.com/css2?family=Syne:wght@500;700;800&family=IBM+Plex+Mono:wght@400;500;700&display=swap";:root{--bg: #090710;--bg-soft: #130f24;--surface: rgba(24, 19, 42, .74);--surface-strong: rgba(32, 25, 55, .86);--border: rgba(132, 163, 255, .24);--text: #f6f3ff;--muted: #b8b3cc;--accent: #ff7f6a;--accent-2: #6ca8ff;--maxw: 1120px}*{box-sizing:border-box}html,body{margin:0;min-height:100%}html{scroll-behavior:smooth}body{color:var(--text);font-family:IBM Plex Mono,monospace;background:radial-gradient(circle at 15% 10%,rgba(255,127,106,.18),transparent 38%),radial-gradient(circle at 85% 0%,rgba(108,168,255,.2),transparent 40%),linear-gradient(180deg,#07050f,#0e0a1b 55%,#090710);overflow-x:hidden}#bg-canvas{position:fixed;inset:0;width:100%;height:100%;z-index:-3}.ambient{position:fixed;z-index:-2;filter:blur(50px);pointer-events:none}.ambient-a{width:min(45vw,560px);aspect-ratio:1;top:8%;right:-8%;border-radius:54% 46% 36% 64%/62% 48% 52% 38%;background:radial-gradient(circle at 30% 40%,#6ca8ffa6,#6ca8ff00);animation:floatA 10s ease-in-out infinite}.ambient-b{width:min(38vw,460px);aspect-ratio:1;bottom:-8%;left:-5%;border-radius:58% 42% 55% 45%/42% 58% 38% 62%;background:radial-gradient(circle at 50% 50%,#ff7f6a8c,#ff7f6a00);animation:floatB 12s ease-in-out infinite}.topbar{position:sticky;top:0;z-index:12;display:flex;justify-content:space-between;align-items:center;padding:1rem clamp(1rem,3vw,2.4rem);background:#08070f8c;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(132,163,255,.2)}.brand{color:var(--text);text-decoration:none;letter-spacing:.1em;font-family:Syne,sans-serif;font-weight:800;font-size:1.08rem}.topbar nav{display:flex;gap:1rem}.topbar nav a{text-decoration:none;color:var(--muted);font-size:.9rem}.topbar nav a:hover{color:var(--accent-2)}main{width:min(var(--maxw),calc(100% - 2rem));margin:0 auto;padding:3.5rem 0 5rem}.hero{min-height:clamp(360px,52vh,590px);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem;text-align:center}.hero-label{margin:0;color:var(--accent);letter-spacing:.06em;font-size:.9rem}h1,h2,h3{margin:0;font-family:Syne,sans-serif;line-height:1.06}h1{font-size:clamp(2.8rem,8.5vw,6rem);max-width:840px}h1 span{color:color-mix(in srgb,var(--text) 75%,var(--accent-2));font-weight:500;display:block;font-size:clamp(1.2rem,3vw,2.4rem);margin-top:.4rem}.hero-text{margin:0;max-width:640px;color:#d3cfe2;line-height:1.7}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center}.btn{text-decoration:none;padding:.72rem 1rem;border-radius:999px;font-size:.9rem;transition:transform .25s ease,box-shadow .25s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{color:#1b1022;background:linear-gradient(120deg,var(--accent),#ffad7b);box-shadow:0 10px 30px #ff7f6a59}.btn-ghost{color:var(--text);border:1px solid rgba(132,163,255,.36);background:#120f1eb3}.panel{margin-top:1.4rem;border:1px solid var(--border);border-radius:20px;background:linear-gradient(165deg,var(--surface),rgba(9,8,16,.74));box-shadow:0 16px 60px #0000005c,inset 0 0 70px #6ca8ff0f;padding:clamp(1rem,2.4vw,2rem)}.panel p{color:var(--muted);line-height:1.75}.about-layout{margin-top:1.1rem;display:grid;grid-template-columns:repeat(12,1fr);gap:1.1rem}.about-layout>div{grid-column:span 6;padding:.9rem;border:1px solid rgba(132,163,255,.2);border-radius:12px;background:#0e0c1880}.about-layout h3{font-size:1rem;margin-bottom:.65rem}.list{margin:0;padding-left:1.05rem;color:#dbd5ec;line-height:1.8}.stack-blocks{display:grid;gap:.8rem}.stack-title{margin:0 0 .5rem;font-size:.76rem;letter-spacing:.04em;text-transform:uppercase;color:#ffbaa6}.chips{margin:1rem 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.55rem}.chips li,.tags span{padding:.3rem .56rem;border-radius:999px;border:1px solid rgba(132,163,255,.34);background:#6ca8ff14;font-size:.76rem;color:#d5e2ff}.section-head{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;flex-wrap:wrap;margin-bottom:1rem}.section-head p{margin:0;font-size:.86rem}.projects-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.main-projects-grid .project-card,.mini-projects-grid .mini-card{grid-column:span 6}.project-card{grid-column:span 4;background:var(--surface-strong);border:1px solid rgba(132,163,255,.24);border-radius:16px;padding:1rem;transition:transform .28s ease,border-color .28s ease}.project-card:hover{transform:translateY(-5px);border-color:#ff7f6a80}.project-banner{margin-bottom:.8rem;min-height:148px;border-radius:10px;border:1px dashed rgba(255,210,163,.45);display:grid;place-items:center;color:#ffd2a3;font-size:.76rem;letter-spacing:.08em;text-align:center;background:linear-gradient(145deg,#ff7f6a1f,#6ca8ff14),#0a0811a6}.project-banner img{width:100%;height:100%;min-height:148px;object-fit:cover;border-radius:10px;border:1px solid rgba(132,163,255,.26)}.project-index{margin:0;color:var(--accent);font-weight:700;font-size:.86rem}.source-badge{display:inline-flex;align-items:center;margin:0 0 .4rem;padding:.14rem .45rem;border-radius:999px;border:1px solid;font-size:.74rem;letter-spacing:.04em;text-transform:uppercase}.source-badge.open{color:#b5ffd5;border-color:#42d6918c;background:#42d69124}.source-badge.closed{color:#ffd1c9;border-color:#ff7f6a94;background:#ff7f6a24}.project-card h3{margin-top:.35rem;font-size:1.36rem}.project-card p:not(.source-badge):not(.project-index){margin:.65rem 0 .9rem;font-size:.92rem}.tags{display:flex;flex-wrap:wrap;gap:.44rem;margin-bottom:1rem}.project-card a,.contact-links a{text-decoration:none;color:#ffd2a3}.project-card a:hover,.contact-links a:hover{color:#ffe7cb}.contact-links{display:flex;gap:1rem;flex-wrap:wrap}.project-links{display:flex;flex-wrap:wrap;gap:.45rem}.link-pill{display:inline-flex;align-items:center;padding:.3rem .56rem;border-radius:999px;border:1px solid rgba(255,210,163,.4);background:#ffd2a314;color:#ffd2a3;font-size:.76rem;line-height:1.2;transition:transform .2s ease,border-color .2s ease}.link-pill:hover{transform:translateY(-1px);border-color:#ffd2a3b8;color:#ffe7cb}.link-pill[aria-disabled=true]{border-color:#84a3ff59;color:#b5bdd7;background:#84a3ff14;pointer-events:none}.timeline-grid,.availability-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.timeline-item{grid-column:span 4;border:1px solid rgba(132,163,255,.24);border-radius:14px;padding:.9rem;background:#0e0b189e}.timeline-year{margin:0 0 .35rem;color:#ffb39f;font-size:.8rem}.timeline-item h3{font-size:1.12rem}.timeline-item p:not(.timeline-year){margin:.55rem 0 0;font-size:.9rem;color:#d4cfe3}.availability-card{grid-column:span 4;border:1px solid rgba(132,163,255,.24);border-radius:14px;padding:.9rem;background:#0e0b189e}.availability-card h3{font-size:1.02rem;margin-bottom:.4rem}.availability-card p{margin:0;font-size:.9rem;color:#d4cfe3}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:translateY(0)}#projects,#mini-projects,#timeline,#availability,#about,#contact{scroll-margin-top:90px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@keyframes floatA{0%,to{transform:translateZ(0) rotate(0)}50%{transform:translate3d(-16px,16px,0) rotate(8deg)}}@keyframes floatB{0%,to{transform:translateZ(0) rotate(0)}50%{transform:translate3d(20px,-12px,0) rotate(-8deg)}}@media(max-width:960px){.about-layout>div{grid-column:span 12}.project-card,.timeline-item,.availability-card{grid-column:span 6}}@media(max-width:680px){.topbar{flex-direction:column;gap:.6rem}main{width:min(var(--maxw),calc(100% - 1.2rem));padding-top:2.2rem}.hero{min-height:300px}.project-card,.timeline-item,.availability-card{grid-column:span 12}}
