/* Techtank 2025: source palette, local typography, restrained screen components. */
@font-face{font-family:'Open Sans';src:url('assets/fonts/OpenSans-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Open Sans';src:url('assets/fonts/OpenSans-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'Open Sans Condensed';src:url('assets/fonts/OpenSansCondensed-Light.ttf') format('truetype');font-weight:300;font-display:swap}
@font-face{font-family:'Open Sans Condensed';src:url('assets/fonts/OpenSansCondensed-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{color-scheme:light;--tt-dark-blue:#054169;--tt-light-blue:#4698CA;--tt-yellow:#FAD773;--tt-light-blue-100:#D9EAF4;--tt-light-blue-50:#EFF6FB;--tt-grey-300:#C9D3DB;--bg:#fff;--panel:#fff;--panel2:#EFF6FB;--line:#C9D3DB;--text:#22303B;--muted:#46545F;--accent:#054169;--ink:#054169;--cyan:#4698CA;--radius:8px;--font-display:'Open Sans Condensed','Arial Narrow','Open Sans',Arial,sans-serif;--font-body:'Open Sans',Arial,sans-serif;font-family:var(--font-body)}
body{background:#fff;font-family:var(--font-body)}h1,h2,h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;letter-spacing:.01em;color:var(--tt-dark-blue);line-height:1.12}h1{font-size:4rem}h2{font-size:2rem}h3{font-size:1.5rem}.topbar{max-width:none;height:114px;padding:0 max(5%,calc((100% - 1296px)/2));background:white;border-bottom:1px solid var(--line)}.brand{gap:28px;color:var(--tt-dark-blue);letter-spacing:.06em}.brand img{width:225px;height:auto;display:block}.game-title{border-left:1px solid var(--line);padding-left:28px;font-family:var(--font-display);font-size:1.15rem;line-height:1.15;text-transform:uppercase;letter-spacing:.04em}.top-actions{gap:20px}.private-label{display:flex;gap:9px;align-items:center}.icon{width:20px;height:20px;display:inline-block;flex-shrink:0;vertical-align:middle;stroke:currentColor;fill:none}.private-label .icon{width:17px;height:17px}.icon-button{display:inline-flex;align-items:center;justify-content:center;border-color:var(--line);color:var(--tt-dark-blue);width:40px;height:40px;border-radius:50%}.icon-button:hover{background:var(--tt-light-blue-50)}main{padding-top:32px}.intro-grid{padding:40px 44px;gap:32px;grid-template-columns:1.1fr 1fr;background:linear-gradient(125deg,#0B5385 0%,#054169 55%,#032B46 100%);border-radius:8px;margin-bottom:24px}.intro-copy h1{font-size:clamp(3.2rem,4.8vw,4.65rem);line-height:1.04;color:white;letter-spacing:.005em}.intro-copy h1 span{color:var(--tt-light-blue)}.intro-copy>p{color:#D9EAF4;font-size:1rem;max-width:445px;margin-top:22px}.eyebrow{font-family:var(--font-body);font-size:.75rem;letter-spacing:.12em;color:var(--tt-dark-blue);font-weight:700}.intro-copy .eyebrow{color:#D9EAF4}.intro-stats{gap:22px;margin:24px 0}.intro-stats b{color:white;font-size:1rem}.intro-stats span{color:#D9EAF4;font-size:.8rem}.intro-copy .microcopy{color:#D9EAF4;font-size:.8rem!important}.intro-copy .text-button{color:white}.intro-grid .radar-panel{border:0;border-radius:0;background:none;min-height:0}.panel-heading{position:static;text-align:center;letter-spacing:.12em;color:#D9EAF4;font-size:.75rem;margin:0 0 4px}.radar-panel .radar{max-width:440px}.radar-caption{font-size:.8rem;color:#D9EAF4;position:static;margin:0;padding:0}.radar text{fill:var(--muted);font-family:var(--font-body)}.radar .axis-label{fill:var(--tt-dark-blue);font-size:14px}.radar .score-label{fill:var(--tt-dark-blue);font-size:14px;font-weight:700}.radar-grid{stroke:#C9D3DB}.radar-data{stroke:var(--tt-light-blue);fill:var(--tt-light-blue);fill-opacity:.2}.radar-dot{fill:var(--tt-dark-blue)}.radar-panel .radar text,.radar-panel .radar .axis-label,.radar-panel .radar .score-label{fill:#fff}.radar-panel .radar-grid{stroke:#4698CA;stroke-opacity:.6}.radar-panel .radar-dot{fill:white}.radar-panel .radar-data{stroke:white;fill:#4698CA}.radar-panel .radar text[style]{fill:white!important}.button{font-family:var(--font-body);font-weight:700;text-transform:uppercase;letter-spacing:.055em;font-size:.85rem;border-radius:4px;background:var(--tt-yellow);color:var(--tt-dark-blue);padding:14px 22px}.button:hover:not(:disabled){background:#F6CC52;filter:none;transform:none}.button.secondary{background:var(--tt-dark-blue);border:1px solid var(--tt-dark-blue);color:white}.button.secondary:hover:not(:disabled){background:#0B5385}.button.ghost{background:transparent;color:var(--tt-dark-blue);border:1px solid var(--tt-dark-blue)}.button.ghost:hover:not(:disabled){background:var(--tt-light-blue-50)}.text-button{color:var(--tt-dark-blue)}.expedition-bar{background:var(--tt-light-blue-50);border:0;border-radius:8px;padding:19px 24px;margin-bottom:32px}.xp{display:inline-flex;align-items:center;gap:10px;color:var(--tt-dark-blue)}.mini-progress{background:#D9EAF4;height:4px}.mini-progress span{background:var(--tt-light-blue)}.section-heading h2{font-size:1.8rem}.section-heading p{color:var(--muted)}.mission-grid{gap:20px}.mission-card{border-radius:8px;border:1px solid #C9D3DB;background:white;box-shadow:0 2px 10px #0541690d;min-height:214px;padding:24px;transition:border-color .12s,box-shadow .12s}.mission-card:hover{transform:none;border-color:var(--tt-light-blue);box-shadow:0 6px 24px #05416916}.mission-card.active{border-color:var(--tt-dark-blue);border-top:4px solid var(--tt-dark-blue);padding-top:21px}.sector-icon{background:var(--tt-dark-blue);border-radius:50%;width:42px;height:42px;color:white}.sector-icon .icon{width:23px;height:23px;stroke-width:1.7}.sector-number{font-size:.75rem;color:var(--tt-dark-blue);display:flex;gap:8px;align-items:center}.sector-number .icon{width:16px}.mission-card h3{font-size:1.55rem}.mission-card p{font-size:.875rem;color:var(--muted)}.card-top{margin-bottom:20px}.card-arrow{color:var(--tt-dark-blue)}.card-bottom{font-size:.8rem}.workspace{grid-template-columns:235px minmax(0,1fr);gap:42px}.side-nav{background:var(--tt-light-blue-50);padding:24px;border-radius:8px}.side-nav h2{font-size:1.5rem}.nav-sector{border-radius:4px;font-size:.875rem;padding:12px 8px;color:var(--tt-dark-blue)}.nav-sector.current{background:#D9EAF4;border-color:transparent}.nav-sector .icon{width:18px;height:18px;color:var(--tt-dark-blue)}.privacy-note{color:var(--muted)}.back-link{color:var(--tt-dark-blue);display:inline-flex;align-items:center;gap:6px;font-size:.875rem}.question-title{font-family:var(--font-display);font-size:2.5rem;line-height:1.17;letter-spacing:0;text-transform:none;color:var(--tt-dark-blue)}.question-hint{font-size:1rem}.question-topline .eyebrow{font-size:.75rem}.answer-option{padding:17px 20px;background:white;border:1px solid #C9D3DB;border-radius:4px}.answer-option:has(input:checked){background:#EFF6FB;border-color:var(--tt-dark-blue)}.answer-option input:checked+span{color:var(--tt-dark-blue)}.answer-option>span{font-size:1rem}.answer-option input{accent-color:var(--tt-dark-blue)}.matrix{border-radius:4px}.matrix-row{background:white;padding:17px 20px}.matrix-row select{background:white;color:var(--tt-dark-blue);border-color:#7C8B96;border-radius:4px;padding:11px 30px 11px 12px}.validation{color:#054169;font-weight:700}.complete-card{border-radius:8px;border:1px solid #C9D3DB;background:#EFF6FB;max-width:760px}.complete-card h1{font-size:3.5rem}.complete-icon{background:var(--tt-dark-blue);width:88px;height:88px;margin:0 auto 24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:white}.complete-icon .icon{width:42px;height:42px;stroke-width:1.5}.badge{border-color:var(--tt-dark-blue);background:white;color:var(--tt-dark-blue);font-weight:700}.badge .icon{width:16px}.mission-unlocked{animation:unlock .2s ease-out}@keyframes unlock{from{opacity:.45}to{opacity:1}}.complete-card .xp{justify-content:center}.report-header h1{font-size:3rem}.report-header{align-items:flex-end}.report-card{border-radius:8px;padding:28px;border:1px solid #C9D3DB;box-shadow:0 2px 10px #0541690d}.report-card h2{font-size:1.8rem}.score-display{font-family:var(--font-display);color:var(--tt-dark-blue);font-size:5.5rem;letter-spacing:0}.report-card .eyebrow{color:var(--tt-dark-blue)}.score-bar-title b{color:var(--tt-dark-blue)}.insight{border-radius:8px;background:white;border:1px solid #C9D3DB}.insight .insight-score{color:var(--tt-dark-blue);font-weight:700}.insight h3{font-size:1.65rem}.insight .next-step{color:var(--tt-dark-blue)}.roadmap-item{border-radius:0 0 8px 8px;border-top-color:var(--tt-light-blue);background:#EFF6FB}.roadmap-item small{color:var(--tt-dark-blue);font-weight:700}.roadmap-item h3{font-size:1.6rem}.report-note{border-radius:4px;background:#EFF6FB}.demo-banner{background:#EFF6FB;color:var(--tt-dark-blue);border-color:#4698CA;border-radius:4px}.contact-panel{border:0;border-radius:8px;background:var(--tt-dark-blue);padding:36px;gap:40px}.contact-panel h2{color:white;font-size:2.2rem}.contact-panel .eyebrow{color:#D9EAF4}.contact-panel p{color:#D9EAF4}.contact-identity strong{color:white}.contact-details a{color:white}.contact-action .button{color:var(--tt-dark-blue)}dialog{border:1px solid #C9D3DB;background:white;border-radius:8px;padding:36px;box-shadow:0 6px 24px #0541692e}dialog::backdrop{background:#032B46bb;backdrop-filter:none}dialog h2{font-size:2.2rem}dialog h3{font-size:1.5rem}.toast{background:var(--tt-dark-blue);color:white;border-radius:4px}.save-choice{font-size:.875rem}.save-choice input{accent-color:var(--tt-dark-blue)}footer{font-size:.8rem}.skip-link{background:var(--tt-yellow);color:var(--tt-dark-blue)}
@media(max-width:1100px){.intro-grid{padding:32px;gap:20px}.intro-copy h1{font-size:3.6rem}.intro-stats{gap:17px}.intro-grid .action-row{align-items:flex-start;gap:14px;flex-direction:column}.workspace{grid-template-columns:205px minmax(0,1fr);gap:28px}.side-nav{padding:20px}.brand{gap:20px}.game-title{padding-left:20px}}
@media(max-width:760px){.topbar{height:98px;padding:0 6%}.brand img{width:170px;height:auto}.game-title{display:none}.private-label{display:none}main{padding:24px 6% 40px}.intro-grid{grid-template-columns:1fr;padding:28px 24px;gap:32px}.intro-copy h1{font-size:3.5rem}.intro-grid .action-row{gap:16px}.intro-copy .eyebrow{font-size:.65rem;letter-spacing:.09em}.intro-stats{gap:16px;justify-content:space-between}.intro-stats b{font-size:.875rem}.intro-stats span{font-size:.7rem}.intro-copy>p{font-size:1rem}.radar-panel .radar{padding-top:0}.radar .axis-label,.radar .score-label{font-size:24px}.radar text:not(.axis-label):not(.score-label){font-size:16px!important}.radar-caption{font-size:.75rem}.panel-heading{font-size:.7rem}.expedition-bar{gap:12px;padding:16px}.section-heading h2{font-size:1.55rem}.mission-card{min-height:190px;padding:22px}.mission-card.active{padding-top:19px}.mission-card h3{font-size:1.5rem}.workspace{grid-template-columns:1fr;gap:16px}.side-nav{padding:0;background:none}.side-nav .back-link{margin:0}.question-title{font-size:2rem}.question-topline .eyebrow{font-size:.65rem}.question-hint{font-size:.925rem}.answer-option{padding:15px}.answer-option>span{font-size:.95rem}.matrix-row{padding:16px}.question-actions .button{font-size:.7rem;padding:12px 14px;letter-spacing:.04em}.question-actions .button .icon{width:16px;height:16px}.complete-card h1{font-size:2.7rem}.report-header h1{font-size:2.5rem}.report-card h2{font-size:1.6rem}.report-card{padding:23px}.report-header .action-row{gap:10px}.contact-panel{padding:26px;grid-template-columns:1fr;gap:20px}.contact-panel h2{font-size:1.9rem}.contact-panel .button{font-size:.75rem}.brand .icon{width:20px}.report-section h2{font-size:1.9rem}.insight h3{font-size:1.55rem}}
@media print{.topbar{display:none}.intro-grid,.contact-panel{background:white;color:#054169}.contact-panel p,.contact-panel h2,.contact-panel a,.contact-identity strong{color:#054169}.score-display,.insight-score,.score-bar-title b,.roadmap-item small{color:#054169!important}.radar-data{fill:#4698CA;stroke:#054169}.radar-dot{fill:#054169}.radar .axis-label,.radar .score-label{fill:#054169}.report-card,.insight,.roadmap-item{box-shadow:none}.radar .axis-label,.radar .score-label{font-size:14px}.contact-panel{border:1px solid #C9D3DB}}

/* Blue project links remain readable on the dark contact panel. */
.contact-panel .project-link{color:#054169;background:#EFF6FB;border-radius:3px;padding:1px 4px;text-decoration:underline;text-underline-offset:3px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.contact-panel .project-link:hover{background:white;color:#0B5385}

.brand-logo{display:block}.brand .game-title{text-decoration:none}.funding-logos{grid-column:1 / -1;background:#fff;border-radius:4px;padding:16px;display:flex;justify-content:center}.funding-logos img{display:block;width:100%;max-width:440px;height:auto}@media(max-width:760px){.funding-logos{padding:4px}}@media print{.funding-logos{margin-top:20px;padding:0}.funding-logos img{max-width:330px}}

/* Keep the complete funding artwork readable beside the host's identity. */
.topbar{display:grid;grid-template-columns:minmax(0,1fr) 360px auto;gap:24px;height:auto;min-height:114px;padding-top:12px;padding-bottom:12px}
.header-funding{width:360px;max-width:100%;background:#fff;justify-self:center}
.header-funding img{display:block;width:100%;height:auto}
.footer-identity span{display:block}.footer-funding{margin-top:4px;color:var(--tt-dark-blue)}
.intro-copy .funding-statement{font-size:.875rem;color:#D9EAF4}
.funding-statement a{color:var(--tt-dark-blue);background:var(--tt-light-blue-50);border-radius:3px;padding:1px 4px;text-decoration:underline;text-underline-offset:3px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
dialog a{color:var(--tt-dark-blue)}
.report-header{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.report-downloads .action-row{margin-top:0}.report-downloads .export-help{max-width:900px;font-size:.875rem;margin-top:12px}
@media(max-width:1200px){.topbar{grid-template-columns:minmax(0,1fr) auto;gap:4px 20px}.header-funding{grid-column:1 / -1;grid-row:2;width:min(100%,360px)}.top-actions{grid-column:2;grid-row:1}}
@media(max-width:760px){.topbar{padding-top:20px;padding-bottom:8px}.report-downloads .button{width:100%}}
@media print{.topbar,.report-downloads{display:none}}
