@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;650;700&display=swap');
:root{--body:'Manrope',Arial,sans-serif;--display:var(--body);--accent:#9be8eb;--paper:#101316;--ink:#e9f0f4;--white:#181e23;--muted:#9baab3;--line:#2a343b}
body{background:var(--paper);font-size:14px}.topbar{max-width:1440px;min-height:100px;padding:24px 48px;border:0;gap:45px}.brand{font-size:15px;letter-spacing:-.3px;gap:10px}.brandmark{background:none;color:var(--accent);width:35px;height:35px}.brandmark svg{width:32px;height:32px}.brand b{font-weight:400;color:var(--muted)}.brand small{font-size:10px;margin-top:4px}.navigation{gap:6px;align-self:center;background:#1a2025;border-radius:100px;padding:4px}.nav-item{font-size:12px;padding:9px 20px;min-height:38px;border-radius:100px}.nav-item.selected{background:#2a343b;color:var(--ink)}.nav-item.selected:after{display:none}.nav-item b{border-radius:10px;background:#34434b;font-size:10px}.team-button{background:none;border:1px solid #3b484f;border-radius:100px;padding:9px 18px;font-size:11px}.team-button:hover{background:#243039}
.workspace{display:block;max-width:1440px;padding:36px 48px 44px;min-height:0}.heading-row{align-items:center;margin-bottom:32px;gap:24px}h1{font-size:clamp(36px,4vw,57px);line-height:1.12;font-weight:400;letter-spacing:-2px;margin-bottom:14px}.intro-copy,.heading-row .intro-copy{font-size:13px;color:var(--muted);max-width:66ch}.progress-ring{display:flex;flex-direction:column;align-items:flex-end}.progress-ring b{font-size:25px;font-weight:400;letter-spacing:-1px}.progress-ring b span{color:#81939e}.progress-ring small{font-size:10px;margin-top:4px}
.city-stage{position:relative;border-radius:24px;overflow:hidden;background:#141c22}.map{height:450px;background:none;border:0}.map svg{left:0;width:100%}.map-point{gap:10px;flex-direction:column;transform:translate(-50%,-27px);padding:8px;min-width:55px;min-height:70px}.map-point:active:not(:disabled){transform:translate(-50%,-27px)}.map-point .pin{width:38px;height:38px;border-radius:50%;background:#22333d;border:1px solid #52707b;color:#d6e5ed;font-size:11px;font-weight:500}.map-point.main-point .pin{background:var(--accent);border:0;color:#102026}.map-label{background:none;padding:0;font-size:11px;font-weight:400;line-height:1.4;color:#bfced7}.map-point:hover .map-label,.map-point:focus-visible .map-label{background:none;color:var(--accent)}.map-point:hover .pin{border-color:var(--accent)}.map-point.main-point .map-label{color:var(--accent)}.map-disclaimer{bottom:20px;right:25px;font-size:9px;color:#8aa0ae}.stage-note{position:absolute;top:26px;left:30px;font-size:11px;color:#a9bdc7;display:flex;align-items:center;gap:8px}.status-light{width:5px;height:5px;border-radius:50%;background:var(--accent)}.stage-action{position:absolute;left:30px;bottom:29px;max-width:235px}.stage-action>div>span{font-size:10px;color:#8aa0ae}.stage-action h2{font-size:25px;line-height:1.35;font-weight:400;letter-spacing:-.8px;margin:10px 0 20px}.stage-action .primary{background:var(--accent);color:#14272e;border-radius:100px;font-size:11px;gap:18px;padding:12px 18px;min-height:44px}
.section-label{margin:29px 0 17px}.section-label h2{font-size:15px;font-weight:500;letter-spacing:0}.section-label small{font-size:10px}.station-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:0;background:#181e23;border-radius:18px;padding:8px;gap:4px}.station-card{display:grid;grid-template-columns:20px minmax(0,1fr) 13px;align-items:start;gap:10px;min-height:102px;border:0;border-radius:12px;padding:16px 12px;background:none}.station-card:hover{background:#222e36}.station-card.available{background:#23333d}.station-index{font-size:10px;color:#829ba8;line-height:23px;font-variant-numeric:tabular-nums}.station-name strong{font-size:13px;font-weight:500;line-height:23px}.station-name>span{font-size:10px;margin-top:3px;color:#9aafb9;line-height:1.6}.station-name .station-status{font-size:9px;margin-top:8px;color:#839ba7}.station-card.available .station-name strong,.station-card.available .station-status,.station-card.available .station-index,.station-card.available .arrow{color:var(--accent)}.station-card .arrow{font-size:14px;color:#829ba8;line-height:23px}
.receiver{display:grid;grid-template-columns:1.4fr 1fr .9fr;gap:24px 40px;margin:44px 0 0;padding-top:26px;border-top:1px solid var(--line);align-items:start}.receiver-heading{grid-column:1/-1;display:flex;justify-content:flex-start;gap:12px;font-size:15px;font-weight:500;letter-spacing:0;margin:0}.receiver-heading>span{font-size:10px;border-radius:9px;background:#293740;padding:2px 6px;color:var(--muted)}.receiver-screen{padding:0;background:none;grid-column:1;grid-row:2/4}.receiver-status{font-size:10px;color:var(--accent)}.sender{gap:10px;margin:16px 0}.sender-avatar{width:34px;height:34px;border-radius:50%;background:#293b45;color:var(--accent);font-size:11px}.receiver h2{font-size:12px;font-weight:500;color:var(--ink);margin:0 0 3px}.sender-role{font-size:10px;color:var(--muted)}.message-subject{font-size:15px;line-height:1.7;letter-spacing:0;max-width:45ch;margin-bottom:18px}.message-button{background:none;border:1px solid #3b505d;border-radius:100px;color:var(--accent);font-size:11px;max-width:230px;padding:10px 16px}.message-button:hover{background:#253742}.history{padding:0}.history h3{font-size:11px;margin-bottom:9px}.history-item{font-size:11px;border-color:var(--line);padding:10px 0}.history-item small{font-size:9px}.nora-note{grid-column:3;grid-row:2;margin:0;padding:0;border:0}.nora-note .eyebrow{font-size:11px;color:var(--muted)}.nora-note p{font-size:11px;margin:15px 0;color:#a8bac4}.system-status{font-size:9px;color:var(--accent)}.nav-bottom{grid-column:2/4;margin:0;padding:0;display:flex;align-items:center;justify-content:space-between;gap:20px}.nav-bottom p{font-size:10px;max-width:43ch;margin:0}.text-button{font-size:10px}.footer{max-width:1344px;width:calc(100% - 96px);font-size:10px;border:0;color:#8498a4;padding:20px 0 30px}
.primary,.secondary{border-radius:100px;font-size:12px;min-height:44px}.primary{background:var(--accent);color:#14272e}.primary:hover{background:#c5f5f6}.secondary{background:#283740;color:var(--ink)}.secondary:hover{background:#354b57}.panel{border-radius:20px;background:#181e23;padding:30px;max-width:1000px}.panel h2{font-size:28px;font-weight:400;letter-spacing:-.8px}.panel .eyebrow{font-size:10px;color:var(--muted)}.panel p{font-size:14px}.briefing-number{font-size:35px;color:#5a7483;font-weight:400}.reference{background:#202b33;border-radius:12px;max-width:1000px}.reference summary{font-size:12px}.notice{background:#24323c;border-radius:12px;font-size:12px}.stepper{max-width:1000px;gap:8px}.stepper button{border-radius:12px;background:#1a242b;border:0;font-size:12px}.stepper button.active{background:#293c48;color:var(--accent)}.stepper small{font-size:10px;color:#96b4c3}.back-button,.page-meta{font-size:10px}input,select,textarea{background:#141c22;border:1px solid #465e6c;border-radius:10px;color:var(--ink)}input::placeholder,textarea::placeholder{color:#8ba3b0}.assignment blockquote{font-size:15px}.answer-feedback.correct{color:#a3e1d2}.answer-feedback.wrong{color:#ffb7a8}.chat-header b{font-size:19px;font-weight:500}.bubble{background:#293c48;border-radius:14px;font-size:13px}.bubble.you{background:#c1e9ed;color:#14272e}.badge{background:#293c48;color:var(--accent);border-radius:6px}.technique-tags span{border-radius:6px;background:#23323c}.code-display{font-size:64px;letter-spacing:10px;color:var(--accent)}.result-card blockquote{font-size:27px;font-weight:400;color:var(--accent)}dialog{border-radius:20px;background:#181e23;padding:34px}dialog h2{font-size:32px;font-weight:400}.video-placeholder{background:#253640;color:var(--ink);border-radius:12px}.placeholder-tag{color:var(--accent)}dialog::backdrop{background:#080d12c9}.compact-pager{background:#c1e9ed;color:#14272e;border-radius:100px;font-size:11px;box-shadow:0 4px 20px #0004}#toast{background:#c1e9ed;color:#14272e;border-radius:12px}.skip-link{background:var(--accent);color:#14272e}
@media(max-width:1150px){.topbar{padding:22px 30px;gap:24px}.workspace{padding:28px 30px 40px}.station-card{grid-template-columns:1fr 13px;gap:0;padding:13px 10px}.station-index{grid-column:1}.station-name{grid-column:1;grid-row:2}.station-card .arrow{grid-column:2;grid-row:1}.station-name strong{font-size:12px}.station-name>span{font-size:9px}.receiver{gap:24px}.footer{width:calc(100% - 60px);margin:0 30px}.map svg{left:0;width:100%}.stage-action{max-width:205px}.stage-action h2{font-size:23px}}
@media(max-width:950px){.workspace{max-width:100%;display:block}.receiver{grid-template-columns:1fr 1fr;gap:25px}.receiver-screen{grid-row:2/4}.history{grid-column:2;grid-row:2}.nora-note{grid-column:2;grid-row:3}.nav-bottom{grid-column:1/-1}.footer{padding-bottom:90px}.map{height:430px}.stage-action{max-width:180px;left:23px;bottom:24px}.stage-action h2{font-size:21px}.stage-action .primary{font-size:10px;padding:10px 13px;gap:9px}.stage-note{left:23px;font-size:10px}.station-grid{gap:3px;padding:6px}.station-card{padding:12px 9px}.station-name>span{overflow-wrap:anywhere}.compact-pager{left:auto;right:24px}.heading-row h1{font-size:43px}}
@media(max-width:620px){.topbar{padding:20px 20px 0;gap:19px 10px;min-height:0}.brand{font-size:14px}.brandmark{width:30px;height:32px}.brand small{font-size:9px}.team-button{font-size:10px;max-width:105px;padding:8px 12px}.navigation{justify-self:start;gap:3px;min-height:0;padding:4px}.nav-item{font-size:11px;padding:7px 16px;min-height:36px}.workspace{padding:29px 20px 35px}.heading-row{gap:10px;margin-bottom:24px;align-items:center}.heading-row h1,h1{font-size:34px;letter-spacing:-1.4px;margin-bottom:12px}.heading-row .intro-copy{font-size:12px;max-width:24ch}.progress-ring b{font-size:23px}.progress-ring small{font-size:8px;max-width:55px}.city-stage{border-radius:20px;display:flex;flex-direction:column}.map{height:340px;order:1}.map svg{left:0;width:100%;top:0;height:100%}.stage-note{position:relative;top:auto;left:auto;padding:20px 20px 0;font-size:9px;order:0}.stage-action{position:relative;bottom:auto;left:auto;max-width:none;order:2;padding:20px;background:#1b2933;display:flex;flex-direction:column;gap:16px}.stage-action h2{font-size:23px;margin:6px 0 0}.stage-action h2 br{display:none}.stage-action>div>span{font-size:10px}.stage-action .primary{align-self:flex-start;font-size:11px;padding:11px 17px;gap:18px}.map-point{min-width:44px;min-height:60px;padding:5px;gap:7px}.map-point .pin{width:32px;height:32px;font-size:10px}.map-label{font-size:9px}.map-disclaimer{font-size:8px;bottom:10px;right:15px}.section-label{display:flex;align-items:baseline;gap:8px;margin:25px 0 14px}.section-label h2{font-size:14px;margin:0}.section-label small{font-size:9px;text-align:right}.station-grid{display:block;border-radius:16px;padding:6px}.station-card{display:grid;grid-template-columns:28px minmax(0,1fr) 16px;align-items:center;gap:10px;padding:12px;min-height:80px}.station-index{grid-column:1;grid-row:1;font-size:11px}.station-name{grid-column:2;grid-row:1}.station-card .arrow{grid-column:3;grid-row:1}.station-name strong{font-size:13px}.station-name>span{font-size:11px;line-height:1.4}.station-name .station-status{font-size:9px;margin-top:5px}.receiver{display:block;margin-top:32px;padding-top:25px}.receiver-heading{font-size:14px;margin-bottom:24px}.receiver-screen{padding:0}.receiver h2{font-size:13px}.message-subject{font-size:15px}.sender-role{font-size:10px}.history{margin-top:29px;padding:0}.nora-note{margin-top:29px}.nav-bottom{display:block;margin-top:25px}.nav-bottom p{font-size:10px;margin-bottom:6px}.footer{width:calc(100% - 40px);margin:0 20px;font-size:9px}.compact-pager{left:20px;right:20px}.panel{padding:23px 18px;border-radius:16px}.panel h2{font-size:25px}.stepper{gap:5px}.stepper button{font-size:10px;padding:11px 7px}.result-card blockquote{font-size:24px}.report-row b{font-size:12px}.report-row>span{font-size:9px}dialog{padding:30px 22px}.page-meta{font-size:9px}.chat-tools{font-size:10px}}
@media(prefers-reduced-motion:no-preference){.map-point .pin{transition:background .2s,border-color .2s}.map-point:hover .pin{background:#426473}.map-point.main-point:hover .pin{background:#c5f5f6}}
@media print{body{background:white;color:#222}.panel,.reference,.notice{background:white;color:#222}.panel .eyebrow,.intro-copy{color:#444}.topbar,.receiver,.footer,.compact-pager{display:none!important}}

@media(max-width:620px){.map-point,.map-point:active:not(:disabled){transform:translate(-50%,-21px)}}
