/* A separate, fixed stage: only the dialogue changes after the waterfall appears. */
.modal-backdrop:has(>.initiation-modal){padding:0;background:#000;backdrop-filter:none;-webkit-backdrop-filter:none;animation:none}
.modal.initiation-modal{position:fixed;inset:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:none;padding:0;overflow:hidden;border:0;border-radius:0;background:#000;box-shadow:none;transform:none;animation:none}
.initiation-screen{position:fixed;inset:0;z-index:1200;width:100%;height:100vh;height:100dvh;overflow:hidden;background:#000;color:#fff9e8;font-family:var(--font,'Noto Sans JP',sans-serif);isolation:isolate;outline:none}
.initiation-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.initiation-background,.initiation-shade,.initiation-glimmer,.initiation-whiteout{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.initiation-background{display:block;object-fit:cover;object-position:50% 47%;opacity:1}
.initiation-shade{background:linear-gradient(180deg,#0d183719 8%,#1116320a 36%,#11172f82 100%)}
.initiation-glimmer{background:radial-gradient(ellipse at 50% 32%,#fff8d420,transparent 52%);opacity:.8}
.initiation-content{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;width:100%;height:100%;padding:28px 28px max(34px,env(safe-area-inset-bottom));overflow:hidden}
.initiation-window{display:flex;flex-direction:column;width:min(850px,100%);max-height:calc(100dvh - 56px);min-height:248px;padding:19px 28px 22px;background:#19233beF;border:2px solid #e0cd98;border-radius:10px;box-shadow:0 0 0 3px #19233b,0 0 0 4px #e0cd9866,0 8px 0 #10182db3,0 18px 60px #08142766;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.initiation-window-header{display:flex;justify-content:center;align-items:center;gap:15px;padding-bottom:13px;color:#f4dfab;font-size:13px;font-weight:700;letter-spacing:.24em}
.initiation-star{font-size:18px;line-height:1;color:#f4e7bf}
.initiation-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-color:#aa9c7e #253046;padding:0 3px 3px}
.initiation-screen[data-phase="question"] .initiation-window{height:min(320px,calc(100dvh - 56px))}
.initiation-speaker{margin:0 0 8px;color:#f4dfab;font-size:13px;font-weight:700;letter-spacing:.08em}
.initiation-copy{margin:0;min-height:3.4em;white-space:pre-line;font-family:var(--pixel,'DotGothic16',monospace);font-size:clamp(18px,2vw,23px);font-weight:400;line-height:1.85;letter-spacing:.035em;text-shadow:0 2px 0 #0c1025}
.initiation-progress{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;padding:0 2px 12px;border-bottom:1px solid #f4dfab3d}
.initiation-count{flex-shrink:0;color:#f3e4be;font-size:13px;letter-spacing:.05em}.initiation-count b{font-family:var(--pixel,monospace);font-size:19px;color:#fff4ce}.initiation-count small{margin-left:8px;color:#d8d2c8;font-size:12px;letter-spacing:0}
.initiation-steps{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap;max-width:60%}.initiation-steps i{display:block;width:11px;height:11px;background:#202b43;border:1px solid #abb0bd;border-radius:2px;transform:rotate(45deg)}.initiation-steps i.is-complete{background:#b4b8b3;border-color:#d5d5bc}.initiation-steps i.is-current{background:#f1d693;border-color:#fff5cb;box-shadow:0 0 9px #ffe0a677}
.initiation-actions{display:flex;justify-content:flex-end;gap:14px;margin-top:19px;padding:2px;flex-shrink:0}.initiation-actions button{display:flex;align-items:center;justify-content:center;gap:13px;min-width:160px;min-height:48px;padding:10px 20px;background:#fff4d9;color:#222c43;border:2px solid #dac998;border-radius:5px;box-shadow:0 4px 0 #9d8a61;font-size:18px;font-weight:800;line-height:1.35;touch-action:manipulation}.initiation-actions button:nth-child(2){background:#e2ebf5;border-color:#adbed1;box-shadow:0 4px 0 #6f839d}.initiation-actions button:hover:not(:disabled){background:#fffbe9;transform:translateY(-1px)}.initiation-actions button:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px 0 #9d8a61}.initiation-actions button:focus-visible{outline:3px solid #fff7b9;outline-offset:5px}.initiation-actions button:disabled{opacity:1;color:#667184;background:#c9ced4;border-color:#8d98a6;box-shadow:0 3px 0 #667184}.initiation-actions button span{font-size:22px;line-height:1}.initiation-actions .initiation-next{min-width:210px}.initiation-next span{font-size:15px!important;margin-left:10px}
.initiation-vocation{margin-top:13px;padding:14px 18px;background:#f9edd2;color:#202c43;border:1px solid #d7bd7d;border-radius:5px;text-align:center}.initiation-vocation>span{font-size:12px;letter-spacing:.12em}.initiation-vocation h3{margin:5px 0;font-size:clamp(21px,2.5vw,28px);line-height:1.45;font-weight:800;overflow-wrap:anywhere}.initiation-vocation p{font-size:14px;margin:4px 0 0;color:#3d4d64}.initiation-vocation b{font-family:var(--pixel,monospace);font-size:20px;white-space:nowrap}.initiation-traits{display:grid;gap:9px;padding:0;margin:16px 0 0;list-style:none}.initiation-traits li{display:grid;grid-template-columns:17px minmax(0,1fr);gap:9px;font-size:14px;line-height:1.75;color:#f3efe3;overflow-wrap:anywhere}.initiation-traits li>span:first-child{color:#ead299;font-size:18px;line-height:1.4}
.initiation-whiteout{z-index:5;background:white;opacity:0}.initiation-screen[data-phase="black"] .initiation-background,.initiation-screen[data-phase="black"] .initiation-shade,.initiation-screen[data-phase="black"] .initiation-glimmer{opacity:0}.initiation-screen[data-phase="reveal"] .initiation-background,.initiation-screen[data-phase="reveal"] .initiation-shade,.initiation-screen[data-phase="reveal"] .initiation-glimmer{animation:initiation-reveal 2500ms ease-out both}.initiation-screen[data-phase="whiteout"] .initiation-whiteout{animation:initiation-whiteout 1200ms ease-in-out both}.initiation-screen[data-phase="black"] .initiation-content,.initiation-screen[data-phase="reveal"] .initiation-content,.initiation-screen[data-phase="whiteout"] .initiation-content{visibility:hidden;pointer-events:none}
@keyframes initiation-reveal{from{opacity:0}to{opacity:1}}@keyframes initiation-whiteout{from{opacity:0}to{opacity:1}}
@media(min-height:850px){.initiation-content{padding-bottom:7vh}.initiation-window{max-height:81dvh}}
@media(max-width:600px){.initiation-content{padding:18px 15px max(22px,env(safe-area-inset-bottom))}.initiation-window{max-height:calc(100dvh - 42px);min-height:260px;padding:15px 17px 18px;border-radius:8px}.initiation-window-header{font-size:12px;gap:12px;padding-bottom:12px}.initiation-copy{font-size:18px;line-height:1.8;letter-spacing:.015em}.initiation-progress{gap:8px;margin-bottom:12px}.initiation-count{font-size:12px}.initiation-count b{font-size:17px}.initiation-count small{font-size:11px;margin-left:4px}.initiation-steps{gap:5px;max-width:53%}.initiation-steps i{width:9px;height:9px}.initiation-actions{gap:12px;margin-top:17px}.initiation-actions button{min-width:0;min-height:49px;flex:1;padding:10px 14px;font-size:18px;gap:10px}.initiation-actions .initiation-next{min-width:0;flex:0 1 auto;font-size:16px;max-width:100%}.initiation-vocation{padding:11px 12px}.initiation-vocation h3{font-size:22px}.initiation-traits{gap:8px;margin-top:12px}.initiation-traits li{font-size:13px;line-height:1.7;gap:6px}.initiation-result-window .initiation-copy{font-size:17px;min-height:0}.initiation-background{object-position:50% 45%}}
@media(max-height:500px){.initiation-content{padding:12px 20px 17px}.initiation-window{min-height:0;max-height:calc(100dvh - 30px);padding:12px 20px 14px}.initiation-window-header{padding-bottom:8px}.initiation-copy{font-size:17px;min-height:0;line-height:1.6}.initiation-progress{margin-bottom:9px;padding-bottom:8px}.initiation-actions{margin-top:12px}.initiation-actions button{min-height:40px;padding:8px 15px;font-size:16px}}
@media(prefers-reduced-motion:reduce){.initiation-screen *{animation-duration:.01s!important;animation-iteration-count:1!important;transition-duration:.01s!important}}
.initiation-abilities{margin:16px 0;padding:12px;border:1px solid #d8cb9c88;border-radius:8px;background:#13203388;color:#faf5e8;font-size:14px}
.initiation-abilities>p{margin-bottom:8px;font-weight:700}
.initiation-abilities dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 12px}
.initiation-abilities dl>div{display:flex;justify-content:space-between;gap:7px;border-bottom:1px solid #d8cb9c44;padding:5px 0}
.initiation-abilities dd{margin:0;font-weight:700;color:#ffebad;font-variant-numeric:tabular-nums}
@media(max-width:480px){.initiation-abilities{font-size:13px}.initiation-abilities dl{grid-template-columns:repeat(2,minmax(0,1fr))}}

.initiation-abilities>small{display:block;margin:0 0 8px;color:#e1dccb;font-size:11px}
