:root{--sky: #71a9ff;--night: #090b13;--ink: #f9fbff;--muted: #aebbd0;--terminal: rgba(2, 12, 8, .9);--terminal-strong: #021d0a;--phosphor: #79ff92;--brick: #c65b27;--gold: #ffd35a;--cyan: #48e2ff;--panel-border: #d8e2f6;--shadow: rgba(0, 0, 0, .55);--cursor-default: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath fill='%23060f0b' stroke='%2379ff92' stroke-width='2' d='M5 3l16 10-7 2 4 7-4 2-4-8-5 5z'/%3E%3Ccircle cx='21' cy='6' r='3' fill='%23ffd35a'/%3E%3C/svg%3E") 5 3, auto;--cursor-pointer: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cpath fill='%23060f0b' stroke='%23ffd35a' stroke-width='2' d='M6 3l17 11-8 2 5 8-5 3-5-9-4 5z'/%3E%3Cpath fill='%2379ff92' d='M20 3h5v5h-5z'/%3E%3C/svg%3E") 6 3, pointer;color:var(--ink);font-family:Courier New,Lucida Console,monospace;background:#111827;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:#6fa8ff}a{color:inherit}.adventure-app{min-height:520vh;overflow-x:clip;position:relative;isolation:isolate;background:#71a9ff;cursor:var(--cursor-default);color:var(--ink)}.theme-light{--ink: #102018;--muted: #314a52;--terminal: rgba(248, 255, 236, .9);--terminal-strong: #efffe4;--phosphor: #075f30;--panel-border: #173826;--shadow: rgba(31, 54, 58, .26);--cursor-default: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath fill='%23fff5ba' stroke='%23075f30' stroke-width='2' d='M5 3l16 10-7 2 4 7-4 2-4-8-5 5z'/%3E%3Ccircle cx='21' cy='6' r='3' fill='%23c65b27'/%3E%3C/svg%3E") 5 3, auto;--cursor-pointer: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3E%3Cpath fill='%23fff5ba' stroke='%23c65b27' stroke-width='2' d='M6 3l17 11-8 2 5 8-5 3-5-9-4 5z'/%3E%3Cpath fill='%23075f30' d='M20 3h5v5h-5z'/%3E%3C/svg%3E") 6 3, pointer}.theme-light .storybook-wash{opacity:.72}.theme-dark .storybook-wash{opacity:.28}.theme-light .kernel-panel,.theme-light .action-panel,.theme-light .project-card,.theme-light .skill-panel,.theme-light .launch-card,.theme-light .education-card,.theme-light .timeline-item,.theme-light .underworld-banner,.theme-light .radio-callout{background:linear-gradient(180deg,#ffffeedb,#e8ffe0c2);color:#102018}.theme-light .underworld-banner{background:linear-gradient(90deg,#fff8cdeb,#daffe2d1),#ffffffad;color:#102018}.theme-light .underworld-banner strong{color:#8a4d00}.theme-light .timeline-item{background:linear-gradient(180deg,#faffe8e6,#ddf9eac7);border-left-color:#087e86;box-shadow:inset 0 0 0 2px #10201833,0 12px 24px #1f363a29}.theme-light .timeline-item h3{color:#102018}.theme-light .education-card h3{color:#6f4100}.theme-light .timeline-item span{color:#875100}.theme-light .terminal-window{background:linear-gradient(180deg,#f7ffebe6,#d1f6c5d6),var(--terminal);color:var(--phosphor)}.theme-light .terminal-titlebar,.theme-light .level-map,.theme-light .hud{background:#fffde5db;color:#102018}.theme-light p,.theme-light .action-panel p,.theme-light .timeline-item ul,.theme-light .timeline-item li,.theme-light .project-card p,.theme-light .education-card p,.theme-light .timeline-item p,.theme-light .terminal-titlebar{color:#102018}.theme-light h1{text-shadow:3px 3px rgba(255,255,255,.8)}button,a,.terminal-titlebar{cursor:var(--cursor-pointer)}.world-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background:#71a9ff}.world-scene{position:absolute;top:-4vh;right:-4vw;bottom:-4vh;left:-4vw;background-position:center center;background-repeat:no-repeat;background-size:cover;transition:opacity .45s ease-out,filter .45s ease,transform .12s linear;will-change:opacity,transform}.world-backdrop:after{content:"";position:absolute;inset:auto 0 0;height:24vh;background:repeating-linear-gradient(90deg,#793416a8 0,#793416a8 38px,#37180db3 38px,#37180db3 42px,#d57131b8 42px,#d57131b8 80px,#2c1209b3 80px,#2c1209b3 84px);border-top:8px solid #251108;box-shadow:inset 0 10px #f59a47;opacity:.34}.theme-dark .world-scene{filter:brightness(.48) saturate(.86) contrast(1.08)}.theme-light .world-scene{filter:brightness(1.08) saturate(1.08) contrast(1.02)}.theme-dim{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;transition:background .45s ease,opacity .45s ease}.theme-dark .theme-dim{background:radial-gradient(circle at 22% 18%,rgba(121,255,146,.1),transparent 28%),linear-gradient(180deg,#03071257,#01040cb8)}.theme-light .theme-dim{background:radial-gradient(circle at 18% 16%,rgba(255,243,166,.24),transparent 28%),linear-gradient(180deg,#ffffff0a,#82b0ff1a)}.storybook-wash{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;background:radial-gradient(circle at 20% 24%,rgba(255,232,145,.22),transparent 28%),radial-gradient(circle at 75% 14%,rgba(123,238,255,.18),transparent 24%),linear-gradient(180deg,#ffffff0d,#0207102e 72%);mix-blend-mode:screen}.level-props{display:none}.prop{position:absolute;display:grid;place-items:center}.block{width:52px;height:52px;border:4px solid #58240f;background:linear-gradient(135deg,#ffe171,#f7a733 48%,#bd5a21);color:#3c1709;font-weight:900;box-shadow:inset 6px 6px #ffffff47,inset -6px -6px #3d140538,0 12px 22px #00000038}.block-one{left:10vw;top:28vh}.block-two{right:13vw;top:42vh;font-size:15px}.orb{width:26px;height:26px;border:4px solid #6b3b06;border-radius:50%;background:radial-gradient(circle at 32% 24%,#fff4a6,#ffd143 42%,#bf7913);box-shadow:0 0 24px #ffd143bf}.orb-one{left:24vw;top:54vh}.orb-two{right:25vw;top:24vh}.conduit{width:72px;height:120px;border:5px solid #14572e;border-radius:18px 18px 2px 2px;background:linear-gradient(90deg,rgba(255,255,255,.28),transparent 30%),linear-gradient(180deg,#5bec7d,#15924f);box-shadow:inset -10px 0 #00000029,0 16px 28px #0000003d}.conduit-one{left:4vw;bottom:18vh}.conduit-two{right:6vw;bottom:16vh;transform:scale(.82)}.scanline{pointer-events:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:12;background:repeating-linear-gradient(180deg,rgba(255,255,255,.035) 0,rgba(255,255,255,.035) 1px,transparent 1px,transparent 4px);mix-blend-mode:overlay}.window-shell{width:min(1180px,calc(100% - 32px));margin:28px auto 110px;min-height:calc(100vh - 70px);position:relative;z-index:2;border:4px solid #0a0d16;box-shadow:0 0 0 3px var(--panel-border),0 26px 80px var(--shadow);background:linear-gradient(180deg,#1927492e,#070a1114),#ffffff14;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.os-bar{position:sticky;top:0;z-index:8;display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:16px;min-height:38px;padding:4px 16px;background:#e8edf5;color:#10131c;border-bottom:4px solid #0b0e18;text-align:center;font-size:17px;letter-spacing:0}.traffic-lights{display:flex;gap:10px}.traffic-lights span{width:14px;height:14px;border-radius:50%;display:block;box-shadow:inset 0 -2px #0000003d}.traffic-lights span:nth-child(1){background:#f45d4d}.traffic-lights span:nth-child(2){background:#ffce55}.traffic-lights span:nth-child(3){background:#59c76a}.os-status{color:#12622b;font-size:13px}.os-controls{display:inline-flex;align-items:center;justify-content:end;gap:12px}.theme-toggle{display:inline-grid;place-items:center;width:32px;height:32px;border:2px solid #122018;background:#0b120e;color:var(--gold);box-shadow:inset 0 0 0 2px #ffffff1f}.theme-toggle svg{width:18px;height:18px}.level-map{position:sticky;top:38px;z-index:7;display:flex;gap:8px;padding:10px 14px;background:#03080cb8;border-bottom:2px solid rgba(216,226,246,.45);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.level-map a{text-decoration:none;text-transform:uppercase;font-size:12px;padding:8px 12px;border:2px solid rgba(121,255,146,.32);background:#00000047;color:var(--muted)}.level-map a.active{color:#061006;background:var(--phosphor);border-color:var(--ink)}.level{min-height:calc(100vh - 80px);position:relative;display:grid;align-items:center;gap:28px;padding:104px clamp(18px,5vw,62px) 320px;scroll-margin-top:96px}.level:before{content:attr(data-level);position:absolute;right:18px;top:84px;color:#fff3;font-size:clamp(46px,9vw,126px);font-weight:900}.hero-level{grid-template-columns:minmax(0,1fr) 260px;padding-top:70px;align-items:start}.hero-copy{align-self:start}.kernel-panel,.skills-marquee,.action-panel,.project-card,.skill-panel,.launch-card,.underworld-banner,.radio-callout,.terminal-window{position:relative;z-index:4;border:4px solid #10131b;box-shadow:0 0 0 3px var(--panel-border),0 16px 30px #00000059}.kernel-panel{background:linear-gradient(180deg,#05100be6,#010806d6),#ffffff05;padding:clamp(18px,4vw,34px);max-width:760px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.prompt{color:var(--phosphor);font-weight:900;font-size:clamp(24px,4vw,44px)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(42px,6.4vw,82px);line-height:.96;margin-bottom:18px;text-transform:uppercase;text-shadow:4px 4px #10131b}h2{font-size:clamp(28px,5vw,56px);text-transform:uppercase}h3{font-size:19px}p{color:#f3f7ff;line-height:1.55}.skills-marquee{margin-top:30px;width:min(760px,100%);padding:16px 18px;background:linear-gradient(90deg,#fff6cef0,#ffffffeb);color:#111;font-weight:800;overflow-wrap:anywhere}.action-panel{align-self:start;display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px;background:linear-gradient(180deg,#020e08e0,#000806d1);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.action-panel a{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;min-height:82px;text-decoration:none;text-transform:uppercase;color:var(--ink);border:2px solid transparent}.action-panel a:hover,.action-panel a:focus-visible,.contact-actions a:hover,.contact-actions a:focus-visible{outline:none;border-color:var(--phosphor);background:#79ff921a}.action-panel svg{width:34px;height:34px}.action-panel p{grid-column:1 / -1;border-top:1px solid rgba(216,226,246,.4);padding-top:14px;margin:0;font-size:14px;color:var(--ink)}.terminal-window{background:linear-gradient(180deg,#00300fc7,#000c06e6),var(--terminal);border-color:#080b12;box-shadow:0 0 0 3px var(--panel-border),0 16px 34px #00000080,inset 0 0 30px #1aff5214;color:var(--phosphor);min-width:0}.terminal-titlebar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 14px;border-bottom:2px solid rgba(216,226,246,.45);color:var(--ink);background:#000000b3;font-weight:900;touch-action:none;-webkit-user-select:none;user-select:none}.terminal-size{color:var(--muted);font-size:12px}.terminal-title-actions{display:inline-flex;align-items:center;gap:8px;margin-left:auto}.terminal-control{display:inline-grid;place-items:center;width:28px;height:26px;border:2px solid rgba(121,255,146,.44);background:#79ff921a;color:currentColor}.terminal-control:hover,.terminal-control:focus-visible,.theme-toggle:hover,.theme-toggle:focus-visible{outline:none;background:#ffd35a33;border-color:var(--gold)}.terminal-control svg{width:16px;height:16px}.terminal-body{min-height:172px;margin:0;padding:18px;white-space:pre-wrap;color:var(--phosphor);line-height:1.45;font-size:clamp(13px,1.55vw,16px);text-shadow:0 0 8px rgba(121,255,146,.35)}.floating-terminal{position:fixed;right:clamp(28px,6vw,92px);bottom:86px;width:min(430px,35vw);z-index:8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);will-change:left,top,transform}.terminal-pinned{width:min(540px,calc(100vw - 32px))}.terminal-pinned .terminal-body{min-height:96px;max-height:128px;overflow:auto}.floating-terminal .terminal-body{min-height:138px;font-size:13px}.floating-terminal .terminal-size{display:none}.cursor{animation:blink .9s steps(2,start) infinite}@keyframes blink{50%{opacity:0}}.mascot{position:fixed;z-index:3;width:clamp(86px,11vw,142px);transform:translate3d(-50%,-50%,0);transition:none;will-change:left,top,transform;pointer-events:none}.sprite-viewport{overflow:hidden;width:100%;aspect-ratio:1 / 1.18;filter:drop-shadow(0 14px 10px rgba(0,0,0,.35))}.sprite-strip{height:100%;width:400%;object-fit:cover;object-position:left center;image-rendering:auto;transition:transform .18s steps(1,end)}.shadow{position:absolute;left:18%;right:18%;bottom:-8px;height:12px;border-radius:50%;background:#0000006b;filter:blur(3px)}.section-heading{display:flex;align-items:center;gap:16px;color:var(--ink)}.section-heading svg{width:42px;height:42px;color:var(--gold)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.project-card,.skill-panel,.launch-card,.education-card{background:linear-gradient(180deg,#04100ae6,#020a08d1);padding:22px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.project-card header,.education-card header{display:flex;justify-content:space-between;gap:14px;color:var(--phosphor)}.project-card p,.education-card p,.timeline-item p{color:var(--muted)}.tags,.skill-panel div,.coursework-list,.contact-actions{display:flex;flex-wrap:wrap;gap:8px}.tags span,.skill-panel span,.coursework-list span,.contact-actions a{border:2px solid rgba(121,255,146,.4);padding:7px 9px;background:#79ff9214;color:var(--ink);text-decoration:none}.project-card code{display:inline-block;margin-top:16px;color:var(--cyan)}.project-link{display:inline-block;margin-top:14px;padding:8px 10px;border:2px solid rgba(255,211,90,.55);color:var(--gold);text-decoration:none;text-transform:uppercase;font-size:12px}.project-link:hover,.project-link:focus-visible{outline:none;background:#ffd35a29}.theme-light .project-link{color:#6f4100;border-color:#6f410073}.education-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.education-card h3{color:var(--gold)}.education-card header{align-items:start;flex-direction:column}.education-terminal{width:min(720px,100%)}.underworld-banner{padding:22px;background:linear-gradient(90deg,#0c0818e6,#03040bd1),#5232823d;color:var(--ink);text-transform:uppercase;font-size:clamp(22px,4vw,44px);font-weight:900}.underworld-banner span,.underworld-banner strong{display:block}.underworld-banner strong{color:var(--gold);font-size:.62em}.experience-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.15fr);gap:28px;align-items:start}.timeline{display:grid;gap:18px}.timeline-item{position:relative;padding:20px 20px 20px 28px;background:#080c18c2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);border-left:6px solid var(--cyan);box-shadow:inset 0 0 0 2px #d8e2f638}.timeline-item span{color:var(--gold)}.timeline-item ul{margin:0;padding-left:18px;color:#ecf3ff;line-height:1.55}.skills-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.skill-panel h3{color:var(--gold);text-transform:uppercase}.contact-level{grid-template-columns:minmax(0,1fr) minmax(280px,420px)}.launch-card svg{width:52px;height:52px;color:var(--gold)}.launch-card h2{overflow-wrap:anywhere}.launch-card p{max-width:650px}.radio-callout{grid-column:1 / -1;display:flex;align-items:center;gap:14px;padding:16px;background:#000000b8;color:var(--cyan)}.hud{position:fixed;left:50%;bottom:14px;transform:translate(-50%);z-index:10;display:flex;align-items:center;gap:18px;width:min(1120px,calc(100% - 24px));min-height:44px;padding:8px 16px;overflow-x:auto;white-space:nowrap;background:#020408eb;border:4px solid #0b0d12;box-shadow:0 0 0 3px var(--panel-border);color:var(--ink);font-weight:800}.hud-heart{color:#ff495c}.coin{color:var(--gold)}@media(max-width:900px){.window-shell{width:calc(100% - 18px);margin-top:12px}.os-bar{grid-template-columns:72px 1fr;font-size:13px}.os-status{display:none}.level-map{overflow-x:auto}.level,.hero-level,.experience-layout,.contact-level{grid-template-columns:1fr}.level{padding:92px 18px 150px}.project-grid,.skills-grid,.education-grid{grid-template-columns:1fr}.floating-terminal{position:relative;bottom:auto;right:auto;left:auto;width:100%}.action-panel{grid-template-columns:repeat(3,1fr)}.action-panel p{display:none}.mascot{width:92px;left:auto!important;right:18px;top:72vh!important}.hud{font-size:12px;gap:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}
