.loading-character{margin:0;display:flex;align-items:center;flex-direction:column;gap:12px;max-width:80vw}
.loading-portrait{height:clamp(180px,44dvh,400px);aspect-ratio:2/3;background-repeat:no-repeat;filter:drop-shadow(0 8px 24px #0005)}
.loading-character figcaption{display:flex;align-items:center;gap:14px;font-family:var(--serif);color:#eee0bd;letter-spacing:.14em}
.loading-character small{font-size:14px;color:#b8bfaa}.loading-character strong{font-size:24px;font-weight:500}
.loading>img{display:none}.loading>p{margin:18px 20px;font-size:16px;line-height:1.6;text-align:center}
.ending-card{justify-content:flex-start;overflow:auto;overscroll-behavior:contain;background:linear-gradient(135deg,#10292bfa,#0b2025fc);padding:36px max(24px,env(safe-area-inset-right)) max(36px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));scrollbar-gutter:stable}
.ending-card>*{flex-shrink:0}.ending-card h2{margin:12px 0;font-size:clamp(26px,4vw,40px)}
.story-afterword{width:min(760px,100%);text-align:left;padding:8px 0 12px}
.story-afterword,.story-afterword *{user-select:text;-webkit-user-select:text;-webkit-touch-callout:default}
.story-afterword h3{font:500 22px/1.5 var(--serif);color:#e3cd97;letter-spacing:.13em;margin:22px 0 10px}
.story-afterword p{font:18px/1.95 var(--serif);letter-spacing:.055em;color:#e0ddcd;margin:0 0 14px;overflow-wrap:anywhere}
.afterword-question{border-left:2px solid #b49a65;padding:0 18px;margin:22px 0 6px}.afterword-question h3{font-size:17px;margin:0 0 6px}.afterword-question p{color:#d4c39b}
.ending-card .button,.ending-card>.text-button{min-height:48px}
@media(max-height:480px) and (orientation:landscape){.loading-character{gap:6px}.loading-portrait{height:clamp(120px,48dvh,200px)}.loading-character strong{font-size:21px}.loading>p{margin:10px 20px}.ending-card{padding-top:22px}.story-afterword p{font-size:18px}.story-afterword h3{margin-top:16px}}
@media(prefers-reduced-motion:reduce){.loading-line{animation:none}}
