/* © 2026 Ori Roniger. Hollowport: original artwork, writing and code. All rights reserved. https://hollowport.mystery.co.il/ */
/* A readable game console: one trace instrument, one map, one current encounter. */
.live-network[class],.live-network[class]:not(:has(>.network-danger)){grid-template-rows:60px 96px minmax(0,1fr)}
.live-network .cyber-heading{padding:8px 16px;gap:14px}
.live-network .cyber-heading .eyebrow{font:16px/1.1 var(--pixel);letter-spacing:1px;color:#a9c6c4}
.live-network .cyber-heading h2{font:30px/1.05 var(--pixel);margin:4px 0 0}
.live-network .cyber-heading>button{font:20px/1 var(--pixel);min-height:38px;padding:8px 12px}
.live-network .signal-console{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;padding:8px 16px;box-sizing:border-box;height:100%;border:0;background:#0b1925}
.live-network .trace-summary{display:flex;align-items:center;gap:24px}
.live-network .trace-summary>strong{font:30px/1 var(--pixel);white-space:nowrap;color:#d9e9d0;margin:0}
.live-network .trace-summary>p{font:19px/1.1 var(--pixel);color:#c6d4cc;margin:0}
.live-network .trace-segments{display:flex;gap:4px;height:12px}
.live-network .trace-segments>span{display:block;flex:1;border:1px solid #48616a;background:#152936}
.live-network .trace-segments>span.filled{background:#a9c4ad;border-color:#b9d7b8}
.live-network .trace-high .trace-segments>span.filled{background:#dcac73}
.live-network .trace-event{font:17px/1 var(--pixel);color:#9bbdb8;letter-spacing:0;display:block}
.trace-accessible{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
.live-cartography{grid-template-rows:36px minmax(0,1fr) auto 92px}
.live-network .live-panel-label{font:18px/1.1 var(--pixel);letter-spacing:.4px;min-height:36px;padding:8px 12px}
.live-network .live-panel-label>button{font:18px/1 var(--pixel)}
.live-network .network-world-label{font:15px/1 var(--pixel);letter-spacing:.6px;top:10px;left:12px;background:#0e2029;padding:4px 6px;color:#a9c6c3}
.live-network .network-map-caption{font:14px/1 var(--pixel);letter-spacing:0;bottom:8px;left:12px;right:auto;max-width:calc(100% - 24px);padding:4px 6px;background:#0e2029;color:#aec5bf}
.live-network .network-map-caption:empty{display:none}
.live-network .illustrated-network .net-node{width:106px;min-height:38px;gap:0}
.live-network .illustrated-network .net-node-label{font:20px/1.05 var(--pixel);white-space:normal;padding:6px 7px;width:100%;box-sizing:border-box;border-width:2px;background:#152b35;color:#d4dfd0}
.live-network .illustrated-network .net-node-label small{font:14px/1.05 var(--pixel);margin-top:4px;display:block;letter-spacing:0}
.live-network .net-node:disabled{opacity:1}
.live-network .net-node.progress-blocked .net-node-label{border:2px dashed #6a7e8a;color:#aab8bd;background:#13242e}
.live-network .net-node.progress-complete .net-node-label{border-color:#6f9786;color:#a9c3b5;background:#172c30}
.live-network .net-node.progress-unsolved .net-node-label{border-color:#c6aa78;color:#e0cda8}
.live-network .net-node.here .net-node-label{outline:2px solid #dce6cf;outline-offset:3px;background:#24424a;color:#e8ecd6}
.live-network .net-node.reachable:hover .net-node-label{background:#304d53;border-color:#dce6cf}
.live-network .route-list{padding:8px 12px;gap:7px}
.live-network .route-list>span{font:16px/1 var(--pixel);letter-spacing:0;color:#b1c7bf}
.live-network .route-list>button{font:18px/1.15 var(--pixel);min-height:36px;padding:7px 10px}
.live-network .route-list>button span{font:16px/1.1 var(--pixel);white-space:normal}
.deck-defence{display:flex;gap:12px;align-items:center;justify-content:space-between;border-top:2px solid #4b6873;background:#142a36;padding:10px 12px;min-height:0;box-sizing:border-box}
.watchdog-report{min-width:0;flex:1}
.watchdog-report strong{font:20px/1 var(--pixel);color:#d5cfab}
.watchdog-report p{font:18px/1.15 var(--pixel);color:#c4d1ca;margin:5px 0 0}
.watchdog-report.watchdog-urgent p{color:#f0b796}
.deck-defence .ghost-control{font:18px/1.05 var(--pixel);max-width:130px;min-height:38px;padding:7px 10px;flex-shrink:0}
.live-network .node-detail{grid-template-rows:36px auto minmax(0,1fr)}
.live-network .node-heading{padding:12px 16px}
.live-network .node-heading .eyebrow{font:16px/1.1 var(--pixel);letter-spacing:.5px;color:#b5c9bd}
.live-network .node-heading h3{font:32px/1.05 var(--pixel);margin:8px 0}
.live-network .node-description{font:21px/1.2 var(--pixel);color:#cbd6cf;display:block;margin:0}
.live-network .node-tools>button,.live-network .book-page .node-tools>button{font:21px/1.15 var(--pixel);min-height:44px;padding:10px 12px}
.live-network .node-tools>button span,.live-network .book-page .node-tools>button span{font:18px/1.15 var(--pixel);margin-top:5px;color:#b8c9c3}
.live-network .node-auth>label,.live-network .node-auth>small,.live-network .node-intel>span,.live-network .heartbeat>span{font:17px/1.2 var(--pixel);letter-spacing:0;color:#b9cfbf}
.live-network .node-auth>small{display:block;margin-top:8px}
.live-network .node-auth input,.live-network .book-page .node-auth input{font:22px var(--pixel)}
.live-network .ice-contact{min-height:0;padding:12px;border:1px solid #6f8790;margin:12px 0;align-items:flex-start;gap:12px}
.live-network .ice-contact svg{width:56px;height:45px;flex-basis:56px}
.live-network .ice-contact h3{font:24px/1.05 var(--pixel);margin:5px 0}
.live-network .ice-contact p{display:block;font:20px/1.2 var(--pixel);margin:0}
.live-network .ice-state{font:17px/1 var(--pixel);letter-spacing:0}
.live-network .book-nav span{font:17px/1 var(--pixel)}
.live-network .book-nav button{font:18px/1 var(--pixel);padding:6px 10px}
.watchdog-estimate,.live-network .book-page .node-tools>button .watchdog-estimate{display:block;font:18px/1.15 var(--pixel);color:#e2c78e;margin:6px 0 0}
.watchdog-shop,.watchdog-hardware{padding:15px;border:1px solid #78928c;background:#18313b;margin:12px 0}
.watchdog-shop h3,.watchdog-hardware h3{font:29px/1.1 var(--pixel);margin:7px 0}
.watchdog-shop h4{font:23px/1.1 var(--pixel);margin:12px 0 5px}
.watchdog-shop p,.watchdog-hardware p{font:21px/1.2 var(--pixel);margin:8px 0}
.watchdog-shop .eyebrow{font:17px/1.1 var(--pixel);letter-spacing:0}
.watchdog-shop button{font:22px/1.1 var(--pixel);padding:10px 12px}
.watchdog-warning{background:#142a36;color:#dce6d5;border:2px solid #d3b47f;padding:20px;width:min(570px,calc(100vw - 28px));box-sizing:border-box;max-height:calc(100dvh - 24px)}
.watchdog-warning .eyebrow{font:18px var(--pixel);color:#e0c38b;letter-spacing:0}
.watchdog-warning h2{font:30px/1.05 var(--pixel);margin:12px 0}
.watchdog-warning p{font:22px/1.2 var(--pixel)}
.watchdog-warning>div:last-child{display:flex;flex-wrap:wrap;gap:8px}
.watchdog-warning button{font:20px/1.1 var(--pixel);padding:10px;flex:1}
@media(max-width:1100px){.live-network .illustrated-network .net-node{width:94px}.live-network .illustrated-network .net-node-label{font-size:18px}.live-network .illustrated-network .net-node-label small{font-size:13px}}
@media(max-width:900px){
 .live-network[class],.live-network[class]:not(:has(>.network-danger)){grid-template-rows:62px 94px minmax(0,1fr)}
 .live-cartography{height:100%;grid-template-rows:36px minmax(0,1fr) 88px}
 .live-cartography>.route-list{display:none}
 .live-network .cyber-heading h2{font-size:25px}
 .live-network .cyber-heading .eyebrow{font-size:15px}
 .live-network .trace-summary>strong{font-size:28px}
 .live-network .trace-summary>p{font-size:18px}
 .live-network .trace-event{font-size:16px}
 .live-network .node-detail{grid-template-rows:36px auto minmax(0,1fr)}
 .live-network .node-description{font-size:20px}
 .live-network .illustrated-network .net-node{width:82px}
 .live-network .illustrated-network .net-node-label{font-size:18px;padding:5px}
 .live-network .illustrated-network .net-node-label small{font-size:12px}
 .live-network .network-world-label,.live-network .network-map-caption{font-size:13px}
}
@media(max-width:420px){
 .live-network[class],.live-network[class]:not(:has(>.network-danger)){grid-template-rows:68px 100px minmax(0,1fr)}
 .live-network .cyber-heading{padding:7px 10px;gap:8px}
 .live-network .cyber-heading h2{font-size:22px}
 .live-network .cyber-heading>button{font-size:17px;padding:8px}
 .live-network .signal-console{padding:7px 10px;gap:4px}
 .live-network .trace-summary{gap:12px;align-items:flex-start}
 .live-network .trace-summary>strong{font-size:26px}
 .live-network .trace-summary>p{font-size:16px;line-height:1.05}
 .live-network .trace-event{font-size:15px}
 .live-network .trace-segments{gap:2px;height:10px}
 .live-cartography{grid-template-rows:36px minmax(0,1fr) 82px}
 .deck-defence{padding:8px;gap:7px}.deck-defence .ghost-control{max-width:90px;font-size:16px;padding:6px}
 .watchdog-report strong{font-size:18px}.watchdog-report p{font-size:16px}
 .live-network .illustrated-network .net-node{width:58px;min-height:32px}
 .live-network .illustrated-network .net-node-label{font-size:15px;padding:4px 2px}
 .live-network .illustrated-network .net-node-label small{display:none}
 .live-network .network-world-label,.live-network .network-map-caption{font-size:12px;padding:3px;left:6px;right:6px;max-width:none}
 .live-network .node-heading{padding:9px 12px}.live-network .node-heading h3{font-size:28px}.live-network .node-heading .eyebrow{font-size:15px}
 .live-network .node-description{display:none}
 .live-network .book-page{padding:8px 12px}
 .watchdog-warning{padding:14px}.watchdog-warning h2{font-size:26px}.watchdog-warning p{font-size:20px}.watchdog-warning button{font-size:18px}
}
/* Travel uses the map itself; duplicate route lists used the space its branches need. */
.live-cartography{grid-template-rows:36px minmax(0,1fr) 82px}
.live-cartography>.route-list{display:none}
@media(max-width:420px){.live-cartography{grid-template-rows:36px minmax(0,1fr) 82px}}
.live-network .node-title{display:flex;gap:12px;align-items:center;justify-content:space-between}
.live-network .node-title>.ice-contact{padding:0;margin:0;border:0;background:none;flex:0 0 auto}
.live-network .node-title>.ice-contact>div{display:none}
.live-network .node-title>.ice-contact svg{width:48px;height:39px;flex-basis:48px;border-width:1px}
.live-network .metadata-verified{font:19px/1.15 var(--pixel);color:#bbd1c1;margin:6px 0}
.deck-inbox .signal-console{display:block;padding:16px;background:#0b1925;border:1px solid #a67e68}
.deck-inbox .trace-summary strong{font:30px/1 var(--pixel);color:#efb899}
.deck-inbox .trace-summary p{font:21px/1.2 var(--pixel);color:#d1d9d1;margin:10px 0}
.deck-inbox .trace-event{font:18px/1.2 var(--pixel);color:#d7bf96}
.deck-inbox .trace-segments{display:none}
.mobile-encounter-description{display:none}
@media(max-width:420px){.mobile-encounter-description{display:block;font:20px/1.15 var(--pixel);margin:6px 0 12px;color:#cbd6cf}}
.network-short-name,.trace-short{display:none}
@media(max-width:420px){
 .live-network[class],.live-network[class]:not(:has(>.network-danger)){grid-template-rows:56px 84px minmax(0,1fr)}
 .network-full-name,.carrier-live,.trace-long{display:none}
 .network-short-name,.trace-short{display:inline}
 .live-network .illustrated-network .net-node[style]{top:clamp(28px,var(--node-y,48%),calc(100% - 44px))!important}
}
.signal-console .trace-summary p>span{font:inherit;line-height:inherit;letter-spacing:inherit;color:inherit}
.signal-console .trace-long{display:inline}
.signal-console .trace-short{display:none}
@media(max-width:420px){.signal-console .trace-long{display:none}.signal-console .trace-short{display:inline}}
.live-network .book-page .node-tools{margin:6px 0;gap:7px}
.live-network .book-page .node-tools>button{font-size:20px;line-height:1.1;padding:8px 10px}
