/* Quiet, shared archive restoration UI across all eras. */
.archive-record-tools,
.archive-storage-notice,
.archive-restore-page {
  max-width: 760px;
  margin: 32px auto;
  padding: 20px;
  border: 1px solid #dfdddf;
  border-radius: 4px;
  font-size: .88rem;
  line-height: 1.8;
}
.archive-record-tools { color: inherit; background: transparent; }
.archive-record-tools summary { cursor: pointer; letter-spacing: .08em; }
.archive-record-tools label,
.archive-restore-page label { display: block; margin: 16px 0 8px; }
.archive-record-tools textarea,
.archive-restore-page textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 90px;
  box-sizing: border-box;
  padding: 12px;
  margin: 8px 0 16px;
  border: 1px solid #b7b4b7;
  border-radius: 3px;
  background: #fff;
  color: #302d30;
  font: .9rem/1.6 ui-monospace, monospace;
  overflow-wrap: anywhere;
  resize: vertical;
}
.archive-record-tools p,
.archive-storage-notice p { overflow-wrap: anywhere; }
.archive-record-tools button,
.archive-restore-page button,
.archive-storage-notice button { min-height: 44px; }
.archive-storage-notice { border-color: #b7a285; background: #faf5ed; color: #40372b; }
.archive-restore-page [role="status"] { min-height: 1.8em; }
@media (max-width: 600px) {
  .archive-record-tools, .archive-storage-notice, .archive-restore-page { margin: 24px 12px; padding: 16px; }
}
.paid-dialogue-scene { max-width: 760px; margin: 32px auto; overflow-wrap: anywhere; }
.paid-dialogue-scene label { display: block; margin: 16px 0 8px; }
.paid-dialogue-scene input { display: block; width: 100%; box-sizing: border-box; min-height: 44px; margin: 8px 0 12px; padding: 10px; font: inherit; color: #302d30; background: #fff; border: 1px solid #b7b4b7; }
.paid-dialogue-scene button { min-height: 44px; max-width: 100%; white-space: normal; text-align: left; }
.paid-dialogue-line { padding: 16px; border-left: 2px solid #b7b4b7; }
/* The opening permission and final disconnection share the same broken seal. */
.opening-action-button[data-opening-action="friend"], .connection-seal {
 position:relative; border:4px double currentColor !important; padding:14px 22px 14px 32px !important;
 border-radius:0 !important; min-height:52px; background:#f4f0e8 !important; color:#292630 !important;
}
.opening-action-button[data-opening-action="friend"]::before, .connection-seal::before {content:'';position:absolute;left:12px;top:50%;width:6px;height:6px;border-radius:50%;background:currentColor;}
.opening-action-button[data-opening-action="friend"]::after, .connection-seal::after {content:'';position:absolute;right:-5px;top:-5px;width:14px;height:10px;background:#fff;}
.true-escape-scene {position:relative;max-width:760px;margin:24px auto;min-height:320px;line-height:1.9;overflow-wrap:anywhere;}
.true-escape-scene button {min-height:48px;margin:8px 8px 8px 0;white-space:normal;max-width:100%;text-align:left;}
.true-escape-scene button:focus-visible {outline:3px solid #698fa5;outline-offset:4px;}
.true-note {display:block;max-width:100%;width:600px;height:auto;margin:20px 0;}
.true-source {white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid #979b9c;background:#171c20;color:#d9ded7;padding:20px;line-height:1.7;}
.true-card-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start;}
.true-visual-choice {display:flex;flex-direction:column;width:100%;padding:0;background:#f4f3f0;border:1px solid #9d9a94;color:#292830;font:inherit;cursor:pointer;}
.true-visual-choice img {display:block;width:100%;height:auto;}
.true-visual-choice span {padding:10px;}
.true-edge-girl {position:fixed;right:8px;bottom:20px;height:clamp(150px,25vh,250px);width:auto;max-width:22vw;object-fit:contain;pointer-events:none;z-index:20;opacity:.6;}
.true-same-layer .true-edge-girl {opacity:.95;right:12px;}
.true-missing {font:14px monospace;letter-spacing:.2em;color:#625866;}
.true-near {border-left:1px dashed #91818f;padding-left:12px;}
.true-same-layer {box-shadow:inset -3px 0 0 #403443;padding-right:16px;}
.true-devil-line {border-left:2px solid #756779;padding:10px 16px;min-height:40px;font-size:.95rem;}
.true-caught-girl {display:block;height:240px;max-width:60%;object-fit:contain;margin:0 auto;}
.true-lost {background:#17161c;color:#eee;padding:28px;text-align:center;}
.true-real-mirai {margin:18px 0;max-width:620px;}
.true-real-mirai img {display:block;width:100%;height:auto;}
.true-real-mirai figcaption {font:12px monospace;letter-spacing:.13em;margin:8px 0;color:#6a7275;}
.true-human-line {font-size:1.05rem;line-height:2;border-top:1px solid #d7d4cd;padding-top:20px;}
.true-hosts {list-style:none;padding:0;font:16px/2 monospace;letter-spacing:.18em;}
.true-unknown {text-decoration:underline dotted;text-underline-offset:6px;}
.true-empty-sprite {width:110px;height:150px;border:1px solid #bab7b9;background:repeating-linear-gradient(135deg,#fff,#fff 8px,#f7f7f7 8px,#f7f7f7 16px);margin:20px auto;}
.true-horror-defense {background:#17151c;color:#ddd;letter-spacing:.6em;text-align:center;padding:32px;font-size:1.4rem;}
.true-recall {margin-top:32px;font-size:.85rem;}
body[data-true-escape="safe"] .true-escape-scene {border-right:1px dotted #aba5ab;padding-right:12px;}
@media(max-width:600px){.true-card-grid{grid-template-columns:1fr;gap:4px}.true-visual-choice{display:grid;grid-template-columns:55% 45%;align-items:center}.true-note{width:100%}.true-escape-scene{margin:16px 0}.true-source{padding:14px}.true-edge-girl{max-width:18vw;bottom:12px}.true-link-choices{display:flex;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.true-escape-scene *{animation:none!important;transition:none!important}}
/* STEP8 revised runner: fixed layers; only the current obstacle is replaced. */
.escape-root {--chase-pressure:0;position:relative;width:100%;max-width:960px;margin:12px auto 28px;background:#e6e2d8;color:#252931;border:1px solid #92969c;overflow:hidden;isolation:isolate;touch-action:pan-y;}
.runner-player-view {position:relative;min-height:clamp(300px,54vh,500px);display:grid;place-items:center;padding:26px 20px;}
.runner-era-background,.runner-darkness-layer,.runner-noise-layer {position:absolute;inset:0;pointer-events:none;}
.runner-era-background {z-index:-1;background:repeating-linear-gradient(0deg,transparent,transparent 35px,#aab3b82b 36px),linear-gradient(115deg,#b3bcc3,#ece8da);background-size:100% 36px,100% 100%;animation:runner-drift 12s linear infinite;}
.escape-era-2001 {font-family:serif;background:#d4d9d6;}
.escape-era-2008 {font-family:serif;background:#f0e7db;}
.escape-era-2008 .runner-era-background {background-color:#dfd3e0;background-image:repeating-linear-gradient(90deg,#bcbdca30 0 1px,transparent 1px 75px),linear-gradient(120deg,#dad9ed,#f0e6d2);}
.escape-era-2015 {font-family:system-ui,sans-serif;background:#e1eaf0;}
.escape-era-2015 .runner-era-background {background-image:repeating-linear-gradient(0deg,#8399ac25 0 1px,transparent 1px 48px),linear-gradient(120deg,#b6cbd9,#e8edf1);}
.escape-era-2026 {font-family:system-ui,sans-serif;background:#e8ece8;}
.escape-era-2026 .runner-era-background {background-image:repeating-linear-gradient(90deg,#889c9225 0 1px,transparent 1px 100px),linear-gradient(120deg,#cad6ce,#f4f1e6);}
.escape-obstacle-layer {width:min(100%,610px);position:relative;z-index:4;transition:opacity .12s,transform .12s;}
.escape-obstacle-layer[data-cleared="true"] {opacity:.35;transform:translateX(16px);pointer-events:none;}
.runner-obstacle {background:#fffffff2;border:1px solid #9a9da3;box-shadow:0 12px 28px #171b2520;border-radius:4px;padding:22px;}
.runner-obstacle h2 {font-size:clamp(17px,2.4vw,23px);line-height:1.6;margin:0 0 18px;letter-spacing:.04em;}
.runner-anomaly-view {display:flex;align-items:center;justify-content:center;gap:20px;min-height:120px;border:1px solid #ccd0d1;background:#e9edef;padding:16px;margin-bottom:18px;}
.runner-web-part {width:80%;display:grid;gap:12px;transform:skew(-3deg);}
.runner-web-part i {display:block;height:12px;background:#748696;border:1px solid #617180;}
.runner-web-part i:nth-child(2) {width:65%;}.runner-web-part i:nth-child(3) {width:85%;}
.runner-family-picture .runner-anomaly-view {background:linear-gradient(125deg,#748a8c 0 38%,#f1e9cd 39% 45%,#aab7af 46%);box-shadow:inset 0 0 0 10px #d4dcdf;}
.runner-family-frame .runner-web-part {display:flex;width:95%;height:75px;gap:8px;}.runner-family-frame .runner-web-part i {height:100%;width:33%;}
.runner-family-banner .runner-web-part {display:grid;grid-template-columns:repeat(3,1fr);}.runner-family-banner .runner-web-part i {height:48px;width:auto;}
.runner-digits {font:clamp(24px,6vw,42px)/1.3 monospace;letter-spacing:.12em;background:#222b2e;color:#d9e2ce;padding:12px;}
.runner-calendar {font:26px/1.8 monospace;color:#74516a;}.runner-clock {font-size:64px;color:#6d8396;}.runner-menu {font-size:32px;line-height:1.1;color:#5c6a79;}
.runner-direction {font:bold 40px/1 system-ui;color:#425975;}
.runner-controls {display:flex;gap:10px;flex-wrap:wrap;}
.runner-target {flex:1;min-width:120px;min-height:52px;padding:14px 18px;background:#283e4a;color:#fff;border:2px solid #283e4a;border-radius:4px;font:inherit;font-size:16px;cursor:pointer;touch-action:manipulation;}
.runner-target:focus-visible,.runner-pause:focus-visible {outline:3px solid #f2b73f;outline-offset:4px;}
.runner-target:active {transform:translateY(1px);background:#446476;}
.runner-darkness-layer {z-index:2;background:radial-gradient(ellipse at center,transparent 15%,#10101e 100%);opacity:calc(var(--chase-pressure)*.105);transition:opacity .25s;}
.runner-noise-layer {z-index:3;background:repeating-linear-gradient(0deg,transparent 0 3px,#15152225 4px 5px);opacity:calc(var(--chase-pressure)*.13);transition:opacity .25s;}
.runner-devil-layer {position:absolute;z-index:1;right:2%;bottom:0;height:80%;width:25%;display:flex;align-items:end;justify-content:center;transform-origin:bottom right;transform:translateX(calc(100% - var(--chase-pressure)*30%)) scale(calc(.4 + var(--chase-pressure)*.16));opacity:calc(var(--chase-pressure)*.25);transition:transform .4s,opacity .3s;pointer-events:none;}
.runner-sprite {display:block;max-width:100%;max-height:100%;object-fit:contain;}
.runner-sprite-fallback {display:block;width:70%;height:70%;background:#252331;clip-path:polygon(40% 0,65% 0,80% 20%,65% 35%,85% 100%,15% 100%,30% 35%,20% 20%);}
.escape-root[data-pressure="4"] .runner-devil-layer {right:38%;width:26%;transform:scale(1.2);opacity:1;}
.escape-root[data-pressure="2"] .runner-era-label::after,.escape-root[data-pressure="3"] .runner-era-label::after,.escape-root[data-pressure="4"] .runner-era-label::after {content:' / C□NNE▧TION';color:#69566c;}
.runner-ui-layer {position:relative;z-index:5;display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding:14px 20px;background:#ffffffed;border-top:1px solid #a8afb2;}
.runner-era-label {margin:0;font:15px/1.6 monospace;letter-spacing:.12em;}
.runner-feedback {grid-column:1;margin:0;min-height:1.8em;font-size:14px;}.runner-devil-line {grid-column:1;margin:0;min-height:1.8em;font-size:14px;}
.runner-pause {grid-column:2;grid-row:1 / span 3;min-width:88px;min-height:48px;align-self:center;touch-action:manipulation;}
.runner-lost {background:#f4f2efee;padding:25px;border:1px solid #c2bec7;min-height:180px;}
.escape-root[data-paused="true"] .runner-era-background {animation-play-state:paused;}
.escape-root[data-ready="false"] .escape-obstacle-layer {visibility:hidden;pointer-events:none;}
.runner-era-transition .runner-era-background {animation:runner-era-pass .6s ease-out;}
@keyframes runner-drift {from{background-position:0 0,0 0}to{background-position:90px 36px,0 0}}
@keyframes runner-era-pass {from{transform:translateX(0);opacity:1}50%{transform:translateX(-8%);opacity:.6}to{transform:translateX(0);opacity:1}}
@media(max-width:600px){.runner-player-view{min-height:360px;padding:18px 12px}.runner-obstacle{padding:16px}.runner-anomaly-view{min-height:110px}.runner-controls{gap:8px}.runner-target{flex-basis:100%;min-height:52px}.runner-ui-layer{padding:12px;gap:4px 8px}.runner-devil-layer{width:34%;right:0}.runner-era-transition .runner-era-background{animation-name:runner-era-pass-mobile}.escape-obstacle-layer[data-cleared="true"]{transform:translateY(-12px)}}
@keyframes runner-era-pass-mobile {from{transform:translateY(0)}50%{transform:translateY(-6%);opacity:.7}to{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.escape-root *{animation:none!important;transition:none!important}.escape-obstacle-layer[data-cleared="true"]{transform:none}.runner-era-background{background-position:0 0}}
.runner-family-mirror .runner-web-part {width:130px;height:110px;border:6px double #6a7887;background:linear-gradient(130deg,#dce5eb 0 45%,#8a9fac 46% 51%,#c5d4d8 52%);transform:none;}.runner-family-mirror i{display:none;}
.runner-family-bookshelf .runner-web-part {display:flex;align-items:end;width:90%;height:105px;border-bottom:8px solid #8c7c65;gap:12px;transform:none;}.runner-family-bookshelf i{height:90px;width:25%;background:#a9b8b8;border:3px solid #7c8d94}.runner-family-bookshelf i:nth-child(2){height:70px;width:20%;background:#d7bc9c}.runner-family-bookshelf i:nth-child(3){height:100px;width:30%;background:#b2a6bf}
.runner-family-phone .runner-web-part {width:76px;height:120px;border:6px solid #536271;border-radius:12px;background:#afc2c7;padding:12px 7px;gap:7px;transform:none;}.runner-family-phone i {height:8px;}
.runner-family-window .runner-web-part {width:150px;height:110px;display:grid;grid-template-columns:1fr 1fr;gap:5px;border:6px solid #869ba3;background:#c2d5d6;transform:none;}.runner-family-window i{width:100%;height:100%;background:#a3bbc5}.runner-family-window i:last-child{display:none;}
.runner-family-profile .runner-web-part {width:96px;height:96px;display:block;border-radius:50%;border:5px solid #aab6c2;background:radial-gradient(circle at 50% 30%,#73818c 0 20%,transparent 21%),radial-gradient(ellipse at 50% 100%,#73818c 0 45%,#d2dce1 46%);transform:none;}.runner-family-profile i{display:none;}
.runner-family-construction .runner-anomaly-view {background:repeating-linear-gradient(135deg,#d1b775 0 16px,#54616b 16px 32px)}
.runner-family-bbs .runner-web-part i {height:20px;background:#dde4e6;border-left:8px solid #889aa6}.runner-family-bbs .runner-web-part i:nth-child(2){margin-left:20px}
.runner-family-timeline .runner-web-part {border-left:3px solid #7c8da2;padding-left:15px;}.runner-family-timeline .runner-web-part i {border-radius:5px;height:20px;}
.runner-family-paper .runner-web-part {width:130px;height:110px;background:#fffef3;border:1px solid #929da6;padding:16px;clip-path:polygon(0 0,85% 0,100% 18%,100% 100%,0 100%)}
.runner-family-footer .runner-web-part {border-bottom:10px dashed #4f6070;padding-bottom:14px;}
.runner-family-pattern .runner-anomaly-view {background:repeating-linear-gradient(135deg,#acaec1 0 8px,#d7d1da 9px 20px);}
.runner-family-link .runner-web-part i {height:3px;background:#485b92;border:none;}
/* STEP9: a quiet apparent homecoming, with one fleeting final error title. */
body[data-normal-ending] {background:#fff!important;}
body[data-normal-ending] .site-header,body[data-normal-ending] .site-nav,body[data-normal-ending] .sidebar,body[data-normal-ending] .sidebar-toggle,body[data-normal-ending] .site-footer,body[data-normal-ending] .proxy-orb,body[data-normal-ending] .dialogue,body[data-normal-ending] .archive-record-tools,body[data-normal-ending] .archive-storage-notice {display:none!important;}
.normal-ending-root {position:fixed;inset:0;z-index:20000;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px 20px;box-sizing:border-box;background:#fffdfb;color:#343438;overflow-y:auto;font-family:serif;}
.normal-ending-root [hidden] {display:none!important;}
.normal-ending-stage {position:relative;display:grid;place-items:center;width:min(780px,100%);height:clamp(180px,45vh,440px);flex-shrink:0;}
.normal-ending-wall {position:absolute;top:0;right:8%;width:56%;height:100%;border:1px solid #ebe8df;border-radius:48% 48% 10% 10%;background:radial-gradient(ellipse at center,#fff 0 30%,#fffefbea 55%,#f3f0e777 77%,transparent 100%);box-shadow:0 0 48px 20px #f6f2df44;}
.normal-ending-wall-label {position:absolute;top:42%;left:0;width:100%;text-align:center;font:11px/1.6 system-ui,sans-serif;letter-spacing:.2em;color:#97958f;}
.normal-ending-girl {position:relative;justify-self:start;margin-left:26%;max-height:90%;max-width:35%;width:auto;object-fit:contain;transform:translateX(0);opacity:1;transition:transform 1.8s ease-in,opacity 1.8s ease-in;}
.normal-ending-root[data-scene="departure"] .normal-ending-girl {transform:translateX(90px) scale(.86);opacity:0;}
.normal-ending-adult {margin:0;max-width:620px;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.normal-ending-portrait {display:block;max-width:100%;height:calc(100% - 28px);max-height:100%;object-fit:contain;filter:brightness(1.08) saturate(.85);}
.normal-ending-adult-name {margin-top:10px;font-size:13px;letter-spacing:.2em;color:#77726b;}
.normal-ending-dialogue {position:relative;z-index:3;width:min(620px,100%);min-height:110px;line-height:1.9;text-align:left;}
.normal-ending-speaker {margin:0 0 10px;font-size:13px;color:#89847d;letter-spacing:.15em;}
.normal-ending-line {margin:0;font-size:clamp(17px,2.6vw,22px);line-height:1.95;white-space:pre-line;}
.normal-ending-stage-direction {margin:12px 0 0;color:#89847d;font-size:13px;}
.normal-ending-controls {position:relative;z-index:4;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:680px;}
.normal-ending-controls button,.normal-ending-post button {min-height:48px;min-width:100px;font:inherit;font-size:14px;line-height:1.5;padding:12px 18px;touch-action:manipulation;}
.normal-ending-controls button:focus-visible,.normal-ending-post button:focus-visible {outline:2px solid #7f98a8;outline-offset:4px;}
.normal-ending-wall-note {flex-basis:100%;margin:0;text-align:center;font-size:13px;color:#99958d;min-height:1.5em;}
.normal-ending-white,.normal-ending-black,.normal-ending-noise {position:absolute;inset:0;pointer-events:none;}
.normal-ending-white {z-index:5;background:#fff;opacity:0;transition:opacity 1.6s ease-in;}
.normal-ending-root[data-scene="brightening"] .normal-ending-white,.normal-ending-root[data-scene="white"] .normal-ending-white,.normal-ending-root[data-scene="fadeOut"] .normal-ending-white,.normal-ending-root[data-scene="end"] .normal-ending-white {opacity:1;}
.normal-ending-root[data-scene="adult"] .normal-ending-white {transition-duration:.4s;}
.normal-ending-title {position:absolute;inset:0;display:grid;place-items:center;margin:0;z-index:6;color:#242428;font:normal clamp(28px,5vw,48px)/1.4 serif;letter-spacing:.25em;text-indent:.25em;}
.normal-ending-noise {z-index:9;opacity:0;background:repeating-linear-gradient(0deg,#15151b18 0 1px,transparent 1px 3px),repeating-linear-gradient(101deg,transparent 0 12px,#39394115 13px 14px);}
.normal-ending-black {z-index:10;background:#070708;opacity:0;transition:opacity .15s;}
.normal-ending-root[data-scene="glitch"] .normal-ending-title {animation:normal-expire-error .5s step-end forwards;}
.normal-ending-root[data-scene="glitch"] .normal-ending-noise {animation:normal-final-noise .5s steps(2,end) forwards;}
.normal-ending-root[data-scene="glitch"] .normal-ending-black {animation:normal-black-after-error .5s step-end forwards;}
.normal-ending-root[data-scene="blackout"] .normal-ending-black {opacity:1;}
.normal-ending-root[data-scene="blackout"] .normal-ending-title {opacity:0;}
.normal-ending-post {position:absolute;z-index:12;bottom:max(36px,env(safe-area-inset-bottom));left:20px;right:20px;display:flex;justify-content:center;flex-wrap:wrap;gap:12px;}
.normal-wall-touch-a {animation:normal-wall-ripple-a .2s ease-out;}.normal-wall-touch-b {animation:normal-wall-ripple-b .2s ease-out;}
@keyframes normal-wall-ripple-a {50%{opacity:.78;background-position:1px 0}100%{opacity:1}}
@keyframes normal-wall-ripple-b {50%{opacity:.78;background-position:-1px 0}100%{opacity:1}}
@keyframes normal-expire-error {from{opacity:1}to{opacity:0}}
@keyframes normal-black-after-error {from{opacity:0}to{opacity:1}}
@keyframes normal-final-noise {0%{opacity:.15;background-position:0 0}40%{opacity:.15;background-position:5px -3px}99%{opacity:.15;background-position:-3px 4px}100%{opacity:0}}
@media(max-width:600px){.normal-ending-root{gap:14px;padding:20px 18px}.normal-ending-stage{height:38svh;min-height:170px}.normal-ending-dialogue{min-height:100px}.normal-ending-girl{max-width:40%;margin-left:20%}.normal-ending-wall{right:2%;width:65%}.normal-ending-controls{gap:8px}.normal-ending-post{gap:8px;bottom:24px}}
@media(prefers-reduced-motion:reduce){.normal-ending-girl{transition:none}.normal-ending-white{transition-duration:.25s}.normal-wall-touch-a,.normal-wall-touch-b{animation:none}.normal-ending-root[data-scene="glitch"] .normal-ending-noise{animation:normal-soft-noise .5s step-end forwards}.normal-ending-root[data-scene="glitch"] .normal-ending-title{animation:normal-expire-error .5s step-end forwards}}

@keyframes normal-soft-noise {from{opacity:.06}to{opacity:0}}
/* STEP10 shares NORMAL's portrait and white light, with a stable conclusion. */
body[data-true-ending] {background:#fff!important;}
body[data-true-ending] .site-header,body[data-true-ending] .site-nav,body[data-true-ending] .sidebar,body[data-true-ending] .sidebar-toggle,body[data-true-ending] .site-footer,body[data-true-ending] .proxy-orb,body[data-true-ending] .dialogue,body[data-true-ending] .archive-record-tools,body[data-true-ending] .archive-storage-notice {display:none!important;}
body[data-true-cleared="true"] .proxy-orb,body[data-true-cleared="true"] .dialogue {display:none!important;}
.true-ending-root {position:fixed;inset:0;z-index:20000;isolation:isolate;display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:16px;padding:24px 20px;box-sizing:border-box;background:#fffdfb;color:#343438;overflow-y:auto;font-family:serif;}
.true-ending-root [hidden] {display:none!important;}
.true-ending-panel {width:min(600px,100%);font:14px/1.8 system-ui,sans-serif;}
.true-ending-panel h1 {font-size:16px;letter-spacing:.15em;}
.true-ending-restoring {font:20px/2 monospace;white-space:pre-line;}
.true-ending-root button {position:relative;z-index:4;min-height:48px;padding:12px 20px;touch-action:manipulation;}
.true-ending-adult {height:38svh;min-height:140px;flex-shrink:0;}
.true-ending-cut-girl,.true-disconnect-girl {position:fixed;right:18px;bottom:18px;width:min(24vw,160px);max-height:40vh;object-fit:contain;z-index:4;}
.true-ending-cut-girl {margin:0;text-align:center;font-size:14px;animation:true-disconnect 1.8s ease-in forwards;}
.true-ending-cut-girl img {display:block;width:100%;max-height:32vh;object-fit:contain;}
.true-ending-unavailable {position:fixed;right:24px;bottom:24px;color:#777;font:11px monospace;}
.true-ending-father-log {margin:0;padding:18px 24px;max-width:100%;box-sizing:border-box;border-left:1px solid #d9d5cf;font:14px/1.8 serif;white-space:pre-wrap;}
.true-ending-title {z-index:6;text-align:center;letter-spacing:.2em;}
.true-ending-title h1 {font:normal clamp(28px,5vw,48px)/1.5 serif;}
.true-ending-title p {font-size:18px;}
.true-ending-post {z-index:6;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;}
.true-ending-root[data-scene="brightening"] .true-ending-white,.true-ending-root[data-scene="white"] .true-ending-white,.true-ending-root[data-scene="fadeOut"] .true-ending-white,.true-ending-root[data-scene="complete"] .true-ending-white {opacity:1;}
.true-ending-root[data-scene="adult"] .true-ending-white {transition-duration:.4s;}
@keyframes true-disconnect {0%{opacity:1;clip-path:inset(0)}45%{opacity:.6;clip-path:polygon(0 0,100% 0,100% 42%,64% 42%,64% 51%,100% 51%,100% 100%,0 100%)}100%{opacity:0;clip-path:inset(18% 12%)}}
@media(prefers-reduced-motion:reduce){.true-ending-cut-girl{animation-name:true-disconnect-soft}.true-ending-white{transition-duration:.25s}}
@keyframes true-disconnect-soft {from{opacity:1}to{opacity:0}}
.normal-ending-wall {padding:0;color:inherit;font:inherit;cursor:pointer;}
.normal-ending-wall:disabled {cursor:default;opacity:1;}
.normal-ending-wall:focus-visible {outline:1px solid #d1cabe;outline-offset:8px;}
