/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.grow{flex-grow:1}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#050505;font-family:Courier New,Lucida Console,monospace}*{box-sizing:border-box}body{color:#f4f4f4;background:radial-gradient(circle at 50% 18%,#24485c42,#0000 34rem),linear-gradient(#000 0%,#080808 52%,#020202 100%);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}.page-shell{place-items:center;min-height:100vh;padding:clamp(1.25rem,5vw,4.5rem);transition:padding .38s steps(8,end);display:grid;position:relative;overflow:hidden}.page-shell.is-about-mode,.page-shell.is-expanded-mode{place-items:stretch stretch;padding:0}.page-shell.is-about-mode .ambient-copy,.page-shell.is-expanded-mode .ambient-copy{opacity:0;pointer-events:none}.ambient-copy{color:#9affff80;letter-spacing:0;text-align:center;text-shadow:0 0 18px #00ffff38;font-size:clamp(.72rem,1.5vw,.9rem);animation:.68s steps(5,end) both ambientBoot;position:absolute;top:clamp(1rem,4vw,2.5rem)}.qbasic-window{aspect-ratio:4/3;width:min(94vw,950px);min-height:520px;max-height:min(76vh,720px);image-rendering:pixelated;background:#00a;border:2px solid #9d9d9d;grid-template-rows:29px 28px 1fr 28px;transition:width .44s steps(8,end),min-height .44s steps(8,end),max-height .44s steps(8,end),border-color .18s steps(3,end),box-shadow .22s steps(4,end);animation:.52s steps(6,end) both windowBoot;display:grid;box-shadow:0 26px 90px #000000c7,inset 0 0 0 1px #e6e6e6,0 0 50px #0019ff2e}.qbasic-window.is-expanded{aspect-ratio:auto;width:100vw;min-height:100vh;max-height:100vh;box-shadow:none;border:0;grid-template-rows:auto 1fr}.title-bar{color:#858585;background:#f0f0f0;justify-content:space-between;align-items:center;padding:0 8px;font-size:.82rem;display:flex}.qbasic-window.is-expanded .title-bar{display:none}.title-left,.window-controls,.command-row,.menu-items{align-items:center;display:flex}.title-left{gap:7px}.app-icon{color:#fff56c;background:#004eea;border:1px solid #777;place-items:center;width:18px;height:18px;font-size:.53rem;font-weight:700;display:grid}.window-controls{color:#101010;gap:9px}.menu-bar{color:#030303;z-index:10;background:#b9b9b9;border-bottom:2px solid #777;justify-content:space-between;align-items:center;min-height:28px;padding:0 13px;display:flex}.qbasic-window.is-expanded .menu-bar{border-bottom-color:#050505;min-height:42px;padding:0 clamp(.85rem,3vw,2.4rem);position:sticky;top:0}.menu-items{gap:clamp(.5rem,1.8vw,1.4rem);min-width:0}.menu-bar button{color:#030303;white-space:nowrap;background:0 0;border:0;padding:2px 0;font-size:clamp(.68rem,1.4vw,.9rem);transition:background-color .12s steps(2,end),color .12s steps(2,end),transform .12s steps(2,end)}.menu-bar button:hover,.menu-bar button:focus-visible,.menu-bar button.is-active{color:#00a;background:#dcdcdc;outline:1px solid #00a}.menu-bar button:hover,.menu-bar button:focus-visible{transform:translateY(-1px)}.editor-frame{background:#00a;border:2px solid #7f8dff;border-bottom:0;grid-template-rows:1fr 66px;min-height:0;margin:0 8px;display:grid;position:relative;overflow:hidden}.qbasic-window.is-expanded .editor-frame{border:0;grid-template-rows:1fr;margin:0}.qbasic-window.is-expanded .document-tab,.qbasic-window.is-expanded .scrollbar,.qbasic-window.is-expanded .status-bar,.qbasic-window.is-expanded .command-panel{display:none}.document-tab{color:#00a;z-index:5;background:#b9b9b9;padding:0 9px;font-weight:700;position:absolute;top:-10px;left:50%;transform:translate(-50%)}.code-screen{color:#fff;background:repeating-linear-gradient(#ffffff09 0 1px,#0000 1px 4px),#00a;padding:16px 28px 18px 8px;position:relative;overflow:hidden}.about-screen{background:linear-gradient(90deg,#fff56c17,#0000 18% 82%,#9fffff14),repeating-linear-gradient(#ffffff0b 0 1px,#0000 1px 5px),#00a;min-height:100%;padding:clamp(2rem,6vw,5.5rem) clamp(1.2rem,7vw,7rem);overflow-y:auto}.code-screen:after{content:"";pointer-events:none;background:radial-gradient(circle,#0000 56%,#00000040);position:absolute;inset:0}.code-screen:before{content:"";z-index:1;opacity:0;pointer-events:none;background:linear-gradient(#0000 0%,#9fffff1f 49%,#fff56c14 50%,#0000 54%);animation:2.4s steps(10,end) infinite scanSweep;position:absolute;inset:0}.screen-content{z-index:2;text-shadow:0 0 7px #ffffff2e;font-size:clamp(.74rem,1.4vw,.94rem);line-height:1.22;position:relative}.screen-content p{min-height:1.2em;margin:0}.screen-content a{color:inherit;text-decoration:none}.screen-content a:hover,.screen-content a:focus-visible{color:#fff56c;outline-offset:2px;outline:1px solid #fff56c}.about-page{color:#fff;align-content:center;gap:clamp(1.8rem,4vw,3.6rem);width:min(1080px,100%);min-height:calc(100vh - 42px - clamp(4rem,12vw,11rem));margin:0 auto;animation:.52s steps(8,end) both aboutPageIn;display:grid}.about-title-wrap{width:fit-content;max-width:100%;position:relative}.about-title-wrap h1,.about-title-shadow{letter-spacing:0;text-transform:uppercase;margin:0;font-family:Impact,Haettenschweiler,Arial Black,sans-serif;font-size:clamp(3.1rem,13vw,10.5rem);line-height:.82}.about-title-wrap h1{z-index:2;color:#fff56c;-webkit-text-stroke:2px #050505;text-shadow:5px 5px #050505,10px 10px #ff3560b3,-4px -3px #9fffffd9;animation:.62s steps(7,end) both titleDrop;position:relative;transform:skew(-8deg)rotate(-2deg)}.about-title-shadow{color:#00000057;filter:blur(1px);position:absolute;inset:0;transform:translate(14px,16px)skew(-8deg)rotate(-2deg)}.about-copy{color:#ffffffed;text-shadow:0 0 8px #ffffff2e;gap:1rem;max-width:850px;font-family:Courier New,Lucida Console,monospace;font-size:clamp(.96rem,1.8vw,1.28rem);line-height:1.58;display:grid}.about-copy p{opacity:0;margin:0;animation:.28s steps(5,end) forwards paragraphPrint;transform:translateY(8px)}.about-copy p:first-child{animation-delay:.18s}.about-copy p:nth-child(2){animation-delay:.3s}.about-copy p:nth-child(3){animation-delay:.42s}.about-copy p:nth-child(4){animation-delay:.54s}.experience-screen{scroll-behavior:smooth;background:linear-gradient(90deg,#00000029,#0000 24% 72%,#00000038),repeating-linear-gradient(#ffffff0a 0 1px,#0000 1px 5px),#00a;min-height:100%;padding:0;overflow-y:auto}.projects-screen{scroll-behavior:smooth;background:linear-gradient(90deg,#fff56c14,#0000 22% 80%,#9fffff14),repeating-linear-gradient(#ffffff0a 0 1px,#0000 1px 5px),#00a;height:100%;padding:1.15rem 1.7rem 2.2rem .8rem;overflow-y:auto}.projects-page{z-index:2;color:#fff;gap:.95rem;animation:.22s steps(4,end) screenIn;display:grid;position:relative}.projects-header{max-width:760px}.projects-kicker{color:#9fffff;margin:0 0 .35rem;font-size:.76rem}.projects-header h1{color:#fff56c;text-transform:uppercase;text-shadow:3px 3px #050505,-2px -2px #9fffff99;margin:0;font-size:clamp(1.7rem,5vw,3.2rem);line-height:.95}.projects-header p:last-child{color:#ffffffe0;max-width:650px;margin:.55rem 0 0;font-size:clamp(.78rem,1.6vw,.95rem);line-height:1.42}.project-view-switch{background:#000083;border:2px solid #9fffff;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,430px);display:inline-grid;box-shadow:5px 5px #0000004d}.project-view-switch button,.project-category-grid button{color:#fff;background:0 0;border:0;transition:background-color .14s steps(2,end),color .14s steps(2,end),box-shadow .14s steps(2,end)}.project-view-switch button{justify-content:center;align-items:center;gap:.42rem;min-height:34px;padding:.4rem .5rem;font-size:clamp(.72rem,1.5vw,.86rem);display:inline-flex}.project-view-switch button+button{border-left:2px solid #9fffff}.project-view-switch button:hover,.project-view-switch button:focus-visible,.project-view-switch button.is-active,.project-category-grid button:hover,.project-category-grid button:focus-visible,.project-category-grid button.is-active{color:#050505;background:#fff56c;outline:0}.project-view-switch button.is-active{box-shadow:inset 0 0 0 2px #ff3560}.project-category-panel{background:#000056b8;border:2px solid #9fffffad;padding:.55rem;box-shadow:5px 5px #00000047}.project-category-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.project-category-grid button{text-align:left;background:#0000aadb;border:1px solid #9fffff99;grid-template-columns:auto 1fr auto;align-items:center;gap:.4rem;min-height:42px;padding:.45rem .5rem;font-size:clamp(.68rem,1.35vw,.82rem);display:grid}.project-category-grid button span{overflow-wrap:anywhere;min-width:0}.project-category-grid button strong{color:#fff56c;place-items:center;min-width:2ch;display:grid}.project-category-grid button:hover strong,.project-category-grid button:focus-visible strong,.project-category-grid button.is-active strong{color:#050505}.project-list{gap:.65rem;display:grid}.project-list-heading{color:#9fffff;border-bottom:1px solid #fff56cb8;flex-wrap:wrap;justify-content:space-between;gap:.5rem;padding-bottom:.35rem;font-size:.75rem;display:flex}.project-list-heading strong{color:#fff56c}.project-card{opacity:0;animation:.18s steps(4,end) forwards projectCardIn;animation-delay:calc(var(--project-index,0) * 34ms);background:linear-gradient(90deg,#9fffff1f,#ffffff06),#000070d1;border:2px solid #9fffff8c;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.75rem;display:grid;transform:translateY(8px);box-shadow:5px 5px #00000042}.project-category{color:#9fffff;margin-bottom:.28rem;font-size:.68rem;display:inline-block}.project-card h2{color:#fff;margin:0;font-size:clamp(.96rem,1.8vw,1.18rem);line-height:1.14}.project-card p{color:#ffffffd6;margin:.42rem 0 0;font-size:clamp(.74rem,1.35vw,.86rem);line-height:1.42}.project-card a{color:#fff56c;background:#000083;border:1px solid #fff56c;justify-content:center;align-items:center;gap:.35rem;min-width:134px;padding:.42rem .55rem;font-size:.76rem;text-decoration:none;display:inline-flex}.project-card a:hover,.project-card a:focus-visible{color:#050505;background:#fff56c;outline:0}.experience-page{z-index:2;color:#fff;width:min(1440px,100%);margin:0 auto;padding:clamp(2.2rem,5vw,4.8rem) clamp(.9rem,3.6vw,3rem) 7rem;animation:.52s steps(8,end) both aboutPageIn;position:relative}.experience-hero{width:min(980px,100%);margin-bottom:clamp(2rem,5vw,4.5rem)}.experience-kicker{color:#9fffff;margin:0 0 .75rem;font-size:clamp(.74rem,1.2vw,.9rem)}.experience-hero h1{color:#fff56c;letter-spacing:0;text-transform:uppercase;-webkit-text-stroke:2px #050505;text-shadow:5px 5px #050505,10px 10px #ff3560b3,-4px -3px #9fffffd9;margin:0;font-family:Impact,Haettenschweiler,Arial Black,sans-serif;font-size:clamp(3.5rem,11vw,10rem);line-height:.82;transform:skew(-7deg)rotate(-1deg)}.experience-hero p:last-child{color:#ffffffe6;max-width:820px;margin:1.4rem 0 0;font-size:clamp(.98rem,1.5vw,1.24rem);line-height:1.55}.experience-grid{grid-template-columns:minmax(260px,.9fr) minmax(460px,1.25fr) 96px;align-items:start;gap:clamp(1.4rem,3vw,3.2rem);display:grid}.experience-left{gap:1.2rem;min-width:0;max-height:calc(100vh - 82px);display:grid;position:sticky;top:64px;overflow:hidden}.skill-radar{background:linear-gradient(135deg,#9fffff21,#fff56c12),#000046b8;border:2px solid #9fffffbf;padding:.85rem;box-shadow:inset 0 0 0 2px #00000073,8px 8px #00000052}.radar-heading{color:#9fffff;justify-content:space-between;align-items:center;gap:.8rem;margin-bottom:.35rem;font-size:.78rem;display:flex}.radar-heading strong{color:#fff56c;min-width:3ch;font-size:1.4rem}.skill-radar svg{width:100%;max-width:360px;margin:0 auto;display:block;overflow:visible}.radar-level{fill:#0000;stroke:#9fffff3d;stroke-width:1px}.radar-axis-line{stroke:#ffffff38;stroke-width:1px}.radar-fill{fill:#fff56c33;stroke:none;filter:drop-shadow(0 0 12px #fff56c33)}.radar-stroke{fill:none;stroke:#fff56c;stroke-width:2px}.radar-dot{fill:#00a;stroke:#9fffff;stroke-width:2px;outline:0;transition:r .16s steps(3,end),fill .16s steps(3,end),stroke .16s steps(3,end)}.radar-dot:hover,.radar-dot:focus,.radar-dot.is-active{fill:#ff3560;stroke:#fff56c}.radar-label{fill:#ffffffb8;font-size:9px;transition:fill .14s steps(2,end)}.radar-label.is-active{fill:#fff56c}.radar-readout{color:#ffffffeb;gap:.45rem;font-size:.86rem;display:grid}.radar-readout div{background:#00000057;border:1px solid #9fffff;height:8px}.radar-readout i{background:linear-gradient(90deg,#9fffff,#fff56c,#ff3560);height:100%;transition:width .18s steps(4,end);display:block}.project-glyphs{background:radial-gradient(circle at 22% 28%,#fff56c29,#0000 30%),radial-gradient(circle at 78% 64%,#9fffff29,#0000 34%),#00004880;border:2px solid #fff56c9e;min-height:260px;position:relative;overflow:hidden}.project-glyphs:before,.project-glyphs:after{content:"";pointer-events:none;border:1px solid #ffffff47;position:absolute}.project-glyphs:before{width:62%;height:62%;top:19%;left:19%;transform:rotate(11deg)}.project-glyphs:after{border-radius:50%;width:110px;height:110px;bottom:-22px;right:-28px}.project-glyph{color:#ffffffbf;min-width:58px;min-height:36px;animation:3.6s steps(6,end) infinite glyphFloat;animation-delay:calc(var(--glyph-index,0) * .17s);background:#0000aad1;border:1px solid #9fffffad;place-items:center;padding:.35rem .55rem;font-size:.78rem;transition:background-color .16s steps(3,end),color .16s steps(3,end),transform .16s steps(3,end),border-color .16s steps(3,end);display:grid;position:absolute;transform:translateY(0);box-shadow:5px 5px #00000042}.project-glyph.is-active{z-index:2;color:#050505;background:#fff56c;border-color:#ff3560;transform:translateY(-4px)scale(1.08)}.project-glyph-code{top:12%;left:8%}.project-glyph-screen{top:14%;right:9%}.project-glyph-chip{top:42%;left:30%}.project-glyph-orbit{top:56%;right:12%}.project-glyph-tool{bottom:12%;left:10%}.project-glyph-community{bottom:9%;right:28%}.experience-timeline{gap:1rem;padding-right:clamp(.5rem,1.8vw,1.5rem);display:grid}.experience-entry-wrap{gap:.8rem;display:grid}.experience-entry-wrap.has-entry-image{grid-template-columns:minmax(170px,.42fr) minmax(0,1fr);align-items:center;column-gap:clamp(1rem,2vw,1.6rem)}.experience-entry-wrap.has-entry-image .experience-year-heading{grid-column:1/-1}.experience-year-heading{color:#fff56c;text-shadow:3px 3px #050505,-2px -2px #9fffff73;margin:2.4rem 0 .35rem;font-size:clamp(2rem,4vw,3.6rem);line-height:.95}.experience-year-heading:first-child{margin-top:0}.experience-year-heading span{color:#9fffffd9;margin-top:.3rem;font-size:clamp(.78rem,1.2vw,.98rem);font-weight:400;line-height:1.35;display:block}.experience-entry-image{background:repeating-linear-gradient(#ffffff0d 0 1px,#0000 1px 5px),#000046cc;border:2px solid #fff56cb8;align-self:stretch;min-height:220px;margin:0;position:relative;overflow:hidden;box-shadow:7px 7px #00000047,inset 0 0 0 1px #9fffff2e}.experience-entry-image:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#9fffff2e,#0000 28% 72%,#fff56c29),radial-gradient(circle at 50% 20%,#0000 42%,#0000003d);position:absolute;inset:0}.experience-entry-image img{object-fit:cover;filter:saturate(.98)contrast(1.08);width:100%;height:100%;min-height:220px;display:block}.experience-entry-image figcaption{z-index:2;color:#fff56c;background:#000050e0;border:1px solid #9fffff;width:fit-content;max-width:calc(100% - 1.2rem);padding:.28rem .45rem;font-size:.72rem;position:absolute;bottom:.6rem;left:.6rem;right:.6rem;box-shadow:3px 3px #0000005c}.experience-card{opacity:0;width:min(760px,100%);animation:.28s steps(5,end) forwards cardIn;animation-delay:calc(var(--card-index,0) * 26ms);background:linear-gradient(90deg,#9fffff1a,#ffffff06),#000064c7;border:2px solid #9fffff8c;grid-template-columns:44px 1fr;gap:.9rem;margin-left:auto;padding:1rem;scroll-margin:42vh;transition:border-color .17s steps(3,end),background-color .17s steps(3,end),box-shadow .17s steps(3,end),transform .17s steps(3,end);display:grid;position:relative;transform:translate(18px);box-shadow:7px 7px #0000004d,inset 0 0 0 1px #ffffff14}.experience-card.is-active{background:linear-gradient(90deg,#fff56c24,#9fffff14),#000078e6;border-color:#fff56c;transform:translate(-4px);box-shadow:9px 9px #00000057,0 0 26px #fff56c29}.experience-card-marker{color:#9fffff;background:#000083;border:2px solid #9fffff;place-items:center;width:38px;height:38px;display:grid}.experience-card.is-active .experience-card-marker{color:#fff56c;border-color:#fff56c}.experience-card-copy{min-width:0}.experience-card-topline{color:#9fffff;flex-wrap:wrap;justify-content:space-between;gap:.45rem .8rem;margin-bottom:.4rem;font-size:.76rem;display:flex}.experience-card h3{color:#fff;margin:0;font-size:clamp(1rem,1.7vw,1.35rem);line-height:1.16}.experience-card p{color:#ffffffe0;margin:.55rem 0 0;line-height:1.48}.experience-card .experience-org{color:#fff56c;margin-top:.2rem}.experience-card details{margin-top:.85rem}.experience-card summary{color:#9fffff;outline:0;width:fit-content;transition:color .14s steps(2,end),text-shadow .14s steps(2,end)}.experience-card summary:hover,.experience-card summary:focus-visible{color:#fff56c;text-shadow:0 0 8px #fff56c5c}.experience-card ul{color:#ffffffd1;margin:.7rem 0 0;padding-left:1.1rem;line-height:1.45}.experience-card li+li{margin-top:.45rem}.experience-summary{border-top:2px solid #fff56cb8;width:min(760px,100%);margin:2rem 0 0 auto;padding-top:1.1rem}.experience-summary h2{color:#fff56c;margin:0;font-size:clamp(1.35rem,2.6vw,2rem)}.experience-summary p{color:#ffffffe0;margin:.65rem 0 0;line-height:1.56}.timeline-nav{justify-items:end;gap:.22rem;min-height:calc(100vh - 96px);padding:3.2rem .2rem 1.4rem;display:grid;position:sticky;top:62px}.timeline-track{pointer-events:none;background:linear-gradient(#fff56c,#9fffff,#ffffff40);width:2px;position:absolute;top:4.1rem;bottom:2.2rem;right:12px}.timeline-tooltip{color:#fff56c;text-align:center;background:#050505;border:1px solid #fff56c;min-width:112px;padding:.35rem .5rem;font-size:.78rem;position:absolute;top:0;right:0;box-shadow:4px 4px #0000004d}.timeline-nav-item{z-index:1;color:#fff9;background:0 0;border:0;justify-content:flex-end;align-items:center;gap:.46rem;min-width:82px;min-height:22px;padding:0;display:flex;position:relative}.timeline-marker{background:#00a;border:1px solid #9fffff;border-radius:50%;order:2;width:8px;height:8px;transition:width .14s steps(2,end),height .14s steps(2,end),background-color .14s steps(2,end),border-color .14s steps(2,end),box-shadow .14s steps(2,end)}.timeline-nav-item strong{color:#9fffff;font-size:1.2rem;line-height:1;transition:color .14s steps(2,end)}.timeline-nav-item.is-year .timeline-marker{border-width:2px;width:13px;height:13px}.timeline-nav-item:hover strong,.timeline-nav-item:focus-visible strong,.timeline-nav-item.is-active strong{color:#fff56c}.timeline-nav-item:hover .timeline-marker,.timeline-nav-item:focus-visible .timeline-marker,.timeline-nav-item.is-active .timeline-marker{background:#ff3560;border-color:#fff56c;width:15px;height:15px;box-shadow:0 0 12px #fff56c85}.line-command,.line-system{color:#9fffff}.line-error{color:#fff56c}.section-renderer{animation:.22s steps(4,end) screenIn}.section-renderer p{opacity:0;animation:.17s steps(3,end) forwards linePrint;animation-delay:calc(var(--line-index,0) * 42ms);transform:translateY(3px)}.string-token{color:#fff56c;font-weight:700;transition:text-shadow .14s steps(2,end)}.section-renderer:hover .string-token{text-shadow:0 0 9px #fff56c6b}.typewriter-line{color:#ffffff94;text-shadow:0 0 7px #fff3;align-items:baseline;display:flex}.prompt-token{color:#fff;margin-right:0}.typed-command:before{content:"CLS";animation:22s step-end infinite commandCycle}.cursor-mark{color:#fff56cdb;animation:.85s step-end infinite blink}.scrollbar{color:#000;z-index:4;background:#c5c5c5;font-size:11px;display:flex;position:absolute}.scrollbar div{background:repeating-linear-gradient(45deg,#737373 0 1px,#cfcfcf 1px 3px);flex:1}.scrollbar-y{flex-direction:column;width:13px;top:12px;bottom:66px;right:0}.scroll-cue{z-index:5;color:#fff56c;text-align:center;pointer-events:none;background:#050505;border:1px solid #fff56c;padding:.28rem .35rem;font-size:.64rem;line-height:1.05;animation:1.15s steps(4,end) infinite scrollNudge;position:absolute;top:48%;right:18px;box-shadow:3px 3px #0000005c}.scrollbar-x{height:16px;bottom:66px;left:0;right:13px}.command-panel{z-index:3;color:#fff;background:#00a;border-top:2px solid #7f8dff;padding:8px 10px;position:relative}.command-panel label{color:#9fffff;white-space:nowrap;background:#00a;padding:0 8px;font-size:.82rem;position:absolute;top:-.8em;left:50%;transform:translate(-50%)}.command-row{gap:8px;height:100%}.command-row span{color:#fff56c}.command-row input{color:#fff;caret-color:#fff56c;text-transform:uppercase;background:0 0;border:0;outline:0;flex:1;min-width:0;transition:text-shadow .16s steps(2,end)}.command-row input:focus{text-shadow:0 0 8px #ffffff61}.command-row button{color:#9fffff;background:#000083;border:1px solid #9fffff;align-items:center;gap:5px;min-height:28px;padding:3px 8px;transition:background-color .14s steps(2,end),color .14s steps(2,end),box-shadow .14s steps(2,end);display:inline-flex}.command-row button:hover,.command-row button:focus-visible{color:#000083;background:#9fffff;outline:0;box-shadow:inset 0 0 0 1px #fff56c}.status-bar{color:#050505;background:#62b9b5;grid-template-columns:1fr 1fr 1fr auto;align-items:center;gap:12px;padding:0 8px;font-size:.86rem;font-weight:700;display:grid}.status-bar span:nth-child(2),.status-bar span:nth-child(3){color:#00a}@keyframes blink{0%,48%{opacity:1}49%,to{opacity:0}}@keyframes ambientBoot{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes windowBoot{0%{opacity:0;filter:brightness(.75);transform:translateY(12px)scale(.985)}to{opacity:1;filter:brightness();transform:translateY(0)scale(1)}}@keyframes screenIn{0%{opacity:.25}to{opacity:1}}@keyframes linePrint{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes scanSweep{0%,18%{opacity:0;transform:translateY(-100%)}24%{opacity:.9}46%{opacity:.12;transform:translateY(100%)}47%,to{opacity:0;transform:translateY(100%)}}@keyframes aboutPageIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes titleDrop{0%{opacity:0;transform:translateY(-18px)skew(-8deg)rotate(-2deg)}to{opacity:1;transform:translateY(0)skew(-8deg)rotate(-2deg)}}@keyframes paragraphPrint{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes commandCycle{0%{content:""}1%{content:"C"}2%{content:"CL"}3%,7%{content:"CLS"}8%{content:"CL"}9%{content:"C"}10%{content:""}11%{content:"O"}12%{content:"OPEN"}13%{content:"OPEN H"}14%,18%{content:"OPEN HOME"}19%{content:"OPEN HO"}20%{content:""}21%{content:"OPEN A"}22%,26%{content:"OPEN ABOUT"}27%{content:"OPEN ABO"}28%{content:""}29%{content:"OPEN EXP"}30%,34%{content:"OPEN EXPERIENCE"}35%{content:"OPEN EXPE"}36%{content:""}37%{content:"OPEN PRO"}38%,42%{content:"OPEN PROJECTS"}43%{content:"OPEN PROJ"}44%{content:""}45%{content:"OPEN PORT"}46%,52%{content:"OPEN PORTFOLIO"}53%{content:"OPEN PORT"}54%{content:""}55%{content:"OPEN CON"}56%,62%{content:"OPEN CONTACT"}63%{content:"OPEN CO"}64%{content:""}65%{content:"OPEN RES"}66%,72%{content:"OPEN RESUME"}73%{content:"OPEN RE"}74%{content:""}75%{content:"H"}76%{content:"HE"}77%{content:"HEL"}78%,88%{content:"HELP"}89%{content:"HE"}90%,to{content:""}}@keyframes cardIn{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@keyframes glyphFloat{0%,to{margin-top:0}50%{margin-top:-7px}}@keyframes projectCardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollNudge{0%,to{transform:translateY(-8px)}50%{transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}@media (width<=760px){.page-shell{place-items:start center;padding:4.5rem .85rem 1.5rem}.page-shell.is-about-mode,.page-shell.is-expanded-mode{padding:0}.qbasic-window{aspect-ratio:auto;grid-template-rows:27px auto 1fr 28px;width:min(96vw,560px);min-height:560px;max-height:none}.qbasic-window.is-expanded{grid-template-rows:auto 1fr;width:100vw;min-height:100vh;max-height:100vh}.menu-bar{align-items:flex-start;gap:6px;padding:4px 8px}.menu-items{flex-wrap:wrap;gap:.35rem .75rem}.qbasic-window.is-expanded .menu-bar{min-height:auto;padding:7px 10px}.editor-frame{min-height:470px}.qbasic-window.is-expanded .editor-frame{min-height:0}.about-screen{padding:2.4rem 1rem 3rem}.about-page{align-content:start;gap:2rem;min-height:calc(100vh - 82px - 5.4rem)}.about-title-wrap h1,.about-title-shadow{font-size:clamp(3rem,22vw,6.7rem)}.about-copy{font-size:.98rem;line-height:1.52}.command-panel label{font-size:.74rem}.experience-page{padding:2.2rem .9rem 5.5rem}.projects-screen{padding:1rem 1.45rem 2rem .72rem}.project-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{grid-template-columns:1fr}.project-card a{width:fit-content}.experience-hero{margin-bottom:2rem}.experience-hero h1{font-size:clamp(3.2rem,21vw,6.6rem)}.experience-grid{grid-template-columns:minmax(150px,.42fr) minmax(0,1fr) 42px;gap:.8rem}.experience-left{grid-column:1;max-height:calc(100vh - 58px);position:sticky;top:46px;overflow:hidden}.skill-radar{padding:.5rem}.radar-heading{font-size:.62rem}.radar-heading strong{font-size:1rem}.radar-label{font-size:7px}.radar-readout{font-size:.68rem}.project-glyphs{min-height:160px}.project-glyph{min-width:42px;min-height:28px;font-size:.68rem}.experience-timeline{grid-column:2;padding-right:0}.experience-entry-wrap.has-entry-image{grid-template-columns:minmax(140px,.38fr) minmax(0,1fr);column-gap:.8rem}.experience-entry-wrap.has-entry-image .experience-year-heading{grid-column:1/-1}.experience-entry-image,.experience-entry-image img{min-height:180px}.experience-card{grid-template-columns:34px 1fr;gap:.65rem;padding:.85rem;box-shadow:5px 5px #0000004d}.experience-card-marker{width:30px;height:30px}.experience-card-topline{justify-content:flex-start}.timeline-nav{grid-area:2/3/span 2;min-height:calc(100vh - 60px);padding-top:3rem;top:46px}.timeline-nav-item{min-width:34px}.timeline-nav-item strong{transform-origin:50%;font-size:.92rem;position:absolute;right:21px;transform:rotate(-90deg)}.timeline-tooltip{min-width:76px;padding:.28rem .3rem;font-size:.64rem;right:-2px}}@media (width<=560px){.project-view-switch{grid-template-columns:1fr}.project-view-switch button+button{border-top:2px solid #9fffff;border-left:0}.project-category-grid{grid-template-columns:1fr}.scroll-cue{font-size:.58rem;right:16px}.experience-grid{grid-template-columns:1fr 42px}.experience-left{grid-column:1/-1;max-height:none;position:relative;top:auto;overflow:visible}.experience-timeline{grid-column:1}.timeline-nav{grid-column:2}.experience-entry-wrap.has-entry-image{grid-template-columns:1fr}.experience-entry-wrap.has-entry-image .experience-year-heading{grid-column:auto}}
