/* The corner control is quiet; burn/glass effects are opt-in. */
#night-switch{position:relative;z-index:190;display:grid;place-items:center;width:44px;height:44px;padding:10px;border:1px solid color-mix(in srgb,var(--muted) 25%,transparent);border-radius:7px;background:color-mix(in srgb,var(--bg) 88%,transparent);color:var(--muted);cursor:pointer;user-select:none;transition:color .2s,border-color .2s,box-shadow .2s}
#night-switch svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
#night-switch:hover,#night-switch:focus-visible{color:#ef6d6d;border-color:#9b404b;box-shadow:0 0 22px #b4213325}
#night-switch[aria-pressed="true"]{color:#ff777d;border-color:#943a43;background:#190d11;box-shadow:inset 0 0 12px #bc243315,0 0 24px #c51f3520}
#night-switch .night-switch-label{position:absolute;right:54px;width:max-content;max-width:min(230px,calc(100vw - 90px));padding:6px 10px;border:1px solid #ffffff20;border-radius:11px;background:linear-gradient(135deg,#ffffff09,#ffffff02),color-mix(in srgb,var(--bg) 42%,transparent);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:inset 0 1px 0 #ffffff0a,0 6px 22px #0003;color:var(--text);font:11px/1.5 Consolas,monospace;visibility:hidden;opacity:0;transform:translateX(4px);pointer-events:none;transition:opacity .2s,transform .2s}
#night-switch:is(:hover,:focus-visible) .night-switch-label{visibility:visible;opacity:1;transform:none}
.night-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.night-whisper[hidden]{display:none}
.night-whisper{display:block;text-align:right;justify-self:end;width:max-content;max-width:100%;margin:12px 0 22px;padding:0;border:0;background:none;color:#cc838a;font:11px/1.6 Consolas,monospace;letter-spacing:.07em;cursor:pointer}
.night-whisper:hover{color:#ffb2b6}
html[data-night-mode="on"]{--palette-hue:0!important;color-scheme:dark}
html[data-night-mode="on"] body{--bg:#0e090d;--surface:#181015;--surface-raised:#24171d;--text:#f3e8e9;--muted:#b3a0a6;--faint:#96828a;--line:#3b262e;--accent:#ee858b!important;--selection-bg:#94273b66;--heading-selection-bg:#94273b33;background:radial-gradient(ellipse 850px 620px at 88% 4%,#67121e20,transparent 75%),radial-gradient(ellipse 700px 850px at 6% 50%,#41152a10,transparent 76%),radial-gradient(ellipse at 50% 8%,transparent 24%,#00000030 100%),var(--bg)!important}
html[data-night-mode="on"] .home-hero h1 em{background-image:linear-gradient(108deg,#ffd9d5 0%,#f1767b 45%,#bd3450 100%)!important}
html[data-night-mode="on"] .home-hero h1{text-shadow:0 0 60px #a7243614}
html[data-night-mode="on"] .hero-orbit{filter:drop-shadow(0 0 20px #c2234230)}
html[data-night-mode="on"] .signature-light{background:#ef5c69;box-shadow:0 0 10px #d83a4b66}
html[data-night-mode="on"] .project-card-backdrop img{filter:saturate(.55) brightness(.8)}
html[data-night-mode="on"] .night-palette-paused,html[data-night-mode="on"] .topbar #theme:disabled{opacity:.4}
html[data-night-mode="on"] .night-palette-paused::after{content:'⊘';color:var(--muted);font:10px/1 Consolas,monospace}
html[data-night-mode="on"] .hero-margin-note{color:var(--muted)}

/* Align the normal entry with the footer counter; keep the night exit in reach. */
html.has-night-entry body{position:relative}
.night-entry{position:absolute;top:var(--night-entry-y,0px);bottom:auto;right:max(18px,env(safe-area-inset-right));transform:translateY(-50%);z-index:190}
html[data-night-mode="on"] .night-entry{position:absolute;top:var(--night-entry-y,0px);bottom:auto}
.night-number{font:600 12px/1 Consolas,monospace;letter-spacing:.04em}
html[data-theme="light"] #night-switch .night-switch-label{background:linear-gradient(135deg,#ffffff55,#ffffff18),#ffffff38;border-color:#ffffffb0;box-shadow:inset 0 1px #fff8,0 5px 20px #291d3420}
.night-heatwave{position:fixed;inset:0;width:100%;height:100%;z-index:2147483646;pointer-events:none;contain:strict}
html.night-scroll-locked{overflow:hidden!important;scrollbar-gutter:stable;overscroll-behavior:none;scroll-behavior:auto!important}
html.night-scroll-locked body{overscroll-behavior:none;touch-action:none}
html.night-burning body *,html.night-burning body *::before,html.night-burning body *::after{animation-play-state:paused!important}
.night-archive[hidden]{display:none}
.night-archive{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin:-10px 0 18px;color:#a07570;font:10px/1.5 Consolas,monospace;letter-spacing:.06em}
.night-redaction{position:relative;padding:3px 11px;min-width:74px;border:1px solid #67251e;border-radius:1px;background:#080606;color:#fedda5;font:11px/1.5 Consolas,monospace;cursor:pointer;box-shadow:0 1px #c44925,inset 0 -3px 7px #9d321535}
.night-redaction::before{content:'';position:absolute;inset:0;background:#050505;clip-path:polygon(0 8%,8% 3%,14% 10%,28% 0,42% 8%,62% 3%,78% 10%,93% 0,100% 7%,98% 96%,89% 87%,72% 100%,63% 90%,45% 100%,30% 92%,12% 100%,0 90%);pointer-events:none;transition:opacity .2s}
.night-redaction:hover::before,.night-redaction:focus-visible::before,.night-redaction[aria-pressed="true"]::before{opacity:0}
.night-redaction-word{text-shadow:0 0 8px #fd632755}
.night-cinder-bed{position:absolute;left:2px;right:2px;bottom:-1px;height:4px;pointer-events:none;background:linear-gradient(90deg,#f34c0010,#ff893aaa 18%,#92250522 37%,#ffc06877 58%,#fa481644 80%,#77280d22);border-radius:50%}
.night-cinder-bed i{position:absolute;bottom:0;width:3px;height:9px;background:linear-gradient(0deg,#ffb541,#ff3514 65%,#f0251400);border-radius:80% 5% 60% 20%;opacity:.65;transform-origin:50% 100%;animation:night-coal 1900ms ease-in-out infinite alternate;animation-play-state:paused}
.night-cinder-bed i:nth-child(1){left:8%;animation-delay:-500ms}.night-cinder-bed i:nth-child(2){left:27%;height:5px;animation-delay:-1200ms}.night-cinder-bed i:nth-child(3){left:48%;animation-delay:-800ms}.night-cinder-bed i:nth-child(4){left:68%;height:6px;animation-delay:-1500ms}.night-cinder-bed i:nth-child(5){left:88%;height:4px;animation-delay:-400ms}
.night-redaction[data-glowing="true"] .night-cinder-bed i{animation-play-state:running}
@keyframes night-coal{from{transform:translateY(0) scaleY(.5) rotate(-14deg);opacity:.35}to{transform:translateY(-2px) scaleY(1.25) rotate(13deg);opacity:.95}}
.night-brand-flame{display:none}
html[data-night-mode="on"] .brand-spark{position:relative}
html[data-night-mode="on"] .brand-spark>svg:not(.night-brand-flame){visibility:hidden}
html[data-night-mode="on"] .brand-spark>.night-brand-flame{display:block;position:absolute;width:15px;height:20px;left:50%;top:50%;margin:-10px 0 0 -7.5px;transform:none!important;animation:none!important;filter:none}
.night-glass{--night-legacy-corner:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 200' preserveAspectRatio='none'%3E%3Cpath d='M0 0 108 0 71 26 57 24 26 55 0 61Z' fill='%2308070b'/%3E%3Cpath d='M0 62 27 56 58 25 72 27 110 0' fill='none' stroke='%23a6b2bc' stroke-opacity='.28' stroke-width='.65'/%3E%3C/svg%3E");display:none;position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--night-legacy-corner) center/100% 100% no-repeat,url('/night-glass.svg?v=cover-edge-7') center/100% 100% no-repeat;border-radius:inherit}
html[data-night-mode="on"] .night-glass{display:block}
.listening-card>.night-glass{bottom:auto;height:190px;max-height:100%;background-image:url('/night-glass.svg?v=glass-grain-1');background-size:max(760px,100%) 190px;background-position:center top;mask-image:linear-gradient(#000 75%,transparent);-webkit-mask-image:linear-gradient(#000 75%,transparent)}
/* Keep the listening layout unchanged when switching night effects. */
/* Smoked glass dims the artwork wash, while type and album art stay crisp. */
html[data-night-mode="on"] .listening-card::before{opacity:.1}
html[data-night-mode="on"] .listening-card[data-has-cover="true"]::before{opacity:.2}
html[data-night-mode="on"] .listening-card::after{opacity:.065}
/* Cover-relative angular cut, plus a small lower-right chip; no input layer. */
.night-cover-chip{display:none;position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none}
html[data-night-mode="on"] .night-cover-chip{display:block}
/* Small players have an independent corner fracture and a local LCD fault. */
html[data-night-mode="on"] .music-mini::before{background:linear-gradient(120deg,#0c0b10cc,#161019ba)}
html[data-night-mode="on"] .music-mini::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('/night-mini-glass.svg?v=glass-grain-1') left top/400px 180px no-repeat;border-radius:inherit;opacity:.95}
.music-history-feature>.night-glass{background-image:url('/night-mini-glass.svg?v=glass-grain-1');background-size:400px 180px;background-position:right top;transform:scaleX(-1);opacity:.55}
.night-matrix-scar{--fault-a:16%;--fault-b:35%;--fault-c:59%;--fault-column:4px;--fault-scan:3px;--fault-width:80px;--fault-height:63px;display:none;position:absolute;left:0;top:0;width:min(var(--fault-width),40%);height:var(--fault-height);z-index:1;pointer-events:none;contain:paint;clip-path:polygon(0 0,100% 0,85% 18%,86% 27%,58% 37%,62% 46%,35% 59%,37% 72%,14% 81%,18% 92%,0 100%)}
html[data-night-mode="on"] .night-matrix-scar{display:block}
.music-mini>.night-matrix-scar{width:calc(var(--fault-width) + 10px);height:calc(var(--fault-height) + 6px)}
.music-history-feature>.night-matrix-scar{right:auto;background:#08090e;transform:none}
.music-history-feature>.night-matrix-scar::before{background-color:#101219;background-image:linear-gradient(90deg,#42444955,transparent 12%,#98ac7770 13% 15%,#13101e90 15% var(--fault-a),#b77dd3ba var(--fault-a) calc(var(--fault-a) + 2%),#10111b55 calc(var(--fault-a) + 2%) var(--fault-b),#a7bc80aa var(--fault-b) calc(var(--fault-b) + 3%),#9469b0aa calc(var(--fault-b) + 3%) calc(var(--fault-b) + 5%),#24282e88 calc(var(--fault-b) + 5%) var(--fault-c),#bd91d5a0 var(--fault-c) calc(var(--fault-c) + 2%),#3a3f4277 calc(var(--fault-c) + 2%) 100%),repeating-linear-gradient(0deg,#03050b77 0 1px,#bfa6c540 1px 2px,transparent 2px var(--fault-scan))}
.night-matrix-scar::before,.night-matrix-scar::after{content:'';position:absolute;inset:0;pointer-events:none}
.night-matrix-scar::before{opacity:.86;background:linear-gradient(90deg,#030408e8 0 9%,#82966c75 9% 11%,#21182890 11% var(--fault-a),#c777e5c9 var(--fault-a) calc(var(--fault-a) + 2%),#070810a0 calc(var(--fault-a) + 2%) var(--fault-b),#9ec17799 var(--fault-b) calc(var(--fault-b) + 4%),#9560bdaa calc(var(--fault-b) + 4%) calc(var(--fault-b) + 6%),#08070b40 calc(var(--fault-b) + 6%) var(--fault-c),#a8cd8988 var(--fault-c) calc(var(--fault-c) + 2%),transparent calc(var(--fault-c) + 2%)),repeating-linear-gradient(0deg,#05050c33 0 1px,#c992dc38 1px 2px,transparent 2px var(--fault-scan));border-top:1px solid #a6c58844}
.night-matrix-scar::after{opacity:.18;background:linear-gradient(90deg,#a9d87e80 0 var(--fault-a),transparent var(--fault-a) var(--fault-b),#c884eab0 var(--fault-b) var(--fault-c),transparent var(--fault-c)),repeating-linear-gradient(90deg,#bd74d778 0 1px,transparent 1px var(--fault-column));background-size:100% 2px,100% 100%;background-repeat:repeat-y,no-repeat;transform-origin:top left;animation:night-panel-fault var(--fault-period,13.8s) steps(1,end) infinite;animation-delay:var(--fault-delay,0s);animation-play-state:paused}
.night-matrix-scar[data-glitch="true"]::after{animation-play-state:running}
.music-mini.is-dragging>.night-matrix-scar::after{animation-play-state:paused}
.music-mini-heading,.music-mini-controls,.music-mini-seek{position:relative;z-index:2}
@keyframes night-panel-fault{0%,89%,95%,100%{opacity:.18;transform:none}89.4%{opacity:.65;transform:translateX(1px)}89.8%{opacity:.28;transform:translateX(-1px)}90.2%{opacity:.58;transform:translate(1px,1px)}90.5%{opacity:.18;transform:none}93.3%{opacity:.4;transform:translateY(-1px)}93.6%{opacity:.18;transform:none}}
@media(prefers-reduced-motion:reduce){.night-matrix-scar::after{animation:none;transform:none;opacity:.18}}
/* A quiet idle orbit becomes fractured metal/glass only after a night click. */
.night-shard-tumble{transform-box:fill-box;transform-origin:50% 50%}
.night-star-echo{display:none;position:absolute;inset:0;pointer-events:none;transform-origin:50% 50%;z-index:2}
.night-star-echo-mark{position:absolute;top:10%;left:80.5%;width:52px;height:52px;display:flex;align-items:center;justify-content:center;transform:translate(-50%,-50%);opacity:0}
.night-star-echo-mark svg{width:22px;height:22px;fill:#d89c85;overflow:visible}
html[data-night-mode="on"] .night-star-haunted .night-star-echo{display:block}
html[data-night-mode="on"] #orbit .orbit-sway{animation:none;transform:rotate(-22deg)}
html[data-night-mode="on"] #orbit[data-night-orbit="charging"] .orbit-particle{opacity:.3}
html[data-night-mode="on"] #orbit.night-star-haunted #orbit-star{color:#e8bda7;filter:none;background:none}
html[data-night-mode="on"] #orbit :is(#orbit-star,#orbit-ellipse)[data-night-bound="true"]{cursor:default}
@media(max-width:680px){
 /* Added night copy gets its own space; the orbit stays in normal flow. */
 html[data-night-mode="on"] .home-page .home-hero{display:grid;grid-template-columns:minmax(0,1fr)}
 html[data-night-mode="on"] .home-page .hero-signature{order:0}
 html[data-night-mode="on"] .home-page .night-whisper{order:1}
 html[data-night-mode="on"] .home-page .night-archive{order:2}
 html[data-night-mode="on"] .home-page .hero-orbit{position:relative;top:auto;right:auto;left:auto;transform:none;width:112px;height:112px;margin:28px auto 35px;flex:none}
 html[data-night-mode="on"] .home-page .hero-orbit{order:3}
 html[data-night-mode="on"] .home-page .home-hero h1{order:4;margin-top:0;height:auto!important}
 html[data-night-mode="on"] .home-page .hero-bottom{order:5}
 html[data-night-mode="on"] .home-page .night-whisper{margin-bottom:20px;max-width:100%;justify-self:end;text-align:right}
 html[data-night-mode="on"] .home-page .night-archive{margin-top:0;margin-bottom:0;gap:9px}
 .night-star-echo-mark{width:48px;height:48px}
}
@media(max-width:600px){.night-entry{right:max(12px,env(safe-area-inset-right))}.night-whisper{max-width:90%;letter-spacing:.025em}.night-file-state{font-size:9px}.night-glass{background-size:auto 100%}}
@media(prefers-reduced-motion:reduce){#night-switch,#night-switch .night-switch-label,.night-redaction::before{transition:none}.night-cinder-bed i{animation:none}}

/* Five one-shot anomalies retain a familiar half-second lead-in. */
.night-star-splinters{display:none;position:absolute;inset:0;width:100%!important;height:100%!important;pointer-events:none;overflow:visible}
.night-star-splinter{transform-box:fill-box;transform-origin:center;fill:#bc8379;stroke:#20131b;stroke-width:.35;opacity:0}
html[data-night-mode="on"] #orbit[data-night-star="breach"] .night-star-splinters{display:block}
html[data-night-mode="on"] #orbit[data-night-star="corrupt"] #orbit-star{color:#c2606a}
.home-page #orbit-star svg .night-star-wave{fill:none;stroke:#d68a87;stroke-width:.55;opacity:0;pointer-events:none}
.home-page #orbit-star svg .night-star-void{fill:#0b080d;stroke:#b46678;stroke-width:.7;opacity:0;pointer-events:none}
.home-page #orbit-star svg .night-star-splinter path{fill:#bd8983;stroke:#20131b;stroke-width:.35;stroke-linejoin:bevel}
.home-page #orbit[data-night-star-variant="nova"] #orbit-star svg .night-star-wave{stroke:#e2b7a1}
.home-page #orbit[data-night-star-variant="signal"] #orbit-star svg .night-star-wave{stroke:#a996bd}

/* Preserve font shaping, word wrapping and the existing gradient during arrival. */
html[data-night-mode="on"] .home-hero h1{height:auto!important}
html.night-copy-arriving .home-hero h1 em .hero-shimmer::after{animation:none!important;opacity:0!important}


/* Line orbit scenes: unfilled arcs; finite camera films and two distinct breaks. */
html[data-night-mode="on"] .home-page #orbit{filter:none}
.night-orbit-fragments{display:none;position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;transform:rotate(-22deg)}
.night-planet-camera,.night-oval-field,.night-circle-field,.night-orbit-trace{transform-box:view-box;transform-origin:100px 100px}
.night-orbit-line{fill:none;stroke:#c58b95;stroke-width:.9;stroke-opacity:.7;stroke-linecap:butt}
.night-orbit-trace{fill:none;stroke:#ba8194;stroke-width:.7;stroke-opacity:.75;opacity:0}
.night-star-wave,.night-star-void,.night-star-splinter path{transform-box:fill-box;transform-origin:center}
html[data-night-mode="on"] #orbit:is([data-night-orbit="corrupt"],[data-night-orbit="fracturing"],[data-night-orbit="broken"],[data-night-orbit="gone"],[data-night-orbit="echo"]) :is(.orbit-ring,.orbit-particle){visibility:hidden}
html[data-night-mode="on"] #orbit:is([data-night-orbit="corrupt"],[data-night-orbit="fracturing"],[data-night-orbit="broken"],[data-night-orbit="echo"]) .night-orbit-fragments{display:block}

/* Main player: two narrow damaged LCD columns, anchored to the actual cover. */
.night-player-lines{display:none;position:absolute;inset:0;z-index:3;pointer-events:none;border-radius:inherit;overflow:hidden}
html[data-night-mode="on"] .night-player-lines{display:block}
.night-player-lines>i{position:absolute;display:block;pointer-events:none}
.night-player-line-left{left:var(--matrix-line-x,50px);top:var(--matrix-line-y,66px);bottom:1px;width:4px;background:repeating-linear-gradient(0deg,#11102040 0 1px,transparent 1px 4px),linear-gradient(90deg,#bb7edf 0 24%,#dfb3f4 24% 38%,#745284 38% 50%,#a2edb5 50% 80%,#daf5e5 80% 92%,#77cfa0 92%);box-shadow:-1px 0 2px #b77ddb40,1px 0 2px #8addac38;mask-image:linear-gradient(transparent,#000 3px,#000 calc(100% - 7px),transparent);-webkit-mask-image:linear-gradient(transparent,#000 3px,#000 calc(100% - 7px),transparent)}
.night-player-line-right{right:.5px;top:2px;bottom:13px;width:3px;background:repeating-linear-gradient(0deg,#20122255 0 1px,transparent 1px 5px),linear-gradient(90deg,#a375d6 0 32%,#ceb0ef 32% 47%,#f0b0cd 47% 65%,#da84b4 65% 87%,#aa659e 87%);box-shadow:-1px 0 2px #cf93d94d;mask-image:linear-gradient(transparent,#000 8px,#000 calc(100% - 5px),transparent);-webkit-mask-image:linear-gradient(transparent,#000 8px,#000 calc(100% - 5px),transparent)}

/* The pressed control is consumed before scroll locking can relocate it. */
html.night-burning #night-switch{visibility:hidden!important}

/* Smudged blood points to a quiet eye at the document foot. */
.night-entry{transform:translateY(-50%)}
#night-switch,#night-switch:hover,#night-switch:focus-visible,#night-switch[aria-pressed="true"]{padding:0;border:0;border-radius:50%;background:none;box-shadow:none;color:#a88d95;isolation:isolate}
#night-switch .night-switch-label{display:none}
#night-switch .night-portal-halo{position:absolute;inset:0;width:44px;height:44px;overflow:visible;stroke:none;transition:filter .5s;filter:drop-shadow(0 0 4px #a9324430)}
#night-switch .night-portal-rim{fill:none;stroke:#ac8994;stroke-width:.65;opacity:.52;transform-origin:22px 22px;transition:stroke .55s,opacity .55s,transform .55s}
#night-switch .night-portal-glow{opacity:.25;transition:opacity .7s}
#night-switch .night-portal-lid{fill:#2c102019;stroke:#a6576b;stroke-width:.7;opacity:.25;transform-origin:22px 22px;transform:scaleY(.12);transition:transform .65s cubic-bezier(.2,.75,.25,1),opacity .55s,fill .6s}
#night-switch .night-portal-eye{opacity:0;transform-origin:22px 22px;transform:scale(.75,.14);transition:transform .65s cubic-bezier(.2,.75,.25,1),opacity .5s}
#night-switch .night-portal-iris{fill:#632237;stroke:#c8788d;stroke-width:.7}
#night-switch .night-portal-pupil{fill:#12080e;stroke:#d0849628;stroke-width:.4}
#night-switch .night-portal-reflection{fill:#f1c9d3;opacity:.5}
#night-switch .night-portal-arrow{position:absolute;right:35px;bottom:18px;width:85px;height:53px;overflow:visible;fill:none;stroke:#a03a4b;stroke-linejoin:round;stroke-linecap:round;opacity:.8;pointer-events:none;transition:stroke .55s,opacity .55s}
#night-switch .night-blood-mist{stroke-width:6;opacity:.35;filter:url(#nightBloodBlur)}
#night-switch .night-blood-smear{stroke-width:2.8;opacity:.75;filter:url(#nightBloodGrain)}
#night-switch .night-blood-specks{stroke:none;fill:#a53c4d;opacity:.45}
#night-switch:is(:hover,:focus-visible) .night-portal-halo{filter:drop-shadow(0 0 8px #8f1e384d)}
#night-switch:is(:hover,:focus-visible) .night-portal-rim{stroke:#c77089;opacity:.22;transform:scale(.95,.85)}
#night-switch:is(:hover,:focus-visible) .night-portal-lid{transform:scaleY(1);opacity:.85;fill:#6c173332}
#night-switch:is(:hover,:focus-visible) .night-portal-eye{opacity:1;transform:scale(1)}
#night-switch:is(:hover,:focus-visible) .night-portal-glow{opacity:.8}
#night-switch:is(:hover,:focus-visible) .night-portal-arrow{stroke:#b7475c;opacity:.9}
#night-switch:focus-visible{outline:1px solid #bd728654;outline-offset:5px}
html[data-theme="light"] #night-switch .night-portal-rim{stroke:#8b4557}
html[data-night-mode="on"] .night-entry{display:none!important}
@media(max-width:600px){.night-entry{transform:translateY(-50%)}#night-switch .night-portal-arrow{display:none}#night-switch::before{content:'';position:absolute;left:12px;top:-31px;width:20px;height:31px;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 34'%3E%3Cdefs%3E%3Cfilter id='b'%3E%3CfeGaussianBlur stdDeviation='.9'/%3E%3C/filter%3E%3C/defs%3E%3Cpath d='M7 2Q11 10 9 16T11 31M4 23L11 31 18 22' fill='none' stroke='%239e3549' stroke-width='5' opacity='.4' filter='url(%23b)'/%3E%3Cpath d='M7 2Q11 10 9 16T11 31M4 23L11 31 18 22' fill='none' stroke='%239e3549' stroke-width='2.5' opacity='.65' stroke-linecap='round'/%3E%3C/svg%3E") center/100% 100% no-repeat;opacity:.85}}
@media(prefers-reduced-motion:reduce){#night-switch *{animation:none!important;transition:none!important}}
/* End quiet eye. */


/* The struck eye contracts in place before the glass puncture grows. */
html.night-burning #night-switch{visibility:visible!important;pointer-events:none}

/* Violent finite line rupture: restrained ink, never filled glass. */
.night-orbit-line{stroke:#d4a2a0;stroke-opacity:.88;stroke-width:.9}
.night-orbit-trace{stroke:#bc7a7b;stroke-opacity:.68}

/* Nightmare films v3: the original orbit is the material of the anomaly. */
html[data-night-mode="on"] .nightmare-orbit-v3 .night-orbit-line{stroke:#cbb2ab;stroke-opacity:.92;stroke-width:.95;fill:none}
html[data-night-mode="on"] .nightmare-orbit-v3 .night-orbit-trace{stroke:#b08b87;stroke-width:.65;stroke-opacity:.76}
.night-orbit-core{transform-box:view-box;transform-origin:100px 100px;opacity:0;pointer-events:none}
.night-orbit-pupil{fill:#0a070b;stroke:none}
.night-orbit-aperture{fill:none;stroke:#b48076;stroke-width:.6;stroke-dasharray:26 8 41 12}
.night-orbit-scar{fill:none;stroke:#bb887e;stroke-width:.6;opacity:0}
html[data-night-mode="on"] #orbit:is([data-night-orbit="charging"],[data-night-orbit="corrupt"],[data-night-orbit="fracturing"]) #orbit-ellipse{cursor:default}
html[data-night-mode="on"] #orbit.night-star-haunted .night-star-echo-mark svg{fill:#bca69f;stroke:none;opacity:.9}
html[data-night-mode="on"] #orbit.night-star-haunted .night-star-echo-mark[data-echo="1"] svg{fill:#9b6b67}
html[data-night-mode="on"] #orbit.night-star-haunted .night-star-echo-mark[data-echo="3"] svg{fill:#a8938c}
html[data-night-mode="on"] #orbit[data-night-star="consumed"] #orbit-star{visibility:hidden}
html[data-night-mode="on"] #orbit[data-night-star="consumed"] .night-star-echo{display:none}
html[data-night-mode="on"] #orbit .nightmare-star-v3 .night-star-splinter path{fill:#c0a69d;stroke:none}
html[data-night-mode="on"] #orbit .nightmare-star-v3 :is(.night-star-wave,.night-star-void){transform-box:view-box;transform-origin:20px 20px}
html[data-night-mode="on"] #orbit .nightmare-star-v3 .night-star-wave{stroke:#bf9187;stroke-width:.65;fill:none}
html[data-night-mode="on"] #orbit .nightmare-star-v3 .night-star-void{fill:#0b070a;stroke:#a07b76;stroke-width:.6}
html[data-night-mode="on"] #orbit[data-night-star-variant="eclipse"] .nightmare-star-v3 .night-star-wave{stroke-dasharray:17 5 22 7}
@media(prefers-reduced-motion:reduce){.night-orbit-core,.night-orbit-scar{display:none}}

/* Let the expanding nightmare star cross the hero boundary and fade naturally. */
html[data-night-mode="on"]:has(>body.home-page){overflow-x:clip}
html[data-night-mode="on"] .home-page .home-hero{overflow:visible}

/* The damaged screen stays scrollable between impacts. */
html.night-fractured:not(.night-burning) #night-switch{opacity:0;pointer-events:none}

/* A tap activates immediately while native vertical scrolling remains available. */
#night-switch,html.night-fractured body{touch-action:manipulation}

/* Anchor artwork while untimed lyrics grow; reveal the portal only after its row is measured. */
html[data-night-mode="on"] .listening-card>.listening-art{align-self:flex-start}
.night-entry:not([data-anchor-ready]){visibility:hidden}

/* Native text/image drag must not compete with impacts on the display. */
html.night-fractured body,html.night-fractured body *,
html.night-burning body,html.night-burning body *,
html[data-night-mode="on"] #works,html[data-night-mode="on"] #works *,
#night-switch{user-select:none;-webkit-user-select:none;-webkit-user-drag:none}

/* A static, vector-sharp remnant of the physical display survives arrival. */
.night-glass-memory{display:contents;pointer-events:none;user-select:none}
.night-glass-layer{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;user-select:none;overflow:hidden;contain:strict}
.night-glass-backdrop{z-index:0}
.night-glass-foreground{z-index:2147483000}
html:not([data-night-mode="on"]) .night-glass-memory{display:none}

/* A solid card surface occludes the background glass instead of tinting it. */
html[data-night-mode="on"] body.home-page #works :is(.work-card,.project-teaser){background-color:#0a0b0d}

/* The unreleased Nightmare copy is intentionally illegible. */
.night-demo-watermark[hidden]{display:none}
.night-demo-watermark{position:fixed;top:22px;left:50%;transform:translateX(-50%);z-index:2147482900;pointer-events:none;color:#ebe7e6b3;font:10px/1.4 Consolas,monospace;letter-spacing:.5em;text-indent:.5em;user-select:none}
html[data-night-mode="on"] .home-hero h1>span,html[data-night-mode="on"] .home-hero h1>br{display:none}
html[data-night-mode="on"] .home-hero h1 em{display:block;font-style:normal}
html[data-night-mode="on"] .night-demo-corrupted{color:#e7e4e4!important;text-shadow:none;overflow-wrap:anywhere}
html[data-night-mode="on"] [data-night-route-locked],html[data-night-mode="on"] dl>div:has(.plans-chip){display:none!important}
html[data-night-mode="on"] #works{display:none!important}
@media(max-width:600px){.night-demo-watermark{top:23px;left:auto;right:22px;transform:none;font-size:9px}}

/* Each hero element owns its area; the orbit never sits beneath the time note. */
.night-demo-watermark{font-size:17px;font-weight:600;letter-spacing:.32em;text-indent:.32em;color:#eee8e8cc;top:18px}
@media(max-width:600px){.night-demo-watermark{font-size:14px;top:20px}}
html[data-night-mode="on"] .night-palette-paused::after{content:'⊘'}
html[data-night-mode="on"] .home-page .home-hero h1{text-align:left}
html[data-night-mode="on"] .domain-link>span:first-child{display:inline-block;font-family:Consolas,monospace;white-space:nowrap;overflow:hidden;vertical-align:bottom;text-align:center}
html[data-night-mode="on"] .domain-link[data-domain-host="pmxp.fun"]>span:first-child{width:8ch}
html[data-night-mode="on"] .domain-link[data-domain-host="pmakesp.fun"]>span:first-child{width:11ch}
@media(min-width:681px){
 html[data-night-mode="on"] .home-page .home-hero{display:grid;grid-template-columns:minmax(0,1fr) 250px;column-gap:32px}
 html[data-night-mode="on"] .home-page .hero-signature{grid-column:1/-1;grid-row:1}
 html[data-night-mode="on"] .home-page .night-whisper{grid-column:1/-1;grid-row:2;align-self:start;justify-self:end;text-align:right;margin:8px 0 12px}
 html[data-night-mode="on"] .home-page .night-archive{grid-column:1;grid-row:3;align-self:start;margin:0}
 html[data-night-mode="on"] .home-page .hero-orbit{position:absolute;top:80px;right:24px;left:auto;transform:none;width:140px;height:140px;margin:0}
 html[data-night-mode="on"] .home-page .home-hero h1{grid-column:1;grid-row:4;align-self:start;height:auto!important;min-height:0;margin:24px 0}
 html[data-night-mode="on"] .home-page .hero-bottom{grid-column:1/-1;grid-row:5}
 html[data-night-mode="on"] .home-page .hero-margin-note{display:block;margin:0;align-self:flex-start;width:170px;min-width:170px;text-align:left}
}
@media(max-width:680px){
 html[data-night-mode="on"] .home-page .hero-orbit{margin:36px auto 48px;width:112px;height:112px}
 html[data-night-mode="on"] .home-page .home-hero h1{margin-bottom:30px}
 html[data-night-mode="on"] .home-page .hero-bottom{flex-direction:column;align-items:flex-start}
 html[data-night-mode="on"] .home-page .hero-margin-note{display:block;margin:16px 0 0;align-self:flex-end;width:auto;text-align:right}
}

@media(min-width:681px) and (max-width:999px){html[data-night-mode="on"] .home-page .hero-orbit{top:120px;right:45px;width:100px;height:100px}}

/* Disabled native controls keep a visible prohibition cursor on every hit area. */
html[data-night-mode="on"] :is(.palette-control,.palette-control *,#palette,#palette-reset,#palette-rgb,#theme,#theme *){cursor:not-allowed!important}
html[data-night-mode="on"] :is(#palette,#palette-reset,#palette-rgb,#theme):disabled{pointer-events:auto!important}
html[data-night-mode="on"] #palette::-webkit-slider-thumb{cursor:not-allowed!important}
html[data-night-mode="on"] #palette::-moz-range-thumb{cursor:not-allowed!important}
html[data-night-mode="on"] :is(#palette-reset,#palette-rgb,#theme):disabled:hover{transform:none;filter:none;box-shadow:none;border-color:var(--line);background:transparent}

/* Clearly marked preview, separate from the site's identity. */
.night-demo-watermark{top:16px;left:50%;right:auto;transform:translateX(-50%) rotate(-5deg);padding:6px 13px 5px;border:2px solid #bfb9b9;outline:1px dashed #bfb9b9;outline-offset:3px;background:#d7d1d1;color:#211d20;font:800 19px/1 Consolas,monospace;letter-spacing:.15em;text-shadow:none;opacity:.87;text-align:center}
.night-demo-watermark small{display:block;margin-top:4px;font:700 8px/1.1 Consolas,monospace;letter-spacing:.07em}
html[data-night-mode="on"] #palette-glass-tip,html[data-night-mode="on"] #palette-reset-glass-tip,html[data-night-mode="on"] #theme-glass-tip{display:none!important;visibility:hidden!important;pointer-events:none!important}
html[data-night-mode="on"] .night-escape-counter,html[data-night-mode="on"] .night-escape-counter *{color:#1ed760!important}
@media(max-width:600px){.night-demo-watermark{top:8px;left:auto;right:23px;transform:rotate(-5deg);font-size:16px;padding:5px 9px}.night-demo-watermark small{font-size:7px}.night-no-exit-impact strong{font-size:clamp(34px,10vw,60px)}}
@media(prefers-reduced-motion:reduce){.night-no-exit-impact strong{transform:none!important;text-shadow:none}}

/* Six finite intrusions with abrupt impacts, finite fragments and a readable Rush silhouette. */
.night-no-exit-v5{position:fixed;inset:0;z-index:2147483200;display:block;overflow:hidden;pointer-events:none;background:#020203;color:#e6deda;font-family:Consolas,'Courier New',monospace;isolation:isolate;contain:layout paint}
.night-no-exit-v5::after{content:'';position:absolute;inset:0;z-index:9;background:repeating-linear-gradient(0deg,#0000 0 3px,#0003 3px 4px);box-shadow:inset 0 0 15vw 3vw #000b;opacity:.32;pointer-events:none}
.night-no-exit-v5 .no-exit-focus{position:absolute;inset:0;z-index:6;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:27px}
.night-no-exit-v5 .no-exit-message{position:relative;margin:0;max-width:none;white-space:pre;font:900 clamp(54px,14vw,196px)/.94 Consolas,monospace;letter-spacing:-.075em;color:inherit;text-shadow:3px 0 #76152b,-2px 0 #b9a5ab;transform:none}
.night-no-exit-v5 .no-exit-message::before,.night-no-exit-v5 .no-exit-message::after{content:attr(data-copy);position:absolute;inset:0;opacity:0;color:#9a1c33;clip-path:inset(21% 0 63%);transform:translateX(-22px);pointer-events:none}
.night-no-exit-v5 .no-exit-message::after{clip-path:inset(63% 0 21%);transform:translateX(32px);color:#eee2de}
.night-no-exit-v5 .no-exit-message[data-typing="true"]::after{content:'▌';left:100%;right:auto;clip-path:none;opacity:.6;transform:none;color:#af1e37}
.night-no-exit-v5 .no-exit-whisper{min-height:1.4em;max-width:90vw;font:clamp(12px,1.35vw,19px)/1.4 Consolas,monospace;letter-spacing:.09em;color:#9d8790}
.night-no-exit-v5[data-stage="answer"] .no-exit-message{color:#fff1ea;text-shadow:0 0 3px #ff726e,0 0 18px #ff2635b0,0 0 70px #e40a3255;animation:no-exit-sign-impact 280ms linear both}
@keyframes no-exit-sign-impact{0%{transform:scale(1.16) translateX(-4px)}12%{transform:scale(.98) translateX(3px)}26%{transform:scale(1.04) translateX(-1px)}52%,100%{transform:scale(1)}}
.night-no-exit-v5[data-stage="blackout"]{background:#000}
.night-no-exit-v5[data-stage="blackout"]>:not(.no-exit-rush){visibility:hidden}
.night-no-exit-v5[data-stage="blackout"] .no-exit-rush{visibility:hidden}
/* A writer answers from the edge before breaking the entire line. */
.night-no-exit-v5[data-film="overwrite"] .no-exit-focus{align-items:center;padding:0}
.night-no-exit-v5[data-film="overwrite"][data-stage="typing"] .no-exit-message{font-size:clamp(45px,8.5vw,135px)}
.night-no-exit-v5[data-film="overwrite"][data-stage="rewrite"] .no-exit-message{font-size:clamp(32px,6.6vw,110px)}
.no-exit-writer-trace{position:absolute;left:50%;top:24vh;white-space:pre;font:900 clamp(48px,13vw,200px)/1 Consolas,monospace;letter-spacing:-.08em;color:#4b0f1d;transform:translateX(-50%) scaleY(1.6);opacity:.7}
.night-no-exit-v5[data-stage="breach"] .no-exit-message{font-size:clamp(32px,7.7vw,132px);animation:no-exit-line-breach 440ms steps(2,end) both}
.night-no-exit-v5[data-stage="breach"] .no-exit-message::before,.night-no-exit-v5[data-stage="breach"] .no-exit-message::after{opacity:.9}
@keyframes no-exit-line-breach{0%{transform:translateX(-4vw) scaleY(1.3)}36%{transform:translateX(-35vw) scaleY(1.9)}70%{transform:translateX(-12vw) scaleY(1.15)}100%{transform:translateX(-28vw) scaleY(1.45)}}
.night-no-exit-v5[data-film="overwrite"][data-stage="answer"] .no-exit-focus{align-items:center;padding:0}
.night-no-exit-v5[data-stage="answer"] .no-exit-writer-trace{display:none}
/* Every fragment is a clipped copy of the SAME pane, with a matching fracture edge. */
.night-no-exit-v5[data-film="broken-reset"],.night-no-exit-v5[data-film="dead-window"]{background:radial-gradient(ellipse at 50% 45%,#170b10ed,#020203fa 70%)}
.night-no-exit-v5 .no-exit-window{position:absolute;left:50%;top:47%;width:min(83vw,1000px);height:clamp(270px,46vh,470px);transform:translate(-50%,-50%);z-index:4;perspective:1000px;overflow:visible}
.no-exit-glass-surface{position:absolute;inset:0;border:1px solid #73646b;background:linear-gradient(137deg,#373038 0,#151217 27%,#08080b 63%,#1e161d);border-radius:7px;overflow:hidden;box-shadow:inset 0 1px #e0d6d441,inset 0 0 60px #0006}
.no-exit-glass-surface::after{content:'';position:absolute;inset:0;background:linear-gradient(130deg,#e0d8e10d,#0000 37% 75%,#e2cfd20a);pointer-events:none}
.night-no-exit-v5 .no-exit-window-bar{position:absolute;inset:0 0 auto;height:43px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;background:#100e12;border-bottom:1px solid #73646b62;font:12px/1 Consolas,monospace;letter-spacing:.03em;color:#b4a2aa}
.no-exit-window-controls{font-size:17px;letter-spacing:6px;color:#85727d}
.night-no-exit-v5 .no-exit-window-label{position:absolute;inset:45px 0 25%;display:flex;align-items:center;justify-content:center;font:900 clamp(35px,6.9vw,90px)/1 Consolas,monospace;letter-spacing:-.065em;color:#ded3d3;text-shadow:none;max-width:none}
.no-exit-window-sub{position:absolute;bottom:18%;left:0;width:100%;text-align:center;font:12px/1 Consolas,monospace;letter-spacing:.07em;color:#89757f}
.no-exit-reset-progress{position:absolute;left:18%;right:18%;bottom:29%;height:4px;background:#48323e}
.no-exit-reset-progress::after{content:'';display:block;width:var(--reset-progress,0%);height:100%;background:#b22b47;box-shadow:0 0 12px #af1f4466}
.no-exit-no-progress{display:none}
.no-exit-window-cracks{position:absolute;inset:0;display:none;z-index:3}
.no-exit-window-cracks svg{width:100%;height:100%;display:block;overflow:hidden}
.no-exit-window-cracks path{fill:none;vector-effect:non-scaling-stroke;stroke-linejoin:bevel}
.no-exit-window-cracks .crack-shadow{stroke:#000b;stroke-width:2}
.no-exit-window-cracks .crack-edge{stroke:#becbce8a;stroke-width:.72;transform:translate(.08px,.08px)}
.no-exit-window-cracks .crack-hairline{stroke:#c7d6d13b;stroke-width:.38}
.no-exit-glass-shard{position:absolute;inset:0;z-index:5;backface-visibility:visible;will-change:transform,opacity;filter:drop-shadow(4px 9px 9px #0009)}
.no-exit-glass-shard::after{content:'';position:absolute;inset:0;background:linear-gradient(130deg,#c8dce31a 0,#0000 25% 70%,#e1eaef24 100%);pointer-events:none}
.night-no-exit-v5[data-stage="shatter"] .no-exit-window>.no-exit-glass-surface{visibility:hidden}
.no-exit-glass-copy{visibility:visible!important}
.night-no-exit-v5[data-stage="cracked"] .no-exit-window-cracks,.night-no-exit-v5[data-stage="shatter"] .no-exit-window-cracks{display:block}
.night-no-exit-v5[data-stage="cracked"] .no-exit-window{animation:no-exit-fracture 170ms steps(2,end) both}
@keyframes no-exit-fracture{0%{transform:translate(-50%,-50%)}35%{transform:translate(calc(-50% + 2px),calc(-50% - 1px)) rotate(.12deg)}100%{transform:translate(-50%,-50%)}}
.night-no-exit-v5[data-stage="stalled"] .no-exit-window-label{color:#a62940}
.night-no-exit-v5[data-stage="stalled"] .no-exit-window-controls{color:#852d42}
.night-no-exit-v5[data-film="dead-window"] .no-exit-window{width:92vw;height:70vh;top:50%;perspective:750px}
.night-no-exit-v5[data-film="dead-window"] .no-exit-glass-surface{background:radial-gradient(ellipse at 58% 48%,#392930,#141016 42%,#060608 85%)}
.night-no-exit-v5[data-stage="pressure"] .no-exit-window{animation:no-exit-window-pressure 320ms cubic-bezier(.18,.65,.25,1) both}
@keyframes no-exit-window-pressure{0%{transform:translate(-50%,-50%)}60%{transform:translate(-50%,calc(-50% - 3px)) scale(1.014) rotate(-.16deg)}100%{transform:translate(-50%,-50%) scale(1.008)}}
.no-exit-behind-window{position:absolute;inset:0;z-index:2;display:none;align-items:center;justify-content:center;font:900 clamp(72px,22vw,350px)/1 Consolas,monospace;letter-spacing:-.085em;color:#ff4357;text-shadow:0 0 4px #ffb2a7,0 0 22px #ff172eb5,0 0 90px #c9002855}
.night-no-exit-v5[data-film="dead-window"][data-stage="shatter"] .no-exit-behind-window{display:flex;animation:no-exit-behind 150ms steps(2,end) both}
@keyframes no-exit-behind{from{transform:scale(.86);opacity:1}to{transform:scale(1);opacity:1}}
.night-no-exit-v5[data-stage="reset"] .no-exit-focus,.night-no-exit-v5[data-stage="stalled"] .no-exit-focus,.night-no-exit-v5[data-stage="window"] .no-exit-focus,.night-no-exit-v5[data-stage="pressure"] .no-exit-focus,.night-no-exit-v5[data-stage="cracked"] .no-exit-focus,.night-no-exit-v5[data-stage="shatter"] .no-exit-focus{display:none}
.night-no-exit-v5[data-stage="answer"] .no-exit-window,.night-no-exit-v5[data-stage="through"] .no-exit-window{display:none}
.night-no-exit-v5[data-stage="through"] .no-exit-message{color:#fff0eb;text-shadow:0 0 3px #ff7775,0 0 19px #ff263abb,0 0 70px #d8003855;animation:no-exit-sign-impact 280ms linear both}
html[data-night-mode="on"] [data-owner-note-shell]{display:none!important}
/* A script-free shadow copy of the ordinary page. The live mode never changes. */
.no-exit-false-screen{position:absolute;inset:0;perspective:1100px;z-index:5;overflow:visible;contain:layout style}
.no-exit-false-surface{position:absolute;inset:0;background:#111218;overflow:hidden}
.no-exit-ordinary-copy{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;background:#111218;display:block}
.no-exit-false-fragments{position:absolute;inset:0;pointer-events:none}
.no-exit-false-piece{position:absolute;z-index:6;visibility:hidden;backface-visibility:visible;will-change:transform,opacity;contain:strict;overflow:hidden;background:linear-gradient(138deg,#c0c5c523,#22232b99 42%,#69778126 78%,#e0dbd32b);box-shadow:inset 0 0 24px #08090d55}
.no-exit-false-cracks{position:absolute;inset:0;z-index:7;display:none;pointer-events:none}
.no-exit-false-cracks svg{width:100%;height:100%;display:block}
.no-exit-false-cracks path,.no-exit-false-shard-cracks path{fill:none;stroke:#edf6f3dd;stroke-width:1.6;vector-effect:non-scaling-stroke}
.no-exit-false-shard-cracks{position:absolute;inset:0;pointer-events:none;filter:drop-shadow(1px 1px 0 #000c)}
.no-exit-false-shard-cracks svg{width:100%;height:100%;display:block}
.night-no-exit-v5[data-film="false-return"]{pointer-events:auto;width:100vw}
.night-no-exit-v5[data-film="false-return"]:is([data-stage="leaving"],[data-stage="returning"]){background:#08090d}
.night-no-exit-v5[data-film="false-return"]:is([data-stage="leaving"],[data-stage="returning"])::after{display:none}
.night-no-exit-v5[data-stage="leaving"] .no-exit-false-surface{opacity:0}
.night-no-exit-v5[data-stage="leaving"] .no-exit-focus{display:none}
.night-no-exit-v5[data-stage="returning"] .no-exit-false-surface{animation:no-exit-false-return 160ms ease-out both;will-change:opacity}
@keyframes no-exit-false-return{from{opacity:0}to{opacity:1}}
.night-no-exit-v5[data-stage="returning"] .no-exit-focus,.night-no-exit-v5[data-stage="false-cracked"] .no-exit-focus{display:none}
.night-no-exit-v5[data-stage="false-cracked"] .no-exit-false-cracks{display:block}
.night-no-exit-v5[data-stage="false-cracked"] .no-exit-false-cracks{animation:no-exit-crack-hit 300ms steps(1,end) both}
@keyframes no-exit-crack-hit{from{opacity:0}16%,100%{opacity:1}}
.night-no-exit-v5[data-stage="false-cracked"] .no-exit-false-cracks{animation:no-exit-frame-rupture 130ms steps(2,end) both}
@keyframes no-exit-frame-rupture{0%{transform:none}30%{transform:translate(6px,-3px) scale(1.012)}100%{transform:none}}
.night-no-exit-v5[data-stage="false-shatter"] .no-exit-false-surface{background:transparent}
.night-no-exit-v5[data-stage="false-shatter"] .no-exit-false-piece{visibility:visible}
.night-no-exit-v5[data-stage="false-shatter"] .no-exit-focus{z-index:3}
.night-no-exit-v5[data-film="false-return"]:is([data-stage="false-shatter"],[data-stage="false-revealed"],[data-stage="false-release"]){background:#020203}
.night-no-exit-v5[data-film="false-return"]:is([data-stage="false-shatter"],[data-stage="false-revealed"],[data-stage="false-release"]) .no-exit-message{font-size:clamp(74px,22vw,340px);color:#ff4055;text-shadow:0 0 3px #ffb5aa,0 0 26px #ff193bbd,0 0 100px #d0003560}
.night-no-exit-v5[data-film="false-return"][data-stage="false-release"]{animation:no-exit-return-release 300ms ease-out both}
@keyframes no-exit-return-release{to{opacity:0}}
.night-no-exit-v5[data-stage="false-shatter"] .no-exit-message{font-size:clamp(74px,22vw,340px);color:#ff4055;text-shadow:0 0 3px #ffb5aa,0 0 26px #ff193bbd,0 0 100px #d0003560;animation:no-exit-sign-impact 280ms linear both}
.night-no-exit-v5[data-stage="answer"] .no-exit-false-screen{display:none}

html:has(.night-no-exit-impact[data-film="false-return"]){overflow:hidden}
/* Seven enormous lines get written, then one corrupted command consumes each line. */
.no-exit-text-wall{position:absolute;inset:-5vh -20vw;z-index:3;display:none;overflow:hidden}
.no-exit-wall-row{position:absolute;top:calc(var(--row)*15vh);left:calc((var(--row) - 3)*-3vw);white-space:pre;font:900 clamp(70px,12.9vw,200px)/1 Consolas,monospace;letter-spacing:-.075em;color:#701529;transform:scaleY(1.25)}
.no-exit-wall-row:nth-child(3n){color:#b4a7a5}
.night-no-exit-v5[data-stage="infection"] .no-exit-text-wall,.night-no-exit-v5[data-stage="flood"] .no-exit-text-wall{display:block}
.night-no-exit-v5[data-stage="infection"] .no-exit-focus,.night-no-exit-v5[data-stage="flood"] .no-exit-focus{display:none}
.night-no-exit-v5[data-stage="flood"] .no-exit-text-wall{animation:no-exit-wall-crush 560ms steps(3,end) both}
@keyframes no-exit-wall-crush{0%{transform:scale(1) translateY(0)}44%{transform:scale(1.22) translateY(-5vh)}100%{transform:scale(1.05) translate(-5vw,2vh)}}
/* Rush: dark warning, distant approach, blank beat, abrupt full-screen impact. */
.night-no-exit-v5[data-film="observer"]{background:#000}
.no-exit-rush{position:absolute;left:50%;top:49%;z-index:5;width:min(98vw,98vh);aspect-ratio:1;transform:translate(-50%,-50%);visibility:hidden;overflow:visible}
.no-exit-rush-image{display:block;width:100%;height:100%;object-fit:contain;filter:grayscale(.88) brightness(.82) contrast(1.35);mix-blend-mode:screen}
.night-no-exit-v5[data-stage="warning"]{animation:no-exit-lights-out 250ms ease-in both}
@keyframes no-exit-lights-out{0%{background:#100b11ef}100%{background:#000}}
.night-no-exit-v5[data-stage="presence"] .no-exit-rush{visibility:visible;animation:no-exit-rush-approach 1100ms linear both}
@keyframes no-exit-rush-approach{0%{transform:translate(-50%,-50%) scale(.24);opacity:.13}35%{transform:translate(-50.4%,-50%) scale(.34);opacity:.26}68%{transform:translate(-50.1%,-50.3%) scale(.54);opacity:.54}88%{transform:translate(-49.8%,-50%) scale(.78);opacity:.79}100%{transform:translate(-50%,-50%) scale(1.08);opacity:1}}
.night-no-exit-v5[data-stage="rush"] .no-exit-rush{visibility:visible;width:min(150vw,138vh);top:50%;animation:no-exit-rush-impact 440ms steps(1,end) both}
@keyframes no-exit-rush-impact{0%{transform:translate(-50%,-50%) scale(1.03) rotate(-1deg)}8%{transform:translate(-49%,-50.5%) scale(1.08) rotate(.6deg)}19%{transform:translate(-51%,-49.5%) scale(1.04) rotate(-.5deg)}38%{transform:translate(-50%,-50%) scale(1.07)}100%{transform:translate(-50%,-50%) scale(1.04)}}
.night-no-exit-v5[data-stage="rush"] .no-exit-rush-image{filter:grayscale(1) brightness(1.25) contrast(1.85)}
.night-no-exit-v5[data-stage="afterimage"] .no-exit-rush{visibility:visible;transform:translate(-50%,-50%) scale(1.04);opacity:.1}
.night-no-exit-v5[data-stage="afterimage"] .no-exit-rush-image{filter:grayscale(1) brightness(.75) contrast(2)}
.night-no-exit-v5[data-film="observer"] .no-exit-focus{justify-content:flex-end;padding-bottom:11vh}
.night-no-exit-v5[data-film="observer"] .no-exit-message{font-size:clamp(48px,10vw,125px)}
.night-no-exit-v5[data-asset="missing"][data-stage="rush"] .no-exit-focus::before{content:'NO EXIT';font:900 clamp(65px,20vw,300px)/1 Consolas,monospace;color:#bd2941;position:absolute;top:40%}
.night-no-exit-v5[data-stage="still"] .no-exit-focus{align-items:center;justify-content:center;padding:0}
/* The final hit punctures the glass over the brand. No lettering falls. */
html[data-night-mode="on"] a.brand.night-no-exit-spent{position:relative;visibility:hidden;pointer-events:none}
.night-no-exit-brand-hole{display:none;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;visibility:hidden;overflow:visible}
html[data-night-mode="on"] a.brand.night-no-exit-spent .night-no-exit-brand-hole{display:block;visibility:visible}
.night-no-exit-brand-hole svg{display:block;width:100%;height:100%;overflow:visible}
.night-no-exit-final-glass{pointer-events:none}
@media(max-width:600px){.night-no-exit-v5 .no-exit-focus{gap:19px}.night-no-exit-v5 .no-exit-window{width:90vw;height:37vh;min-height:250px}.night-no-exit-v5 .no-exit-window-bar{height:35px;padding:0 10px;font-size:10px}.no-exit-window-controls{font-size:13px;letter-spacing:3px}.night-no-exit-v5 .no-exit-window-label{font-size:42px}.night-no-exit-v5[data-film="dead-window"] .no-exit-window{width:94vw;height:66vh}.no-exit-window-sub{font-size:10px}.no-exit-rush{width:115vw}.night-no-exit-v5[data-stage="rush"] .no-exit-rush{top:50%}.night-no-exit-v5 .no-exit-whisper{font-size:11px;letter-spacing:.06em}.no-exit-wall-row{font-size:26vw}.night-no-exit-v5[data-film="overwrite"][data-stage="breach"] .no-exit-message{font-size:9vw}.no-exit-writer-trace{top:26vh}}
@media(prefers-reduced-motion:reduce){.night-no-exit-v5 *{animation:none!important}.night-no-exit-v5 .no-exit-message::before,.night-no-exit-v5 .no-exit-message::after{display:none}}


/* One impact, not a repeating flash: a broken rim and a short pressure jolt. */
.no-exit-impact-kick{position:absolute;inset:0;z-index:8;pointer-events:none;box-shadow:inset 0 0 0 3px #b9c5c94d,inset 0 0 12vh #9f0a2b3d;animation:no-exit-impact-kick 170ms steps(2,end) both}
@keyframes no-exit-impact-kick{0%{transform:translate(-5px,3px);opacity:1}35%{transform:translate(3px,-2px);opacity:.55}100%{transform:none;opacity:0}}
.night-no-exit-v5[data-stage="shatter"] .no-exit-glass-copy{box-shadow:inset 0 0 0 1px #cedcdb4d}
.night-no-exit-v5[data-stage="cracked"] .no-exit-window-cracks{animation:no-exit-fracture-strike 90ms steps(1,end) both}
@keyframes no-exit-fracture-strike{from{filter:brightness(2)}to{filter:none}}
/* The pane splits along one connected fracture, then each rigid face catches light as it falls. */
.no-exit-shard-rim,.no-exit-glass-grit{position:absolute;inset:0;pointer-events:none}
.no-exit-shard-rim{z-index:7}
.no-exit-shard-rim svg{display:block;width:100%;height:100%;overflow:visible}
.no-exit-shard-rim path{fill:none;vector-effect:non-scaling-stroke;stroke-linejoin:bevel}
.no-exit-shard-rim .rim-depth{stroke:#030508cc;stroke-width:2.4}
.no-exit-shard-rim .rim-light{stroke:#d8e9e59c;stroke-width:.75}
.no-exit-glass-grit{z-index:8;overflow:visible;perspective:850px}
.no-exit-glass-grain{position:absolute;display:block;background:linear-gradient(135deg,#d9e8e6bd,#4859616b 48%,#d9e8e66e);will-change:transform,opacity}
.night-no-exit-v5 .no-exit-glass-shard{filter:none;transform-style:preserve-3d}
.night-no-exit-v5 .no-exit-glass-shard::after{background:linear-gradient(117deg,#c4d7dc22,#0000 35% 80%,#dfebe721);animation:no-exit-shard-sheen 420ms ease-out both}
@keyframes no-exit-shard-sheen{0%{opacity:.12}32%{opacity:.72}100%{opacity:.08}}
.night-no-exit-v5[data-stage="cracked"] .no-exit-window-cracks{animation:no-exit-crack-spread 190ms cubic-bezier(.13,.74,.32,1) both}
@keyframes no-exit-crack-spread{from{clip-path:circle(0 at var(--impact-x,58%) var(--impact-y,48%))}to{clip-path:circle(135% at var(--impact-x,58%) var(--impact-y,48%))}}
.night-no-exit-v5[data-stage="pressure"] .no-exit-glass-surface::after{background:radial-gradient(ellipse at var(--impact-x,58%) var(--impact-y,48%),#688a921a,#0000 43%),linear-gradient(130deg,#e0d8e10d,#0000 37% 75%,#e2cfd20a)}
.night-no-exit-v5 .no-exit-reset-progress::after{transition:width 180ms cubic-bezier(.2,.7,.3,1)}
.night-no-exit-v5[data-stage="stalled"] .no-exit-reset-progress::after{transition:none;box-shadow:0 0 6px #a9294240}
.night-no-exit-v5[data-stage="breach"] .no-exit-writer-trace{opacity:.22}
.night-no-exit-v5[data-stage="infection"] .no-exit-wall-row{opacity:.6;text-shadow:-1px 0 #541629}
.night-no-exit-v5[data-stage="flood"] .no-exit-wall-row{opacity:.83}
.night-no-exit-v5[data-film="observer"]::after{background:radial-gradient(ellipse at 50% 47%,#0000 14%,#0008 68%,#000 96%);opacity:.84}
.night-no-exit-v5[data-stage="afterimage"] .no-exit-rush{animation:no-exit-presence-residue 380ms ease-out both}
@keyframes no-exit-presence-residue{from{opacity:.14}to{opacity:0}}
@media(prefers-reduced-motion:reduce){.night-no-exit-v5 .no-exit-glass-grit{display:none}.night-no-exit-v5 .no-exit-reset-progress::after{transition:none}.night-no-exit-v5[data-stage="cracked"] .no-exit-window-cracks{clip-path:none}}

/* A quiet screen watermark, not a floating card. */
.night-demo-watermark{top:18px;left:50%;right:auto;transform:translateX(-50%);padding:0;border:0;outline:0;outline-offset:0;background:none;box-shadow:none;color:#cfc9cb;font:700 14px/1.15 Consolas,monospace;letter-spacing:.22em;opacity:.58;text-shadow:0 1px 2px #000;text-align:center}
.night-demo-watermark small{display:block;margin-top:3px;font:400 8px/1 Consolas,monospace;letter-spacing:.08em;text-transform:lowercase}
@media(max-width:600px){.night-demo-watermark{top:17px;left:auto;right:25px;transform:none;padding:0;font-size:12px}.night-demo-watermark small{font-size:7px}}

/* Retained damage stays on the outgoing page. The higher escape film
   occludes it naturally as its black curtain becomes opaque. */
html[data-escape-arrival] .night-glass-layer,
html:has(.night-no-exit-impact) .night-glass-layer{visibility:hidden!important}
html:has(.night-escape-film,.night-no-exit-impact) .night-demo-watermark{visibility:hidden!important}




/* The cursed palette keeps its own static inverted pentagram. */
html[data-night-mode="on"] #palette-rgb :is(.lunar-iris,.lunar-label){display:none!important}
html[data-night-mode="on"] #palette-rgb::before{content:"";display:block;width:23px;height:23px;margin:auto;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210.1%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M12%2021%206.71%204.72%2020.56%2014.78H3.44L17.29%204.72Z%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.3%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2210.1%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M12%2021%206.71%204.72%2020.56%2014.78H3.44L17.29%204.72Z%22%20fill%3D%22none%22%20stroke%3D%22black%22%20stroke-width%3D%221.3%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat;pointer-events:none}

/* Blood-eye entry: flat ink and bounded opacity/transform motion. */
.night-entry[data-blood-eye]{isolation:isolate;right:calc(max(28px,env(safe-area-inset-right)) - var(--night-entry-overhang,0px))}
html.has-night-entry:not([data-night-mode="on"]) .home-page .personal-footer{padding-bottom:calc(44px + var(--phone-player-space,0px))}
#night-switch .rift-mark{position:absolute;left:50%;top:50%;width:68px;height:78px;max-width:none;overflow:visible;fill:none;stroke:none;pointer-events:none;transform:translate(-50%,-50%) rotate(-12deg);transform-origin:50% 50%;contain:layout style}
#night-switch .rift-mark path{stroke-linecap:round;stroke-linejoin:bevel}
#night-switch .be-arrows{position:absolute;right:43px;bottom:-20px;width:110px;height:114px;overflow:visible;fill:none;stroke:none;pointer-events:none;opacity:.8;transition:opacity .16s,transform .3s}
#night-switch .be-glow{position:absolute;inset:-33px;right:-26px;pointer-events:none;border-radius:50%;background:radial-gradient(ellipse,#9b263a30 0%,#7f192b1f 27%,#52101e0c 48%,#52101e00 70%);opacity:0;transform:scale(.65);transition:opacity .45s,transform .6s cubic-bezier(.16,.8,.2,1);z-index:-1}
.night-entry.be-looking #night-switch .be-glow{opacity:1;transform:scale(1)}
.night-entry.be-seen #night-switch .be-arrows{opacity:0;transform:translate(-5px,-2px);visibility:hidden;transition:opacity .16s,transform .3s,visibility 0s .3s}
#night-switch::before{display:none!important}
.be-corner{position:absolute;right:-28px;bottom:-27px;width:min(480px,calc(100vw - 1px));height:280px;pointer-events:none;background:radial-gradient(ellipse at 100% 100%,#020104eb 0%,#050206a6 31%,#08030955 50%,#08030900 75%);opacity:0;transition:opacity .55s;z-index:-1;contain:strict}
.night-entry.be-looking .be-corner{opacity:1}
.be-warning{position:absolute;right:60px;bottom:-5px;width:230px;height:106px;pointer-events:none;visibility:hidden;opacity:0;z-index:1;transform:rotate(-6deg);transform-origin:100% 80%}
.be-lettering{position:absolute;inset:0}
.be-warning-text{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible;color:#b63843;pointer-events:none;user-select:none}
.be-warning-text[hidden]{display:none}
.night-entry.be-seen .be-warning{visibility:visible;opacity:1}
.be-drain{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:#b63843;pointer-events:none}
.be-drain [hidden]{display:none}
.be-run{transform-box:view-box}
.be-drops{position:absolute;right:0;top:55%;width:1px;height:1px;pointer-events:none}
.be-drops i{position:absolute;width:var(--drop);height:calc(var(--drop)*var(--aspect,1.7));border-radius:65% 35% 60% 40%;background:#b63843;opacity:var(--stain,.38);transform:translate(var(--dx),var(--dy)) scale(.62) rotate(var(--turn))}
.night-entry.be-warning-live .be-lettering{animation:be-ink-reveal .72s cubic-bezier(.18,.65,.22,1) both}
.night-entry.be-warning-live .be-drops i{animation:be-flat-drop var(--flight,.82s) var(--delay) cubic-bezier(.12,.67,.28,1) both}
.night-entry.be-warning-live .be-run{animation:be-blood-run calc(10s - var(--drip-delay)) var(--drip-delay) cubic-bezier(.3,.02,.6,1) both}
@keyframes be-ink-reveal{0%{opacity:0;clip-path:polygon(100% 22%,100% 22%,100% 75%,100% 75%);transform:translate(8px,1px) scale(.88,.7)}18%{opacity:1;clip-path:polygon(58% 4%,100% -8%,108% 110%,48% 95%);transform:translate(-2px,-1px) scale(1.025,1.04)}58%,100%{opacity:1;clip-path:polygon(-8% -8%,108% -8%,108% 118%,-8% 118%);transform:none}}
@keyframes be-flat-drop{0%{opacity:0;transform:translate(0,0) scale(.16) rotate(var(--turn))}10%{opacity:.95}58%{opacity:.8;transform:translate(calc(var(--dx)*.84),calc(var(--dy)*.64)) scale(.94) rotate(var(--turn))}100%{opacity:var(--stain,.38);transform:translate(var(--dx),var(--dy)) scale(.62) rotate(var(--turn))}}
@keyframes be-blood-run{0%{transform:scaleY(.025);opacity:.45}12%{opacity:.85}100%{transform:scaleY(1);opacity:1}}
@media(max-width:600px){#night-switch .be-arrows{right:40px;bottom:-19px;width:88px;height:92px}.be-warning{right:60px;bottom:42px;width:min(230px,calc(100vw - 116px));height:auto;aspect-ratio:230/106}.be-corner{height:230px}}
@media(prefers-reduced-motion:reduce){.night-entry[data-blood-eye] *{animation:none!important;transition:none!important}.night-entry.be-looking #night-switch .se-aperture{opacity:1;transform:none}.be-drops{display:none}}
/* The portal stays on its captured screen coordinates during the third hit.
   Its existing ink timeline continues while unrelated page motion is paused. */
html.night-burning .night-entry .be-lettering,
html.night-burning .night-entry .be-drops i,
html.night-burning .night-entry .be-run{animation-play-state:running!important}
/* End blood-eye entry. */

/* Horror films v4: local rigid geometry, no drawing loop or animated filters. */
.nightmare-orbit-v4{isolation:isolate}
.nightmare-orbit-v4 :is(.nh-orbit-copy,.nh-pressure,.nh-shock,.nh-tear){transform-box:view-box;transform-origin:100px 100px;opacity:0}
.nightmare-orbit-v4 .nh-ring-piece{transform-box:fill-box;transform-origin:center}
.nightmare-orbit-v4 .nh-ribbon{fill:#986f77;stroke:#bc9d99;stroke-width:.4;stroke-linejoin:bevel;opacity:.9}
.nightmare-orbit-v4 .nh-edge{fill:none;stroke:#e4bdb1;stroke-width:.65;stroke-linecap:butt;opacity:.8}
.nightmare-orbit-v4 .nh-ring-piece:nth-child(3n) .nh-ribbon{fill:#514047;stroke:#9e7d82}
.nightmare-orbit-v4 .nh-orbit-copy{fill:none;stroke:#b38d93;stroke-width:1;stroke-dasharray:45 3 74 7 19 4}
.nightmare-orbit-v4 .nh-void{fill:#060508;stroke:none}
.nightmare-orbit-v4 .nh-rim{fill:none;stroke:#b98a83;stroke-width:1;stroke-dasharray:34 3 50 6}
.nightmare-orbit-v4 .nh-shock{fill:none;stroke:#c19691;stroke-width:.7;stroke-dasharray:90 9 21 5}
.nightmare-orbit-v4 .nh-tear{fill:none;stroke:#d8aaa2;stroke-width:1.2}
.nightmare-orbit-v4 .nh-dust{stroke:#c9a6a1;stroke-width:1.3;stroke-linecap:butt;opacity:0;transform-box:view-box;transform-origin:100px 100px}
html[data-night-mode="on"] #orbit .nightmare-star-v4 :is(.nh-star-wave,.nh-star-eye,.nh-eclipse,.nh-signal-band){transform-box:view-box;transform-origin:20px 20px;opacity:0}
html[data-night-mode="on"] #orbit .nightmare-star-v4 .nh-star-fragment{transform-box:fill-box;transform-origin:center;fill:#d5b3a7;stroke:#75515d;stroke-width:.2;opacity:0}
html[data-night-mode="on"] #orbit .nightmare-star-v4 .nh-star-wave{fill:none;stroke:#d2a396;stroke-width:.65;stroke-dasharray:25 3 13 2}
html[data-night-mode="on"] #orbit .nightmare-star-v4 .nh-eye-lid{fill:#0b070b;stroke:#bd8a86;stroke-width:.7}
html[data-night-mode="on"] #orbit .nightmare-star-v4 .nh-eye-pupil{fill:#cf8e87;stroke:none}
html[data-night-mode="on"] #orbit .nightmare-star-v4 .nh-eclipse{fill:#08060b;stroke:#b98380;stroke-width:.35}
html[data-night-mode="on"] #orbit .nightmare-star-v4 .nh-signal-band{stroke:#d0aea8;stroke-width:1.5;fill:none}
html[data-night-mode="on"] #orbit[data-night-star="breach"] #orbit-star{overflow:visible}
html[data-night-mode="on"] #orbit.night-star-haunted .night-star-echo-mark svg{fill:#be9a96;stroke:none}
@media(prefers-reduced-motion:reduce){.nightmare-orbit-v4,.nightmare-star-v4,.night-star-echo{display:none!important}}

/* Nightmare identity: one measured grid, preserving the orbit's local scene.
   Append after the existing Nightmare CSS. No ordinary-mode selectors. */
html[data-night-mode="on"] .home-page .home-hero{
 --night-aside:clamp(176px,22vw,216px);
 --night-column-gap:clamp(28px,4vw,52px);
 --night-orbit-size:144px;
 display:grid;
 grid-template-columns:minmax(0,1fr) var(--night-aside);
 grid-template-rows:auto auto minmax(var(--night-orbit-size),auto) auto;
 column-gap:var(--night-column-gap);
 row-gap:18px;
 align-items:start;
 padding:28px 0 32px;
}
html[data-night-mode="on"] .home-page .hero-signature{
 grid-column:1/-1;grid-row:1;order:0;min-width:0;gap:16px;
}
html[data-night-mode="on"] .home-page .hero-signature .signature-path{
 min-width:0;max-width:48%;text-align:right;overflow-wrap:anywhere;
}
html[data-night-mode="on"] .home-page .night-archive{
 grid-column:1;grid-row:2;order:0;align-self:center;
 min-width:0;margin:0;gap:10px 12px;line-height:1.7;letter-spacing:.035em;
}
html[data-night-mode="on"] .home-page .night-file-state{
 min-width:0;overflow-wrap:anywhere;
}
html[data-night-mode="on"] .home-page .night-whisper{
 grid-column:2;grid-row:2;order:0;align-self:center;justify-self:center;
 width:100%;max-width:100%;min-width:0;margin:0;
 font-size:10px;line-height:1.7;letter-spacing:.035em;text-align:center;
 overflow-wrap:anywhere;
}
html[data-night-mode="on"] .home-page .home-hero h1{
 grid-column:1;grid-row:3;order:0;align-self:center;
 min-width:0;min-height:0;width:100%;max-width:100%;height:auto!important;
 margin:0;font-size:clamp(42px,6vw,76px);line-height:1.08;text-align:left;
}
html[data-night-mode="on"] .home-page .night-orbit-stage{
 grid-column:2;grid-row:3/span 2;order:0;align-self:start;justify-self:center;
 display:flex;flex-direction:column;align-items:center;gap:18px;
 width:100%;min-width:0;margin:0;
}
html[data-night-mode="on"] .home-page .night-orbit-stage>#orbit{
 order:0;align-self:center;flex:none;
 position:relative;inset:auto;transform:none;
 width:var(--night-orbit-size);height:var(--night-orbit-size);margin:0;opacity:1;
}
html[data-night-mode="on"] .home-page .hero-bottom{
 grid-column:1;grid-row:4;order:0;display:block;
 width:100%;max-width:none;margin:0;
}
html[data-night-mode="on"] .home-page .hero-bottom>p{
 min-width:0;width:100%;max-width:52ch;
 margin:0;font:400 13px/1.8 Consolas,"Cascadia Code",monospace;
 letter-spacing:.025em;overflow-wrap:anywhere;
}
html[data-night-mode="on"] .home-page .night-orbit-stage>.hero-margin-note{
 align-self:center;flex:none;
 display:block;width:100%;min-width:0;max-width:100%;margin:0;
 text-align:center;font-size:11px;line-height:1.9;
}
html[data-night-mode="on"] .home-page .night-orbit-stage>.hero-margin-note>span{
 display:inline-block;max-width:100%;overflow-wrap:anywhere;
}
html[data-night-mode="on"] .home-page .skills-section{
 padding-bottom:8px;
}
html[data-night-mode="on"] .home-page .skills-section .section-heading{
 padding:18px 0 12px;
}
html[data-night-mode="on"] .home-page .skills-description{
 max-width:76ch;margin-top:10px;
 font:400 13px/1.9 Consolas,"Cascadia Code",monospace;
 letter-spacing:.025em;
}
html[data-night-mode="on"] .home-page .skills-description>p{
 height:auto!important;margin:0 0 14px;
}
html[data-night-mode="on"] .home-page .skills-description>p:last-child{
 margin-bottom:0;
}
html[data-night-mode="on"] .home-page .listening-section{
 margin-top:26px;margin-bottom:28px;
}
@media(min-width:681px) and (max-width:999px){
 html[data-night-mode="on"] .home-page .home-hero{
  --night-aside:176px;--night-column-gap:28px;--night-orbit-size:128px;padding-top:26px;
 }
 html[data-night-mode="on"] .home-page .home-hero h1{
  font-size:clamp(40px,5.8vw,58px);
 }
}
@media(max-width:680px){
 html[data-night-mode="on"] .home-page .home-hero{
  --night-orbit-size:120px;
  grid-template-columns:minmax(0,1fr);grid-template-rows:none;
  row-gap:16px;padding:24px 0 28px;
 }
 html[data-night-mode="on"] .home-page .hero-signature{
  grid-column:1;grid-row:1;gap:12px;font-size:11px;
 }
 html[data-night-mode="on"] .home-page .hero-signature .signature-path{
  display:block;max-width:42%;font-size:9px;line-height:1.6;
 }
 html[data-night-mode="on"] .home-page .night-archive{
  grid-column:1;grid-row:2;gap:8px 10px;font-size:9px;
 }
 html[data-night-mode="on"] .home-page .night-whisper{
  grid-column:1;grid-row:3;max-width:28ch;margin:0 auto;
 }
 html[data-night-mode="on"] .home-page .home-hero h1{
  grid-column:1;grid-row:4;margin:4px 0;
  font-size:clamp(34px,9.1vw,45px);line-height:1.12;
 }
 html[data-night-mode="on"] .home-page .night-orbit-stage{
  grid-column:1;grid-row:5;align-self:start;justify-self:center;gap:16px;
 }
 html[data-night-mode="on"] .home-page .hero-bottom{
  grid-column:1;grid-row:6;
 }
 html[data-night-mode="on"] .home-page .night-orbit-stage>.hero-margin-note{
  align-self:center;
  width:100%;min-width:0;margin:0;font-size:10px;text-align:center;
 }
 html[data-night-mode="on"] .home-page .hero-bottom>p{
  max-width:100%;margin-top:4px;
  font-size:12px;line-height:1.85;
 }
 html[data-night-mode="on"] .home-page .skills-description{
  font-size:12px;line-height:1.95;letter-spacing:.02em;
 }
 html[data-night-mode="on"] .home-page .skills-section .section-heading{
  padding:18px 0 10px;
 }
}
@media(max-width:360px){
 html[data-night-mode="on"] .home-page .home-hero{
  --night-orbit-size:112px;row-gap:14px;
 }
 html[data-night-mode="on"] .home-page .night-file-state{
  flex-basis:100%;
 }
}

html[data-night-mode="on"] .home-page .home-hero h1>span,
html[data-night-mode="on"] .home-page .home-hero h1>br{display:none!important;min-height:0}

/* Static signal hierarchy. The exit ritual keeps its own interactive tooltip. */
html[data-night-mode="on"] .skill-note-card:not(.night-exit-tip):not(.footer-dm-tip){display:none!important;visibility:hidden!important}
html[data-night-mode="on"] main .skill-note-trigger{cursor:inherit;text-decoration:none;border-color:transparent;pointer-events:none}
html[data-night-mode="on"] .home-page .night-demo-corrupted{color:#c9bcc1!important}
html[data-night-mode="on"] .home-page .hero-signature .night-demo-corrupted{color:#a68e98!important}
html[data-night-mode="on"] .home-page .night-archive .night-demo-corrupted{color:#ad8c90!important}
html[data-night-mode="on"] .home-page .night-whisper.night-demo-corrupted{color:#bb808c!important}
html[data-night-mode="on"] .home-page .night-whisper{min-height:28px;display:flex;align-items:center;justify-content:center}
html[data-night-mode="on"] .home-page .skills-description .skill-note-trigger{background:transparent;box-shadow:none}
html[data-night-mode="on"] .home-page .personal-notes{gap:9px 12px;margin:20px 0 0}
html[data-night-mode="on"] .home-page .personal-notes dd{display:flex;flex-wrap:wrap;gap:7px;min-width:0}
html[data-night-mode="on"] .home-page .night-orbit-stage .hero-margin-note{color:#9b858e;letter-spacing:.02em}
html[data-night-mode="on"] .home-page .night-orbit-stage .hero-margin-note>span{color:inherit}
html[data-night-mode="on"] .home-page .home-hero h1 em{letter-spacing:-.055em}


/* Keep the restored preview label in the free mobile header slot. */
@media(max-width:600px){.night-demo-watermark{left:50%;right:auto;transform:translateX(-50%)}}


/* NO EXIT cinema: five bounded native films. The false-return film is isolated. */
.night-no-exit-cinema{--cinema-paper:#e5d5d6;--cinema-blush:#a94761;--cinema-muted:#806675;background:#030204;color:var(--cinema-paper)}
.night-no-exit-cinema::after{background:repeating-linear-gradient(0deg,#0000 0 3px,#0002 3px 4px);box-shadow:inset 0 0 16vw 4vw #000a;opacity:.36}
.night-no-exit-cinema .no-exit-focus{gap:25px;padding:0 14px}
.night-no-exit-cinema .no-exit-message{font-size:clamp(52px,14vw,184px);letter-spacing:-.075em;line-height:.94;color:#e5d5d6;text-shadow:1px 0 #ac516759,-1px 0 #e5d5d62b;animation:none}
.night-no-exit-cinema .no-exit-message::before,.night-no-exit-cinema .no-exit-message::after{opacity:0}
.night-no-exit-cinema .no-exit-message[data-typing="true"]::after{opacity:.7;color:#9c4a64}
.night-no-exit-cinema .no-exit-whisper{min-height:1.5em;color:#987587;font-size:clamp(11px,1.22vw,16px);letter-spacing:.1em;text-align:center}
.night-no-exit-cinema:is([data-stage="answer"],[data-stage="through"]) .no-exit-message{animation:none;color:#d78a9e;text-shadow:1px 0 #f5d9d848,-2px 0 #632c43a6}
.night-no-exit-cinema .no-exit-system-mark{position:absolute;top:max(23px,env(safe-area-inset-top));left:clamp(19px,4.6vw,72px);z-index:7;font:9px/1.3 Consolas,monospace;letter-spacing:.21em;color:#6c4c60;white-space:nowrap}
.night-no-exit-cinema .no-exit-system-mark::before{content:'';display:inline-block;width:4px;height:4px;margin:0 10px 1px 0;background:#90405d}
.night-no-exit-cinema:is([data-stage="answer"],[data-stage="through"],[data-stage="afterimage"]) .no-exit-system-mark{opacity:.38}
.night-no-exit-cinema[data-stage="blackout"]{background:#000}

/* A typed request is edited by something that can cut the text plane. */
.night-no-exit-cinema[data-film="overwrite"] .no-exit-focus{padding:0;align-items:center}
.night-no-exit-cinema[data-film="overwrite"]:is([data-stage="typing"],[data-stage="writer-hold"]) .no-exit-message{font-size:clamp(45px,10.8vw,146px)}
.night-no-exit-cinema[data-film="overwrite"][data-stage="rewrite"] .no-exit-message{font-size:clamp(34px,7.3vw,110px);animation:none;transform:none}
.night-no-exit-cinema .no-exit-writer-trace{left:6vw;top:calc(50% + clamp(62px,8vw,120px));transform:none;font:11px/1.5 Consolas,monospace;letter-spacing:.06em;color:#745062;opacity:.8;white-space:pre}
.night-no-exit-cinema .no-exit-writer-rail{position:absolute;left:6vw;right:6vw;top:calc(50% + clamp(46px,6vw,87px));height:1px;background:linear-gradient(90deg,#6d2c4380,#36233080 65%,#0000);z-index:3;opacity:0}
.night-no-exit-cinema[data-stage="rewrite"] .no-exit-writer-rail,.night-no-exit-cinema[data-stage="writer-sever"] .no-exit-writer-rail{opacity:.8}
.night-no-exit-cinema .no-exit-type-fracture{position:absolute;left:0;top:calc(50% - 25px);width:100%;height:.94em;transform:translateY(-50%);z-index:5;visibility:hidden;font:900 clamp(34px,7.3vw,110px)/.94 Consolas,monospace;letter-spacing:-.075em}
.night-no-exit-cinema .no-exit-type-fracture[data-broken="true"]{visibility:visible}
.night-no-exit-cinema .no-exit-type-band{position:absolute;inset:0;display:block;max-width:none;font:inherit;letter-spacing:inherit;text-align:center;white-space:pre;color:#d4a8b3;text-shadow:1px 0 #773149;will-change:transform,opacity}
.night-no-exit-cinema .no-exit-type-band:nth-child(3n){color:#9d4662}
.night-no-exit-cinema[data-stage="answer"] :is(.no-exit-type-fracture,.no-exit-writer-rail){display:none}

/* The browser sheet has a held physical contour, then 18 rigid faces release. */
.night-no-exit-cinema:is([data-film="broken-reset"],[data-film="dead-window"]){background:radial-gradient(ellipse at 50% 46%,#170b15,#030204 72%)}
.night-no-exit-cinema .no-exit-window{left:50%;top:48%;width:min(82vw,960px);height:clamp(270px,46vh,450px);perspective:1100px;transform:translate(-50%,-50%);animation:none!important}
.night-no-exit-cinema .no-exit-glass-surface{border:1px solid #6d5366;border-radius:2px;background:linear-gradient(137deg,#272027 0,#100e13 40%,#0a090d 75%,#2b1a23);box-shadow:inset 0 1px #c3a8b326,inset 0 0 55px #0004;transform:none;animation:none!important}
.night-no-exit-cinema .no-exit-glass-surface::after,.night-no-exit-cinema[data-stage="pressure"] .no-exit-glass-surface::after{background:linear-gradient(128deg,#d2b7c309,#0000 37% 75%,#d2b7c308)}
.night-no-exit-cinema .no-exit-window-bar{height:39px;gap:12px;padding:0 17px;background:#110c13;border-bottom:1px solid #72516966;color:#a58798;font-size:11px;letter-spacing:.025em}
.night-no-exit-cinema .no-exit-address{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.night-no-exit-cinema .no-exit-window-controls{flex:none;font-size:15px;letter-spacing:5px;color:#78566d}
.night-no-exit-cinema .no-exit-window-label{inset:42px 12px 27%;font-size:clamp(29px,6.25vw,83px);letter-spacing:-.065em;color:#d2bcc7;white-space:nowrap}
.night-no-exit-cinema .no-exit-window-sub{bottom:17%;padding:0 12px;font-size:11px;line-height:1.35;color:#927185;box-sizing:border-box}
.night-no-exit-cinema .no-exit-window-footer{position:absolute;left:17px;bottom:15px;z-index:2;font:8px/1.3 Consolas,monospace;letter-spacing:.16em;color:#5a3c50}
.night-no-exit-cinema .no-exit-reset-progress{left:20%;right:20%;bottom:29%;height:2px;background:#32212e}
.night-no-exit-cinema .no-exit-reset-progress::after{transition:none;background:#a64c6a;box-shadow:none}
.night-no-exit-cinema[data-stage="stalled"] .no-exit-reset-progress::after{transition:none;box-shadow:none;background:#9a2c52}
.night-no-exit-cinema[data-stage="stalled"] .no-exit-window-label{color:#a44968}
.night-no-exit-cinema .no-exit-window-cracks,.night-no-exit-cinema[data-stage="cracked"] .no-exit-window-cracks{display:none;animation:none!important;clip-path:none;filter:none}
.night-no-exit-cinema .no-exit-window[data-damage="cracked"] .no-exit-window-cracks,.night-no-exit-cinema .no-exit-window[data-damage="released"] .no-exit-window-cracks{display:block}
.night-no-exit-cinema .no-exit-window-cracks .crack-shadow{stroke:#020103dc;stroke-width:2.2}
.night-no-exit-cinema .no-exit-window-cracks .crack-edge{stroke:#c0b6bfaa;stroke-width:.68}
.night-no-exit-cinema .no-exit-window-cracks .crack-hairline{stroke:#a68a9b70;stroke-width:.34}
.night-no-exit-cinema .no-exit-glass-wound{position:absolute;display:block;width:18px;height:22px;z-index:4;transform:translate(-50%,-50%);clip-path:polygon(31% 0,55% 20%,100% 12%,73% 48%,93% 77%,48% 69%,25% 100%,18% 59%,0 30%);background:#020103;visibility:hidden}
.night-no-exit-cinema .no-exit-window[data-damage="cracked"] .no-exit-glass-wound{visibility:visible}
.night-no-exit-cinema .no-exit-shard-plane{position:absolute;inset:0;z-index:5;visibility:hidden;perspective:1100px;transform-style:preserve-3d;pointer-events:none}
.night-no-exit-cinema .no-exit-window[data-damage="released"] .no-exit-shard-plane{visibility:visible}
.night-no-exit-cinema .no-exit-window[data-damage="released"]>.no-exit-glass-surface{visibility:hidden}
.night-no-exit-cinema .no-exit-glass-shard{overflow:hidden;filter:none;contain:layout paint;background-image:linear-gradient(137deg,#272027 0,#100e13 40%,#0a090d 75%,#2b1a23);backface-visibility:visible;transform-style:preserve-3d;will-change:transform,opacity}
.night-no-exit-cinema .no-exit-glass-shard::after{background:linear-gradient(117deg,#cfbfc52e,#0000 32% 78%,#dfd5de25);animation:none!important;opacity:.7}
.night-no-exit-cinema .no-exit-shard-rim .rim-depth{stroke:#010103d9;stroke-width:2.6}
.night-no-exit-cinema .no-exit-shard-rim .rim-light{stroke:#d9c8d3b8;stroke-width:.68}
.night-no-exit-cinema .no-exit-glass-grit{visibility:hidden}
.night-no-exit-cinema .no-exit-glass-grit[data-released="true"]{visibility:visible}
.night-no-exit-cinema .no-exit-glass-grain{background:linear-gradient(135deg,#decddbb3,#5037478a 48%,#b297ac87)}
.night-no-exit-cinema .no-exit-cinema-kick{position:absolute;inset:0;z-index:8;pointer-events:none;opacity:0;box-shadow:inset 0 0 0 2px #b995a14d,inset 0 0 13vh #9b31502e;will-change:transform,opacity}
.night-no-exit-cinema[data-stage="answer"] .no-exit-window,.night-no-exit-cinema[data-stage="through"] .no-exit-window{display:none}

/* The second pane is a locked threshold; the pressure comes from the far side. */
.night-no-exit-cinema[data-film="dead-window"] .no-exit-window{width:min(91vw,1300px);height:69vh;max-height:750px;top:50%;perspective:850px}
.night-no-exit-cinema[data-film="dead-window"] .no-exit-glass-surface{background:radial-gradient(ellipse at 56% 52%,#2c1a27,#0b080e 54%,#050407 88%)}
.night-no-exit-cinema[data-film="dead-window"] .no-exit-window-label{color:#b398aa;font-size:clamp(31px,7.1vw,110px)}
.night-no-exit-cinema[data-film="dead-window"] .no-exit-window-footer{color:#654052}
.night-no-exit-cinema .no-exit-pressure-seam{position:absolute;left:56%;top:52%;width:104px;height:170px;transform:translate(-50%,-50%);opacity:0;background:linear-gradient(97deg,#0000 0 37%,#b78b9a22 38% 40%,#000a 41% 47%,#b78b9a0c 48% 63%,#0000 64%);clip-path:polygon(38% 0,58% 27%,70% 18%,65% 45%,100% 57%,69% 66%,68% 96%,46% 70%,16% 100%,28% 61%,0 42%,36% 38%)}
.night-no-exit-cinema .no-exit-pressure-seam[data-pressed="true"]{opacity:.82}
.night-no-exit-cinema .no-exit-behind-window{font-size:clamp(67px,20.4vw,310px);color:#c8728c;text-shadow:-2px 0 #75334e85,1px 0 #f1ccd235;animation:none!important}
.night-no-exit-cinema[data-film="dead-window"][data-stage="shatter"] .no-exit-behind-window{animation:none}

/* Seven independent signals seize the channel, then tear in opposing directions. */
.night-no-exit-cinema .no-exit-text-wall{inset:8vh 0 5vh;display:none;overflow:visible;animation:none!important;transform:none}
.night-no-exit-cinema .no-exit-wall-row{left:4vw;top:calc(var(--row)*11.9vh);font-size:clamp(53px,12.2vw,176px);line-height:.94;letter-spacing:-.075em;color:#86405e;transform:none;opacity:0;white-space:pre;text-shadow:none;will-change:transform,opacity}
.night-no-exit-cinema .no-exit-wall-row:nth-child(even){left:-6vw;color:#573049}
.night-no-exit-cinema .no-exit-wall-row:nth-child(3n){color:#b69aab}
.night-no-exit-cinema[data-stage="infection"] .no-exit-wall-row{opacity:0;text-shadow:none}
.night-no-exit-cinema[data-stage="infection"] .no-exit-wall-row[data-live="true"]{opacity:.63}
.night-no-exit-cinema:is([data-stage="flood"],[data-stage="channel-break"]) .no-exit-wall-row{opacity:.91}
.night-no-exit-cinema:is([data-stage="infection"],[data-stage="flood"],[data-stage="channel-break"]) .no-exit-text-wall{display:block;animation:none}
.night-no-exit-cinema[data-stage="channel-break"] .no-exit-focus{display:none}
.night-no-exit-cinema .no-exit-flood-gutter{position:absolute;left:4vw;bottom:4vh;z-index:4;font:8px/1 Consolas,monospace;letter-spacing:.23em;color:#9e6380;opacity:.7}
.night-no-exit-cinema[data-stage="answer"] .no-exit-flood-gutter{display:none}

/* A held sighting teleports closer; the final motion is one finite 132 ms rupture. */
.night-no-exit-cinema[data-film="observer"]{background:#000}
.night-no-exit-cinema[data-film="observer"]::after{background:radial-gradient(ellipse at 50% 46%,#0000 16%,#0008 72%,#000 99%);opacity:.72;box-shadow:none}
.night-no-exit-cinema .no-exit-rush{left:50%;top:47%;width:min(104vw,94vh);aspect-ratio:1;overflow:visible;visibility:hidden;animation:none!important;transform:translate3d(-50%,-50%,0);opacity:0;will-change:transform,opacity}
.night-no-exit-cinema .no-exit-rush-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;filter:grayscale(1) brightness(.9) contrast(1.65);mix-blend-mode:normal;opacity:1}
.night-no-exit-cinema[data-stage="presence"] .no-exit-rush{visibility:visible;animation:none}
.night-no-exit-cinema[data-stage="presence"] .no-exit-rush[data-sighting="one"]{transform:translate3d(-50%,-50%,0) scale(.32);opacity:.19}
.night-no-exit-cinema[data-stage="presence"] .no-exit-rush[data-sighting="two"]{transform:translate3d(calc(-50% - 13px),calc(-50% + 4px),0) scale(.49);opacity:.43}
.night-no-exit-cinema[data-stage="presence"] .no-exit-rush[data-sighting="three"]{transform:translate3d(calc(-50% + 7px),calc(-50% - 2px),0) scale(.73);opacity:.72}
.night-no-exit-cinema[data-stage="rush"] .no-exit-rush{visibility:visible;left:50%;top:47%;width:min(104vw,94vh);animation:none;opacity:1}
.night-no-exit-cinema[data-stage="rush"] .no-exit-rush-image,.night-no-exit-cinema[data-stage="afterimage"] .no-exit-rush-image{filter:grayscale(1) brightness(.9) contrast(1.65)}
.night-no-exit-cinema[data-stage="afterimage"] .no-exit-rush{visibility:visible;animation:none;opacity:.13}
.night-no-exit-cinema .no-exit-observer-cuts{position:absolute;inset:0;display:none;z-index:2;pointer-events:none}
.night-no-exit-cinema[data-stage="rush"] .no-exit-observer-cuts{display:block}
.night-no-exit-cinema .no-exit-observer-slit{position:absolute;left:13%;right:11%;top:calc(30% + var(--cut)*16%);height:7%;display:block;background:linear-gradient(0deg,#000 0 69%,#bd779a59 70% 73%,#000 74%);clip-path:polygon(0 19%,34% 0,100% 24%,97% 100%,43% 75%,0 100%)}
.night-no-exit-cinema .no-exit-observer-slit:nth-child(2){left:19%;right:16%;height:9%}
.night-no-exit-cinema .no-exit-observer-silhouette{position:absolute;inset:24% 24% 20%;z-index:0;background:#675060;clip-path:polygon(34% 1%,61% 0,83% 16%,94% 43%,83% 72%,68% 91%,45% 100%,23% 88%,9% 63%,0 36%,13% 13%);opacity:.28}
.night-no-exit-cinema .no-exit-observer-silhouette::before{content:'';position:absolute;left:22%;top:34%;width:13%;height:17%;background:#000;box-shadow:44px 0 #000;transform:rotate(-6deg)}
.night-no-exit-cinema .no-exit-observer-silhouette::after{content:'';position:absolute;left:25%;right:23%;top:69%;height:6%;background:#160b15;clip-path:polygon(0 0,17% 40%,28% 10%,43% 70%,58% 10%,77% 60%,100% 0,93% 100%,19% 83%)}
.night-no-exit-cinema[data-asset="ready"] .no-exit-observer-silhouette{display:none}
.night-no-exit-cinema[data-asset="missing"] .no-exit-rush-image{visibility:hidden}
.night-no-exit-cinema[data-asset="missing"][data-stage="rush"] .no-exit-focus::before{display:none}
.night-no-exit-cinema .no-exit-observer-residue{position:absolute;left:50%;top:47%;width:min(73vw,67vh);aspect-ratio:1;z-index:3;transform:translate(-50%,-50%);border:1px solid #985e7a42;border-radius:47% 51% 43% 49%;visibility:hidden;background:radial-gradient(ellipse at 35% 39%,#b68a9f6b 0 2%,#0000 3%),radial-gradient(ellipse at 65% 39%,#b68a9f6b 0 2%,#0000 3%);box-shadow:-13px 0 0 -1px #000, -14px 0 #84536b2e,11px 0 0 -1px #000,12px 0 #84536b22;pointer-events:none}
.night-no-exit-cinema .no-exit-observer-residue[data-shown="true"]{visibility:visible}
.night-no-exit-cinema[data-film="observer"] .no-exit-focus{justify-content:flex-end;padding-bottom:10vh;gap:18px}
.night-no-exit-cinema[data-film="observer"] .no-exit-message{font-size:clamp(48px,9.5vw,118px)}
.night-no-exit-cinema[data-stage="still"] .no-exit-focus{justify-content:center;align-items:center;padding:0 14px}

@media(max-width:600px){
 .night-no-exit-cinema .no-exit-system-mark{top:max(19px,env(safe-area-inset-top));font-size:8px;letter-spacing:.16em}
 .night-no-exit-cinema .no-exit-focus{gap:20px}
 .night-no-exit-cinema .no-exit-whisper{max-width:88vw;font-size:10px;letter-spacing:.065em}
 .night-no-exit-cinema .no-exit-window{width:89vw;height:39vh;min-height:250px}
 .night-no-exit-cinema .no-exit-window-bar{height:33px;padding:0 10px;font-size:9px;gap:8px}
 .night-no-exit-cinema .no-exit-window-controls{font-size:12px;letter-spacing:3px}
 .night-no-exit-cinema .no-exit-window-label{inset:34px 8px 27%;font-size:clamp(28px,7.6vw,42px)}
 .night-no-exit-cinema .no-exit-window-sub{font-size:9px;letter-spacing:.04em}
 .night-no-exit-cinema .no-exit-window-footer{left:10px;bottom:12px;font-size:6px;letter-spacing:.13em}
 .night-no-exit-cinema[data-film="dead-window"] .no-exit-window{width:93vw;height:65vh;max-height:630px}
 .night-no-exit-cinema[data-film="dead-window"] .no-exit-window-label{font-size:clamp(29px,8.7vw,52px)}
 .night-no-exit-cinema .no-exit-writer-trace{font-size:9px;top:calc(50% + 69px)}
 .night-no-exit-cinema .no-exit-writer-rail{top:calc(50% + 51px)}
 .night-no-exit-cinema .no-exit-type-fracture,.night-no-exit-cinema[data-film="overwrite"][data-stage="rewrite"] .no-exit-message{font-size:9.1vw}
 .night-no-exit-cinema .no-exit-type-fracture{top:calc(50% - 18px)}
 .night-no-exit-cinema .no-exit-text-wall{inset:11vh 0 7vh}
 .night-no-exit-cinema .no-exit-wall-row{font-size:clamp(49px,18vw,108px);top:calc(var(--row)*10.7vh)}
 .night-no-exit-cinema[data-film="observer"] .no-exit-focus{padding-bottom:11vh}
 .night-no-exit-cinema .no-exit-rush,.night-no-exit-cinema[data-stage="rush"] .no-exit-rush{width:min(123vw,91vh);top:46%}
 .night-no-exit-cinema .no-exit-observer-residue{top:46%;width:min(88vw,67vh)}
}
@media(max-height:440px){
 .night-no-exit-cinema .no-exit-system-mark{top:15px}
 .night-no-exit-cinema .no-exit-window{height:72vh;min-height:200px;max-height:310px}
 .night-no-exit-cinema[data-film="dead-window"] .no-exit-window{height:78vh;min-height:200px}
 .night-no-exit-cinema .no-exit-window-label{font-size:clamp(29px,6.4vw,64px)}
 .night-no-exit-cinema .no-exit-window-sub{bottom:14%;font-size:9px}
 .night-no-exit-cinema .no-exit-window-footer{font-size:6px;bottom:9px}
 .night-no-exit-cinema[data-film="observer"] .no-exit-focus{padding-bottom:7vh;gap:11px}
 .night-no-exit-cinema[data-film="observer"] .no-exit-message{font-size:clamp(42px,8vw,72px)}
 .night-no-exit-cinema .no-exit-whisper{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
 .night-no-exit-cinema *{animation:none!important;transition:none!important}
 .night-no-exit-cinema .no-exit-glass-grit,.night-no-exit-cinema .no-exit-observer-residue{display:none}
}

/* Nightmare director BEGIN */
/* A scene holds the page's attention; its residue gets a moment of silence. */
html[data-night-mode="on"]:is([data-night-scene="major"],[data-night-scene="quiet"]) .ambient-glyphs{visibility:hidden!important}
html[data-night-mode="on"]:is([data-night-scene="major"],[data-night-scene="quiet"]) .night-matrix-scar::after,
html[data-night-mode="on"]:is([data-night-scene="major"],[data-night-scene="quiet"]) .night-cinder-bed i{animation-play-state:paused!important}
/* Nightmare director END */

/* Nightmare presence BEGIN */
/* The existing title is the stage: no new section, no layout or scroll movement. */
html[data-night-mode="on"] .home-hero h1.night-presence-host{position:relative}
.night-presence[hidden],html:not([data-night-mode="on"]) .night-presence{display:none!important}
.night-presence{position:absolute;inset:-12px 0 -25px;display:block;font-style:normal;pointer-events:none!important;user-select:none;contain:layout style;z-index:1}
.night-presence-cuts{position:absolute;left:0;top:-9px;width:min(100%,540px);height:74px;opacity:0;transform-origin:44% 50%;overflow:visible;fill:none;stroke:#d89a9b;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.night-presence-cuts .night-presence-under{stroke:#a64955;stroke-width:.65;opacity:.58}
.night-presence-words{position:absolute;left:5px;top:42px;display:block;width:min(92%,430px);height:38px;opacity:0;transform:rotate(-3deg);transform-origin:left center}
.night-presence-words svg{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke:#b9404b;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.night-presence-remnant{position:absolute;right:8%;bottom:10px;width:18px;height:22px;opacity:0;overflow:visible;fill:none;stroke:#bd4d58;stroke-width:.85;stroke-linecap:round;transform:rotate(7deg)}
.night-presence-left .night-presence-remnant{opacity:.25}
@media(max-width:600px){.night-presence{inset:-12px 0 -15px}.night-presence-cuts{top:-15px;height:61px}.night-presence-words{left:2px;top:30px;width:96%;height:30px}.night-presence-remnant{right:4%;bottom:0;width:15px;height:19px}}
@media(prefers-reduced-motion:reduce){.night-presence{display:none!important}}
/* Nightmare presence END */

/* Nightmare ghost BEGIN */
/* Finite cursor echo: legible against the page, never a replacement pointer. */
.night-ghost-trace,.night-ghost-scratch{position:fixed;left:0;top:0;z-index:2147483000;pointer-events:none!important;user-select:none;contain:strict;opacity:0;will-change:transform,opacity}
.night-ghost-trace{width:20px;height:28px;color:#d5a8ac}
.night-ghost-trace svg{display:block;width:20px;height:28px;fill:#1b0b12b8;stroke:currentColor;stroke-width:1.05;stroke-linejoin:round}
.night-ghost-trace .night-ghost-wound{fill:none;stroke:#a9233b;stroke-width:1.7}
.night-ghost-scratch{width:27px;height:30px}
.night-ghost-scratch svg{display:block;width:27px;height:30px;fill:none;stroke:#bd3d50;stroke-width:1.4;stroke-linecap:round}
html:not([data-night-mode="on"]) :is(.night-ghost-trace,.night-ghost-scratch){display:none!important}
@media(prefers-reduced-motion:reduce),(hover:none),(pointer:coarse){.night-ghost-trace,.night-ghost-scratch{display:none!important}}
/* Nightmare ghost END */

/* Nightmare rift-after BEGIN */
/* A finite, local grip on the far rim. No layout or portal silhouette changes. */
.night-entry .night-rift-after{visibility:hidden;pointer-events:none}
.night-entry .night-rift-after[data-visible]{visibility:visible}
.night-entry .night-rift-finger{opacity:0;transform-origin:40px 43px}
.night-entry .night-rift-after path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.night-entry .night-rift-after .night-rift-finger-line{fill:#0b080c;stroke:#bb7a85;stroke-width:1.45}
.night-entry .night-rift-finger-hook{stroke:#ddc5c5;stroke-width:.7;opacity:.72}
.night-entry .night-rift-after .night-rift-palm-shade{fill:#0b080c;stroke:none;opacity:.9}
.night-entry .night-rift-palm-edge{stroke:#a35f6c;stroke-width:1.15;opacity:.53}
.night-entry .night-rift-after[data-visible="static"] .night-rift-finger{opacity:.42;transform:none}
html[data-night-mode="on"] .night-entry .night-rift-after{display:none}
/* Nightmare rift-after END */
