*{box-sizing:border-box}@font-face{font-family:Pixeloid Sans;src:url(/assets/fonts/pixeloid/PixeloidSans.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Pixeloid Sans;src:url(/assets/fonts/pixeloid/PixeloidSans-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Pixeloid Mono;src:url(/assets/fonts/pixeloid/PixeloidMono.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{color-scheme:dark;--night: #15102d;--night-deep: #241448;--dungeon: #34215f;--stone: #59468a;--stone-light: #7f65b7;--text: #fff6d8;--text-soft: #ffdca8;--gold: #ffd34f;--coin: #ff9f1c;--pink: #ff5aa5;--cyan: #54e7ff;--mint: #65f3a5;--danger: #ff4f5e;--outline: #fff0b8;--shadow: #2a174d;--max-width: 1180px;--pixel-font: "Pixeloid Mono", "Courier New", monospace;--body-font: "Pixeloid Sans", "Trebuchet MS", "Verdana", system-ui, sans-serif}html{min-width:320px;min-height:100%;background:var(--night)}body{margin:0;min-width:320px;min-height:100vh;color:var(--text);background:var(--night);font-family:var(--body-font);line-height:1.5;image-rendering:pixelated;text-rendering:geometricPrecision}button,a{font:inherit}a{color:inherit;text-decoration:none}button{border:0;color:inherit;cursor:pointer}:focus-visible{outline:4px solid var(--cyan);outline-offset:4px}::selection{color:var(--night);background:var(--gold)}.pixel-frame{border:4px solid var(--outline);box-shadow:0 0 0 4px var(--shadow),8px 8px #00000047}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.menu-expander p{margin:0;color:var(--text-soft);font-size:clamp(1rem,2vw,1.15rem)}.menu-expander .lead{margin:0 0 .75rem;color:var(--gold);font-family:"Pixeloid Sans",var(--pixel-font);font-size:clamp(1.05rem,2.4vw,1.35rem);line-height:1.25}.menu-expander h3{margin:0 0 .4rem;color:var(--gold);font-family:"Pixeloid Sans",var(--pixel-font);font-size:clamp(1.2rem,3vw,1.7rem);line-height:1.05;text-transform:uppercase}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.65rem;margin:1.1rem 0 0}.stat-cell{padding:.75rem;border:3px solid rgba(255,240,184,.4);background:#061b338c}.stat-cell dt{color:var(--mint);font-family:var(--pixel-font);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase}.stat-cell dd{margin:.2rem 0 0}.stat-value{color:var(--text);font-family:"Pixeloid Sans",var(--pixel-font);font-size:1.05rem}.stat-detail{color:var(--text-soft);font-size:.92rem}.project-picker{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.project-tab{padding:.5rem .7rem;border:3px solid var(--outline);background:#123a68;box-shadow:3px 3px #061b33;color:var(--text);font-family:var(--pixel-font);font-size:.6rem;letter-spacing:.04em;text-transform:uppercase;transition:transform .16s steps(2,end),background-color .16s steps(2,end),color .16s steps(2,end)}.project-tab:hover,.project-tab.active{transform:translate(-2px,-2px);background:var(--gold);color:var(--night)}.project-role{margin:0 0 .6rem;color:var(--cyan);font-family:var(--pixel-font);font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}.project-impact{margin-top:.75rem;color:var(--text)}.project-impact span{color:var(--coin);font-family:var(--pixel-font);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase}.bullet-list{margin:.85rem 0 0;padding-left:1.1rem;display:grid;gap:.35rem;color:var(--text-soft)}.bullet-list li::marker{color:var(--pink)}.tag-row{display:flex;flex-wrap:wrap;gap:.4rem;margin:.85rem 0 0;padding:0;list-style:none}.tag-row li{padding:.3rem .5rem;border:2px solid rgba(101,243,165,.5);background:#061b3380;color:var(--mint);font-family:var(--pixel-font);font-size:.58rem;letter-spacing:.04em;text-transform:uppercase}.skill-list{margin:0;padding:0;list-style:none;display:grid;gap:1rem}.skill-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.4rem}.skill-label{color:var(--text);font-family:"Pixeloid Sans",var(--pixel-font);font-size:1rem}.skill-level{color:var(--gold);font-family:var(--pixel-font);font-size:.7rem}.skill-meter{height:14px;border:3px solid var(--outline);background:#061b33b3;padding:2px}.skill-fill{display:block;height:100%;background:repeating-linear-gradient(90deg,var(--coin) 0 8px,var(--gold) 8px 12px)}.timeline{margin:1.4rem 0 0;padding:0;list-style:none;display:grid;gap:.85rem}.timeline-entry{padding:.75rem;border-left:4px solid var(--pink);background:#061b3373}.timeline-entry p{margin:0}.timeline-period{color:var(--mint);font-family:var(--pixel-font);font-size:.6rem;letter-spacing:.06em;text-transform:uppercase}.timeline-role{color:var(--text);font-family:"Pixeloid Sans",var(--pixel-font);font-size:1rem;margin-top:.2rem}.timeline-company{color:var(--text-soft);font-size:.9rem;margin-bottom:.3rem}.bonus-list{margin:0;padding:0;list-style:none;display:grid;gap:.75rem}.bonus-cell{padding:.85rem;border:3px solid rgba(255,240,184,.4);background:#061b338c}.bonus-kind{margin:0 0 .3rem;color:var(--mint);font-family:var(--pixel-font);font-size:.6rem;letter-spacing:.06em;text-transform:uppercase}.bonus-link{color:var(--gold);font-family:"Pixeloid Sans",var(--pixel-font);font-size:1.05rem}.bonus-link:hover{color:var(--cyan)}.sparrow-mark{display:inline-grid;place-items:center;width:1.7em;height:1.7em;margin-right:.5em;vertical-align:-.45em;background:var(--text);box-shadow:2px 2px #061b33}.sparrow-mark img{display:block;width:84%;height:84%}.contact-actions{display:grid;gap:.6rem;margin:1rem 0 0}.contact-button{display:flex;justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:.75rem .9rem;border:3px solid var(--outline);background:#123a68;box-shadow:3px 3px #061b33;color:var(--text);text-align:left;transition:transform .16s steps(2,end),background-color .16s steps(2,end),color .16s steps(2,end)}.contact-button:hover{transform:translate(-2px,-2px);background:var(--cyan);color:var(--night)}.contact-label{font-family:var(--pixel-font);font-size:.7rem;letter-spacing:.05em;text-transform:uppercase}.contact-value{font-size:.95rem;opacity:.92}.contact-value:has(.linkedin-logo){display:inline-flex;align-items:center;gap:.5rem;opacity:1}.linkedin-logo{display:inline-flex;align-items:center;font-family:"Pixeloid Sans",var(--pixel-font);letter-spacing:.02em}.linkedin-logo .li-word{font-size:1rem}.linkedin-logo .li-in{display:inline-grid;place-items:center;width:1.35em;height:1.35em;margin-left:.14em;background:#0a66c2;color:#fff;font-size:.8em;line-height:1;box-shadow:2px 2px #061b33}.menu-expander .field-label{margin:.85rem 0 .25rem;color:var(--coin);font-family:var(--pixel-font);font-size:.62rem;letter-spacing:.06em;text-transform:uppercase}.menu-expander .bonus-title{margin:0 0 .35rem;color:var(--gold);font-family:"Pixeloid Sans",var(--pixel-font);font-size:1.05rem}.spotify-embed{display:block;width:100%;margin-top:.65rem;border:3px solid var(--outline);border-radius:0;background:#061b33}.vault-button{margin-top:.65rem;padding:.55rem .8rem;border:3px solid var(--outline);background:var(--gold);box-shadow:3px 3px #061b33;color:var(--night);font-family:var(--pixel-font);font-size:.64rem;letter-spacing:.05em;text-transform:uppercase;transition:transform .16s steps(2,end),background-color .16s steps(2,end),color .16s steps(2,end)}.vault-button:hover{transform:translate(-2px,-2px);background:var(--cyan)}.menu-expander .vault-message{margin-top:.6rem;color:var(--mint);font-size:.92rem}
