/* The night shift is a self-contained, keyboard-accessible panoramic room. */
.night-launch{display:inline-flex;gap:12px;align-items:center;margin-top:14px;color:#c9dca8;font-size:12px;background:none;border:0;padding:4px 0;text-decoration:underline;text-underline-offset:5px}
dialog.night-room{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100%;height:100dvh;max-height:none;padding:0;border:0;background:#080b08;overflow:hidden;color:#ebe9da;font-family:Anuphan,sans-serif;isolation:isolate}
.night-room::backdrop{background:#050705}.night-room *{box-sizing:border-box}.night-room button{font:inherit;cursor:pointer}.night-room [hidden]{display:none!important}.night-room :focus-visible{outline:2px solid #daedb6;outline-offset:4px}.night-room .mono{font-family:"IBM Plex Mono",monospace}
.night-view{position:absolute;inset:0;overflow:hidden;cursor:grab;touch-action:none;background:#080b08}.night-view:active{cursor:grabbing}.night-world{position:absolute;left:50%;top:50%;transform-origin:center;will-change:transform;--room-light:1}
.night-photo{display:block;width:100%;height:100%;user-select:none;pointer-events:none;filter:brightness(var(--room-light)) saturate(.7);transition:filter 1.6s}.night-world.is-dim{--room-light:.55}.night-world.is-dawn{--room-light:1.18}.night-world.is-dawn .night-photo{filter:brightness(1.18) saturate(.65) sepia(.13)}
.night-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#050805e8 0,transparent 26%,transparent 58%,#050805f5 100%),radial-gradient(ellipse at center,transparent 30%,#03060385 100%);z-index:3}
.night-scan{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0,transparent 3px,#0b130c1a 4px);opacity:.32;z-index:4}.night-crosshair{position:absolute;top:50%;left:50%;height:4px;width:4px;border-radius:50%;background:#d7e4c377;box-shadow:0 0 0 4px #cce0ac0d;pointer-events:none;z-index:5}
.night-top{position:absolute;inset:0 0 auto;padding:24px 32px;z-index:6;display:flex;align-items:flex-start;justify-content:space-between;gap:15px;pointer-events:none}.night-top button,.night-top label{pointer-events:auto}.night-brand{font-size:10px;letter-spacing:2px;color:#b9c6a5}.night-title{font-size:18px;line-height:1.5;margin:8px 0 0;font-weight:500}.night-title small{font-size:11px;font-weight:400;color:#9da38e;display:block;margin-top:3px}.night-top-actions{display:flex;gap:8px;align-items:center}.night-top-actions button,.night-switch{background:#0b100cbb;border:1px solid #73836355;color:#c7d3b5;font-size:11px;padding:9px 13px;min-height:40px}.night-switch{display:flex;gap:8px;align-items:center;cursor:pointer}.night-switch input{accent-color:#bed79a}.night-clock{display:flex;gap:12px;align-items:center;color:#d6d5b9;font-size:13px;margin-right:8px}.night-clock b{font-weight:400;letter-spacing:2px}.night-air{font-size:8px;border:1px solid #6c5345;padding:5px 8px;color:#bea18a;letter-spacing:1.5px}.night-room[data-phase=playing] .night-air{color:#ffb797;border-color:#d78b6966;background:#50211877;box-shadow:0 0 18px #d65a3022}
.night-object{position:absolute;display:flex;align-items:center;gap:8px;transform:translate(-50%,-50%);padding:12px;background:transparent;border:0;color:#e9eddc;font-size:11px;white-space:nowrap;z-index:2;touch-action:manipulation}.night-object i{display:grid;place-items:center;width:28px;height:28px;border:1px solid #d2dfa9aa;border-radius:50%;background:#0b150a99;font:10px "IBM Plex Mono",monospace;font-style:normal;box-shadow:0 0 0 6px #cce1a60a}.night-object span{background:#0b100ce8;padding:5px 9px;border-left:1px solid #a4bd7e;font-size:10px;opacity:.8}.night-object:hover span,.night-object:focus-visible span{opacity:1}.night-object:hover i{background:#9eb57a;color:#18200e}.night-object[data-item=phone]{left:12%;top:75%}.night-object[data-item=tuner]{left:48%;top:80%}.night-object[data-item=tape]{left:84%;top:74%}.night-object[data-item=glass]{left:49%;top:40%}.night-object[data-item=door]{left:93%;top:37%}.night-object[data-item=lamp]{left:6%;top:45%}
.night-ghost{position:absolute;pointer-events:none;opacity:0;transition:opacity 3s;filter:blur(1px);z-index:1;mix-blend-mode:multiply}.night-ghost svg{width:100%;height:100%;fill:#020605}.night-ghost.wife{left:48%;top:24%;width:7%;height:34%;filter:blur(.8px)}.night-ghost.visitor{left:88%;top:16%;width:8%;height:45%;filter:blur(3px)}.night-ghost.crowd{left:18%;top:25%;width:46%;height:34%}.night-world.has-crowd .crowd{opacity:.86}.night-world.has-wife .wife{opacity:.94}.night-world.has-visitor .visitor{opacity:.85}.night-glass-mist{position:absolute;left:30%;top:26%;width:31%;height:26%;background:radial-gradient(ellipse,#a0b9ac18,transparent 65%);opacity:0;transition:opacity 4s;pointer-events:none}.has-wife .night-glass-mist{opacity:1}.night-air-glow{position:absolute;left:39.3%;top:3.6%;width:4.5%;height:6%;background:#f8411c;filter:blur(17px);border-radius:50%;opacity:0;transition:opacity 2s;pointer-events:none}.night-room[data-phase=playing] .night-air-glow{opacity:.35}
.night-task{position:absolute;top:134px;left:32px;z-index:6;max-width:330px;pointer-events:none}.night-task .mono{font-size:8px;letter-spacing:2px;color:#c4d69c}.night-task p{font-size:13px;line-height:1.7;margin:8px 0;color:#e0e2ce;text-shadow:0 2px 10px #000}.night-checks{display:flex;gap:5px;margin-top:12px}.night-checks i{display:block;width:28px;height:2px;background:#b9ce9633}.night-checks i.done{background:#c5dca2}
.night-bottom{position:absolute;bottom:0;left:0;right:0;padding:24px 32px 27px;z-index:6;display:grid;grid-template-columns:1fr minmax(260px,380px) 1fr;gap:26px;align-items:end;pointer-events:none}.night-bottom button,.night-bottom input{pointer-events:auto}.night-views{display:flex;gap:5px;flex-wrap:wrap}.night-views button{background:#0b120da3;color:#bac6a8;border:1px solid #9eb58044;padding:9px 12px;font-size:10px;min-height:40px}.night-views button[aria-pressed=true]{border-color:#aabf85;color:#e7efda;background:#293221ad}.night-help{font-size:9px;color:#a5af99;margin:10px 0 0;line-height:1.6}.night-control{text-align:center}.night-control>button{width:100%;border:1px solid #d3e6ab;background:#c0d69a;color:#1b2514;padding:15px;font-size:13px;font-weight:500;box-shadow:0 0 40px #0b0e0888;min-height:50px}.night-control>button:disabled{background:#263121;color:#a7b398;border-color:#6a785a;cursor:default}.night-call-caption{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:9px;font-size:9px;color:#d3d9bf}.night-call-caption span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.night-progress{height:2px;background:#82936e44;margin:9px 0 0;overflow:hidden}.night-progress i{display:block;height:100%;background:#b9d396;transform-origin:left;transform:scaleX(0)}.night-volume{display:flex;align-items:center;justify-content:flex-end;gap:10px;font-size:10px;color:#b6c4a3}.night-volume input{width:88px;accent-color:#bdd596}.night-note{text-align:right;font-size:9px;line-height:1.7;color:#8e9a7d;margin-top:10px}.night-look-buttons{display:flex;gap:5px;justify-content:flex-end;margin-bottom:13px}.night-look-buttons button{border:1px solid #8da67455;background:#0c130cc4;color:#cbdab2;min-width:40px;min-height:36px}
.night-notice{position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);z-index:7;background:#0c120ce8;border:1px solid #7f93624d;color:#dce4c8;padding:12px 20px;font-size:13px;text-align:center;max-width:min(420px,85%);pointer-events:none;opacity:0;transition:opacity .5s}.night-notice.visible{opacity:1}
.night-inspect{position:absolute;top:125px;right:32px;width:min(340px,calc(100% - 40px));max-height:calc(100% - 310px);overflow:auto;background:linear-gradient(135deg,#1b2419f7,#0e160ff5);border:1px solid #7d90604d;box-shadow:0 14px 70px #0008;padding:25px;z-index:8;backdrop-filter:blur(15px)}.night-inspect .eyebrow{margin:0 25px 15px 0;font-size:8px;letter-spacing:2px;color:#a9bd87}.night-inspect h3{font-size:22px;margin:0 0 12px;font-weight:500;line-height:1.4}.night-inspect p{font-size:12px;line-height:1.8;color:#aebba0;margin:10px 0}.night-inspect .night-inspect-close{position:absolute;right:13px;top:10px;background:none;border:0;color:#c4d3b3;font-size:24px;padding:4px 8px}.night-inspect input[type=range]{width:100%;accent-color:#bdd898;margin:16px 0}.night-inspect button:not(.night-inspect-close){border:1px solid #8da37488;background:#293721;color:#d5e3bd;padding:12px;width:100%;font-size:12px;margin-top:12px;min-height:44px}.night-inspect button.primary{background:#b7ce90;color:#17200e}.night-fm{font:42px "IBM Plex Mono",monospace;color:#e2ba80;margin:18px 0 4px}.night-fm small{font-size:12px}.night-dial{height:25px;background:repeating-linear-gradient(90deg,#c3c397 0 1px,transparent 1px 14px);mask-image:linear-gradient(transparent,#000)}.night-tape{margin:20px 0;padding:18px;border:2px solid #635e44;border-radius:8px;background:#3c3d2a}.night-tape-label{font-size:11px;color:#343926;background:#d3cca8;text-align:center;padding:5px}.night-tape-reels{display:flex;justify-content:space-around;padding:17px 0 5px}.night-tape-reels i{width:35px;height:35px;border:7px dashed #b0b69b;border-radius:50%}.night-tape.is-recording .night-tape-reels i{animation:night-reel 5s linear infinite}@keyframes night-reel{to{transform:rotate(360deg)}}
.night-end{position:absolute;inset:0;z-index:10;background:linear-gradient(90deg,#080d08ef,#0a0f0ade);overflow:auto;display:flex;align-items:center;justify-content:center;padding:50px 24px;backdrop-filter:blur(5px)}.night-end-content{max-width:600px;text-align:center;width:100%}.night-end .eyebrow{font-size:9px;color:#b6c696;letter-spacing:2px}.night-end h2{font-size:clamp(28px,5vw,52px);font-weight:500;line-height:1.35;margin:20px 0}.night-end p{font-size:15px;line-height:1.9;color:#c1cab2}.night-end .night-ending-detail{font-size:11px;color:#91a17c;margin:22px 0}.night-decision{display:grid;gap:10px;margin:28px auto 0;max-width:360px}.night-decision button,.night-end-links a,.night-end-links button{display:block;font-size:13px;padding:14px;border:1px solid #79965b;background:#1b2719;color:#d5e5bd;text-decoration:none;min-height:48px}.night-decision button:first-child,.night-end-links a{background:#bed799;color:#192511}.night-end-links{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:28px}.night-end .night-end-dismiss{margin-top:24px;background:none;border:0;color:#b7c5a2;font-size:12px;text-decoration:underline;text-underline-offset:5px}.night-loaded{position:absolute;inset:0;background:#090d09;display:grid;place-content:center;z-index:15;text-align:center;padding:30px}.night-loaded p{font-size:14px;color:#c3d2ad}.night-loaded .mono{font-size:10px;letter-spacing:3px;color:#82936c}
.night-room.night-reduced .night-world{will-change:auto}.night-room.night-reduced *{animation:none!important;transition:none!important}.night-room.night-reduced .night-scan{display:none}
.night-ghost{mask-image:linear-gradient(#0009 0%,#000 24%,#000 70%,transparent 100%);filter:blur(2px)}.night-world.has-crowd .crowd{opacity:.5}.night-world.has-wife .wife{opacity:.6}.night-world.has-visitor .visitor{opacity:.5}
.intro-actions:has([data-night-open]){flex-wrap:wrap}
@media(max-width:600px){.night-object[data-item=phone],.night-object[data-item=tape]{top:64%}.night-object[data-item=tuner]{top:65%}}
@media(max-width:800px){.night-top{padding:18px 20px}.night-title{font-size:16px}.night-title small{font-size:10px}.night-top-actions{gap:5px}.night-clock{margin:0;font-size:11px;gap:7px}.night-top-actions button{padding:8px 11px}.night-switch{position:absolute;right:20px;top:76px;padding:7px;font-size:9px;min-height:32px}.night-task{left:20px;top:128px;max-width:225px}.night-task p{font-size:12px}.night-bottom{grid-template-columns:1fr 1.1fr;gap:15px;padding:20px}.night-control{grid-column:1/-1;grid-row:1;margin:0 auto;width:min(380px,100%)}.night-help{font-size:8px}.night-views button{font-size:9px;padding:7px 10px}.night-note{display:none}.night-look-buttons{margin-bottom:8px}.night-inspect{right:20px;top:124px;padding:20px;max-height:calc(100% - 340px)}.night-notice{top:43%;font-size:12px}.night-object span{font-size:10px}.night-volume input{width:70px}}
@media(max-width:480px){.night-top{padding:16px}.night-brand{font-size:7px;letter-spacing:1.3px}.night-title{font-size:14px;max-width:210px}.night-title small{font-size:9px}.night-clock{position:absolute;left:16px;top:91px}.night-top-actions button{font-size:10px;min-height:34px;padding:6px 10px}.night-switch{right:16px;top:87px}.night-task{top:137px;left:16px;max-width:220px}.night-task .mono{font-size:7px}.night-task p{font-size:11px}.night-bottom{padding:14px 16px 18px;gap:12px}.night-views{gap:4px}.night-views button{padding:7px 8px;font-size:9px;min-height:36px}.night-help{max-width:190px}.night-inspect{top:129px;right:16px;width:calc(100% - 32px);max-height:calc(100% - 347px)}.night-end{padding:32px 22px}.night-end h2{font-size:32px}.night-end p{font-size:14px}.night-control>button{padding:12px}.night-call-caption{font-size:8px}.night-object i{width:26px;height:26px}.night-volume{font-size:9px}.night-end-links{display:grid}}
@media(max-height:560px) and (min-width:600px){.night-top{padding:13px 20px}.night-title small{display:none}.night-task{top:92px;left:20px;max-width:220px}.night-bottom{grid-template-columns:1fr 280px 1fr;gap:20px;padding:14px 20px}.night-control{grid-column:auto;grid-row:auto}.night-help,.night-note,.night-checks{display:none}.night-inspect{top:82px;max-height:calc(100% - 207px)}.night-switch{position:static}.night-title{font-size:14px}.night-end{padding:20px}.night-end h2{margin:5px 0}.night-decision{grid-template-columns:repeat(3,1fr);max-width:600px;margin-top:10px}.night-end p{margin:5px 0}}

/* The second call has its own room imagery, without the first caller's wife. */
.night-story-picker{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 9px;color:#bfcea9;font-size:10px;pointer-events:auto;text-align:left}
.night-story-picker select{min-width:0;max-width:70%;min-height:38px;padding:7px 20px 7px 9px;border:1px solid #74875d;background:#111a10;color:#e4ecd5;font:11px Anuphan,sans-serif;cursor:pointer;pointer-events:auto}
.night-fallback{pointer-events:auto;color:#bdcaaa;font-size:10px;text-align:left;margin-top:7px}.night-fallback summary{cursor:pointer;min-height:24px;padding:4px 0}.night-fallback audio{display:block;width:100%;height:34px;margin-top:5px;pointer-events:auto}
.night-hand{position:absolute;left:46%;top:31%;width:7%;height:18%;opacity:0;pointer-events:none;transition:opacity 2s;filter:blur(1px);mix-blend-mode:multiply}.night-hand svg{width:100%;height:100%;fill:#020605}.night-world.has-hand .night-hand{opacity:.7}.night-world.has-rain .night-glass-mist{opacity:1}.night-world.at-temple .night-hand{opacity:0}
.night-room[data-story="mue-nai-ta-khong"] .night-ghost{display:none}
.night-world.has-rain:not(.is-dim):not(.is-dawn){--room-light:.88}
@media(max-width:800px){.night-control{width:min(410px,100%)}.night-story-picker{font-size:9px}.night-story-picker select{font-size:10px}}
@media(max-width:480px){.night-story-picker{gap:6px}.night-story-picker select{max-width:68%;padding-right:12px}}
@media(max-height:560px) and (min-width:600px){.night-story-picker{font-size:8px;gap:4px}.night-story-picker select{font-size:9px;min-height:31px;padding:4px}.night-call-caption{margin-bottom:5px}.night-fallback{margin-top:2px}}
