@font-face{font-family:LabDisplay;src:url('./fonts/space-grotesk-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:LabMono;src:url('./fonts/ibm-plex-mono-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:LabBody;src:url('/assets/fonts/titillium-web-400-latin.woff2') format('woff2');font-weight:400;font-display:swap}
:root{color-scheme:dark;--bg:#0b101b;--panel:#111a29;--line:#29354b;--text:#eff4fc;--muted:#a9b8ce;--mint:#63e6c4;--violet:#b7a1ff;--pink:#f685bf;--blue:#81beff;--display:LabDisplay,Arial,sans-serif;--mono:LabMono,monospace;--body:LabBody,Segoe UI,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--bg);color:var(--text);font:18px/1.55 var(--body);overflow-x:hidden}body::before{content:'';position:absolute;inset:0 0 auto;height:850px;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 85% 20%,#50407522,transparent 48%),radial-gradient(ellipse at 20% 10%,#1b6d6020,transparent 45%)}
a{color:var(--mint);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button,input{font:inherit}button,a,input,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--mint);outline-offset:5px}button{color:inherit}::selection{background:#63e6c43b;color:white}[hidden]{display:none!important}.wrap{width:min(1160px,calc(100% - 80px));margin-inline:auto}.section-space{margin-top:110px}.panel{border:1px solid var(--line);background:linear-gradient(135deg,#141e2e,#101824);border-radius:22px}.eyebrow,.field-label,.mono{font:500 11px/1.6 var(--mono);letter-spacing:1.25px}.eyebrow{color:var(--mint);margin:0 0 22px}.field-label{color:var(--muted);display:block;margin-bottom:10px}.muted{color:var(--muted)}.small,.micro{font-size:14px;line-height:1.5}.micro{color:var(--muted);margin-top:16px}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);line-height:1.08;letter-spacing:-1.7px}h1{font-size:clamp(56px,6.8vw,90px);margin:0 0 20px}h2{font-size:clamp(32px,3.6vw,47px);margin-bottom:20px}h3{font-size:24px;letter-spacing:-.6px}.status-dot{display:inline-block;width:7px;height:7px;border-radius:100%;background:var(--mint);box-shadow:0 0 14px #63e6c455;margin-right:9px}
.site-nav{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:108px;border-bottom:1px solid #29354b88}.brand{display:flex;align-items:center;gap:14px;color:var(--text);font:700 16px/1.3 var(--display)}.brand small{display:block;font:500 9px/1.5 var(--mono);color:var(--muted);letter-spacing:1.4px;margin-top:7px}.brand-mark{width:42px;height:42px;border:1px solid var(--line);display:grid;place-content:center;border-radius:12px;font-size:24px;color:var(--mint)}.brand-mark span{color:var(--violet)}.site-nav nav{display:flex;gap:24px;align-items:center;font-size:15px}.site-nav nav>a{color:var(--muted)}.quiet{border:1px solid var(--line);border-radius:8px;background:transparent;padding:9px 12px;font-size:13px;color:var(--muted)}.skip-link{position:fixed;top:-70px;left:20px;padding:12px 20px;background:var(--mint);color:var(--bg);z-index:20}.skip-link:focus{top:10px}
.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:35px;padding-top:70px;padding-bottom:65px;min-height:600px;align-items:center}.hero h1 span{color:var(--mint)}.hero-deck{font-size:25px;line-height:1.25;color:var(--violet);margin-bottom:20px}.intro{max-width:485px;color:var(--muted);font-size:19px;line-height:1.6}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:28px;flex-wrap:wrap}.button{display:inline-flex;justify-content:center;align-items:center;gap:18px;min-height:46px;border:1px solid var(--line);border-radius:10px;padding:11px 20px;font:700 14px/1.4 var(--display);transition:transform .2s,background .2s;text-align:center}.button:hover:not(:disabled){transform:translateY(-2px);text-decoration:none}.primary{background:var(--mint);color:#0b1a1a;border-color:var(--mint)}.primary:hover:not(:disabled){background:#8bf3d8}.secondary{background:#182336;color:var(--text);border-color:#3a4a64}.secondary:hover:not(:disabled){background:#202e44}.text-link{font-size:15px;color:var(--muted)}.inline-action{border:0;padding:0;background:none;color:var(--mint);text-align:left;font-size:14px;min-height:32px}.inline-action:hover{text-decoration:underline;text-underline-offset:4px}
.companion-station{position:relative;min-height:420px;display:flex;align-items:center;justify-content:center;isolation:isolate}.orbit{position:absolute;border:1px solid #b7a1ff24;border-radius:50%;width:330px;height:330px;z-index:-1}.orbit-one{transform:rotate(-25deg) scaleY(.55)}.orbit-two{width:310px;height:310px;border-style:dashed;animation:orbit 80s linear infinite}.companion-station::before{content:'';position:absolute;width:280px;height:280px;border-radius:100%;background:radial-gradient(circle,#b7a1ff15,transparent 70%);z-index:-1}.companion-station::after{content:'+';position:absolute;right:16%;top:35%;color:var(--mint);animation:twinkle 7s ease-in-out infinite}.orbit-label{position:absolute;font:500 9px var(--mono);letter-spacing:1.5px;color:#8f819f}.label-one{left:0;top:48%;transform:rotate(-90deg);transform-origin:center}.label-two{bottom:20px;right:12px}.mascot{position:relative;appearance:none;background:none;border:0;width:205px;padding:8px;color:var(--muted)}.mascot svg{display:block;width:100%;overflow:visible}.bot-body{transform-origin:90px 168px;animation:bob 5.5s ease-in-out infinite}.bot-shadow{transform-origin:90px 177px;animation:shadow 5.5s ease-in-out infinite}.bot-eyes{transform:translate(var(--eye-x,0px),var(--eye-y,0px));animation:blink 7.3s infinite}.bot-tap{font:500 9px var(--mono);letter-spacing:1px;opacity:.65}.bot-sleep{display:none}.mascot.sleeping .bot-eyes,.mascot.sleeping .bot-mouth{display:none}.mascot.sleeping .bot-sleep{display:block}.mascot.celebrate .bot-body{animation:happy .45s ease-in-out 3}.speech{position:absolute;top:20px;right:5%;max-width:290px;border:1px solid #5c4c7b;background:#181c30;border-radius:15px 15px 15px 3px;padding:14px 18px;color:#e2d7ff;font-size:16px;line-height:1.35;transform:rotate(-2deg)}.companion-caption{display:flex;align-items:center;gap:9px;position:absolute;bottom:41px;font:500 10px var(--mono);color:var(--muted)}.companion-caption strong{color:var(--violet)}.companion-caption .status-dot{width:5px;height:5px;margin:0}
.check-in{padding:26px 30px}.panel-top{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px}.panel-top h2{font-size:18px;letter-spacing:-.4px;margin:0}.panel-top h2 span{color:var(--mint);margin-right:8px}.panel-top .mono{color:var(--muted);font-size:10px;letter-spacing:.6px}.check-in-grid{display:grid;grid-template-columns:1.15fr 1.2fr 1fr;gap:30px;padding:25px 0}.check-in-grid>div{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}.check-in-grid>div+div{border-left:1px solid var(--line);padding-left:28px}.check-in-grid .field-label{font-size:10px;margin-bottom:7px}.check-in-grid strong{font:700 22px/1.3 var(--display);overflow-wrap:anywhere}.check-in-grid .callsign{color:var(--violet);font-size:21px}.check-in-grid .small{font-size:13px}.network-cell #public-ip{font-size:18px}.check-in-bottom{display:flex;justify-content:space-between;align-items:center;gap:22px;border-top:1px solid var(--line);padding-top:18px}.check-in-bottom p{margin:0;max-width:530px}.check-in-bottom .button{flex-shrink:0;font-size:13px}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:32px}.section-heading h2{margin:0}.section-heading>p{max-width:360px;margin-bottom:4px;color:var(--muted);font-size:17px}.section-heading .eyebrow{margin-bottom:15px}.route-map{padding:34px;position:relative}.route-stops{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;list-style:none;padding:0 0 30px;margin:0;border-bottom:1px solid var(--line);position:relative}.route-stops li{display:flex;align-items:center;flex-direction:column;text-align:center;gap:12px;position:relative}.stop-icon{display:grid;place-content:center;width:64px;height:64px;border:1px solid #3d4d69;background:#142031;border-radius:17px;font:32px var(--mono);color:var(--muted);position:relative;z-index:1;transition:border-color .3s,color .3s,background .3s}.route-stops li.active .stop-icon{color:var(--mint);border-color:var(--mint);background:#18332f;box-shadow:0 0 30px #63e6c410}.route-stops li.visited .stop-icon{color:var(--violet);border-color:#7965ad}.route-stops .mono{font-size:9px;color:var(--muted)}.route-stops strong{font:700 17px var(--display)}.route-wire{position:absolute;left:15.1%;right:15.1%;height:1px;background:#3b4860;top:66px}.packet-dot{position:absolute;left:var(--packet-position,0%);top:-5px;width:11px;height:11px;border-radius:3px;background:var(--mint);box-shadow:0 0 17px #63e6c490;transition:left 1.2s cubic-bezier(.65,0,.35,1);z-index:2}.route-story{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-top:24px}.route-story>div{max-width:760px}.route-story .field-label{color:var(--violet);font-size:10px}.route-story h3{margin-bottom:12px}.route-story p{color:var(--muted);margin-bottom:10px}.route-story a{font-size:15px}.route-story .button{flex-shrink:0}.service-drawer{margin-top:16px;border:1px solid var(--line);border-radius:11px;padding:14px 20px;font-size:15px;color:var(--muted)}summary{cursor:pointer;color:var(--text)}summary::marker{color:var(--violet)}.service-drawer summary span{color:var(--violet);margin-left:10px}.service-drawer p{margin-top:15px;margin-bottom:0}
.training-note{font-size:14px;color:var(--muted);margin-bottom:22px}.training-note span{color:var(--violet);margin-right:8px}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.case-card{border:1px solid var(--line);border-top:2px solid var(--case-color);border-radius:16px;padding:25px 22px;background:#101927;display:flex;flex-direction:column;min-width:0}.case-card .room-tag{font:500 11px var(--mono);color:var(--case-color);letter-spacing:1px;margin-bottom:16px}.case-card h3{font-size:24px;margin-bottom:16px}.case-card pre{font:500 11px/1.9 var(--mono);letter-spacing:-.3px;white-space:pre-wrap;overflow-wrap:anywhere;background:#0c1320;border:1px solid #243046;border-radius:9px;padding:16px 12px;color:#bac9df;min-height:101px;margin:0 0 22px}.case-question{font-size:17px;line-height:1.4;min-height:68px;margin-bottom:14px}.answer-options{display:flex;flex-direction:column;gap:8px;border:0;padding:0;margin:0}.answer-options button{background:#182235;color:#dce5f3;border:1px solid #35435b;border-radius:8px;text-align:left;padding:10px 12px;font-size:14px;min-height:44px;line-height:1.4}.answer-options button:hover:not(:disabled){border-color:var(--case-color);background:#202d43}.answer-options button.correct{color:var(--mint);border-color:#478a78;background:#14302a;opacity:1}.case-feedback{font-size:14px;line-height:1.5;color:var(--muted);min-height:65px;margin:16px 0 10px}.case-card.solved .case-feedback{color:var(--mint)}.case-card details{font-size:13px;color:var(--muted);margin-bottom:20px}.case-card details p{margin:10px 0}.case-card>a{font-size:14px;margin-top:auto;color:var(--case-color)}.case-card.solved .room-tag::after{content:' / FOUND ✓';color:var(--mint)}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.vault-panel{padding:45px;display:grid;grid-template-columns:1.15fr 1fr;gap:65px;background:radial-gradient(ellipse at 90% 100%,#50407526,transparent 60%),#111a29}.vault-copy p:not(.eyebrow){color:var(--muted)}.code-route{display:flex;list-style:none;gap:24px;padding:0;margin:25px 0 15px}.code-route li{position:relative}.code-route li+li::before{content:'→';position:absolute;left:-20px;top:9px;color:#61738f}.code-route strong{display:grid;place-content:center;background:#0b1423;border:1px solid #3b4962;border-radius:9px;width:65px;height:58px;font:700 29px var(--display);color:var(--violet)}.code-route li.found strong{border-color:#4c8d7b;color:var(--mint)}.code-route span{display:block;font:500 8px var(--mono);letter-spacing:1px;margin-top:9px;color:var(--muted);text-align:center}.vault-lock{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-left:1px solid var(--line);padding-left:40px}.lock-mark{font:50px var(--mono);color:var(--violet);margin-bottom:12px}.vault-lock label{font-size:15px;color:var(--muted);margin-bottom:10px}.vault-lock input{display:block;text-align:center;width:100%;max-width:280px;height:80px;font:700 42px var(--display);letter-spacing:16px;padding-left:16px;color:var(--mint);border:1px solid #52617c;background:#0a1320;border-radius:12px;margin-bottom:16px}.vault-lock input::placeholder{color:#62708a}.vault-lock .button{width:100%;max-width:280px}.vault-lock p{font-size:13px;max-width:290px;margin-top:16px;margin-bottom:0;color:var(--muted);min-height:40px}body[data-vault='open'] .vault-panel{border-color:#4e9e89}body[data-vault='open'] .lock-mark{color:var(--mint)}
.souvenir{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:65px}.souvenir h2{font-size:37px}.souvenir p:not(.eyebrow){color:var(--muted)}.souvenir .button{margin:8px 0 13px}.badge-preview{transform:rotate(-3deg);transition:transform .4s;filter:drop-shadow(0 20px 35px #0004)}.badge-preview:hover{transform:rotate(0deg)}.badge-preview img{display:block;width:100%;height:auto;border-radius:20px}.badge-caption{display:block;text-align:center;font-size:9px;color:var(--violet);margin-top:16px;letter-spacing:1.4px}.faq{max-width:850px;padding-top:10px}.faq details{border-top:1px solid var(--line);padding:20px 0;font-size:17px}.faq details:last-child{border-bottom:1px solid var(--line)}.faq details p{color:var(--muted);margin:15px 0 0}.site-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:30px;padding-bottom:35px;margin-top:90px;font-size:13px;color:var(--muted)}.site-footer .brand{font-size:14px}.site-footer p{margin:0}.site-footer>div{display:flex;gap:20px;align-items:center}.site-footer a:not(.brand){color:var(--muted)}.site-footer button{font-size:12px}.celebration{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:10}.confetti{position:absolute;top:-20px;left:var(--x);width:7px;height:12px;background:var(--color);animation:fall 1.7s var(--delay) ease-in forwards}
@keyframes bob{50%{transform:translateY(-6px)}}@keyframes shadow{50%{transform:scaleX(.85);opacity:.07}}@keyframes blink{0%,45%,49%,100%{opacity:1}47%{opacity:0}}@keyframes happy{50%{transform:translateY(-15px) rotate(5deg)}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes twinkle{50%{opacity:.25}}@keyframes fall{to{transform:translateY(110vh) rotate(260deg)}}
body[data-motion='off'] *,body[data-motion='off'] *::before,body[data-motion='off'] *::after{animation:none!important;transition:none!important}body[data-motion='off'] .badge-preview{transform:none}body[data-motion='off'] .bot-eyes{transform:none}html:has(body[data-motion='off']){scroll-behavior:auto}
@media(min-width:1450px){.hero{padding-top:85px;padding-bottom:80px}}
@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.site-nav nav{gap:15px}.hero{grid-template-columns:1.15fr .85fr}.hero h1{font-size:70px}.companion-station{min-height:390px}.orbit{width:260px;height:260px}.orbit-two{width:260px;height:260px}.label-one{display:none}.hero-actions{gap:16px}.check-in-grid{gap:20px}.check-in-grid>div+div{padding-left:20px}.check-in-bottom{align-items:flex-start}.case-grid{gap:14px}.case-card{padding:22px 16px}.case-card pre{font-size:10px}.case-question{min-height:94px}.vault-panel{padding:35px;gap:35px}.vault-lock{padding-left:30px}.souvenir{gap:35px}.site-footer{flex-wrap:wrap}.site-footer p{order:3;width:100%}.site-footer .brand{margin-right:auto}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-nav{min-height:88px;gap:18px}.brand{font-size:14px}.brand small{font-size:7px;letter-spacing:1px}.brand-mark{width:33px;height:36px;font-size:20px}.site-nav nav>a{display:none}.quiet{font-size:11px;padding:8px}.hero{grid-template-columns:1fr;padding-top:44px;padding-bottom:35px;gap:10px}.hero h1{font-size:clamp(59px,11vw,80px)}.hero .eyebrow{font-size:9px;letter-spacing:1px}.hero-deck{font-size:22px}.intro{font-size:17px;max-width:510px}.hero-actions{margin-top:23px;gap:20px}.hero-actions .button{font-size:13px}.hero-actions .text-link{font-size:13px}.companion-station{min-height:320px;margin-top:10px}.mascot{width:170px}.orbit,.orbit-two{width:250px;height:250px}.speech{top:0;right:8%;font-size:14px;max-width:245px}.companion-caption{bottom:20px;font-size:9px}.label-two{font-size:7px;bottom:0;right:3%}.check-in{padding:22px}.panel-top{align-items:flex-start}.panel-top h2{font-size:17px}.panel-top .mono{font-size:8px;max-width:100px;text-align:right}.check-in-grid{grid-template-columns:1fr;gap:22px;padding:22px 0}.check-in-grid>div+div{border-left:0;border-top:1px solid var(--line);padding:20px 0 0}.check-in-grid .field-label{font-size:9px}.check-in-grid strong{font-size:22px}.check-in-grid .network-cell strong{font-size:18px}.check-in-bottom{flex-direction:column;align-items:stretch;gap:18px}.section-space{margin-top:72px}.section-heading{flex-direction:column;align-items:flex-start;gap:22px;margin-bottom:24px}.section-heading h2{font-size:36px}.section-heading>p{font-size:16px}.eyebrow{font-size:9px;letter-spacing:1px}.route-map{padding:22px}.route-stops{grid-template-columns:1fr;gap:22px}.route-stops li{display:grid;grid-template-columns:52px 1fr;grid-template-rows:20px 24px;column-gap:17px;row-gap:2px;text-align:left;align-items:center}.stop-icon{width:48px;height:48px;border-radius:12px;grid-row:1/3;font-size:25px}.route-stops li .mono{font-size:8px}.route-stops li strong{font-size:16px}.route-wire{left:46px;right:auto;top:47px;width:1px;height:210px}.packet-dot{top:var(--packet-position,0%);left:-5px;transition:top 1.2s cubic-bezier(.65,0,.35,1)}.route-story{flex-direction:column;align-items:stretch;gap:20px}.route-story h3{font-size:22px}.route-story p{font-size:16px}.service-drawer{padding:14px 16px;font-size:14px}.case-grid{grid-template-columns:1fr;gap:20px}.case-card{padding:25px}.case-card pre{font-size:12px;min-height:0}.case-question{min-height:0;font-size:18px}.answer-options button{font-size:15px;padding:12px}.case-feedback{min-height:40px}.case-card details{font-size:14px}.case-card>a{font-size:15px}.vault-panel{grid-template-columns:1fr;padding:26px;gap:30px}.vault-copy h2{font-size:34px}.vault-copy p{font-size:16px}.vault-lock{border-left:0;border-top:1px solid var(--line);padding:24px 0 0}.lock-mark{font-size:40px}.souvenir{grid-template-columns:1fr;gap:30px}.souvenir h2{font-size:34px}.souvenir-copy>p{font-size:16px}.badge-preview{margin:0 4px}.badge-caption{font-size:8px;letter-spacing:1px}.faq details{font-size:16px}.site-footer{margin-top:65px;gap:23px}.site-footer>div{gap:22px;flex-wrap:wrap}.site-footer p{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.badge-preview{transform:none}.bot-eyes{transform:none}.celebration{display:none}}
.brand-mark{display:inline-flex;align-items:center;justify-content:center}
