.cctv-seg{border:0;flex:100%;min-width:0;margin:0;padding:0}.cctv-seg legend{color:var(--on-ink-muted);margin-bottom:.3rem;padding:0}.cctv-seg-row{border:1px solid var(--ink-line);display:flex}.cctv-seg-row label{cursor:pointer;flex:1 1 0;position:relative}.cctv-seg-row label+label{border-left:1px solid var(--ink-line)}.cctv-seg-row span{min-height:44px;color:var(--on-ink);justify-content:center;align-items:center;padding:0 .5rem;transition:background-color .15s,color .15s;display:flex}.cctv-seg-row input:checked+span{color:#000;background-color:var(--red)}.cctv-seg-row input:focus-visible+span{outline:2px solid var(--accent-text);outline-offset:2px}@media (hover:hover){.cctv-seg-row input:not(:checked)+span:hover{color:var(--accent-text)}}.cctv-dial{flex:100%;min-width:0}.cctv-dial[data-compact]{margin-top:.5rem}.cctv-dial[data-compact] legend{float:left;margin:0 .6rem 0 0;line-height:44px}.cctv-hint{color:var(--on-ink-muted);margin-top:.4rem;font-size:.86em;line-height:1.3}.cctv-status{color:var(--on-ink-muted);text-transform:none;letter-spacing:.02em;flex:100%}.cctv-status[data-state=growing],.cctv-status[data-state=memory]{color:var(--accent-text)}.cctv-page .xp-controls .button[aria-disabled=true]{opacity:.45;cursor:not-allowed}.cctv-page .xp-controls .button.cctv-cut{letter-spacing:.08em;flex:100%;min-height:56px;font-size:.95rem}.cctv-ip-card{display:none}.cctv-table-box{flex:100%;min-width:0;overflow-x:auto}.cctv-table{border-collapse:collapse;width:100%;font-family:var(--mono);font-size:.72rem;line-height:1.2}.cctv-table th{text-align:left;color:var(--on-ink-muted);border-bottom:1px solid var(--ink-line);padding:0 .4rem .3rem 0;font-weight:500}.cctv-table td{white-space:nowrap;height:34px;color:var(--on-ink-muted);border-bottom:1px solid var(--ink-raised);cursor:pointer;padding:0 .4rem 0 0}.cctv-table td button{min-height:30px;color:var(--on-ink);font:inherit;cursor:pointer;background:0 0;border:0;padding:0 .2rem 0 0}@media (pointer:coarse){.cctv-table td{height:44px}.cctv-table td button{min-height:44px}}.cctv-table tr[data-status=lost] td{color:var(--accent-text)}.cctv-table tr[data-status=uploading] td{color:var(--on-ink)}.cctv-table tr[data-status=failed] td{color:var(--accent-text)}.cctv-table tr[data-selected=true] td{color:#000;background-color:var(--on-ink)}.cctv-table tr[data-selected=true] td button{color:#000}.cctv-dot{vertical-align:.05em;background-color:#fcf4e8;border-radius:50%;width:7px;height:7px;margin-left:.35rem;display:inline-block}.cctv-table tr[data-selected=true] .cctv-dot{background-color:#000}.cctv-scrub{flex:100%;min-width:0}.cctv-scrub-label{gap:.25rem;display:grid}.cctv-scrub-label>.mono-label{color:var(--on-ink-muted)}.cctv-scrub-track{display:block;position:relative}.cctv-scrub-track input{width:100%;height:44px;accent-color:var(--red);cursor:pointer;touch-action:pan-y;margin:0;display:block}.cctv-scrub-marks{pointer-events:none;position:absolute;inset:4px 8px}.cctv-scrub-marks i{width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.cctv-scrub-marks i[data-kind=cut]{background-color:var(--red)}.cctv-scrub-marks i[data-kind=door]{background-color:#fcf4e8;border-radius:50%;width:7px;height:7px;margin-left:-3px;top:4px;bottom:auto}.cctv-scrub-read{color:var(--on-ink);text-transform:none;justify-content:space-between;gap:.5rem;display:flex}.cctv-scrub-tick{color:var(--accent-text);text-transform:none;margin-top:.15rem}.cctv-scrub-tick button{min-height:28px;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:0 .2rem}.cctv-whatif{justify-items:start;gap:.35rem;margin-top:.5rem;display:grid}.cctv-whatif .button{min-height:44px;padding:0 .75rem}.cctv-whatif .button[aria-pressed=true]{border-color:var(--red);color:var(--accent-text)}.cctv-phase{gap:.6rem;display:grid}.cctv-phase-wide{flex:100%;min-width:0}.cctv-small{color:var(--on-ink-muted);font-size:.9em;line-height:1.35}.cctv-still{margin-top:1rem}:root[data-stack="3d"] .cctv-page #drive .cctv-phase{display:none}:root[data-stack="3d"] .cctv-page #drive:not([data-phase]) .cctv-phase[data-show~=a],:root[data-stack="3d"] .cctv-page #drive[data-phase=a] .cctv-phase[data-show~=a],:root[data-stack="3d"] .cctv-page #drive[data-phase=b] .cctv-phase[data-show~=b],:root[data-stack="3d"] .cctv-page #drive[data-phase=c] .cctv-phase[data-show~=c]{display:grid}:root[data-stack="3d"] .cctv-page #drive[data-phase=c] .xp-headline:not(.cctv-still){display:none}:root[data-stack="3d"] .cctv-page #drive[data-phase=c] .cctv-still{margin-top:.6rem}:root[data-stack="3d"] .cctv-page #drive[data-phase=b] .cctv-dial,:root[data-stack="3d"] .cctv-page #drive[data-phase=b] .cctv-whatif{display:none}.cctv-chip-block{gap:.3rem;display:grid}.cctv-chip{overflow-wrap:anywhere;color:var(--on-ink)}.cctv-rec{align-items:center;gap:.4rem;display:flex}.cctv-rec-dot{background-color:var(--red);border-radius:50%;flex-shrink:0;width:8px;height:8px}@media (prefers-reduced-motion:no-preference){.cctv-rec-dot[data-on=false]{opacity:.15}}.cctv-line{flex-wrap:wrap;gap:.1rem .8rem;display:flex}.cctv-line[data-line=down] span:last-child{color:var(--accent-text)}.cctv-page .xp-log{margin-top:.3rem}.cctv-page .xp-hud:has(.cctv-quiet) .xp-log{display:none}.cctv-end-line{max-width:34rem;font-size:clamp(1.4rem,3vw,2.2rem);line-height:1.15}.cctv-end .xp-note{max-width:40rem;margin-top:1.5rem}:root[data-stack="3d"] .cctv-page .xp-card{transition:opacity .25s}:root[data-stack="3d"] .cctv-page .xp-beat[data-on=false] .xp-card:not(:focus-within){opacity:0;pointer-events:none}@media (max-width:759px),(orientation:portrait){:root[data-stack="3d"] .cctv-page .xp-beat:not(:last-child){min-height:calc(var(--beat-h) + 62svh);margin-bottom:-62svh}:root[data-stack="3d"] .cctv-page .xp-card{max-width:none;margin-top:62svh}:root[data-stack="3d"] .cctv-page #postgres .xp-card{max-height:58svh}:root[data-stack="3d"] .cctv-table tr:nth-last-child(n+5){display:none}:root[data-stack="3d"] .cctv-ip-card{color:var(--red);flex:100%;font-size:clamp(2rem,11vw,3.4rem);display:block}:root[data-stack="3d"] .cctv-chip{font-size:.62rem}:root[data-stack="3d"] .cctv-page .xp-hud:has(.cctv-chip-block) .xp-log li:not(:last-child){display:none}:root[data-stack="3d"] .cctv-page #drive[data-phase=b] .cctv-phase[data-show~=a],:root[data-stack="3d"] .cctv-page #drive[data-phase=b] .xp-controls{display:none}:root[data-stack="3d"] .cctv-page #drive[data-phase=b] .cctv-small+.cctv-small{margin-top:-.2rem}}@media (max-height:700px) and (orientation:portrait){:root[data-stack="3d"] .cctv-table tr:nth-last-child(n+4){display:none}}@media (max-width:480px){.cctv-page .xp-bar{gap:.5rem}.cctv-page .xp-bar-button{letter-spacing:0;padding:0 .25rem}.cctv-page .xp-rail-now{letter-spacing:.02em}}@media (max-height:640px) and (orientation:portrait){:root[data-stack="3d"] .cctv-page .xp-beat:not(:last-child){min-height:calc(var(--beat-h) + 50svh);margin-bottom:-50svh}:root[data-stack="3d"] .cctv-page .xp-card{max-height:54svh;margin-top:50svh;padding-top:.55rem;padding-bottom:.6rem}:root[data-stack="3d"] .cctv-page .xp-kicker{display:none}:root[data-stack="3d"] .cctv-page .xp-headline{margin-top:0;font-size:1.5rem}:root[data-stack="3d"] .cctv-page .xp-body{margin-top:.3rem;font-size:.82em;line-height:1.22}:root[data-stack="3d"] .cctv-page .xp-controls{gap:.35rem;margin-top:.4rem}:root[data-stack="3d"] .cctv-page .xp-controls .button,:root[data-stack="3d"] .cctv-page .xp-controls .button.cctv-cut{min-height:44px;padding:0 .7rem;font-size:.68rem}:root[data-stack="3d"] .cctv-seg legend,:root[data-stack="3d"] .cctv-hint,:root[data-stack="3d"] .cctv-page .xp-note{display:none}:root[data-stack="3d"] .cctv-seg-row span{min-height:40px}:root[data-stack="3d"] .cctv-ip-card{font-size:1.7rem}:root[data-stack="3d"] .cctv-table td,:root[data-stack="3d"] .cctv-table td button{height:36px;min-height:0}:root[data-stack="3d"] .cctv-chip{font-size:.56rem}:root[data-stack="3d"] .cctv-page .xp-hud .xp-log li:not(:last-child){display:none}}@media (max-height:559px) and (orientation:landscape){:root[data-stack="3d"] .cctv-seg legend,:root[data-stack="3d"] .cctv-hint{display:none}}:root:not([data-stack="3d"]) .cctv-page .xp-log li:not(:nth-last-child(-n+2)){display:none}@media (min-width:1100px){:root:not([data-stack="3d"]) .cctv-page .xp-beat{grid-template-columns:minmax(0,46rem) minmax(0,1fr);align-items:start;gap:clamp(2rem,4vw,5rem);display:grid}:root:not([data-stack="3d"]) .cctv-page .xp-lite{max-width:44rem;margin-top:0}}.cctv-door-svg{border:1px solid var(--ink-line);width:100%;height:auto;display:block}.cctv-sensor-lite figcaption{color:var(--on-ink-muted);text-transform:none;margin-top:.4rem}.cctv-scrub-lite{margin-bottom:1rem}.cctv-hole{aspect-ratio:320/200;color:var(--accent-text);border:1px solid var(--red);text-transform:none;background-color:#020203;justify-content:center;align-items:center;display:flex}.cctv-diagram{width:100%;height:auto;display:block}@media (prefers-reduced-motion:no-preference){.cctv-packets{animation:2.4s linear infinite cctv-packets}.cctv-ribbon-band{animation:6s linear infinite cctv-ribbon}}@keyframes cctv-packets{0%{transform:translate(-60px)}to{transform:translate(40px)}}@keyframes cctv-ribbon{0%{background-position:0 0}to{background-position:240px 0}}.cctv-ip{color:var(--red);font-size:clamp(2.4rem,12vw,5rem)}.cctv-router-lite .mono-label{color:var(--on-ink-muted);text-transform:none;margin-top:.4rem}.cctv-tiles{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:.35rem;display:grid}.cctv-tiles li{font-family:var(--mono);color:var(--on-ink);background-color:var(--ink);border:1px solid var(--ink-line);gap:.1rem;padding:.4rem;font-size:.68rem;line-height:1.2;display:grid}.cctv-tile-status{color:var(--on-ink-muted)}.cctv-tiles li[data-status=uploading]{border-color:#fcf4e8}.cctv-tiles li[data-status=failed]{border-color:var(--red)}.cctv-tiles li[data-status=failed] .cctv-tile-status,.cctv-tiles li[data-hole=true] .cctv-tile-status{color:var(--accent-text)}.cctv-tiles li[data-status=uploaded]{color:#000;background-color:#fcf4e8;border-color:#fcf4e8}.cctv-tiles li[data-status=uploaded] .cctv-tile-status{color:#3a372f}.cctv-tiles li[data-status=uploaded] .cctv-dot{background-color:#000}.cctv-tiles li[data-hole=true]{color:var(--accent-text);border-color:var(--red);background-color:#020203}.cctv-ribbon-band{background-image:repeating-linear-gradient(90deg, #fcf4e8 0 56px, var(--ink) 56px 60px);background-size:60px 100%;height:28px;margin-bottom:.75rem;transition:height .2s}.cctv-ribbon-lite[data-level=medium] .cctv-ribbon-band{height:18px}.cctv-ribbon-lite[data-level=high] .cctv-ribbon-band{height:10px}.cctv-line-rail{color:var(--on-ink-muted);border-bottom:1px dashed var(--ink-line);justify-content:space-between;margin-bottom:.35rem;padding-bottom:.2rem;display:flex}.cctv-line-state{color:var(--on-ink);text-transform:none;margin-top:.5rem}.cctv-line-lite[data-up=false] .cctv-line-state{color:var(--accent-text)}.cctv-overview-lite{color:var(--on-ink);text-transform:none;gap:.25rem;margin-top:1rem;display:grid}.cctv-overview-lite span{color:var(--accent-text)}.cctv-pool{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.cctv-pool li{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;display:grid}.cctv-pool li[data-on=false]{opacity:.45}.cctv-pool i{background-color:#1c1c20;height:10px;display:block}.cctv-pool b{background-color:#fcf4e8;height:100%;display:block}.cctv-disk-lite{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin:0;display:grid}.cctv-disk-lite div{border:1px solid var(--red);padding:.8rem}.cctv-disk-lite div[data-on=false]{border-color:var(--ink-line);opacity:.7}.cctv-disk-lite dd{margin:.3rem 0 0}.cctv-scrub-marks i[data-kind=disk]{background-color:#ff5049}
