/* Hard pixels, three camera sets, one rule at a time. No stock dashboard kit. */
.night-home .night-main,.night-home .night-footer{max-width:1160px}
.section-links{display:flex;gap:25px;font-size:11px}.night-home .night-heading{margin-bottom:27px}.night-home .night-heading>p{max-width:300px}
.live-summary{margin-top:0;padding:19px 22px 13px;background:#0d1713;border:1px solid #465342;box-shadow:4px 4px #16221a;scroll-margin-top:22px}
.live-summary .stats-heading h2{font-size:22px;margin:0}.live-summary .stats-heading .eyebrow{color:#91a18a}.live-availability{display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.feed-date{color:#d6bd87;font-size:11px}.live-summary .connection-state{padding:4px 7px}.live-summary .stats-intro{font-size:11px;margin-top:5px}.live-summary .stats-grid{margin-top:10px;border-top:1px solid #2c3c2e}.live-summary .stat-item{padding-top:10px;padding-bottom:9px}.live-summary .stat-item [data-stat]{font-size:22px;margin:3px 0}.live-summary .stat-item [data-stat].long-value{font-size:14px;min-height:33px}.live-summary .stats-window{margin-top:13px}.live-summary[data-status="disconnected"] .stats-window{display:none}.live-summary .stats-footnote{font-size:11px;margin-top:10px;color:#8b9d85}.live-summary .stat-popover{top:37px}.live-summary .live-plots{margin-top:10px}.live-plots summary{display:flex;align-items:center;gap:20px;cursor:pointer;color:#b7c8aa;list-style:none;padding:6px 0;min-height:32px}.live-plots summary::-webkit-details-marker{display:none}.live-plots summary>span:first-child{color:#8e9f87}.live-plots summary>span:last-child{margin-left:auto;font-size:18px}.live-plots[open] summary>span:last-child{transform:rotate(45deg)}.live-plots summary:focus-visible{outline:2px dashed #b7c8aa;outline-offset:4px}.live-summary .activity-tape{margin-top:12px}.live-summary .tape-track{height:68px}.live-summary .tape-track>p{background:#0d1713}.future-charts{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.future-charts>div{position:relative;padding:12px 14px;border:1px solid #354333;color:#acbca0;font-size:11px}.future-charts p{position:relative;color:#8c9f84;margin-top:10px;z-index:1}.future-charts i{display:block;height:25px;border-left:1px solid #41533a;border-bottom:1px dashed #41533a;margin-top:9px}
.education{margin-top:47px;scroll-margin-top:20px}.education-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px}.education-heading .eyebrow{color:#9eae8f}.education-heading h2{font-size:27px;line-height:1.4;color:#e1e7cf;margin-top:5px}.education-heading>p{color:#91a288;font-size:11px}.tape-navigation{display:flex;align-items:stretch;gap:12px;margin-bottom:21px;position:sticky;top:0;z-index:8;padding:10px 0;background:#080f0df5}.tape-picker{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;position:relative}.tape-picker>span{color:#91a485;font-size:11px;margin-bottom:2px}.tape-picker select{appearance:none;width:100%;font:11px/1.8 Departure,monospace;color:#dae1c7;border:1px solid #617054;background:#111e15;padding:6px 28px 6px 10px;border-radius:0;cursor:pointer}.tape-picker::after{content:"";position:absolute;right:12px;bottom:14px;width:7px;height:4px;background:#aabc94;clip-path:polygon(0 0,100% 0,100% 50%,75% 50%,75% 100%,25% 100%,25% 50%,0 50%);pointer-events:none}.tape-picker select:focus-visible{outline:2px dashed #d5e1c0;outline-offset:3px}
.pixel-key{display:inline-flex;align-items:center;justify-content:center;gap:11px;border:0;border-radius:0;padding:12px 16px;color:#d2dec0;background:#263a28;box-shadow:inset 2px 2px #7c9068,inset -2px -2px #121e14,3px 3px #020904;font:11px/1.7 Departure,monospace;min-height:44px;cursor:pointer;position:relative;text-align:left}.pixel-key::before,.pixel-key::after{content:"";position:absolute;width:3px;height:3px;background:#080f0d;pointer-events:none}.pixel-key::before{left:0;top:0}.pixel-key::after{right:0;bottom:0}.pixel-key:hover{background:#344b30;color:#f0f2d9}.pixel-key:active{transform:translate(2px,2px);box-shadow:inset 2px 2px #132115,inset -2px -2px #7c9068,1px 1px #020904}.pixel-key:disabled{cursor:default;opacity:.4}.pixel-key:focus-visible{outline:2px dashed #dbebbd;outline-offset:5px}.previous-tape{align-self:flex-end;width:44px;padding:10px;flex-shrink:0}.next-tape{align-self:flex-end;min-width:270px;justify-content:space-between}.pixel-icon{display:block;position:relative;flex-shrink:0;width:12px;height:12px;background:currentColor;clip-path:polygon(0 0,25% 0,25% 17%,50% 17%,50% 33%,75% 33%,75% 42%,100% 42%,100% 58%,75% 58%,75% 67%,50% 67%,50% 83%,25% 83%,25% 100%,0 100%)}.icon-next{height:10px;width:14px;clip-path:polygon(0 40%,57% 40%,57% 0,71% 0,71% 20%,85% 20%,85% 40%,100% 40%,100% 60%,85% 60%,85% 80%,71% 80%,71% 100%,57% 100%,57% 60%,0 60%)}.icon-back{clip-path:polygon(100% 40%,43% 40%,43% 0,29% 0,29% 20%,15% 20%,15% 40%,0 40%,0 60%,15% 60%,15% 80%,29% 80%,29% 100%,43% 100%,43% 60%,100% 60%)}
.learning-stage{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(290px,1fr);gap:27px;align-items:start}.camera-column{min-width:0}.camera-label{display:flex;justify-content:space-between;gap:15px;color:#a8b69a;font-size:11px;margin-bottom:11px}.camera-label>span:last-child{color:#8e9d83}.night-home .education .webcam{aspect-ratio:8/5;overflow:hidden;border:1px solid #66725b;box-shadow:0 0 0 4px #19231a}.night-home .education .webcam>canvas{width:100%;height:100%;object-fit:fill;filter:saturate(.42) brightness(.91) contrast(1.1)}.night-home .education [data-room="market"]>canvas{filter:saturate(.68) brightness(.95) contrast(1.1)}.night-home .education [data-room="vault"]>canvas{filter:saturate(.64) brightness(.95) contrast(1.1)}.night-home .education .hotspots{inset:0;height:100%;aspect-ratio:auto}.night-home .education .camera-clock{top:9%;right:3%;opacity:.72}.camera-subtitle{display:flex;align-items:center;gap:11px;margin-top:15px;min-height:52px;color:#b4c1a7;font-size:11px}.cc-mark{border:1px solid #5c7053;padding:0 4px;font-size:11px;color:#9aaf8e}.camera-subtitle>p{flex:1;line-height:1.8}.camera-pause{padding:8px 12px;flex-shrink:0;min-width:44px;font-size:17px;background:#18291d}.object-note{display:grid;grid-template-columns:1fr auto;gap:3px 15px;margin-top:17px;padding:12px 0;border-top:1px solid #30412e;border-bottom:1px solid #30412e;color:#c1cfb3;font-size:11px}.object-kicker{grid-column:1/-1;font-size:11px;color:#8fa481}.object-note strong{font-weight:400}.object-note p{grid-column:1;max-width:440px;color:#9fae93;line-height:1.85}.object-note a{grid-column:2;grid-row:2/4;align-self:center;color:#a9ba99;text-decoration:underline;text-underline-offset:4px}.object-note [data-object-title]{font-size:14px}
.teaching-note{padding:3px 0 0;min-width:0}.lesson-kicker{display:flex;justify-content:space-between;gap:12px;color:#95a887;font-size:11px}.lesson-kicker>span:last-child{color:#d1bc83}.teaching-note h3{font-size:27px;line-height:1.35;color:#e1e7cd;font-weight:400;margin:16px 0}.lesson-copy{font-size:12px;line-height:1.95;color:#c4cfb6;min-height:116px}.lesson-takeaway{margin-top:17px;border-left:2px solid #7e9c65;padding:0 0 0 13px}.lesson-takeaway>span{font-size:11px;color:#9eae87}.lesson-takeaway>p{font-size:11px;line-height:1.9;margin-top:5px;color:#c4d0b3}.play-example{width:100%;margin-top:23px;background:#c0cf9f;color:#1a2b1b;box-shadow:inset 2px 2px #e0e8c5,inset -2px -2px #6e875c,3px 3px #233422;justify-content:flex-start;min-height:52px}.play-example:hover{background:#d6e0b6;color:#102214}.play-example.has-played{background:#34462d;color:#c8d7b6;box-shadow:inset 2px 2px #7c9068,inset -2px -2px #121e14,3px 3px #020904}.lesson-action-hint{color:#93a784;font-size:11px;line-height:1.8;margin-top:11px}.lesson-sources{display:flex;flex-wrap:wrap;gap:6px 17px;margin-top:18px}.lesson-sources a{font-size:11px;color:#a4b991;text-decoration:underline;text-underline-offset:4px;line-height:1.8}
.teaching-diagram{margin-top:26px;border-top:1px solid #40503b;padding-top:16px}.diagram-heading{display:flex;justify-content:space-between;gap:12px;color:#9db18d;font-size:11px;margin-bottom:13px}.diagram-heading>span:last-child{color:#beae7c}.teaching-diagram>canvas{width:100%;height:auto;max-height:190px;object-fit:contain;background:#0c1712;border:1px solid #26382a;image-rendering:pixelated}.diagram-labels{display:flex;gap:25px;justify-content:space-around;margin:13px 0 0}.diagram-labels>div{min-width:0;flex:1}.diagram-labels dt{color:#859d79;font-size:11px}.diagram-labels dd{margin:4px 0 0;color:#cfdbbd;font-size:14px;line-height:1.6}.example-rule{font-size:11px;color:#9aab8d;margin-top:18px;line-height:1.9}.tour-complete{padding:20px;border:1px solid #667c50;margin-top:24px;color:#d2dfbc;font-size:11px}.night-home .night-footer{padding-top:42px}.spot-label{max-width:180px}.night-home .education [data-hotspot="flow"] .spot-label,.night-home .education [data-hotspot="defense"] .spot-label{left:auto;right:calc(100% - 8px)}
@media(min-width:1600px){.night-home .night-main,.night-home .night-footer{max-width:1250px}.learning-stage{grid-template-columns:2fr 1fr}.lesson-copy{font-size:13px}}
@media(max-width:1000px){.learning-stage{grid-template-columns:minmax(0,1.4fr) minmax(270px,1fr);gap:23px}.camera-label{flex-wrap:wrap;gap:3px}.teaching-note h3{font-size:22px}.lesson-copy{font-size:11px;min-height:0}.live-availability{gap:8px;flex-direction:column;align-items:flex-end}.object-note{display:block}.object-note strong{display:block}.object-note a{display:inline-block;margin-top:8px}.next-tape{min-width:245px}}
@media(max-width:780px){.section-links{gap:16px}.night-home .night-nav{flex-wrap:wrap;height:auto;padding-top:20px;padding-bottom:20px;gap:16px}.section-links{order:3;width:100%;justify-content:space-between}.learning-stage{grid-template-columns:1fr;gap:27px}.teaching-note{padding-top:3px}.teaching-note h3{font-size:27px;margin-top:12px;max-width:600px}.lesson-copy{font-size:12px;max-width:650px}.camera-label{flex-wrap:nowrap}.object-note{display:grid}.object-note a{margin-top:0}.lesson-takeaway{margin-top:16px}.education-heading{display:block}.education-heading>p{margin-top:9px}.next-tape{min-width:0;max-width:245px}.teaching-diagram>canvas{max-height:none}.live-summary{padding:16px 17px 12px}.education{margin-top:38px}}
@media(max-width:560px){.night-home .night-heading h1{font-size:28px}.night-home .night-heading>p{margin-top:10px}.live-summary .stats-heading{align-items:flex-start;gap:12px}.live-availability{max-width:150px;text-align:right}.feed-date{line-height:1.65}.live-summary .stats-heading .eyebrow{font-size:10px}.live-summary .stats-heading h2{font-size:22px}.live-summary .stats-intro{margin-top:10px}.live-summary .stat-item{padding:12px 11px!important}.live-summary .stat-item:nth-child(odd){padding-left:0!important}.live-summary .stat-item:nth-child(even){padding-right:0!important}.live-summary .stat-item dt{font-size:10px}.live-summary .stat-unit{font-size:10px}.live-plots summary{gap:10px;font-size:10px}.live-plots summary>span:first-child{max-width:160px}.future-charts{grid-template-columns:1fr}.education-heading h2{font-size:24px}.tape-navigation{flex-wrap:wrap;gap:9px;padding-top:8px;padding-bottom:12px}.tape-picker{flex-basis:calc(100% - 60px)}.next-tape{width:100%;max-width:none;min-height:43px}.camera-label{font-size:10px}.camera-subtitle{gap:8px}.cc-mark{display:none}.object-note{display:block}.object-note a{margin-top:8px}.teaching-note h3{font-size:26px}.lesson-copy{font-size:12px}.diagram-heading{font-size:10px}.diagram-labels{gap:12px}.diagram-labels dd{font-size:11px}.diagram-labels dt{font-size:10px}.example-rule{font-size:10px}.night-home .night-footer{gap:18px}.night-home .education .spot-label{display:none}}
@media(prefers-reduced-motion:reduce){.pixel-key:active{transform:none}}
@media(min-width:701px){.live-summary[data-status="disconnected"] .stat-item{display:grid;grid-template-columns:minmax(0,1fr) 20px;gap:1px 12px}.live-summary[data-status="disconnected"] .stat-item dt{grid-column:1;grid-row:1}.live-summary[data-status="disconnected"] .stat-item [data-stat]{grid-column:2;grid-row:1/3;margin:0;align-self:center}.live-summary[data-status="disconnected"] .stat-meta{grid-column:1;grid-row:2}.live-summary[data-status="disconnected"] .stats-footnote{display:none}}

/* Release-facing navigation: the two buttons echo their destination panels. */
.night-home .section-links{gap:12px}
.night-home .section-button{min-height:46px;padding:12px 17px;gap:10px;white-space:nowrap;text-decoration:none}
.night-home .section-button:hover{text-decoration:none}
.section-icon{width:16px;height:16px;display:block;flex-shrink:0;fill:currentColor;shape-rendering:crispEdges}
.night-home .section-button-live{background:#263f52;color:#d0e2ee;box-shadow:inset 2px 2px #799aac,inset -2px -2px #132330,3px 3px #020904}
.section-button-live:hover{background:#345469;color:#eef8ff}
.section-button-live:active{box-shadow:inset 2px 2px #132330,inset -2px -2px #799aac,1px 1px #020904}
.section-button-live:focus-visible{outline-color:#c0e2f4}
.night-home .section-button-learn{background:#3a4b2d;color:#e0eac8;box-shadow:inset 2px 2px #a0b382,inset -2px -2px #1b2a17,3px 3px #020904}
.section-button-learn:hover{background:#4b6039;color:#f2f6df}
.section-button-learn:active{box-shadow:inset 2px 2px #1b2a17,inset -2px -2px #a0b382,1px 1px #020904}
.section-button-learn .book-lines{fill:#3a4b2d}

/* Cool blue for observed data; moss green for the illustrated lesson space. */
.live-summary{background:#111f2a;border-color:#486578;border-top:4px solid #7e9eaf;box-shadow:4px 4px #172b37}
.live-summary .stats-heading h2{color:#dbe8ef}
.live-summary .stats-heading .eyebrow,.live-summary .stats-intro,.live-summary .stat-unit,.live-summary .stats-window,.live-summary .stats-footnote{color:#a4bac8}
.live-summary .stats-grid,.live-summary .stat-item,.live-summary .stats-window{border-color:#354e60}
.live-summary .stat-item dt,.live-summary .live-plots summary{color:#c5d6e0}
.live-summary .live-plots summary>span:first-child{color:#99b2c3}
.live-summary .stat-help{border-color:#7591a3;color:#c3dbe7;background:#1b3141}
.live-summary .stat-help:hover,.live-summary .stat-help[aria-expanded="true"]{border-color:#b8d4e5;background:#294556;color:#f0f8ff}
.live-summary .stat-popover{background:#1b2d3b;border-color:#779bab;color:#d1e1e9}
.live-summary .stat-popover a{color:#c1dfe9}
.live-summary .connection-state{border-color:#557180;color:#c1d1db}
.live-summary .connection-state i{border-color:#a1bac8}
.live-summary[data-status="stale"] .connection-state,.live-summary[data-status="error"] .connection-state{border-color:#a2815c;color:#e0bc91}
.live-summary .tape-heading,.live-summary .tape-scale,.live-summary .future-charts>div{color:#b3c8d5}
.live-summary .tape-track{background:repeating-linear-gradient(90deg,#314b5c 0 1px,transparent 1px 8.3333%);border-color:#365366}
.live-summary .tape-track::before{border-color:#577383}
.live-summary .tape-track>p{background:#111f2a;color:#aac2d1}
.live-summary .future-charts>div{background:#142632;border-color:#3a5769}
.live-summary .future-charts p{color:#a2b9c8}
.live-summary .future-charts i{border-color:#527083}
.education{background:#152116;border:1px solid #46593b;border-top:4px solid #9eb17b;padding:25px 24px 26px;box-shadow:4px 4px #1e2c19}
.education .tape-navigation{background:#152116;border-bottom:1px solid #35472e}
.education .pixel-key::before,.education .pixel-key::after{background:#152116}
.education-heading .eyebrow{color:#b4c596}
.education .object-note{border-color:#425438}
.education .teaching-diagram{border-color:#4d6141}
.night-home .night-footer{justify-content:space-between}
@media(max-width:780px){.night-home .section-links{justify-content:flex-start}.education{padding:21px 20px 23px}.education-heading h2{font-size:25px}}
@media(max-width:560px){.night-home .section-links{gap:10px}.night-home .section-button{flex:1;padding:11px 10px;gap:8px;font-size:10px}.education{padding:18px 14px 22px}.education-heading h2{font-size:23px}.live-plots summary{flex-wrap:wrap;gap:3px 12px}.live-plots summary>span:first-child{order:3;flex-basis:100%;max-width:none}.live-plots summary>span:last-child{margin-left:auto}.night-home .night-footer>span{max-width:100%}}

/* The state belongs on the footage, not just on a control beside it. */
.night-home .education .camera-clock{top:auto;bottom:3%}
.night-home .education .webcam[data-camera-state="before"]{border-color:#97aaa3;box-shadow:0 0 0 4px #293b31}
.night-home .education .webcam[data-camera-state="after"]{border-color:#e6bd78;box-shadow:0 0 0 4px #876638}
.camera-focus{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;color:#d4e0d5;shape-rendering:crispEdges}
.camera-focus path{fill:none;stroke:currentColor;stroke-width:1.5;vector-effect:non-scaling-stroke;opacity:.6}
.camera-focus rect{fill:currentColor;fill-opacity:0}
[data-camera-state="after"] .camera-focus{color:#ffcf80}
[data-camera-state="after"] .camera-focus path{stroke-width:3;opacity:1;filter:drop-shadow(1px 1px #1c1b12)}
[data-camera-state="after"] .camera-focus rect{fill-opacity:.09}
.camera-change-readout{border:1px solid #70887a;background:#1c2e24;color:#dbe5d5;padding:11px 13px;margin-top:5px;min-height:65px}
.camera-change-readout>span{font-size:10px;color:#a9c0ab;letter-spacing:1px}
.camera-change-readout>p{font-size:12px;line-height:1.7;margin-top:3px}
.camera-change-readout[data-state="after"]{border-color:#caa163;background:#382f1e;color:#ffe0a4}
.camera-change-readout[data-state="after"]>span{color:#e7bd7d}
.camera-change-readout[data-state="after"]>p{color:#ffe7bc}
.camera-change-readout+.camera-subtitle{margin-top:9px}
@media(max-width:1000px){.camera-change-readout>p{font-size:11px}}
@media(max-width:560px){.camera-change-readout{padding:10px 11px;min-height:78px}.camera-change-readout>p{font-size:11px}.camera-focus path{stroke-width:1}[data-camera-state="after"] .camera-focus path{stroke-width:2}}
