.device-manager{margin-bottom:24px}.pairing-panel{margin:18px 0 26px;padding:24px;border:1px solid var(--cyan);background:rgba(75,219,228,.06);border-radius:8px}.pairing-panel[hidden]{display:none}.pairing-panel h3{margin-top:0}.pairing-form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.hint,.form-message{font-size:12px;color:var(--muted)}.form-message.success{color:var(--green)}.form-message.error{color:var(--red)}.device-grid,.admin-device-grid{display:grid;gap:16px}.device-card,.admin-device-card{border:1px solid var(--line);background:#061014;border-radius:8px;padding:22px}.device-card>header,.admin-device-card>header{display:flex;justify-content:space-between;align-items:start;gap:20px;border-bottom:1px solid var(--line);padding-bottom:18px}.device-card h3,.admin-device-card h2{margin:6px 0}.device-card code,.admin-device-card code{color:var(--muted)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px}.status-dot.on{background:var(--green);box-shadow:0 0 12px var(--green)}.status-dot.off{background:var(--red)}.device-meta{display:flex;gap:24px;justify-content:space-between;padding:14px 0;color:var(--muted);font-size:12px}.service-list,.service-admin-list{display:grid;gap:8px}.service-row,.service-admin-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:12px 14px;background:var(--surface);border:1px solid var(--line);border-radius:5px}.service-row small,.service-admin-row small{display:block;color:var(--muted);margin-top:4px}.service-state{text-align:right;display:grid;gap:5px}.service-state time{font:10px 'IBM Plex Mono';color:var(--muted)}.pill{display:inline-flex;width:max-content;padding:4px 8px;border-radius:999px;font:600 9px 'IBM Plex Mono'}.pill.ok{color:var(--green);background:rgba(82,224,139,.1)}.pill.expired{color:var(--red);background:rgba(255,113,131,.1)}.admin-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px}.admin-shortcuts a{text-decoration:none}.admin-shortcuts a:hover{border-color:var(--cyan)}.admin-shortcuts h2{margin:8px 0}.admin-shortcuts b{font:600 10px 'IBM Plex Mono';color:var(--cyan)}.device-admin-toolbar{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:end;margin-bottom:20px}.service-admin-row{grid-template-columns:minmax(0,1fr) 100px auto auto auto}.add-service{display:grid;grid-template-columns:1fr 100px auto;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.doc-nav{position:sticky;top:76px;z-index:6;display:flex;gap:6px;overflow:auto;background:#071014ed;border:1px solid var(--line);padding:10px;border-radius:8px;margin-bottom:30px;backdrop-filter:blur(12px)}.doc-nav a{flex:0 0 auto;text-decoration:none;font:600 9px 'IBM Plex Mono';padding:9px 11px;color:var(--muted)}.doc-nav a:hover{color:var(--cyan)}.doc-section{padding:58px 0;border-top:1px solid var(--line);scroll-margin-top:145px}.bom-table,.io-table{display:grid;border:1px solid var(--line);border-radius:8px;overflow:hidden}.bom-table>div{display:grid;grid-template-columns:1fr 2fr 90px 1fr;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line);align-items:center}.bom-head{background:var(--surface2);font:600 10px 'IBM Plex Mono';color:var(--cyan)}.bom-table span,.bom-table a{font-size:12px;color:var(--muted)}.notice{margin-top:18px;padding:18px;border:1px solid var(--cyan);background:rgba(75,219,228,.07);border-radius:7px;color:#c7dadd;line-height:1.6}.notice.warning{border-color:#c89a3e;background:rgba(200,154,62,.08)}.architecture-diagram{display:grid;gap:20px;padding:32px;border:1px solid var(--line);background:#061014;border-radius:9px}.arch-node.main{margin:auto;text-align:center;border:1px solid var(--cyan);padding:22px 70px}.arch-node span,.arch-devices span{display:block;color:var(--muted);font-size:11px;margin-top:5px}.arch-bus{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto;align-items:center;gap:8px;color:var(--cyan);font:600 9px 'IBM Plex Mono'}.arch-bus i{height:1px;background:var(--line)}.arch-devices,.design-grid,.method-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.arch-devices>div{padding:16px;text-align:center;border:1px solid var(--line);background:var(--surface)}.design-grid{grid-template-columns:repeat(3,1fr);margin-top:16px}.wiring-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wiring-svg{display:grid;grid-template-columns:1fr 60px 1fr;align-items:center;border:1px solid var(--line);background:#061014;padding:22px;border-radius:8px}.board-block,.peripheral-blocks{display:grid;gap:8px}.board-block{padding:20px;border:1px solid var(--cyan)}.board-block span{font:10px 'IBM Plex Mono';color:var(--muted)}.wire-lines{display:grid;gap:28px}.wire-lines i{height:1px;background:var(--cyan)}.peripheral-blocks div{padding:12px;border:1px solid var(--line)}.peripheral-blocks small{display:block;color:var(--muted);margin-top:4px}.io-table>div{display:grid;grid-template-columns:1fr .7fr 1.5fr 1fr;gap:10px;padding:12px;border-bottom:1px solid var(--line);font-size:11px}.io-table>div:first-child{background:var(--surface2);color:var(--cyan)}.io-table strong{color:#e0b956}.method-grid{grid-template-columns:1fr 1fr}.method-grid ol{color:var(--muted);line-height:1.8}.checklist{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.checklist label{display:flex;gap:8px;align-items:center;padding:12px;background:var(--surface);border:1px solid var(--line);font-size:12px}.checklist input{width:auto}.service-health{padding:12px;color:var(--muted)}.service-health.online{color:var(--green)}
.game-page{--project-accent:#f2a24b}.game-hero{position:relative;min-height:680px;display:flex;align-items:center;overflow:hidden;border-radius:14px}.game-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.game-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,9,15,.97) 0%,rgba(3,9,15,.75) 38%,rgba(3,9,15,.08) 72%)}.game-hero-copy{position:relative;z-index:1;width:min(650px,55%);padding:clamp(28px,5vw,74px)}.game-hero h1{font-size:clamp(58px,7vw,112px);line-height:.9;letter-spacing:-.06em;margin:20px 0}.game-hero p{font-size:clamp(17px,1.4vw,22px);line-height:1.7;color:#c3d2d7}.game-page .eyebrow{color:#f2a24b}.game-page .button.primary{background:#f2a24b;border-color:#f2a24b}.game-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:16px 0 70px;border:1px solid var(--line)}.game-stats div{padding:22px;border-right:1px solid var(--line)}.game-stats b{display:block;font:600 22px 'IBM Plex Mono';color:#f2a24b}.game-stats span{font-size:12px;color:var(--muted)}.learning-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line)}.learning-timeline article{padding:26px;border-right:1px solid var(--line);background:linear-gradient(180deg,var(--surface),#061014)}.learning-timeline span{font:600 9px 'IBM Plex Mono';color:#f2a24b}.learning-timeline h3{font-size:22px}.learning-timeline p,.learning-timeline li{color:var(--muted);font-size:12px;line-height:1.65}.game-guide{display:grid;grid-template-columns:1.4fr .6fr;gap:18px;padding:58px 0;border-top:1px solid var(--line)}.game-guide>div{padding:30px}.game-guide h2{font-size:clamp(32px,4vw,58px)}.game-guide ol{line-height:1.8;color:var(--muted)}.game-guide blockquote{margin:20px 0 0;border-left:2px solid #f2a24b;padding:12px 18px;color:#d9e3e5}.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.audience-grid article{padding:24px;border:1px solid var(--line);background:var(--surface)}.audience-grid p{color:var(--muted);line-height:1.6}.game-cta{text-align:center;padding:100px 20px;border-top:1px solid var(--line);background:radial-gradient(circle at 50% 100%,rgba(242,162,75,.15),transparent 60%)}.game-cta h2{font-size:clamp(38px,5vw,78px);letter-spacing:-.04em}.game-cta p{color:var(--muted);font-size:18px}
@media(max-width:900px){.pairing-form,.device-admin-toolbar{grid-template-columns:1fr}.admin-shortcuts,.wiring-layout,.game-guide{grid-template-columns:1fr}.service-admin-row{grid-template-columns:1fr 100px 1fr}.service-admin-row .danger{grid-column:auto}.arch-devices,.learning-timeline,.game-stats,.audience-grid{grid-template-columns:1fr 1fr}.checklist{grid-template-columns:1fr 1fr}.game-hero-copy{width:75%}.bom-table>div{grid-template-columns:1fr 2fr}.bom-head b:nth-child(n+3){display:none}}
@media(max-width:560px){.device-card>header,.admin-device-card>header,.device-meta{flex-direction:column}.service-row,.service-admin-row,.add-service{grid-template-columns:1fr}.service-state{text-align:left}.arch-devices,.design-grid,.method-grid,.learning-timeline,.game-stats,.audience-grid,.checklist{grid-template-columns:1fr}.arch-bus{display:none}.game-hero{min-height:650px;align-items:end}.game-hero-copy{width:100%;padding:24px}.game-hero:after{background:linear-gradient(0deg,rgba(3,9,15,.98),rgba(3,9,15,.2))}.bom-table>div,.io-table>div{grid-template-columns:1fr}.bom-head{display:none}.wiring-svg{grid-template-columns:1fr;gap:12px}.wire-lines{display:none}}
.activation-grid{align-items:start}.activation-card,.donate{min-height:100%}.price-banner{display:flex;align-items:baseline;gap:10px;padding:18px;margin:18px 0;background:linear-gradient(135deg,rgba(75,219,228,.13),rgba(82,224,139,.08));border:1px solid var(--cyan);border-radius:8px}.price-banner strong{font-size:32px;color:var(--cyan)}.price-banner span{color:var(--muted)}.activation-form{display:grid;gap:14px}.activation-form label,.installer-copy label{display:grid;gap:7px;font-weight:700}.activation-form select,.activation-form input,.installer-copy select{width:100%;padding:12px;background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:5px}.payment-summary{display:grid;gap:4px;padding:14px;border-left:3px solid var(--green);background:rgba(82,224,139,.06)}.payment-summary b{font-size:22px;color:var(--green)}.payment-summary small,.installer-action small{color:var(--muted)}.firmware-installer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center}.installer-copy select{margin-top:4px}.port-state{margin-top:12px;color:var(--muted);font:500 12px 'IBM Plex Mono'}.installer-action{display:grid;gap:10px;text-align:center;min-width:260px}.got-hero{min-height:680px;background-size:cover;background-position:center;border-radius:14px;display:flex;align-items:center}.got-copy{width:min(660px,58%);padding:clamp(28px,5vw,74px)}.got-copy h1{font-size:clamp(58px,7vw,110px);line-height:.9;letter-spacing:-.06em;margin:20px 0}.got-copy p{font-size:clamp(16px,1.4vw,21px);line-height:1.7;color:#d5e2e5}.age-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.age-strip>*{padding:8px 11px;border:1px solid rgba(255,255,255,.18);background:rgba(4,15,25,.55);border-radius:999px;font-size:12px}.got-intro{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:70px 0}.got-intro h2{font-size:clamp(34px,4vw,58px)}.got-intro p{color:var(--muted);font-size:17px;line-height:1.8}.learning-roadmap{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.learning-roadmap article{padding:24px;border:1px solid var(--line);background:var(--surface)}.learning-roadmap article>b{display:block;color:#f2a24b;font:700 26px 'IBM Plex Mono'}.learning-roadmap article>span{font:600 10px 'IBM Plex Mono';color:var(--muted)}.learning-roadmap article p,.benefit-grid p{color:var(--muted);line-height:1.65}.kids-roadmap article:nth-child(1){border-color:#ffb44b}.kids-roadmap article:nth-child(2){border-color:#52e08b}.kids-roadmap article:nth-child(3){border-color:#4bdbe4}.kids-roadmap article:nth-child(4){border-color:#b38cff}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.family-section li{margin-bottom:10px}.got-cta{text-align:center;padding:90px 20px;border-top:1px solid var(--line);background:radial-gradient(circle at 50% 100%,rgba(242,162,75,.15),transparent 60%)}.got-cta h2{font-size:clamp(34px,5vw,70px)}@media(max-width:800px){.firmware-installer,.benefit-grid,.got-intro,.learning-roadmap{grid-template-columns:1fr}.installer-action{min-width:0}.got-hero{min-height:720px;background-position:64% center;align-items:end}.got-copy{width:100%;padding-top:250px}.age-strip{font-size:11px}}
