:root{--bg:#060a08;--tile:#0e1411;--tile-2:#131b17;--edge:#ffffff12;--ink:#edf4f0;--muted:#9caba3;--faint:#62736a;--accent:#34d399;--accent-2:#2dd4bf;--glow:52, 211, 153;--warm:#ffb547;--ok:#86efac;--sans:"Geist", ui-sans-serif, system-ui, sans-serif;--mono:"Geist Mono", ui-monospace, Menlo, Consolas, monospace;--gap:12px;--pad:clamp(12px, 1.6vw, 22px);--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5;overflow:hidden}h1,h2,h3,p,ul,ol{margin:0;padding:0}ul,ol{list-style:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.muted{color:var(--muted)}.backdrop{pointer-events:none;background:linear-gradient(#ffffff06 1px,#0000 1px) 0 0/48px 48px,linear-gradient(90deg,#ffffff06 1px,#0000 1px) 0 0/48px 48px;position:fixed;inset:0;-webkit-mask-image:radial-gradient(#000 40%,#0000 100%);mask-image:radial-gradient(#000 40%,#0000 100%)}.bento{max-width:1480px;height:100dvh;padding:var(--pad);gap:var(--gap);grid-template-rows:minmax(0,1fr) minmax(0,1fr) minmax(0,1.1fr) 64px;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-areas:"profile profile exp exp ai ai""profile profile exp exp stats globe""projects projects quote quote contact contact""marquee marquee marquee marquee marquee marquee";margin:0 auto;display:grid;position:relative}.cell{min-width:0;min-height:0}.tilt{height:100%;transform-style:preserve-3d}.tile{isolation:isolate;background:linear-gradient(#131b1799,#0a0f0cb8);border-radius:22px;height:100%;position:relative;overflow:hidden}.tile:before{content:"";z-index:3;border-radius:inherit;background:radial-gradient(360px circle at var(--x,-500px) var(--y,-500px), rgba(var(--glow), .75), transparent 45%), linear-gradient(var(--edge), var(--edge));-webkit-mask-composite:xor;pointer-events:none;padding:1px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.tile:after{content:"";z-index:0;background:radial-gradient(480px circle at var(--x,-500px) var(--y,-500px), rgba(var(--glow), .09), transparent 45%);opacity:0;transition:opacity .4s var(--ease);pointer-events:none;position:absolute;inset:0}.tile:hover:after{opacity:1}.tile-ghost{background:#ffffff04}.tile-ghost:after{display:none}.tile-body{z-index:1;flex-direction:column;height:100%;padding:18px 20px;display:flex;position:relative}.tile-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.tile-title{color:var(--muted);align-items:center;gap:8px;font-size:.82rem;font-weight:500;display:inline-flex}.open-btn,.round-btn{width:32px;height:32px;color:var(--muted);box-shadow:inset 0 0 0 1px var(--edge);transition:background-color .25s var(--ease), color .25s var(--ease), transform .25s var(--ease);background:#ffffff0a;border-radius:50%;place-items:center;display:inline-grid}.open-btn:hover,.round-btn:hover{background:var(--ink);color:var(--bg)}.open-btn:hover{transform:rotate(45deg)}.round-btn.small{width:28px;height:28px}.tile-actions{align-items:center;gap:8px;display:inline-flex}.seg{box-shadow:inset 0 0 0 1px var(--edge);background:#ffffff0a;border-radius:999px;padding:3px;display:inline-flex}.seg-btn{height:26px;color:var(--muted);transition:color .2s var(--ease);border-radius:999px;padding:0 12px;font-size:.78rem;font-weight:500;position:relative}.seg-btn[aria-pressed=true]{color:var(--bg)}.seg-btn>span:last-child{position:relative}.seg-pill{background:var(--ink);border-radius:999px;position:absolute;inset:0}.text-btn{color:var(--c,var(--accent));align-self:flex-start;align-items:center;gap:6px;margin-top:auto;font-size:.85rem;font-weight:500;display:inline-flex}.text-btn span{transition:transform .2s var(--ease)}.text-btn:hover span{transform:translate(3px)}.tags{flex-wrap:wrap;gap:6px;display:flex}.tags li{font-family:var(--mono);color:var(--muted);box-shadow:inset 0 0 0 1px var(--edge);transition:all .25s var(--ease);background:#ffffff0d;border-radius:6px;padding:2px 9px;font-size:.72rem}.tags li.is-on{color:#04120b;background:var(--accent);box-shadow:0 0 16px rgba(var(--glow), .6)}.logo{width:40px;height:40px;color:var(--ink);box-shadow:inset 0 0 0 1px var(--edge);background:linear-gradient(145deg,#ffffff1a,#ffffff05);border-radius:11px;flex-shrink:0;place-items:center;font-size:.78rem;font-weight:600;display:grid}.highlights{gap:6px;display:grid}.highlights li{color:var(--muted);padding-left:16px;font-size:.9rem;position:relative}.highlights li:before{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px rgba(var(--glow), .8);border-radius:2px;position:absolute;top:.6em;left:0}.btn{white-space:nowrap;border-radius:12px;justify-content:center;align-items:center;gap:8px;height:44px;padding:0 18px;font-weight:500;display:inline-flex;overflow:hidden}.btn-primary{color:#06100b;box-shadow:0 8px 24px -8px rgba(var(--glow), .6);background:linear-gradient(#fff,#d9ebe1)}.btn-glass{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0f;min-width:150px;box-shadow:inset 0 0 0 1px #ffffff1f}.btn-swap{align-items:center;gap:8px;display:inline-flex}.dot{background:var(--ok);width:8px;height:8px;box-shadow:0 0 10px var(--ok);border-radius:50%;position:relative}.dot:after{content:"";border:2px solid var(--ok);animation:ping 2.2s var(--ease) infinite;border-radius:50%;position:absolute;inset:-4px}@keyframes ping{0%{opacity:.8;transform:scale(.5)}to{opacity:0;transform:scale(1.9)}}.is-dim{opacity:.3;filter:grayscale()}.t-profile{background:radial-gradient(120% 90% at 100% 0%, #34d39917, transparent 55%), linear-gradient(180deg, var(--tile-2), var(--tile))}.profile{flex-direction:column;gap:18px;height:100%;padding:8px 8px 4px;display:flex;position:relative}.profile-top{justify-content:space-between;align-items:center;display:flex;position:relative}.avatar{color:#04120b;background:linear-gradient(135deg, var(--accent), var(--accent-2));width:64px;height:64px;box-shadow:0 10px 30px -8px rgba(var(--glow), .7), inset 0 1px 0 #ffffff59;border-radius:20px;place-items:center;font-size:1.6rem;font-weight:600;display:grid;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.badge{color:var(--ok);background:#86efac14;border-radius:999px;align-items:center;gap:10px;padding:7px 14px 7px 12px;font-size:.82rem;font-weight:500;display:inline-flex;box-shadow:inset 0 0 0 1px #86efac40}.profile-main{flex-direction:column;flex:1;justify-content:safe flex-end;gap:10px;min-height:0;display:flex;position:relative;overflow:hidden}.name{letter-spacing:-.045em;background:linear-gradient(#fff 30%,#a6c9b8);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(2.2rem,min(4.3vw,7vh),4.2rem);font-weight:600;line-height:.95}.role{flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:1.1rem;font-weight:500;display:flex}.where{color:var(--muted);align-items:center;gap:6px;font-size:.9rem;font-weight:400;display:inline-flex}.summary{max-width:52ch;color:var(--muted);text-wrap:pretty;font-size:.93rem}.profile-actions{flex-wrap:wrap;gap:10px;display:flex;position:relative}.xp{flex-direction:column;flex:1;gap:14px;min-height:0;display:flex}.xp-list{gap:4px;display:grid}.xp-row{text-align:left;width:100%;transition:opacity .3s var(--ease), filter .3s var(--ease);border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 12px 9px 9px;display:grid;position:relative}.xp-sel{box-shadow:inset 0 0 0 1px rgba(var(--glow), .35), 0 0 24px -6px rgba(var(--glow), .35);background:#ffffff0d;border-radius:14px;position:absolute;inset:0}.xp-row>:not(.xp-sel){position:relative}.xp-row.is-sel .logo{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#04120b;box-shadow:0 6px 18px -6px rgba(var(--glow), .8)}.logo{transition:all .3s var(--ease);overflow:hidden}.logo img{object-fit:contain;background:#fff;width:100%;height:100%}.xp-edu{flex-direction:column;gap:10px;display:flex}.edu-card{box-shadow:inset 0 0 0 1px var(--edge);background:#ffffff08;border-radius:14px;gap:2px;padding:14px 16px;display:grid}.edu-row,.cert-list li{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.edu-card .muted{font-size:.88rem}.edu-note{color:var(--muted);margin-top:6px;font-size:.87rem}.mini-h{color:var(--faint);margin-top:6px;font-size:.78rem;font-weight:500}.cert-list{gap:8px;display:grid}.cert-list li>span:first-child{font-size:.9rem;display:grid}.cert-list .muted{font-size:.8rem}.xp-title{min-width:0;display:grid}.xp-title strong{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.xp-title span{color:var(--muted);font-size:.85rem}.xp-when{font-family:var(--mono);color:var(--faint);white-space:nowrap;font-size:.75rem}.xp-detail{border-top:1px solid var(--edge);flex:1;min-height:0;padding:14px 4px 0;overflow:hidden}.xp-detail .tags{margin-top:12px}.stats{flex-direction:column;flex:1;justify-content:space-between;gap:6px;padding:2px 4px;display:flex}.stats li{align-items:baseline;gap:10px;display:flex}.stat-value{letter-spacing:-.04em;font-variant-numeric:tabular-nums;background:linear-gradient(#fff,#8ff0c4);color:#0000;-webkit-background-clip:text;background-clip:text;min-width:2.2ch;font-size:clamp(1.7rem,2.6vw,2.4rem);font-weight:600;line-height:1}.stat-label{color:var(--muted);font-size:.82rem;line-height:1.25}.t-globe .tile-body{padding:0}.globe{height:100%;position:relative}.globe-canvas{cursor:grab;touch-action:none;width:100%;height:100%;position:absolute;inset:0}.globe-canvas:active{cursor:grabbing}.globe-text{pointer-events:none;display:grid;position:absolute;bottom:16px;left:18px}.globe-time{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:600}.globe-time small{color:var(--muted);letter-spacing:0;font-size:.75rem;font-weight:500}.globe-place{color:var(--muted);font-size:.82rem}.drag-hint{color:var(--faint);pointer-events:none;font-size:.75rem;position:absolute;top:14px;left:18px}.projects{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.proj-stage{flex:1;min-height:0;position:relative;overflow:hidden}.proj{--c:var(--accent);cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:20px;display:grid;position:absolute;inset:0}.proj:active{cursor:grabbing}.browser-shot{object-fit:cover;object-position:top;flex:1;width:100%;min-height:0;display:block}.proj-text{flex-direction:column;gap:8px;min-width:0;display:flex}.proj-meta{color:var(--faint);font-size:.78rem}.proj h3,.d-projects h3{letter-spacing:-.03em;font-size:1.5rem;font-weight:600;line-height:1.1}.proj p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.9rem;display:-webkit-box;overflow:hidden}.proj-nav .nav-study{margin:0 auto 0 16px}.proj-links{gap:16px;margin-top:auto;display:flex}.proj-links a{color:var(--c,var(--accent));align-items:center;gap:4px;font-size:.85rem;font-weight:500;display:inline-flex}.proj-links a svg{transition:transform .2s var(--ease)}.proj-links a:hover svg{transform:translate(2px,-2px)}.browser{box-shadow:inset 0 0 0 1px var(--edge), 0 20px 40px -20px color-mix(in srgb, var(--c) 60%, transparent);background:#0a0f0c;border-radius:12px;flex-direction:column;align-self:stretch;display:flex;overflow:hidden}.browser-bar{font-family:var(--mono);color:var(--faint);background:#ffffff0a;align-items:center;gap:5px;padding:8px 10px;font-size:.68rem;display:flex}.browser-bar i{background:#ffffff26;border-radius:50%;width:8px;height:8px}.browser-bar span{white-space:nowrap;text-overflow:ellipsis;min-width:0;margin-left:8px;overflow:hidden}.browser-body{background:radial-gradient(120% 90% at 100% 0%, color-mix(in srgb, var(--c) 45%, transparent), transparent 60%), linear-gradient(160deg, color-mix(in srgb, var(--c) 18%, #0a0f0c), #0a0f0c 70%);flex-direction:column;flex:1;gap:8px;padding:14px;display:flex}.mock-title{letter-spacing:-.03em;font-size:1.3rem;font-weight:700}.mock-line{background:#ffffff2e;border-radius:3px;height:6px}.w70{width:70%}.w45{width:45%}.mock-cards{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:auto;display:grid}.mock-cards span{background:#ffffff12;border-radius:6px;height:34px;box-shadow:inset 0 0 0 1px #ffffff0f}.mock-cards span:first-child{background:color-mix(in srgb, var(--c) 55%, transparent)}.proj-nav{justify-content:space-between;align-items:center;display:flex}.dot-btn{width:8px;height:8px;transition:all .35s var(--ease);background:#ffffff2e;border-radius:999px}.dot-btn.is-on{background:var(--ink);width:26px}.dot-btn.is-match{background:var(--accent);box-shadow:0 0 10px rgba(var(--glow), .9)}.arrows{gap:6px;display:flex}.t-contact{background:radial-gradient(120% 80% at 50% 120%, #2dd4bf38, transparent 60%), linear-gradient(180deg, var(--tile-2), var(--tile))}.contact{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;display:grid}.contact-info{flex-direction:column;gap:10px;display:flex}.contact-lede{letter-spacing:-.02em;font-size:1.35rem;font-weight:600;line-height:1.15}.avail{color:var(--ok);align-items:center;gap:10px;font-size:.87rem;font-weight:500;display:inline-flex}.avail-list{color:var(--muted);gap:4px;font-size:.85rem;display:grid}.avail-list li{padding-left:14px;position:relative}.avail-list li:before{content:"";background:var(--faint);border-radius:50%;width:5px;height:5px;position:absolute;top:.62em;left:0}.contact-actions{flex-direction:column;gap:8px;display:flex}.btn-sm{border-radius:11px;height:40px;font-size:.88rem}.copy-mail{height:40px;transition:background-color .25s var(--ease), box-shadow .25s var(--ease);background:#ffffff0f;border-radius:11px;align-items:center;padding:0 12px;font-size:.82rem;display:flex;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff1f}.copy-mail .btn-swap{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.copy-mail svg{flex-shrink:0}.copy-mail:hover{background:#ffffff1a}.copy-mail.is-done{color:var(--ok);box-shadow:inset 0 0 0 1px #86efac80}.socials{gap:8px;margin-top:auto;display:flex}.socials a{width:38px;height:38px;color:var(--muted);box-shadow:inset 0 0 0 1px var(--edge);transition:color .2s var(--ease), background-color .2s var(--ease), transform .2s var(--ease);background:#ffffff0a;border-radius:11px;place-items:center;display:grid}.socials a:hover{color:var(--bg);background:var(--ink);transform:translateY(-2px)}.quote{flex-direction:column;flex:1;min-height:0;margin:0;display:flex;position:relative}.quote-mark{color:rgba(var(--glow), .14);pointer-events:none;font-size:7rem;font-weight:700;line-height:1;position:absolute;top:-30px;right:-4px}.quote-body{flex-direction:column;flex:1;justify-content:space-between;gap:12px;min-height:0;display:flex}.quote blockquote{text-wrap:pretty;margin:0;font-size:1.02rem;line-height:1.5}.quote figcaption{align-items:center;gap:12px;padding-right:110px;font-size:.85rem;display:flex}.quote figcaption>span:last-child{display:grid}.quote-avatar{width:36px;height:36px;box-shadow:inset 0 0 0 1px var(--edge);background:linear-gradient(145deg,#ffffff1f,#ffffff08);border-radius:50%;flex-shrink:0;place-items:center;font-size:.75rem;font-weight:600;display:grid}.quote-nav{align-items:center;gap:8px;display:flex;position:absolute;bottom:0;right:0}.quote-count{font-family:var(--mono);color:var(--faint);font-size:.72rem}.marquee{background:var(--tile);height:100%;box-shadow:inset 0 0 0 1px var(--edge);border-radius:18px;align-items:center;gap:16px;padding-left:20px;display:flex;overflow:hidden}.marquee-label{color:var(--faint);flex-shrink:0;max-width:130px;font-size:.8rem;line-height:1.3}.marquee-viewport{flex:1;align-items:center;min-width:0;height:100%;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 60px calc(100% - 60px),#0000);mask-image:linear-gradient(90deg,#0000,#000 60px calc(100% - 60px),#0000)}.marquee-track{gap:8px;width:max-content;animation:80s linear infinite scroll;display:flex}.marquee:hover .marquee-track,.marquee-track.is-paused{animation-play-state:paused}@keyframes scroll{to{transform:translate(calc(-50% - 4px))}}.chip{white-space:nowrap;height:34px;color:var(--muted);box-shadow:inset 0 0 0 1px var(--edge);transition:all .25s var(--ease);background:#ffffff08;border-radius:999px;align-items:center;gap:8px;padding:0 14px;font-size:.85rem;font-weight:500;display:inline-flex}.chip-dot{background:var(--c);width:7px;height:7px;box-shadow:0 0 8px var(--c);border-radius:50%}.chip:hover,.chip.is-on{color:var(--ink);background:color-mix(in srgb, var(--c) 16%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 55%, transparent)}.scrim{z-index:10;-webkit-backdrop-filter:blur(6px);background:#04050a99;position:fixed;inset:0}.overlay{z-index:11;padding:var(--pad);pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.tile-open{pointer-events:auto;scrollbar-width:thin;width:min(980px,100%);height:auto;max-height:100%;overflow-y:auto;box-shadow:0 40px 120px -30px #000c}.open-body{gap:0;padding:28px 32px 32px}.open-head{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.open-head h2{letter-spacing:-.035em;font-size:2rem;font-weight:600}.d-career{gap:26px;display:grid}.d-split{grid-template-columns:1fr 1fr;gap:16px;display:grid}.d-roles{gap:12px;display:grid}.d-roles>li{box-shadow:inset 0 0 0 1px var(--edge);background:#ffffff06;border-radius:16px;gap:16px;padding:18px;display:flex}.d-roles>li>div{flex:1;gap:2px;display:grid}.d-row{justify-content:space-between;gap:16px;display:flex}.d-when{font-family:var(--mono);color:var(--faint);white-space:nowrap;font-size:.78rem}.d-summary{margin:8px 0 10px}.d-roles .tags{margin-top:12px}.d-projects{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.d-projects>li{--c:var(--accent);box-shadow:inset 0 0 0 1px var(--edge);background:#ffffff06;border-radius:16px;flex-direction:column;gap:8px;padding:18px;display:flex}.d-projects p{font-size:.92rem}.d-projects .browser{height:150px;margin-bottom:6px}.d-projects .proj-links{margin-top:auto;padding-top:6px}.d-projects .text-btn{margin-top:0}.study{--c:var(--accent);gap:22px;display:grid}.back-btn{height:32px;color:var(--muted);box-shadow:inset 0 0 0 1px var(--edge);transition:color .2s var(--ease), background-color .2s var(--ease);border-radius:999px;justify-self:start;align-items:center;gap:6px;padding:0 12px 0 8px;font-size:.85rem;display:inline-flex}.back-btn:hover{color:var(--ink);background:#ffffff0d}.study-head{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:stretch;gap:24px;display:grid}.study-head>div{flex-direction:column;gap:8px;display:flex}.study-head h3{letter-spacing:-.035em;font-size:2.2rem;font-weight:600;line-height:1.05}.study-outcome{color:var(--muted);font-size:1.05rem}.study-head .proj-links{margin-top:auto}.study-head .browser{min-height:200px}.study-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.study-grid section{box-shadow:inset 0 0 0 1px var(--edge);background:#ffffff06;border-radius:16px;padding:18px}.study-wide{grid-column:1/-1}.study-grid h4{color:var(--faint);margin:0 0 8px;font-size:.8rem;font-weight:500}.study-grid section.study-result{background:color-mix(in srgb, var(--c) 10%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 40%, transparent)}.study-result p{font-size:1.05rem;font-weight:500}.d-h{color:var(--faint);margin-bottom:8px;font-size:.82rem;font-weight:500}.d-card{box-shadow:inset 0 0 0 1px var(--edge);background:#ffffff06;border-radius:14px;gap:2px;padding:16px 18px;display:grid}.d-card+.d-card{margin-top:8px}.d-card p{color:var(--muted);margin-top:6px}@media (height<=800px) and (width>=1101px){.tile-body{padding:14px 16px}.tile-head{margin-bottom:8px}.profile{gap:10px;padding:4px}.avatar{border-radius:15px;width:48px;height:48px;font-size:1.25rem}.summary{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.btn{height:40px}.xp-row{padding:6px 10px 6px 6px}.logo{width:34px;height:34px}.xp-detail{padding-top:10px}.contact-lede{font-size:1.1rem}.contact-info{gap:6px}.avail-list{gap:0;font-size:.8rem}.quote blockquote{font-size:.95rem}}@media (width<=1100px),(height<=640px){body{overflow:auto}.bento{grid-template-rows:none;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"profile profile""exp exp""ai ai""stats globe""projects projects""quote quote""contact contact""marquee marquee";grid-auto-rows:minmax(210px,auto);height:auto}.cell[style*=profile]{min-height:420px}.cell[style*=exp]{min-height:380px}.cell[style*=projects]{min-height:300px}.cell[style*=marquee]{height:64px}}@media (width<=600px){.bento{grid-template-columns:minmax(0,1fr);grid-template-areas:"profile""exp""ai""stats""globe""projects""quote""contact""marquee"}.cell[style*=projects]{min-height:460px}.proj{grid-template-rows:auto 150px;grid-template-columns:1fr}.marquee-label{display:none}.xp-row{grid-template-columns:auto minmax(0,1fr)}.xp-when{grid-column:2}.contact,.study-head,.study-grid,.d-split{grid-template-columns:1fr}.tile-head{flex-wrap:wrap;gap:8px}.quote figcaption{padding-right:0}.quote-nav{justify-content:flex-end;margin-top:12px;position:static}}@media (prefers-reduced-motion:reduce){.dot:after,.cell-day{animation:none}.marquee-track{animation-duration:200s}}.print-cv{display:none}@media print{@page{size:A4;margin:14mm 16mm}body{color:#111;background:#fff;font-size:10pt;line-height:1.45;overflow:visible}html,body,#root{height:auto}.bento,.backdrop,.scrim,.overlay{display:none!important}.print-cv{display:block}.print-cv h1{letter-spacing:-.02em;font-size:22pt;font-weight:600}.print-cv .p-title{color:#444;font-size:12pt}.print-cv .p-contact{color:#444;flex-wrap:wrap;gap:2pt 14pt;margin:6pt 0 12pt;font-size:9pt;display:flex}.print-cv h2{color:#2447d8;border-bottom:1px solid #ccc;margin:14pt 0 6pt;padding-bottom:3pt;font-size:11pt;font-weight:600}.print-cv .p-item{break-inside:avoid;margin-bottom:8pt}.print-cv .p-row{justify-content:space-between;gap:12pt;display:flex}.print-cv ul{margin-top:2pt;padding-left:14pt;list-style:outside}.print-cv .p-skills{margin-bottom:2pt}}.aurora-bg{pointer-events:none;width:100%;height:100%;display:block;position:fixed;inset:0}.backdrop,.bento{z-index:1}.t-ai{background:radial-gradient(90% 120% at 0%,#34d39924,#0000 60%),linear-gradient(#131b17b8,#0a0f0ccc)}.live-pill{height:22px;font-family:var(--mono);color:var(--accent);background:#34d39914;border-radius:999px;align-items:center;gap:6px;padding:0 9px;font-size:.68rem;display:inline-flex;box-shadow:inset 0 0 0 1px #34d3994d}.live-pill:before{content:"";background:var(--accent);width:6px;height:6px;box-shadow:0 0 8px var(--accent);border-radius:50%;animation:1.6s ease-in-out infinite blink}@keyframes blink{50%{opacity:.25}}.ai{flex:1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;min-height:0;display:grid}.ai-orb{aspect-ratio:1;width:clamp(110px,11vw,160px);margin:-8px 0 -8px -6px}.orb{width:100%;height:100%;display:block}.ai-side{flex-direction:column;gap:10px;min-width:0;display:flex}.ai-lede{color:var(--ink);font-size:.92rem;line-height:1.35}.ask{height:42px;box-shadow:inset 0 0 0 1px #ffffff1a, 0 0 0 0 rgba(var(--glow), 0);transition:box-shadow .25s var(--ease);background:#00000059;border-radius:12px;align-items:center;gap:6px;padding:0 5px 0 14px;display:flex}.ask:focus-within{box-shadow:inset 0 0 0 1px rgba(var(--glow), .6), 0 0 24px -6px rgba(var(--glow), .6)}.ask input{min-width:0;height:100%;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:.88rem}.ask input::placeholder{color:var(--faint)}.ask button{color:#04120b;background:linear-gradient(135deg, var(--accent), var(--accent-2));width:32px;height:32px;transition:opacity .2s var(--ease), transform .2s var(--ease);border-radius:9px;flex-shrink:0;place-items:center;display:grid}.ask button:disabled{opacity:.35;cursor:default}.ask button:not(:disabled):hover{transform:translateY(-1px)}.ask-lg{border-radius:14px;height:50px}.ask-lg input{font-size:.95rem}.ai-chips{flex-wrap:wrap;gap:6px;display:flex}.ai-chip{height:28px;color:var(--muted);box-shadow:inset 0 0 0 1px var(--edge);white-space:nowrap;transition:all .2s var(--ease);background:#ffffff08;border-radius:999px;padding:0 11px;font-size:.78rem}.ai-chip:hover:not(:disabled){color:var(--ink);background:#34d3991a;box-shadow:inset 0 0 0 1px #34d39973}.ai-chip:disabled{opacity:.4;cursor:default}.ai-chip.action{color:var(--accent);box-shadow:inset 0 0 0 1px #34d39959}.ai-note{color:var(--faint);font-size:.72rem}.tile-chat{width:min(760px,100%);height:min(760px,100%)}.tile-chat .open-body{flex-direction:column;height:100%;display:flex}.open-head h2{align-items:center;gap:12px;display:flex}.head-orb{flex-shrink:0;width:44px;height:44px;margin:-6px -2px -6px -6px}.chat{flex-direction:column;flex:1;gap:12px;min-height:0;display:flex}.chat-list{scrollbar-width:thin;flex-direction:column;flex:1;gap:14px;min-height:0;padding:4px 2px 8px;display:flex;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000,#000 16px);mask-image:linear-gradient(#0000,#000 16px)}.chat-empty{text-align:center;max-width:440px;color:var(--muted);justify-items:center;gap:14px;margin:auto;display:grid}.chat-empty-orb{width:180px;height:180px}.msg{max-width:85%;font-size:.95rem;line-height:1.55}.msg-user{background:linear-gradient(135deg,#34d39938,#2dd4bf24);border-radius:16px 16px 4px;align-self:flex-end;padding:10px 14px;box-shadow:inset 0 0 0 1px #34d3994d}.msg-ai{align-self:flex-start;gap:12px;display:flex}.msg-ai p{text-wrap:pretty}.msg-dot{background:radial-gradient(circle at 35% 35%, #d6fff0, var(--accent) 45%, #0b3b2a);width:10px;height:10px;box-shadow:0 0 12px rgba(var(--glow), .8);border-radius:50%;flex-shrink:0;margin-top:.5em}.msg-actions{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.stream-caret{vertical-align:text-bottom;background:var(--accent);width:7px;height:1.05em;box-shadow:0 0 10px var(--accent);border-radius:2px;margin-left:2px;animation:.9s step-end infinite blink;display:inline-block}.thinking{align-items:center}.thinking .msg-dot{margin-top:0}.dots{gap:5px;display:inline-flex}.dots i{background:var(--muted);width:7px;height:7px;animation:bounce 1s var(--ease) infinite;border-radius:50%}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.chat-chips{flex-shrink:0}.menu-btn{height:36px;color:var(--muted);box-shadow:inset 0 0 0 1px var(--edge);transition:color .2s var(--ease), background-color .2s var(--ease);background:#ffffff0a;border-radius:10px;flex-shrink:0;align-items:center;gap:4px;margin:0 14px 0 4px;padding:0 12px 0 8px;font-size:.82rem;display:inline-flex}.menu-btn span{margin-left:4px}.menu-btn:hover{color:var(--ink);background:#ffffff14}.menu-btn kbd,.cmd kbd{font-family:var(--mono);min-width:1.7em;height:1.7em;color:var(--muted);box-shadow:inset 0 0 0 1px var(--edge), inset 0 -1px 0 #ffffff0f;background:#ffffff0d;border-radius:5px;place-items:center;padding:0 .4em;font-size:.7rem;display:inline-grid}.cmd-scrim{z-index:20}.cmd{z-index:21;-webkit-backdrop-filter:blur(20px)saturate(1.3);width:min(580px,100vw - 32px);box-shadow:inset 0 0 0 1px #ffffff1a, 0 40px 100px -20px #000c, 0 0 60px -20px rgba(var(--glow), .4);background:#0d1310eb;border-radius:18px;margin-left:calc(min(580px,100vw - 32px)/-2);position:fixed;top:16vh;left:50%;overflow:hidden}.cmd-input{height:56px;color:var(--muted);border-bottom:1px solid var(--edge);align-items:center;gap:12px;padding:0 16px;display:flex}.cmd-input input{min-width:0;height:100%;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:1rem}.cmd-input input::placeholder{color:var(--faint)}.cmd-list{scrollbar-width:thin;max-height:min(380px,50vh);padding:6px;overflow-y:auto}.cmd-group{color:var(--faint);padding:10px 10px 4px;font-size:.72rem;font-weight:500;display:block}.cmd-item{text-align:left;width:100%;height:40px;color:var(--muted);border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:0 12px;font-size:.92rem;display:flex;position:relative}.cmd-item[aria-selected=true]{color:var(--ink)}.cmd-sel{background:#34d3991a;border-radius:10px;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #34d3994d}.cmd-label,.cmd-hint{position:relative}.cmd-hint{font-family:var(--mono);color:var(--faint);white-space:nowrap;text-overflow:ellipsis;max-width:45%;font-size:.75rem;overflow:hidden}.cmd-empty{color:var(--faint);padding:18px 12px;font-size:.9rem}.cmd-foot{color:var(--faint);border-top:1px solid var(--edge);gap:16px;padding:10px 16px;font-size:.75rem;display:flex}@media (width<=1100px),(height<=640px){.cell[style*="grid-area: ai"]{min-height:240px}}@media (width<=600px){.ai{grid-template-columns:1fr;justify-items:center}.ai-orb{width:140px;margin:0}.ai-side{width:100%}.menu-btn span{display:none}.msg{max-width:92%}}@media (height<=800px) and (width>=1101px){.ai-lede{font-size:.85rem}.ai-chips .ai-chip:nth-child(3){display:none}}@media (prefers-reduced-motion:reduce){.live-pill:before,.stream-caret,.dots i{animation:none}}.impact{flex:1;grid-template-columns:1fr 1fr;gap:8px;min-height:0;display:grid}.impact li{min-height:0;box-shadow:inset 0 0 0 1px var(--edge);background:#ffffff06;border-radius:14px;flex-direction:column;justify-content:center;gap:2px;padding:10px 12px;display:flex;overflow:hidden}.impact-value{letter-spacing:-.04em;font-variant-numeric:tabular-nums;background:linear-gradient(#fff,#8ff0c4);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:clamp(1.4rem,2.2vw,2rem);font-weight:600;line-height:1}.impact-label{color:var(--ink);font-size:.78rem;line-height:1.3}.impact-where{color:var(--faint);font-size:.7rem}.xp-more{color:var(--muted);transition:color .2s var(--ease);align-self:flex-start;margin:-6px 0 0 10px;font-size:.8rem}.xp-more:hover{color:var(--ink)}.xp-more.is-match{color:var(--accent)}@media (height<=800px) and (width>=1101px){.impact li{padding:6px 10px}.impact-value{font-size:1.35rem}.impact-label{font-size:.7rem}.impact-where{display:none}}.mail-link{font-family:var(--mono);color:var(--muted);overflow-wrap:anywhere;transition:color .2s var(--ease);font-size:.72rem;line-height:1.4}.mail-link:hover{color:var(--accent)}@media (height<=800px) and (width>=1101px){.contact-actions{gap:6px}.socials a{border-radius:9px;width:32px;height:32px}}
