/* Planning tools shell (availability, PoE, Wi-Fi, interface counters). Scoped to .pt-shell. */
.pt-shell{--pt-bg:var(--bb-bg,#070d12);--pt-panel:var(--bb-panel-bg,#101b22);--pt-text:var(--bb-text,#ecf3f4);--pt-muted:var(--bb-text-dim,#acbec7);--pt-accent:var(--bb-kelly,#50db88);--pt-warn:#edc777;--pt-bad:#ff7a7a;--pt-line:color-mix(in srgb,var(--pt-text) 16%,transparent);color:var(--pt-text);box-sizing:border-box;max-width:1240px;margin:auto;padding:30px 18px 70px}
body{background:var(--bb-bg,#070d12);color:var(--bb-text,#ecf3f4);overflow-x:hidden}
.pt-shell *,.pt-shell *:before,.pt-shell *:after{box-sizing:border-box}
.pt-shell [hidden]{display:none!important}
.pt-eyebrow{font:14px var(--font-code,monospace);letter-spacing:2px;color:var(--pt-accent);margin:0;text-transform:uppercase}
.pt-hero{padding:10px 0 30px}
.pt-shell h1{font-size:clamp(34px,6vw,62px);line-height:1.1;margin:14px 0;letter-spacing:-.5px;overflow-wrap:anywhere}
.pt-shell h1 span{color:var(--pt-accent)}
.pt-shell h2{font-size:clamp(21px,3vw,26px);line-height:1.3;margin:6px 0 14px}
.pt-shell h3{font-size:17px;line-height:1.35;margin:18px 0 8px}
.pt-shell p,.pt-shell li{line-height:1.65}
.pt-lead{font-size:20px;max-width:720px}
.pt-hero p:not(.pt-eyebrow):not(.pt-lead){max-width:720px;color:var(--pt-muted)}
.pt-muted,.pt-shell .pt-small{color:var(--pt-muted)}
.pt-small{font-size:15px}
.pt-chips{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none}
.pt-chips li{font:14px var(--font-code,monospace);border:1px solid var(--pt-line);border-radius:5px;padding:5px 9px;color:var(--pt-muted)}
.pt-toc{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}
.pt-toc a{font-size:15px;color:var(--pt-text);text-decoration:none;border:1px solid var(--pt-line);border-radius:6px;padding:9px 12px;min-height:44px;display:inline-flex;align-items:center}
.pt-toc a:hover{border-color:var(--pt-accent);color:var(--pt-accent)}
.pt-stack{display:grid;gap:22px}
.pt-grid2{display:grid;gap:22px;align-items:start}
@media(min-width:900px){.pt-grid2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.pt-panel{background:var(--pt-panel);border:1px solid var(--pt-line);border-radius:14px;padding:24px;box-shadow:0 12px 40px #0002;min-width:0}
.pt-panel.pt-accent-top{border-top:3px solid var(--pt-accent)}
.pt-shell label{display:block;font-size:15px;font-weight:600;margin:14px 0 6px}
.pt-shell input:not([type=checkbox]):not([type=radio]):not([type=range]),.pt-shell select,.pt-shell textarea{width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid var(--pt-line);border-radius:7px;background:var(--pt-bg);color:var(--pt-text);font:inherit;font-size:16px;color-scheme:dark}
.pt-shell textarea{font:14px/1.5 var(--font-code,monospace);min-height:260px;resize:vertical;white-space:pre;overflow:auto}
.pt-shell input[type=range]{width:100%;accent-color:var(--pt-accent);min-height:36px}
.pt-row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));align-items:end}
.pt-shell button{font:600 15px var(--font-body,sans-serif);border:1px solid var(--pt-line);border-radius:6px;padding:10px 14px;min-height:44px;background:var(--pt-bg);color:var(--pt-text);cursor:pointer}
.pt-shell button:hover{border-color:var(--pt-accent);color:var(--pt-accent)}
.pt-shell button.pt-primary{background:var(--pt-accent);color:#07150c;border:0}
.pt-shell button.pt-primary:hover{filter:brightness(1.08);color:#07150c}
.pt-shell button[aria-pressed=true]{border-color:var(--pt-accent);color:var(--pt-accent);background:color-mix(in srgb,var(--pt-accent) 12%,var(--pt-bg))}
.pt-shell :focus-visible{outline:3px solid var(--pt-accent);outline-offset:3px}
.pt-btnrow{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.pt-result{border:1px solid var(--pt-line);border-left:4px solid var(--pt-accent);border-radius:10px;padding:16px;margin:16px 0;background:color-mix(in srgb,var(--pt-accent) 6%,var(--pt-panel))}
.pt-result.pt-is-warn{border-left-color:var(--pt-warn);background:color-mix(in srgb,var(--pt-warn) 8%,var(--pt-panel))}
.pt-result.pt-is-bad{border-left-color:var(--pt-bad);background:color-mix(in srgb,var(--pt-bad) 8%,var(--pt-panel))}
.pt-big{font:700 clamp(26px,4vw,36px)/1.2 var(--font-code,monospace);color:var(--pt-accent);overflow-wrap:anywhere}
.pt-tablewrap{position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%;border:1px solid var(--pt-line);border-radius:10px;margin:12px 0}
.pt-shell table{border-collapse:collapse;width:100%;font-size:15px}
.pt-shell th,.pt-shell td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--pt-line);vertical-align:top}
.pt-shell th{font-weight:700;color:var(--pt-accent);font-size:14px;letter-spacing:.5px;background:color-mix(in srgb,var(--pt-accent) 6%,transparent)}
.pt-shell tr:last-child td{border-bottom:0}
.pt-shell td.pt-num,.pt-shell .pt-mono{font-family:var(--font-code,monospace)}
.pt-shell code{font-family:var(--font-code,monospace);font-size:.92em;background:color-mix(in srgb,var(--pt-text) 8%,transparent);padding:1px 5px;border-radius:4px;overflow-wrap:anywhere}
.pt-shell pre{font:14px/1.5 var(--font-code,monospace);background:#05090c;color:#cfe9d8;border:1px solid var(--pt-line);border-radius:10px;padding:14px;overflow-x:auto;max-width:100%;white-space:pre}
.pt-note{font-size:14px;color:var(--pt-muted)}
.pt-foot{font-size:14px;color:var(--pt-muted);border-top:1px solid var(--pt-line);margin-top:18px;padding-top:12px}
.pt-foot ol{padding-left:20px}
.pt-shell sup a{color:var(--pt-accent);text-decoration:none}
.pt-shell a{color:var(--pt-accent);text-underline-offset:3px}
.pt-bar{height:14px;border-radius:7px;background:var(--pt-line);overflow:hidden;position:relative}
.pt-bar span{display:block;height:100%;background:var(--pt-accent);transition:width .3s}
.pt-bar.pt-is-warn span{background:var(--pt-warn)}
.pt-bar.pt-is-bad span{background:var(--pt-bad)}
.pt-tag{display:inline-block;font:13px var(--font-code,monospace);border:1px solid var(--pt-line);border-radius:4px;padding:2px 7px;margin:2px 4px 2px 0;color:var(--pt-muted)}
.pt-tag.pt-good{color:var(--pt-accent);border-color:color-mix(in srgb,var(--pt-accent) 50%,transparent)}
.pt-tag.pt-warnc{color:var(--pt-warn);border-color:color-mix(in srgb,var(--pt-warn) 50%,transparent)}
.pt-tag.pt-badc{color:var(--pt-bad);border-color:color-mix(in srgb,var(--pt-bad) 50%,transparent)}
/* Quiz */
.pt-q{border-top:1px solid var(--pt-line);padding:18px 0}
.pt-q:first-child{border-top:0}
.pt-q-stem{font-weight:600;margin:0 0 10px}
.pt-q-choices{display:grid;gap:8px}
.pt-shell .pt-q-choices button{text-align:left;font-weight:500;width:100%;line-height:1.45}
.pt-shell .pt-q-choices button:disabled{cursor:default;opacity:1}
.pt-shell .pt-q-choices button.pt-right{border-color:var(--pt-accent);background:color-mix(in srgb,var(--pt-accent) 14%,var(--pt-bg));color:var(--pt-text)}
.pt-shell .pt-q-choices button.pt-wrong{border-color:var(--pt-bad);background:color-mix(in srgb,var(--pt-bad) 12%,var(--pt-bg));color:var(--pt-text)}
.pt-q-explain{margin-top:12px;border-left:3px solid var(--pt-accent);padding:4px 0 4px 14px}
.pt-q-explain ul{padding-left:18px;margin:6px 0}
.pt-q-explain li{font-size:15px}
.pt-score{font:600 16px var(--font-code,monospace);color:var(--pt-accent)}
.pt-skip{position:absolute;top:-100px;left:16px;z-index:9999;background:#fff;color:#000;padding:12px}
.pt-skip:focus{top:12px}
@media(max-width:500px){.pt-shell{padding:22px 12px 60px}.pt-panel{padding:18px 14px}.pt-shell th,.pt-shell td{padding:8px}.pt-shell table{font-size:14px}}
/* Reticle: visible on mouse devices at every width; hidden only on touch-primary devices. */
#mainCursor{border-color:var(--bb-kelly,#00c853)}
#cursorDot{background:#fff}
#cursorCoords{color:var(--bb-kelly,#00c853)}
@media(pointer:coarse){.cursor,.cursor-dot{display:none!important}body{cursor:auto!important}}
@media(pointer:fine){.pt-shell a,.pt-shell button,.pt-shell input,.pt-shell select,.pt-shell textarea,.pt-shell label{cursor:none}}
html.bb-cursor-disabled body,html.bb-cursor-disabled .pt-shell *{cursor:auto!important}
/* Patriotic (light) theme */
html[data-bb-theme="patriotic"] .pt-shell{--pt-bg:#fff;--pt-panel:#edf3fb;--pt-text:#0a2240;--pt-muted:#4a5a72;--pt-accent:#0a3161;--pt-warn:#805400;--pt-bad:#a3111f}
html[data-bb-theme="patriotic"] .pt-shell input,html[data-bb-theme="patriotic"] .pt-shell select,html[data-bb-theme="patriotic"] .pt-shell textarea{color-scheme:light}
html[data-bb-theme="patriotic"] .pt-shell button.pt-primary{color:#fff}
@media print{.cursor,.cursor-dot,.bb-page-header,.bb-site-footer,#bbNavAuth{display:none!important}}
.pt-sr{position:absolute;left:0;top:0;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pt-stack,.pt-grid2{grid-template-columns:minmax(0,1fr)}
@media(min-width:900px){.pt-grid2{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.pt-stack>*,.pt-grid2>*{min-width:0}
