/* A scratched warning, visible only on the other side. */
html[data-night-mode="on"] .night-entry{display:none!important}
html[data-night-mode="on"] .brand-word,html[data-night-mode="on"] .brand-spark{display:none!important;animation:none!important;transition:none!important}
html[data-night-mode="on"] #brand-domain-tip{display:none!important}
.night-brand-name{display:none}
html[data-night-mode="on"] .night-brand-name{display:inline-block;order:1;min-width:7ch;color:#d9b6c4;font:700 19px/1.2 Consolas,"Courier New",monospace;letter-spacing:-1px;text-shadow:.7px 0 #9e395b55,-.7px 0 #70998122}
html[data-night-mode="on"] .brand-domain{order:2;color:#947283!important;background:none!important;animation:none!important}
.domain-switcher{position:relative;isolation:isolate}
.night-domain-blood{display:none;position:absolute;inset:0;pointer-events:none;z-index:3}
.night-escape-active .night-domain-blood{display:block}
.night-domain-strike{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;fill:none;stroke:#a82a37;stroke-width:2;stroke-linecap:round;filter:drop-shadow(0 1px 1px #310008)}
.night-no-exit{position:absolute;width:110px;height:40px;left:calc(100% + 14px);top:-7px;fill:none;stroke:#ba3543;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;transform:rotate(-8deg)}
.night-escape-counter{margin:10px 0 0;text-align:center;font:10px/1.6 Consolas,"Courier New",monospace;color:var(--faint)}
html[data-night-mode="on"] #domain-egg-tip{display:none!important}
.night-exit-tip{position:fixed!important;width:260px;min-height:86px;box-sizing:border-box;padding:20px 18px 13px;text-align:center;z-index:90;overflow:visible;border:1px solid #4b303f;border-radius:13px;background:linear-gradient(130deg,#26182290,#110c13cf);box-shadow:0 15px 35px #0006,inset 0 1px #cab1c314;backdrop-filter:blur(12px);color:#e6d7df;pointer-events:none}
.night-exit-tip[hidden]{display:none!important}
.night-exit-glass{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none}
.night-exit-glass svg{width:100%;height:100%;fill:none;stroke:#e5c2d8;stroke-opacity:.42;stroke-width:var(--fracture-width,.5);filter:drop-shadow(.5px 1px #000)}
.night-exit-title{position:relative;display:block;font:700 17px/1.3 Consolas,"Courier New",monospace;letter-spacing:2px;text-shadow:1px 0 #ae47794a,-1px 0 #82b39929}
.night-exit-title span{display:inline-block;white-space:pre;animation:night-exit-glyph 1s steps(1,end) both;animation-delay:calc(var(--glyph)*-39ms)}
.night-exit-progress{position:relative;display:block;margin-top:9px;font:9px/1.4 Consolas,"Courier New",monospace;letter-spacing:2px;color:#987b8d}
.night-exit-shard{position:fixed;z-index:95;width:3px;height:6px;background:linear-gradient(130deg,#f1dcebaa,#816b8622);clip-path:polygon(10% 0,100% 29%,55% 100%,0 60%);pointer-events:none}
.night-exit-fragment{display:none;position:absolute;inset:0;background:linear-gradient(130deg,#30202bb0,#151018ed);border:1px solid #b195aa44;box-shadow:inset 0 1px #cab1c333;backdrop-filter:blur(10px)}
.night-exit-tip[data-final="true"]{background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none;animation:night-exit-panel 1.6s linear forwards}
.night-exit-tip[data-final="true"] .night-exit-glass{overflow:visible}
.night-exit-tip[data-final="true"] .night-exit-fragment{display:block;animation:night-exit-piece 1.65s cubic-bezier(.34,.02,.58,1) both}
.night-exit-fragment:nth-child(1){clip-path:polygon(0 0,37% 0,30% 26%,38% 45%,26% 100%,0 100%);--fall-x:-18px;--fall-y:89px;--fall-r:-19deg}
.night-exit-fragment:nth-child(2){clip-path:polygon(37% 0,78% 0,68% 41%,78% 64%,63% 100%,26% 100%,38% 45%,30% 26%);--fall-x:3px;--fall-y:105px;--fall-r:11deg;animation-delay:100ms!important}
.night-exit-fragment:nth-child(3){clip-path:polygon(78% 0,100% 0,100% 100%,63% 100%,78% 64%,68% 41%);--fall-x:23px;--fall-y:67px;--fall-r:24deg;animation-delay:190ms!important}
.night-exit-tip[data-final="true"] .night-exit-title,.night-exit-tip[data-final="true"] .night-exit-progress{animation:night-exit-label 1s ease forwards}
.night-escape-film{position:fixed;inset:0;z-index:2147483500;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:15px;background:#070609;color:#decdd7;animation:night-exit-curtain 2.1s ease both;overflow:hidden;touch-action:none;overscroll-behavior:none}
.night-escape-door{position:absolute;top:19%;bottom:19%;width:1px;background:#eadde2;box-shadow:0 0 14px #b38b9a55;animation:night-exit-door 6.5s cubic-bezier(.23,.7,.3,1) both}
.night-escape-door i{position:absolute;inset:0;background:linear-gradient(90deg,#645265,#e8dfe5,#fff8f9);opacity:.6}
.night-escape-caption,.night-escape-ordinal{position:relative;max-width:calc(100% - 40px);margin:0;text-align:center;font:15px/1.7 Consolas,"Courier New",monospace;letter-spacing:2px;text-shadow:0 1px 10px #070609;background:#070609e6;padding:4px 10px}
.night-escape-caption{animation:night-exit-copy 5.8s ease both;color:#b8697e}
.night-escape-ordinal{font-size:11px;letter-spacing:1px;animation:night-exit-number 6.2s ease both}
.night-escape-film button{position:relative;color:#dcc0cf;border:1px solid #684658;background:#20121c;border-radius:6px;padding:8px 15px;font:12px Consolas,monospace}
.night-escape-film button[hidden]{display:none}
@keyframes night-exit-glyph{0%,81%,100%{transform:none;opacity:1}82%{transform:translateY(-1px);opacity:.72}88%{transform:translateX(.7px)}}
@keyframes night-exit-panel{0%,65%{opacity:1}100%{opacity:0}}
@keyframes night-exit-piece{0%,25%{transform:none;opacity:1}100%{transform:translate(var(--fall-x),var(--fall-y)) rotate(var(--fall-r));opacity:0}}
@keyframes night-exit-label{0%,20%{opacity:1}100%{opacity:0}}
@keyframes night-exit-curtain{0%,12%{background:#07060900}100%{background:#070609}}
@keyframes night-exit-door{0%,25%{opacity:0;transform:scaleY(.04) scaleX(1)}40%{opacity:.85;transform:scaleY(.82) scaleX(2)}65%{opacity:.65;transform:scaleY(1) scaleX(30)}83%{opacity:.4;transform:scaleY(1) scaleX(110)}100%{opacity:0;transform:scaleY(1.3) scaleX(500)}}
@keyframes night-exit-copy{0%,34%{opacity:0;filter:blur(3px);transform:translateY(4px)}52%,88%{opacity:1;filter:blur(0);transform:none}100%{opacity:.85}}
@keyframes night-exit-number{0%,52%{opacity:0}69%,100%{opacity:1}}
@media(max-width:760px){.night-no-exit{left:auto;right:5px;top:calc(100% + 6px);width:88px;height:31px}.night-escape-active{margin-bottom:35px}.night-escape-caption{font-size:12px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.night-exit-title span,.night-exit-tip[data-final="true"],.night-escape-film,.night-escape-door,.night-escape-caption,.night-escape-ordinal{animation:none}.night-escape-door{display:none}}

/* Finger-written blood decal and smeared crossing. */
.night-domain-strike{top:-3px;height:110px;stroke:none;filter:none}
.night-domain-strike .blood-smear{fill:#651914}
.night-domain-strike .blood-wet{fill:none;stroke:#93261f;stroke-width:2.1;stroke-linecap:round;opacity:.8}
.night-domain-strike .blood-grain{fill:none;stroke:#a23729;stroke-width:.6;stroke-linecap:round;opacity:.38}
.night-domain-strike .blood-drip{fill:#831f19;transform-box:fill-box;transform-origin:top;animation:night-blood-settle 11s cubic-bezier(.2,.35,.5,1) both}
.night-domain-strike .blood-drip:nth-of-type(3n){animation-duration:14s}
.night-domain-strike .blood-drip:nth-of-type(3n+1){animation-duration:9s}
img.night-no-exit{width:138px;height:46px;object-fit:contain;left:calc(100% + 9px);top:-2px;transform:rotate(-7deg);opacity:.94}
.night-escape-active{margin-bottom:22px}
html[data-night-mode="on"] .night-brand-name{width:7ch;min-width:7ch;white-space:pre;transform-origin:center;}
@keyframes night-blood-settle{0%{transform:scaleY(.2);opacity:.5}100%{transform:scaleY(1);opacity:1}}
@media(max-width:760px){img.night-no-exit{left:auto;right:7px;top:calc(100% + 7px);width:114px;height:38px}.night-escape-active{margin-bottom:49px}.night-domain-strike{height:102px}}
@media(prefers-reduced-motion:reduce){.night-domain-strike .blood-drip{animation:none}}
/* End finger-written blood. */

/* Compact discovery warning and fading blood trails. */
.night-domain-strike .blood-trace{fill:url(#night-drip-fade);transform-box:fill-box;transform-origin:top;animation:night-blood-settle 14s cubic-bezier(.2,.35,.5,1) both}
.night-exit-tip{width:176px;min-height:54px;padding:15px 12px;border-radius:10px}
.night-exit-title{font-size:15px;letter-spacing:1.2px}
@media(prefers-reduced-motion:reduce){.night-domain-strike .blood-trace{animation:none}}

/* Rough blood crossing and two hand-drawn directions to the hidden escape. */
.night-domain-strike .blood-smear{fill:#92251e;filter:url(#night-blood-rough)}
.night-domain-strike .blood-flecks{fill:#a82c22;opacity:.72}
.night-domain-strike .blood-wet{stroke:#b23b2b;stroke-width:1.5;opacity:.7}
.night-domain-strike .blood-grain{stroke:#d05236;stroke-width:.8;opacity:.43}
.night-domain-arrow{position:absolute;width:91px;height:49px;overflow:visible;pointer-events:none}
.night-domain-arrow-left{left:3px;top:calc(100% + 1px);transform:rotate(-3deg)}
.night-domain-arrow-right{right:-77px;top:-48px;transform:rotate(2deg)}
.blood-arrow-shape{fill:none;stroke:#a52b22;stroke-width:4.2;stroke-linecap:round;stroke-linejoin:round;filter:url(#night-blood-rough)}
.blood-arrow-shape .blood-arrow-drag{stroke:#682018;stroke-width:1.35;opacity:.75}
.blood-arrow-drops{fill:#8e251c;opacity:.7}
.personal-footer .view-counter:not([hidden]) + .night-escape-counter{margin:-7px 0 0;font-size:11px;line-height:1.6}
.night-escape-counter [data-escape-count]{color:var(--muted);font-variant-numeric:tabular-nums}
@media(max-width:760px){.night-domain-arrow-right{right:0;top:-43px;width:78px;height:42px}.night-domain-arrow-left{left:0;top:calc(100% + 5px);width:81px;height:43px}}

@media(min-width:761px){.night-escape-active{margin-bottom:36px}}

/* A survivor's compact handwritten clue below the sealed addresses. */
.domain-switcher.night-escape-active{width:356px;max-width:100%;box-sizing:border-box;padding:50px 18px 43px;margin:2px 0 9px;column-gap:10px;row-gap:8px;-webkit-user-select:none;user-select:none}
.night-escape-active .domain-switcher-label{display:none}
.night-escape-active .domain-link{border-radius:9px;min-height:35px;border-color:#75403970;background:#23131770}
.night-escape-active .domain-link.is-current{border-color:#b05c567a;background:#4420254a;box-shadow:0 0 18px #9d282412}
.night-domain-blood,.night-domain-blood *{-webkit-user-select:none!important;user-select:none!important;-webkit-user-drag:none!important;pointer-events:none!important}
.night-domain-blood *::selection{background:transparent;color:inherit}
.night-domain-blood .night-no-exit{display:block;left:50%;right:auto;top:0;width:148px;height:49px;transform:translateX(-50%) rotate(-4deg);background:url('/noexit-blood-v3.webp?v=blood-3') center/contain no-repeat;filter:brightness(1.65) saturate(1.12);opacity:1}
.survivor-trace{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none}
.trace-smudge{fill:#80251b;opacity:.18}
.trace-thread{stroke:#9e3527;stroke-width:.8;opacity:.32}
.trace-underline{stroke:#a05143;stroke-width:1;stroke-linecap:round;opacity:.36}
.survivor-note{position:absolute;left:calc(50% - 66px);bottom:2px;width:166px;height:30px;transform:rotate(-3deg)}
.survivor-words{width:100%;height:100%;overflow:visible;fill:none;stroke:#d1a198;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px #230e12);opacity:.94}
.survivor-words-ru{display:none}
html:lang(ru) .survivor-words-en{display:none}
html:lang(ru) .survivor-words-ru{display:block}
.survivor-pointer{position:absolute;left:calc(50% - 128px);bottom:5px;width:61px;height:44px;overflow:visible;fill:none;stroke-linecap:round;stroke-linejoin:round}
.pointer-ink{stroke:#c68a7d;stroke-width:1.8;opacity:.85}
.pointer-ghost{stroke:#773e35;stroke-width:2.8;opacity:.24}
.pointer-dry{stroke:#e3b8a7;stroke-width:.7;opacity:.5}
@media(max-width:420px){.domain-switcher.night-escape-active{padding-left:8px;padding-right:8px;width:334px}.night-domain-blood .night-no-exit{width:139px;height:46px}.survivor-note{width:155px;left:calc(50% - 61px)}.survivor-pointer{left:calc(50% - 122px)}}

/* Shared English blood clue, with one curling direction for each address. */
.domain-switcher.night-escape-active{padding-bottom:57px;margin-bottom:7px}
.survivor-note{left:50%;bottom:0;width:181px;height:33px;transform:translateX(-50%) rotate(-2deg)}
.survivor-words{display:block!important;stroke:#ba392d;opacity:1;filter:drop-shadow(0 1px 1px #160307)}
.clue-blood-body{stroke:#af2b21;stroke-width:2.7;filter:url(#survivor-dry-blood)}
.clue-blood-light{stroke:#e16443;stroke-width:.65;opacity:.53;transform:translate(-.35px,-.35px)}
.clue-blood-drops{stroke:#a12820;stroke-width:1.3;opacity:.8}
.survivor-pointer{bottom:10px;width:53px;height:46px}
.survivor-pointer-left{left:calc(50% - 141px)}
.survivor-pointer-right{left:auto;right:calc(50% - 141px);transform:scaleX(-1) rotate(-3deg)}
.pointer-ink{stroke:#b43124;stroke-width:2.9;opacity:.98;filter:drop-shadow(0 1px #380808)}
.pointer-ghost{stroke:#7c1c17;stroke-width:4.3;opacity:.34}
.pointer-dry{stroke:#ef7550;stroke-width:.75;opacity:.68}
/* Fine linked fissures; every new hit grows from an existing impact. */
.night-exit-tip{perspective:650px;-webkit-user-select:none;user-select:none}
.night-exit-glass svg{stroke-opacity:1;filter:none;overflow:visible}
.glass-fracture path{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.fracture-shadow{stroke:#030207;stroke-width:1.25;opacity:.7;transform:translate(.45px,.65px)}
.fracture-light{stroke:#dcbccb;stroke-width:.48;opacity:.57}
.fracture-glint{stroke:#fff0f5;stroke-width:.18;opacity:.65;transform:translate(-.25px,-.35px)}
.night-exit-shard{background:linear-gradient(125deg,#fff7faee 0 9%,#e0b4d163 13% 25%,#402c4144 50%,#cddfe091 84%,#fff9);box-shadow:0 0 2px #f9dbec55;clip-path:polygon(0 0,100% 28%,34% 100%,9% 68%)}
.night-exit-tip[data-final="true"] .night-exit-fragment{animation:night-exit-glass-fall 1.55s cubic-bezier(.3,.05,.7,.6) both;transform-origin:var(--pivot,50% 50%);backface-visibility:hidden;border-color:#bca0b066;box-shadow:inset 0 1px #fbe5f040}
.night-exit-tip[data-final="true"] .night-exit-glass>svg{opacity:0}
.night-exit-fragment>svg{position:absolute;inset:0;width:100%;height:100%;opacity:1}
.night-exit-fragment:nth-child(1){clip-path:polygon(0 0,31% 0,25% 38%,14% 48%,0 27%);--fall-x:-48px;--fall-y:170px;--fall-r:-27deg;animation-delay:0ms!important}
.night-exit-fragment:nth-child(2){clip-path:polygon(31% 0,61% 0,54% 24%,49% 43%,25% 38%);--fall-x:-13px;--fall-y:224px;--fall-r:16deg;animation-delay:55ms!important}
.night-exit-fragment:nth-child(3){clip-path:polygon(61% 0,100% 0,100% 34%,87% 40%,74% 26%,54% 24%);--fall-x:42px;--fall-y:187px;--fall-r:22deg;animation-delay:110ms!important}
.night-exit-fragment:nth-child(4){clip-path:polygon(0 27%,14% 48%,25% 38%,30% 71%,21% 100%,0 100%);--fall-x:-35px;--fall-y:208px;--fall-r:-20deg;animation-delay:35ms!important}
.night-exit-fragment:nth-child(5){clip-path:polygon(25% 38%,49% 43%,57% 75%,47% 100%,21% 100%,30% 71%);--fall-x:3px;--fall-y:253px;--fall-r:12deg;animation-delay:80ms!important}
.night-exit-fragment:nth-child(6){clip-path:polygon(49% 43%,54% 24%,74% 26%,87% 40%,73% 68%,79% 100%,47% 100%,57% 75%);--fall-x:18px;--fall-y:230px;--fall-r:-15deg;animation-delay:145ms!important}
.night-exit-fragment:nth-child(7){clip-path:polygon(87% 40%,100% 34%,100% 100%,79% 100%,73% 68%);--fall-x:49px;--fall-y:194px;--fall-r:29deg;animation-delay:190ms!important}
@keyframes night-exit-glass-fall{0%,9%{transform:none;opacity:1}20%{transform:translate(calc(var(--fall-x)*.08),-5px) rotate(calc(var(--fall-r)*.12));opacity:1}68%{opacity:.62}100%{transform:translate(var(--fall-x),var(--fall-y)) rotate(var(--fall-r));opacity:0}}
@media(max-width:420px){.survivor-note{left:50%;width:175px}.survivor-pointer-left{left:calc(50% - 140px)}.survivor-pointer-right{right:calc(50% - 140px)}}
@media(max-width:360px){.night-escape-active .domain-link{font-size:10px;padding-left:6px;padding-right:6px}}
@media(prefers-reduced-motion:reduce){.night-exit-tip[data-final="true"] .night-exit-fragment{animation:none;display:none}}

/* A stable rounded pane: language and phrase length never resize the glass. */
.night-exit-tip{width:246px;max-width:calc(100vw - 24px);height:82px;min-height:82px;padding:14px 16px;border-radius:12px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
.night-exit-title{font-size:13px;line-height:18px;letter-spacing:.2px;max-width:100%;text-wrap:balance;overflow-wrap:break-word;text-shadow:0 1px 3px #080409}
.night-exit-tip[data-phrase="-1"] .night-exit-title{font-size:15px;letter-spacing:1.2px}
.night-exit-title span{display:inline;animation:none}
.night-exit-glass{border-radius:12px}
.night-exit-tip[data-final="true"]{animation:night-pane-dissolve 2.1s linear forwards}
.night-exit-tip[data-final="true"]>.night-exit-title{visibility:hidden;animation:none}
.night-exit-tip[data-final="true"] .night-exit-fragment{border:0;border-radius:0;background:none;backdrop-filter:none;box-shadow:none;overflow:visible;animation:night-rounded-fragment 1.8s linear both}
.night-fragment-surface{position:absolute;inset:0;display:block;border-radius:12px;overflow:hidden;border:1px solid #aa8e9d77;box-sizing:border-box;background:linear-gradient(130deg,#30202bc9,#151018e8);box-shadow:inset 0 1px #ffeafa55,inset 0 -1px #1d101b;backdrop-filter:blur(10px)}
.night-fragment-surface>svg{position:absolute;inset:0;width:100%;height:100%;opacity:1;overflow:hidden}
.night-exit-tip[data-final="true"] .night-fragment-title{position:absolute;inset:13px 15px;display:flex;align-items:center;justify-content:center;max-width:none;visibility:visible;animation:none!important}
.night-exit-fragment:nth-child(1){--fall-x:-33px;--fall-y:150px;--fall-r:-24deg;--pitch:15deg;--pivot:18% 22%}
.night-exit-fragment:nth-child(2){--fall-x:-11px;--fall-y:190px;--fall-r:18deg;--pitch:-22deg;--pivot:44% 18%}
.night-exit-fragment:nth-child(3){--fall-x:32px;--fall-y:167px;--fall-r:23deg;--pitch:18deg;--pivot:81% 18%}
.night-exit-fragment:nth-child(4){--fall-x:-28px;--fall-y:197px;--fall-r:-19deg;--pitch:-16deg;--pivot:14% 69%}
.night-exit-fragment:nth-child(5){--fall-x:1px;--fall-y:227px;--fall-r:11deg;--pitch:24deg;--pivot:40% 71%}
.night-exit-fragment:nth-child(6){--fall-x:15px;--fall-y:211px;--fall-r:-15deg;--pitch:-25deg;--pivot:67% 59%}
.night-exit-fragment:nth-child(7){--fall-x:35px;--fall-y:180px;--fall-r:27deg;--pitch:13deg;--pivot:88% 72%}
.night-rim-crumb{z-index:96;box-shadow:0 0 2px #fff2f65c}
@keyframes night-rounded-fragment{0%,8%{transform:none;opacity:1}20%{transform:translate(calc(var(--fall-x)*.1),-3px) rotate(calc(var(--fall-r)*.1)) rotateX(calc(var(--pitch)*.1));opacity:1}45%{transform:translate(calc(var(--fall-x)*.35),calc(var(--fall-y)*.18)) rotate(calc(var(--fall-r)*.4)) rotateX(calc(var(--pitch)*.4));opacity:.9}75%{transform:translate(calc(var(--fall-x)*.75),calc(var(--fall-y)*.58)) rotate(calc(var(--fall-r)*.75)) rotateX(calc(var(--pitch)*.75));opacity:.46}100%{transform:translate(var(--fall-x),var(--fall-y)) rotate(var(--fall-r)) rotateX(var(--pitch));opacity:0}}
@keyframes night-pane-dissolve{0%,78%{opacity:1}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.night-exit-tip[data-final="true"]{animation:none;opacity:0}.night-exit-tip[data-final="true"] .night-exit-fragment{animation:none;display:none}}

/* Content-sized glass with cumulative chips cut from its actual outline. */
.night-exit-tip{width:max-content;max-width:calc(100vw - 24px);height:auto;min-height:0;padding:0;display:block;border:0;background:none;box-shadow:0 9px 22px #0004;backdrop-filter:none;border-radius:12px}
.night-pane-shell{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:12px 17px;min-height:46px;max-width:100%;background:linear-gradient(130deg,#261822b5,#110c13e0);backdrop-filter:blur(12px);border-radius:12px;overflow:hidden}
.night-exit-title{width:max-content;max-width:min(218px,calc(100vw - 58px));text-wrap:balance;overflow-wrap:anywhere;font-size:13px;line-height:18px;letter-spacing:.2px}
.night-pane-cracks,.night-pane-rim{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;fill:none;overflow:hidden}
.night-pane-rim path{fill:none;stroke:#b98ca080;stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linejoin:round}
.night-exit-tip[data-final="true"]{animation:night-pane-dissolve 1.8s linear forwards;box-shadow:none}
.night-exit-tip[data-final="true"]>.night-pane-shell{visibility:hidden}
.night-exit-tip[data-final="true"] .night-exit-fragment{animation:none!important;animation-delay:0ms!important;backface-visibility:visible;will-change:transform,opacity}
.night-exit-tip[data-final="true"] .night-fragment-surface{position:absolute;inset:0;display:flex;border:0;padding:12px 17px;background:linear-gradient(130deg,#34232dcf,#151018ed);box-shadow:none;visibility:visible;overflow:hidden}
.night-exit-tip[data-final="true"] .night-fragment-title{position:relative;inset:auto;display:block;width:max-content;max-width:min(218px,calc(100vw - 58px));visibility:visible;animation:none!important}
@media(prefers-reduced-motion:reduce){.night-exit-tip[data-final="true"]{animation:none;opacity:0}.night-exit-tip[data-final="true"] .night-exit-fragment{display:none}}

/* Lettering sits within the glass; fractures stay legible around its edges. */
.night-pane-shell .night-exit-title{color:#cdbbc5;text-shadow:0 1px 1px #08050be6,0 0 4px #08050bb0;font-weight:600;z-index:2}
.night-pane-shell .night-pane-cracks{mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}
.night-pane-shell .fracture-light{stroke:#b99daa;opacity:.48}
.night-pane-shell .fracture-glint{stroke:#e5c9d6;opacity:.46}
.night-pane-shell .fracture-shadow{opacity:.62}
.night-exit-tip[data-final="true"]{animation:none!important;opacity:1}
.night-escape-film{animation-duration:2.65s}
@keyframes night-exit-curtain{0%,22%{background:#07060900}78%{background:#070609d9}100%{background:#070609}}
@media(prefers-reduced-motion:reduce){.night-exit-tip[data-final="true"]{opacity:0}.night-escape-film{animation:none}}

/* First the pane breaks in daylight; only afterwards does the escape go dark. */
.night-escape-film{background:transparent;animation:night-crumble-curtain .9s cubic-bezier(.3,0,.6,1) var(--escape-dim-delay,2050ms) both}
.night-escape-door,.night-escape-caption,.night-escape-ordinal{animation-delay:.7s}
@keyframes night-crumble-curtain{from{background:#07060900}to{background:#070609}}
.night-ink-splinter{position:absolute;inset:0;display:block;opacity:0;pointer-events:none}
.night-exit-tip[data-final="true"] .night-ink-copy{position:absolute;inset:auto;display:block;max-width:none;margin:0;visibility:visible;animation:none!important;color:#cdbbc5;text-shadow:0 1px 1px #08050be6,0 0 4px #08050bb0;font-weight:600}
@media(prefers-reduced-motion:reduce){.night-escape-film{background:#070609;animation:none}.night-escape-door,.night-escape-caption,.night-escape-ordinal{animation-delay:0s}.night-ink-splinter{display:none}}

/* The final click settles the actual pane; prepared fracture textures stay hidden
   until the first flight. Their colour and fixed line boxes match the original. */
.night-exit-tip[data-final="true"]>.night-pane-shell{visibility:visible}
.night-exit-tip[data-final="true"]>.night-pane-shell .night-exit-title{animation:none!important}
.night-exit-tip[data-final="true"] .night-fragment-surface{background:linear-gradient(130deg,#261822b5,#110c13e0)}
html[data-night-mode="on"]{scrollbar-gutter:stable}
@media(prefers-reduced-motion:reduce){.night-exit-tip[data-final="true"]>.night-pane-shell{visibility:hidden}}

/* The escape cuts a full-height slit, pauses, then opens into daylight. */
.night-escape-film{gap:13px;isolation:isolate}
.night-escape-door{top:0;bottom:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,#ece9e5,#fffdf8 48%,#ece9e5);box-shadow:none;transform-origin:50% 50%;animation:night-escape-slit 5.7s linear both;animation-delay:var(--escape-dim-delay,2050ms);will-change:transform}
.night-escape-door i{background:linear-gradient(90deg,#827b73aa,transparent 40%,#fff 51%,transparent 62%,#827b73aa);opacity:.4}
.night-escape-caption,.night-escape-ordinal,.night-escape-record{z-index:1;max-width:min(680px,calc(100% - 44px));box-sizing:border-box;text-wrap:balance}
.night-escape-caption{padding:6px 13px;color:#f0dcd7;background:#6f1713;border:1px solid #a92f2440;text-shadow:0 1px #380c0b;letter-spacing:1.1px;animation:night-escape-warning 1.1s linear both;animation-delay:calc(var(--escape-dim-delay,2050ms) + 600ms)}
.night-escape-ordinal{padding:4px 10px;color:#eee6e0;background:#080706e8;font-size:12px;letter-spacing:.6px;font-variant-numeric:tabular-nums;animation:night-escape-record-in .7s ease both;animation-delay:calc(var(--escape-dim-delay,2050ms) + 650ms)}
.night-escape-record{margin:0;padding:3px 8px;color:#9d918a;background:#080706dc;text-align:center;font:10px/1.7 Consolas,"Courier New",monospace;letter-spacing:.6px;animation:night-escape-record-in .7s ease both;animation-delay:calc(var(--escape-dim-delay,2050ms) + 850ms)}
.night-escape-film.is-opening .night-escape-door{animation:night-escape-open .9s cubic-bezier(.6,.02,.35,1) both}
.night-escape-film.is-opening .night-escape-caption,.night-escape-film.is-opening .night-escape-ordinal,.night-escape-film.is-opening .night-escape-record{animation:night-escape-copy-out .3s ease both}
.night-escape-arrival{position:fixed;inset:0;z-index:1100;background:#fffdf8;pointer-events:none;opacity:1}
.night-escape-arrival.is-ready{animation:night-escape-arrive .65s ease-out both}
@keyframes night-escape-slit{0%,10%{opacity:0;transform:scaleX(.001) scaleY(.015)}11%{opacity:.8;transform:scaleX(.001) scaleY(.015)}19%{opacity:1;transform:scaleX(.001) scaleY(.58)}26%{opacity:1;transform:scaleX(.0015) scaleY(1)}29%{transform:scaleX(.001) scaleY(1)}33%{transform:scaleX(.0025) scaleY(1)}46%{transform:scaleX(.007) scaleY(1)}72%,100%{opacity:1;transform:scaleX(.025) scaleY(1)}}
@keyframes night-escape-open{0%{transform:scaleX(.025);opacity:1}25%{transform:scaleX(.035)}100%{transform:scaleX(1);opacity:1}}
@keyframes night-escape-warning{0%{opacity:0;transform:translateY(3px)}12%{opacity:.7}14%{opacity:.3}19%{opacity:1}100%{opacity:1;transform:none}}
@keyframes night-escape-record-in{from{opacity:0;transform:translateY(2px)}to{opacity:1;transform:none}}
@keyframes night-escape-copy-out{to{opacity:0;transform:translateY(-3px)}}
@keyframes night-escape-arrive{from{opacity:1}to{opacity:0}}
@media(max-width:760px){.night-escape-caption{font-size:12px;letter-spacing:.4px;line-height:1.75}.night-escape-ordinal{font-size:11px}.night-escape-record{font-size:9px;letter-spacing:.3px}}
@media(prefers-reduced-motion:reduce){.night-escape-door{display:none}.night-escape-caption,.night-escape-ordinal,.night-escape-record{animation:none}.night-escape-film.is-opening{background:#fffdf8}.night-escape-arrival.is-ready{animation:none;opacity:0}}

/* Monotonic slit; opening starts from the exact painted transform via WAAPI. */
.night-escape-film{width:100vw;height:100vh;height:100dvh;max-width:none;box-sizing:border-box}
.night-escape-door{background:#fffdf8}
.night-escape-film.is-opening .night-escape-door{animation:none;transition:none}
.night-escape-arrival{display:none}
/* One centered vertical reveal; horizontal widening keeps its original timing. */
.night-escape-door{animation:night-escape-slit 1.55s linear both,night-escape-rise .55s cubic-bezier(.42,0,.58,1) both;animation-delay:var(--escape-dim-delay,2050ms),calc(var(--escape-dim-delay,2050ms) + 250ms);clip-path:inset(49.25% 0);will-change:transform,clip-path}
.night-escape-film.is-opening .night-escape-door{animation:none;transition:none;clip-path:inset(0)}
@keyframes night-escape-rise{from{clip-path:inset(49.25% 0)}to{clip-path:inset(0)}}
@keyframes night-escape-slit{0%,10%{opacity:0;transform:scaleX(.001)}13%,19%{opacity:1;transform:scaleX(.001)}26%{opacity:1;transform:scaleX(.0015)}33%{opacity:1;transform:scaleX(.0025)}46%{opacity:1;transform:scaleX(.007)}72%,100%{opacity:1;transform:scaleX(.025)}}

/* A smaller clue whose arrowheads sit beneath the actual address buttons. */
.domain-switcher.night-escape-active{padding-top:57px;padding-bottom:51px;margin-top:-10px}
.survivor-note{left:50%;bottom:4px;width:156px;height:28px}
.survivor-pointer{top:var(--clue-top,88px);bottom:auto;width:44px;height:38px}
.survivor-pointer-left{left:var(--clue-left,calc(50% - 124px))}
.survivor-pointer-right{left:auto;right:var(--clue-right,calc(50% - 124px))}
.night-impact-shard{box-shadow:none;background:linear-gradient(135deg,#fff3f6b8 0 7%,#b7a1ae70 10% 25%,#30232c45 40% 77%,#e7d4dfaa 90%,#fff2f6c2);will-change:transform,opacity}
@media(max-width:420px){.survivor-note{width:150px;height:27px}.survivor-pointer-left{left:var(--clue-left,calc(50% - 119px))}.survivor-pointer-right{right:var(--clue-right,calc(50% - 119px))}}

/* Avoid the mobile double-tap delay on the two escape targets. */
html[data-night-mode="on"] .domain-switcher [data-domain-host]{touch-action:manipulation}

/* The escape pane owns its inset; ordinary note padding must not offset shards. */
#night-exit-tip{padding:0}

