:root{font-family:Courier New,monospace;color:#d6eeff;background:#061c2a;font-synthesis:none;color-scheme:dark}*{box-sizing:border-box}body{margin:0}html{scroll-behavior:smooth}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid #85d7ff;outline-offset:5px}.town,.grain,.frame{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}.town{z-index:0}.grain{z-index:1;background:repeating-linear-gradient(0deg,transparent 0 3px,#00000015 3px 4px)}.frame{z-index:6;border:10px solid #04121c}.topbar{position:fixed;z-index:5;top:10px;left:10px;right:10px;display:flex;justify-content:center;padding:25px 16px;background:linear-gradient(#041723f5,transparent)}nav{display:flex;gap:30px;font-size:11px}nav a{color:#91b3c7}nav a:hover,nav a[aria-current]{color:#e4f5ff}.journey{position:relative;z-index:2;pointer-events:none}.stop{min-height:100svh;display:flex;align-items:center;justify-content:flex-end;padding:125px 7vw 190px}.note{pointer-events:auto;width:410px;max-width:100%;padding:27px;background:#061d2bed;border:1px solid #4780a266;box-shadow:6px 6px #03131b55;position:relative}.note:before{content:"+";position:absolute;top:-9px;left:-5px;color:#a1dcff}.note-label{font-size:9px;letter-spacing:1.6px;color:#88c1df;line-height:1.6;display:block}h1,h2{font: 32px/1.12 Arial,sans-serif;letter-spacing:-1px;margin:19px 0}h1{font-size:44px}.note p{font-size:13px;line-height:1.8;color:#b5cddb;margin:0 0 22px}.note .detail{font-size:10px;color:#8faebf}.next{display:flex;justify-content:space-between;border-top:1px solid #48739180;padding-top:15px;font-size:11px;color:#a9e3ff;gap:12px}.location{position:fixed;bottom:35px;left:38px;z-index:4;display:flex;align-items:flex-start;flex-direction:column;gap:8px;pointer-events:none}.location>span:first-child{font-size:9px;letter-spacing:2px;color:#7ea8c0}.location strong{font:bold clamp(22px,3vw,36px)/1 Arial,sans-serif;letter-spacing:-1px;padding:10px 13px;background:#041723}.location>span:last-child{font-size:11px;color:#96bfd4}.map{position:fixed;bottom:28px;right:30px;width:120px;z-index:4;background:#0a2a3ed9;border:1px solid #4384aa55;padding:10px;color:#7eb6d4;font-size:8px;letter-spacing:1px;pointer-events:none}.map>div{display:flex;justify-content:space-between}.map svg{width:100%;height:60px;margin:7px 0}.map>span{font-size:6px}.skip{position:fixed;top:-100px;z-index:10;background:#082435;padding:16px}.skip:focus{top:20px;left:20px}.tags{list-style:none;display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:0 0 22px}.tags li{font-size:9px;border:1px solid #477a9866;padding:6px 8px;color:#9ad7f5}.project-links{display:grid;gap:14px}.continue{display:inline-block;margin-top:22px;font-size:10px;color:#7faec8}.experience-list{list-style:none;margin:0;padding:0}.experience-list li{padding:17px 0 17px 16px;border-left:1px solid #477a98;border-bottom:1px solid #477a9833}.experience-list li:last-child{padding-bottom:0;border-bottom:0}.job-date{font-size:9px;color:#7eb6d4}.experience-list h3{font:20px Arial,sans-serif;margin:7px 0}.job-role{font-size:10px;color:#b9dced}.experience-list p{font-size:11px;margin:9px 0 0;line-height:1.65}.project-building{position:fixed;z-index:2;left:9vw;top:20vh;width:32vw;max-width:410px;border:1px solid #458cb5;background:#082336f5;box-shadow:20px -18px #10384c,21px -19px #417e9c}.project-building[hidden]{display:none}.building-roof,.building-base{padding:15px;font-size:10px;letter-spacing:2px;color:#83bad8}.building-roof span{display:block;margin-top:8px;font-size:8px;color:#426e89}.building-floor{display:grid;grid-template-columns:32px 1fr;align-items:center;gap:12px;padding:20px 16px;border-top:1px solid #32688688;background:#081c29;color:#507c95}.building-floor.lit{background:#104261;color:#c8eeff;box-shadow:inset 3px 0 #93dfff}.building-floor strong{grid-column:2;font-size:12px;font-weight:400}.floor-number{font-size:11px}.windows{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.windows i{font:10px monospace;text-align:center;border:1px solid #48789666;padding:3px;color:#416078}.lit .windows i{background:#489ed133;color:#90d5ff;border-color:#67caff99}.in-building .town{opacity:.35}.in-building .grain{opacity:.3}@media(max-width:760px){.frame{border-width:6px}.topbar{top:6px;left:6px;right:6px;padding:22px 8px}nav{gap:clamp(12px,4vw,25px);font-size:10px}.stop{padding:120px 22px 170px;min-height:100svh}.note{width:100%;padding:23px}h1{font-size:36px}h2{font-size:28px}.location{left:22px;bottom:30px}.location strong{font-size:20px;max-width:calc(100vw - 135px)}.location>span:first-child{font-size:7px}.location>span:last-child{font-size:9px;max-width:210px}.map{right:20px;bottom:23px;width:84px;padding:7px}.map svg{height:42px}.map>span{display:none}.map>div{font-size:6px}.project-building{left:22px;right:22px;top:80px;width:auto;max-width:none;box-shadow:5px -5px #17435b;display:flex}.building-roof,.building-base,.windows{display:none}.building-floor{padding:10px;flex:1;display:flex;gap:8px;border-top:0;border-right:1px solid #32688688}.building-floor strong{font-size:10px}.in-building .stop:has([id]){scroll-margin-top:0}.in-building #work,.in-building #demodag,.in-building #sonicbits{padding-top:155px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.experience-stop{justify-content:center}.experience-stop .note{width:100%;max-width:1000px;padding:40px;background:#071b30f5;border:0;box-shadow:none}.experience-stop .note:before{display:none}.experience-stop h2{display:flex;align-items:center;gap:30px;font-size:clamp(30px,4vw,48px);color:#c9d8f4;margin:15px 0 42px}.experience-stop h2:after{content:"";height:1px;background:#31465e;flex:1}.experience-tabs{display:grid;grid-template-columns:150px 1fr;gap:30px;min-height:260px}.company-tabs{display:flex;flex-direction:column;border-left:1px solid #31465e}.company-tabs button{font:12px Courier New,monospace;text-align:left;color:#aabbd3;background:none;border:0;border-left:3px solid transparent;margin-left:-2px;padding:17px 16px;cursor:pointer}.company-tabs button[aria-selected=true]{border-left-color:#69decf;color:#69decf;background:#18384c66}button:focus-visible,.role-panel:focus-visible{outline:2px solid #85d7ff;outline-offset:4px}.role-panel h3{font:24px/1.4 Arial,sans-serif;color:#d0dcf4;margin:4px 0 16px}.role-panel h3 span{color:#69decf}.role-panel .job-date{text-transform:uppercase;color:#8ca1bc;letter-spacing:1px}.role-panel ul{list-style:none;padding:0;margin:28px 0 0}.role-panel li{position:relative;padding-left:22px;font:14px/1.8 Arial,sans-serif;color:#a5b5cf;margin-bottom:16px}.role-panel li:before{content:"▹";position:absolute;left:0;color:#69decf}.in-building .town{opacity:1}.floor-nav{position:fixed;z-index:4;left:7vw;top:105px;display:flex;gap:18px;font-size:10px;padding:12px;background:#061c2ae8;border:1px solid #4780a266}.floor-nav[hidden]{display:none}.floor-nav a{color:#87aebf}.floor-nav a[aria-current]{color:#b9ebff}@media(max-width:760px){.experience-stop .note{padding:24px 18px}.experience-stop h2{margin-bottom:25px;font-size:30px}.experience-tabs{grid-template-columns:1fr;gap:25px;min-height:360px}.company-tabs{flex-direction:row;border-left:0;border-bottom:1px solid #31465e;overflow-x:auto}.company-tabs button{padding:12px 10px;font-size:10px;white-space:nowrap;border-left:0;border-bottom:2px solid transparent;margin-left:0}.company-tabs button[aria-selected=true]{border-bottom-color:#69decf}.role-panel h3{font-size:21px}.role-panel li{font-size:13px}.floor-nav{left:22px;right:22px;top:78px;justify-content:space-between;gap:8px;font-size:9px}.in-building .note{background:#061d2bd9}}.career-meta{border-top:1px solid #4780a255;padding-top:16px;margin:0 0 18px}.career-meta h3{font:16px/1.4 Arial,sans-serif;color:#b6e9ff;margin:0 0 8px}.career-meta span{font-size:10px;letter-spacing:.5px;color:#88adc5}.career-floor{padding-top:155px}@media(max-width:760px){.floor-nav{flex-wrap:wrap;row-gap:10px}.career-floor{padding-top:155px}.floor-nav a{white-space:nowrap}}#connect{justify-content:center}#connect .note{width:480px;text-align:center;background:#061d2bd9}#connect .note:before{display:none}.outcome{display:grid;gap:6px;border-left:2px solid #79d0ef;padding:4px 0 4px 14px;margin:0 0 23px}.outcome strong{font:30px/1.1 Arial,sans-serif;letter-spacing:-.5px;color:#b5eaff}.outcome span{font:12px/1.5 Arial,sans-serif;color:#d1e6ef}.outcome small{font:10px/1.6 Courier New,monospace;color:#8bb2c8}
