:root{color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:"Noto Sans KR",sans-serif;color:#f5eedf;background:#07111c}button,input,select{font:inherit}button{cursor:pointer}body{overflow-x:hidden}.world{position:fixed;inset:0;overflow:hidden;z-index:-1;background:radial-gradient(ellipse at 32% 45%,#173d51 0%,#0b2032 37%,#050b17 84%)}.sky{position:absolute;inset:0;background:radial-gradient(circle at 28% 26%,#4c8aa2aa 0%,transparent 21%),linear-gradient(160deg,#06101e 10%,#142c43 55%,#07101b 100%)}.sky:after{content:"";position:absolute;inset:0;background-image:radial-gradient(#dce6e8 1px,transparent 1px);background-size:63px 87px;opacity:.2;animation:twinkle 8s ease-in-out infinite alternate}.moon{position:absolute;left:23%;top:16%;width:clamp(100px,13vw,195px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 38% 35%,#fff8d9,#b8d8df 65%,#75afc3);box-shadow:0 0 45px 14px #c1e9ff66,0 0 170px 60px #6fc8ec44;animation:moonlight 9s ease-in-out infinite alternate}.mountains{position:absolute;left:-10%;width:95%;height:43%;bottom:24%;clip-path:polygon(0 90%,8% 62%,17% 78%,29% 29%,39% 63%,51% 20%,62% 63%,71% 37%,82% 71%,100% 39%,100% 100%,0 100%)}.mountains.back{background:linear-gradient(#315d71,#102c3e);opacity:.78;filter:blur(5px);animation:drift 22s ease-in-out infinite alternate}.mountains.front{bottom:17%;height:37%;width:110%;background:linear-gradient(#193b4a,#061724);opacity:.95;transform:scaleX(-1)}.pagoda{position:absolute;left:8%;bottom:23%;width:38%;height:38%;filter:drop-shadow(0 0 30px #6ec9dd55)}.roof{position:absolute;left:5%;width:90%;height:21%;background:linear-gradient(#173746,#08141e);clip-path:polygon(0 76%,16% 62%,31% 27%,70% 27%,85% 62%,100% 76%,90% 93%,10% 93%);border-bottom:2px solid #a98953}.roof-a{top:9%}.roof-b{top:42%;left:14%;width:72%}.columns{position:absolute;inset:27% 22% 0;border-left:10px solid #1b242b;border-right:10px solid #1b242b;background:repeating-linear-gradient(90deg,transparent 0 27%,#091722 28% 32%,transparent 33% 66%);border-bottom:8px solid #0b1720}.lamps{position:absolute;inset:0}.lamps i{position:absolute;top:49%;left:17%;width:14px;height:25px;border-radius:5px;background:#ffcb74;box-shadow:0 0 16px 6px #ffb55b99,0 0 75px 30px #e8a14a44;animation:lantern 4s ease-in-out infinite alternate}.lamps i:nth-child(2){left:50%;top:32%;animation-delay:1s}.lamps i:nth-child(3){left:80%;animation-delay:2s}.water{position:absolute;bottom:-8%;left:-10%;width:120%;height:39%;background:repeating-radial-gradient(ellipse at 32% 5%,transparent 0 24px,#4b94a725 26px 29px,transparent 33px 55px),linear-gradient(#0b3c4c,#06121d);transform:perspective(500px) rotateX(58deg);animation:water 12s linear infinite}.water-glow{position:absolute;bottom:3%;left:5%;width:62%;height:16%;background:radial-gradient(ellipse,#b0dce36b,transparent 70%);filter:blur(20px);animation:shimmer 6s ease-in-out infinite alternate}.mist{position:absolute;bottom:15%;left:-20%;width:110%;height:28%;border-radius:50%;background:radial-gradient(ellipse,#c5e9ef30,transparent 70%);filter:blur(28px);animation:drift 19s ease-in-out infinite alternate}.mist-b{bottom:32%;opacity:.45;animation-duration:27s;animation-direction:alternate-reverse}.sigil{position:absolute;left:29%;top:38%;width:clamp(125px,17vw,245px);aspect-ratio:1;border:1px solid #f1d6a77d;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 24px #f3c98244,inset 0 0 50px #a8d7e329;animation:rotate 45s linear infinite}.sigil:before,.sigil:after{content:"";position:absolute;inset:10%;border:1px dashed #e4c99599;border-radius:50%}.sigil:after{inset:-12%;border-style:solid;border-color:#e6ce8544}.sigil-core{font:58px serif;color:#f3d39e;text-shadow:0 0 35px #e9bf7a;animation:rotate 45s linear infinite reverse}.floating{position:absolute;font:24px serif;color:#edc98caa;text-shadow:0 0 16px #e9bf7a;animation:float 9s ease-in-out infinite alternate}.f1{left:12%;top:20%}.f2{left:46%;top:16%;animation-delay:1s}.f3{left:5%;top:55%;animation-delay:2s}.f4{left:50%;top:64%;animation-delay:3s}.f5{left:35%;top:10%}.f6{left:55%;top:38%}.f7{left:14%;top:76%}.f8{left:40%;top:79%}.f9{left:4%;top:35%}.particles{position:absolute;inset:0;pointer-events:none}.particle{position:absolute;width:3px;height:3px;border-radius:50%;background:#f8d18b;box-shadow:0 0 9px 3px #eabf7299;animation:floatUp var(--duration) linear infinite;animation-delay:var(--delay);opacity:0}@keyframes floatUp{0%{transform:translateY(25px);opacity:0}20%{opacity:.9}80%{opacity:.7}100%{transform:translateY(-120px);opacity:0}}@keyframes float{to{transform:translate(9px,-24px);opacity:.5}}@keyframes drift{to{transform:translateX(8%)}}@keyframes water{to{background-position:0 150px,0 0}}@keyframes moonlight{to{box-shadow:0 0 65px 20px #c1e9ff99,0 0 210px 75px #6fc8ec55}}@keyframes lantern{to{opacity:.68;transform:translateY(-5px)}}@keyframes shimmer{to{transform:translateX(10%);opacity:.6}}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes twinkle{to{opacity:.42}}header{height:85px;padding:0 clamp(20px,4vw,70px);display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #f0d7a629;background:#06101a55;backdrop-filter:blur(7px)}a{color:inherit;text-decoration:none}.brand{display:flex;align-items:center;gap:12px;font:600 26px "Noto Serif KR",serif}.brand-mark{display:grid;place-items:center;width:45px;height:45px;border:1px solid #c7a975;border-radius:50%;color:#e8c98e}.brand small{display:block;font:10px "Noto Sans KR";letter-spacing:.3em;color:#d4ba88}.header-caption{color:#e7d5b1;font-size:12px;letter-spacing:.18em}.back-home{font-size:12px;color:#ddc59d}main{min-height:calc(100svh - 85px);display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);align-items:center;gap:4vw;padding:40px clamp(20px,5vw,80px) 65px}.scenic-copy{align-self:end;padding-bottom:5vh;text-shadow:0 3px 18px #07121e}.micro{color:#e6c58e;font-size:11px;letter-spacing:.3em}.scenic-copy h1{font:500 clamp(32px,3.3vw,57px)/1.48 "Noto Serif KR",serif;letter-spacing:-.05em;margin:25px 0}.scenic-copy h1 em{font-style:normal;color:#f4cf8c}.scenic-copy p{color:#e2e6e6;line-height:2;font-size:15px}.scenic-foot{font-size:11px;color:#e5d4b1;margin-top:35px}.pulse{display:inline-block;width:7px;height:7px;background:#e6be79;border-radius:50%;box-shadow:0 0 13px #e9bd6c;margin-right:9px}.entry{width:100%;max-width:535px;justify-self:end;background:linear-gradient(125deg,#142e3bc9,#0c2030c4);border:1px solid #c7ac7b73;border-radius:24px;padding:clamp(24px,3vw,46px);box-shadow:0 28px 100px #0008,inset 0 0 40px #91a8a509;backdrop-filter:blur(17px)}.entry-top{display:flex;justify-content:space-between;color:#e5c38c;font-size:11px;letter-spacing:.15em}.progress{height:2px;background:#f2e2c53a;margin:22px 0 37px}.progress>div{height:100%;width:16.666%;background:#efca8a;transition:width .4s}.step-title{font:500 clamp(23px,2.5vw,32px) "Noto Serif KR",serif;line-height:1.5;letter-spacing:-.04em}.step-help{color:#c7d1d3;font-size:13px;line-height:1.8;margin:13px 0 27px}#stepFields{min-height:120px}#stepFields label{display:block;margin-bottom:11px;color:#e8dfcb;font-size:13px}#stepFields input,#stepFields select{width:100%;padding:14px 15px;border:1px solid #e3d5b965;background:#091724a8;color:#fff8ed;border-radius:10px;outline:none}#stepFields input:focus,#stepFields select:focus{border-color:#e6c58e;box-shadow:0 0 0 3px #e6c58e33}#stepFields option{background:#12283a}.choice-row{display:flex;gap:10px;margin-bottom:20px}.choice-row button{flex:1;border:1px solid #c3b4946b;color:#f7e7c8;background:#0917248a;border-radius:10px;padding:12px}.choice-row button.selected{background:#e5c48a;color:#1c2931}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px}.actions button{padding:14px 23px;border-radius:9px;border:1px solid #d7bc88;font-weight:600}.secondary{background:transparent;color:#e3cda5}.primary{background:#e7c58c;color:#172735;flex:1}.privacy{color:#c4cdd0;font-size:11px;line-height:1.8;margin:26px 0 0}.error{min-height:20px;color:#ffd1a8;font-size:12px}.result-stage{position:fixed;inset:0;background:#07111c;z-index:10;overflow:auto;padding:22px}.result-stage[hidden]{display:none}.result-head{text-align:center;margin:20px auto;color:#e5c58f}.result-head h2{font:32px "Noto Serif KR",serif}.result-head button{background:transparent;border:1px solid #c5a979;color:#ead2a4;padding:10px 20px;border-radius:7px}#engineFrame{display:block;width:min(1200px,100%);height:75vh;margin:25px auto;border:1px solid #c5a97977;border-radius:10px;background:white}@media(max-width:850px){header{height:70px}.header-caption{display:none}main{grid-template-columns:1fr;padding:25px 18px 45px;gap:25px}.scenic-copy{align-self:auto;padding:35px 5px 8px}.scenic-copy h1{font-size:clamp(29px,7vw,44px)}.scenic-copy p{font-size:13px}.scenic-foot{display:none}.entry{max-width:620px;justify-self:center}.moon{left:15%;top:10%}.pagoda{left:-10%;width:75%;bottom:40%}.mountains{bottom:40%}.mountains.front{bottom:34%}.water{bottom:10%;height:33%}.sigil{left:33%;top:19%;width:130px}.world:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#07111a22,#07111a55)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Visual repair v2: render scene above page background and beneath UI. */
html{background:#06101b}
body{position:relative;isolation:isolate;background:transparent!important;min-height:100svh}
.world{position:fixed!important;inset:0!important;z-index:0!important;pointer-events:none!important;opacity:1!important;visibility:visible!important}
body>header,body>main{position:relative;z-index:2}
.world .sky{z-index:0}.world .moon{z-index:1}.world .mountains{z-index:2}.world .pagoda{z-index:3}.world .water{z-index:4}.world .water-glow{z-index:5}.world .mist{z-index:6}.world .sigil,.world .floating,.world .particles{z-index:7}
body>main{background:linear-gradient(90deg,rgba(3,11,19,.10) 0%,rgba(3,11,19,.06) 48%,rgba(3,11,19,.16) 100%)}
.scenic-copy{align-self:center!important;padding:0 0 4vh!important;max-width:760px}
.scenic-copy h1{font-size:clamp(30px,3vw,52px)!important;line-height:1.55!important}
.entry{background:linear-gradient(130deg,rgba(10,27,39,.89),rgba(12,31,43,.92))!important;box-shadow:0 24px 75px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.05)!important}
.entry .step-title{font-size:clamp(22px,2.1vw,30px)!important}
.moon{left:19%!important;top:13%!important}
.pagoda{left:3%!important;bottom:17%!important;width:42%!important;height:40%!important}
.mountains.back{bottom:23%!important}.mountains.front{bottom:16%!important}
.sigil{left:31%!important;top:31%!important}
.water{bottom:-7%!important}
@media(max-width:850px){body>main{background:linear-gradient(180deg,rgba(3,11,19,.05),rgba(3,11,19,.35))}.scenic-copy{padding:30px 0 10px!important}.scenic-copy h1{font-size:clamp(27px,6.8vw,42px)!important}.moon{left:12%!important;top:10%!important}.pagoda{left:-8%!important;bottom:32%!important;width:72%!important}.sigil{left:43%!important;top:21%!important}.entry{background:rgba(8,24,35,.93)!important}}

/* Mythic journey — scene, chapters, narrative overlays */
.world:before{content:"";position:absolute;inset:0;z-index:8;pointer-events:none;background:radial-gradient(ellipse at 25% 30%,transparent 15%,rgba(2,9,18,.16) 70%),linear-gradient(90deg,rgba(2,9,18,.14),transparent 50%)}
.world-label{font:500 clamp(24px,3vw,46px)/1.5 "Noto Serif KR",serif;color:#f9e5b6;margin-bottom:32px;text-shadow:0 0 30px #dfa45c99}
.scenic-copy .micro{letter-spacing:.23em}
.chapters{position:fixed;z-index:20;inset:0;overflow-y:auto;padding:clamp(24px,5vw,72px);background:linear-gradient(120deg,rgba(3,12,24,.97),rgba(8,25,42,.94)),radial-gradient(circle at 50% 40%,#b18a52,#0b1c30);backdrop-filter:blur(24px);text-align:center}
.chapters[hidden]{display:none}
.chapters-header{display:flex;align-items:center;justify-content:space-between;max-width:740px;margin:0 auto;color:#d9b77d;font-size:11px;letter-spacing:.2em}
.chapters-header button{background:transparent;border:1px solid #bd9d68;color:#e7d4b2;padding:10px 17px;border-radius:7px}
.chapters h2{font:500 clamp(28px,4vw,48px) "Noto Serif KR",serif;margin:40px 0 10px;color:#f4e6cd}
.chapters>p{color:#c2cbd1;font-size:13px;line-height:1.9}
.chapter-list{max-width:650px;margin:30px auto;display:grid;gap:9px}
.chapter-item{width:100%;display:flex;align-items:center;gap:16px;padding:14px 18px;background:rgba(9,20,33,.78);border:1px solid rgba(200,173,119,.3);border-radius:10px;color:#e9dfcb;text-align:left}
.chapter-item.open{border-color:#e9c785;background:rgba(179,127,60,.17)}
.chapter-item>span:nth-child(2){display:grid;gap:4px;flex:1}
.chapter-item small{font-size:10px;color:#c6aa78}
.chapter-item strong{font:500 17px "Noto Serif KR",serif}
.chapter-icon{display:grid;place-items:center;width:32px;height:32px;border:1px solid #a98b5c;border-radius:50%;color:#f3c981}
.chapter-lock{font-size:11px;color:#d5b981}
.chapters-actions{max-width:650px;margin:25px auto 70px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.chapters-actions button,.chapters-actions a{padding:16px 10px;border-radius:8px;font-size:13px;text-decoration:none;border:1px solid #d8b479;background:#e6c488;color:#1c2a33;font-weight:700}
.chapters-actions a{background:transparent;color:#edc98a}
@media(max-width:650px){.world-label{font-size:26px;margin-bottom:20px}.chapters-actions{grid-template-columns:1fr}.chapter-item{padding:12px}.chapter-item strong{font-size:15px}}

/* Sequential comic panels: clear narrative, cliffhanger, no invented personalized outcomes */
.comic-teaser{width:min(680px,100%);margin:34px auto 28px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;overflow:hidden;border:1px solid #cda76c9c;border-radius:16px;background:#101a28;box-shadow:0 25px 65px #0008;text-align:left}
.comic-art{position:relative;min-height:280px;overflow:hidden;background:radial-gradient(circle at 53% 28%,#f7e5b3 0 7%,#d3a96d 8% 9%,transparent 10%),radial-gradient(ellipse at 54% 34%,#56768e 0%,#152f4b 40%,#08111f 75%);isolation:isolate}
.comic-art:before{content:"";position:absolute;inset:0;background:linear-gradient(150deg,transparent 55%,#07121c 56% 63%,transparent 64%),linear-gradient(25deg,transparent 56%,#081826 57% 66%,transparent 67%);opacity:.85}
.comic-art:after{content:"✦  ✧  ✦  ✧";position:absolute;top:15px;left:15px;color:#f4d79e;letter-spacing:28px;text-shadow:0 0 12px #ffdf8b}
.comic-orbit{position:absolute;width:200px;height:200px;border:1px solid #e8c58b88;border-radius:50%;top:18px;left:calc(50% - 100px);box-shadow:0 0 30px #cda96b55,inset 0 0 22px #cda96b44;animation:rotate 40s linear infinite}
.comic-orbit:before{content:"";position:absolute;inset:18px;border:1px dashed #cda76b99;border-radius:50%}
.comic-figure{position:absolute;width:75px;height:140px;left:calc(50% - 38px);bottom:0;background:linear-gradient(#081421,#020912);clip-path:polygon(44% 0,62% 0,72% 16%,69% 32%,84% 48%,100% 100%,0 100%,17% 48%,32% 32%,29% 16%);filter:drop-shadow(0 0 15px #d9ac7a)}
.comic-caption{position:absolute;bottom:15px;left:14px;background:#09121bd9;color:#f5d7a1;border:1px solid #d2b079;padding:7px 11px;border-radius:5px;font-size:11px}
.comic-dialogue{padding:26px 24px 15px;display:flex;flex-direction:column;justify-content:center}
.comic-speaker{color:#e4bc7d;letter-spacing:.16em;font-size:11px}
.comic-dialogue p{font:500 19px/1.8 "Noto Serif KR",serif;color:#fff3de}
.comic-next{display:block;border-left:2px solid #e2ba7b;padding-left:12px;font-size:13px;line-height:1.8;color:#e7c890}
.comic-continue{grid-column:1/-1;padding:15px;background:#e5c18a;color:#172735;font-weight:700;border:0;letter-spacing:.03em}
.comic-art[data-scene="1"]{background:radial-gradient(circle at 48% 32%,#f4deaa 0 9%,transparent 10%),linear-gradient(160deg,#476c84,#091c30)}
.comic-art[data-scene="2"]{background:radial-gradient(circle at 55% 40%,#ba8556 0 10%,transparent 11%),linear-gradient(160deg,#533f51,#071524)}
.comic-art[data-scene="3"]{background:radial-gradient(circle at 50% 28%,#e7ce9a 0 8%,transparent 9%),linear-gradient(160deg,#3b6b72,#071524)}
@media(max-width:600px){.comic-teaser{grid-template-columns:1fr}.comic-art{min-height:230px}.comic-dialogue{padding:20px}.comic-dialogue p{font-size:17px}}

/* Optional real-video layer: the CSS scene remains visible until a playable video exists. */
.scene-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:0;pointer-events:none;transition:opacity 1.2s ease}
.world:has(.scene-video:not([data-unavailable])) .scene-video[data-ready="true"]{opacity:.72}
.scene-video-tint{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(3,10,18,.15),rgba(3,10,18,.3))}
.world:has(.scene-video[data-ready="true"]) .sky,.world:has(.scene-video[data-ready="true"]) .moon,.world:has(.scene-video[data-ready="true"]) .mountains,.world:has(.scene-video[data-ready="true"]) .pagoda,.world:has(.scene-video[data-ready="true"]) .water{opacity:.18}
.motion-toggle{font-size:12px;color:#e8d0a4;border:1px solid #d2ad7166;border-radius:8px;padding:8px 12px;background:#0c1d2bcc}
.motion-paused .world *{animation-play-state:paused!important}
@media(max-width:650px){.motion-toggle{font-size:10px;padding:7px 9px}}

/* Mythic gate intro — synchronized 8-second illustrated motion */
.gate-intro{position:fixed;inset:0;z-index:100;overflow:hidden;background:radial-gradient(ellipse at 50% 52%,#25465c 0%,#091725 55%,#030811 100%);isolation:isolate;transition:opacity .9s ease,visibility .9s ease}
.gate-intro.finished{opacity:0;visibility:hidden;pointer-events:none}
.gate-intro[data-manual-playback="true"]{display:block!important}
.intro-playback-status{margin:0;padding:12px 20px;color:#f3d5a0;background:#101e2b;font-size:13px;line-height:1.7;text-align:center}
.intro-playback-status[hidden]{display:none}
.gate-stars{position:absolute;inset:0;background-image:radial-gradient(#fff3d1 1px,transparent 1px),radial-gradient(#9cc6da 1px,transparent 1px);background-size:74px 91px,137px 161px;background-position:12px 14px,39px 71px;opacity:.55;animation:gate-stars 8s ease-in forwards}
.gate-halo{position:absolute;left:50%;top:43%;width:min(78vw,640px);aspect-ratio:1;border-radius:50%;border:2px solid #d6ac64a6;box-shadow:0 0 75px #e4ad526b,inset 0 0 65px #e3a64c33;transform:translate(-50%,-50%) rotate(0);animation:gate-halo 8s ease-in-out forwards}
.gate-halo:before,.gate-halo:after{content:"";position:absolute;inset:8%;border:1px dashed #e4c48f99;border-radius:50%}.gate-halo:after{inset:20%;border-style:solid;opacity:.6}
.gate-frame{position:absolute;width:clamp(210px,30vw,440px);height:clamp(320px,70vh,680px);left:50%;top:49%;transform:translate(-50%,-50%);border:14px ridge #8c663d;box-shadow:0 0 0 7px #1b2025,0 0 85px #e6ac5659,inset 0 0 40px #000;perspective:850px;overflow:hidden;background:#f3c37e}
.gate-frame:before{content:"";position:absolute;z-index:5;inset:0;pointer-events:none;border:4px solid #d6ad67}
.gate-light{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 60%,#fff9d8 0%,#ffd996 40%,#d48844 90%);filter:brightness(.5);animation:gate-light 8s ease-in forwards}
.gate-panel{position:absolute;top:0;bottom:0;width:50.5%;background:repeating-linear-gradient(90deg,#38271f 0 13px,#6e4a30 15px 23px,#271b18 26px 34px);box-shadow:inset 0 0 0 4px #b58b4b,inset 0 0 0 12px #36251c;z-index:3;animation-duration:8s;animation-fill-mode:forwards}
.gate-panel:after{content:"";position:absolute;inset:15% 13%;border:2px solid #c49a55;box-shadow:0 0 0 7px #231d1b,inset 0 0 18px #b9904c55}
.gate-left{left:0;transform-origin:left center;animation-name:gate-left}.gate-right{right:0;transform-origin:right center;animation-name:gate-right}
.gate-seal{position:absolute;z-index:4;left:50%;top:47%;transform:translate(-50%,-50%);width:72px;height:72px;display:grid;place-items:center;border-radius:50%;border:2px solid #f2d18d;background:#503822;color:#f9df9f;font:40px "Noto Serif KR",serif;box-shadow:0 0 25px #f7c777aa;animation:gate-seal 8s forwards}
.gate-traveler{position:absolute;z-index:8;left:50%;bottom:7%;width:115px;height:275px;transform:translateX(-50%) scale(.8);filter:drop-shadow(0 0 12px #05080c);animation:gate-traveler 8s ease-in-out forwards}
.traveler-head{position:absolute;top:5px;left:42px;width:34px;height:43px;border-radius:45%;background:#02050b;box-shadow:0 -10px 0 7px #05070b}
.traveler-body{position:absolute;top:44px;left:36px;width:50px;height:128px;background:#02050b;clip-path:polygon(20% 0,85% 0,100% 100%,0 100%)}
.traveler-cloak{position:absolute;top:68px;left:0;width:115px;height:202px;background:linear-gradient(100deg,#040911,#0b1522 55%,#02050b);clip-path:polygon(38% 0,64% 0,100% 100%,0 100%);animation:gate-cloak 2.5s ease-in-out infinite alternate}
.traveler-arm{position:absolute;z-index:2;top:75px;left:65px;width:16px;height:92px;background:#03060b;transform-origin:top center;animation:gate-arm 8s forwards}
.gate-flash{position:absolute;inset:0;z-index:9;pointer-events:none;background:#fff2ce;opacity:0;animation:gate-flash 8s forwards}
.gate-subtitle{position:absolute;z-index:11;left:0;right:0;bottom:7%;text-align:center;color:#f8e3b6;font:500 clamp(17px,3vw,26px) "Noto Serif KR",serif;letter-spacing:.1em;text-shadow:0 0 18px #000;animation:gate-subtitle 8s forwards}
.skip-intro{position:absolute;z-index:12;right:clamp(16px,4vw,65px);top:clamp(18px,4vw,55px);border:1px solid #dfc18b99;border-radius:24px;padding:10px 17px;color:#f8e4bb;background:#07111bbd}
@keyframes gate-stars{0%{transform:scale(1);opacity:.35}100%{transform:scale(1.18);opacity:.9}}
@keyframes gate-halo{0%{transform:translate(-50%,-50%) rotate(0) scale(.85);opacity:.3}60%{opacity:1}100%{transform:translate(-50%,-50%) rotate(95deg) scale(1.25);opacity:.5}}
@keyframes gate-traveler{0%{transform:translate(-50%,55px) scale(.72);opacity:0}12%{opacity:1}40%{transform:translate(-50%,0) scale(.9)}63%{transform:translate(-50%,-25px) scale(.94)}78%{transform:translate(-50%,-70px) scale(.75);opacity:1}100%{transform:translate(-50%,-110px) scale(.55);opacity:0}}
@keyframes gate-arm{0%,35%{transform:rotate(0)}47%,65%{transform:rotate(-70deg)}85%,100%{transform:rotate(-35deg)}}
@keyframes gate-cloak{to{transform:skewX(-5deg)}}
@keyframes gate-left{0%,51%{transform:rotateY(0)}80%,100%{transform:rotateY(-102deg)}}
@keyframes gate-right{0%,51%{transform:rotateY(0)}80%,100%{transform:rotateY(102deg)}}
@keyframes gate-seal{0%,48%{opacity:1;transform:translate(-50%,-50%) scale(1)}58%{opacity:0;transform:translate(-50%,-50%) scale(1.8)}100%{opacity:0}}
@keyframes gate-light{0%,55%{filter:brightness(.35)}83%{filter:brightness(2)}100%{filter:brightness(3)}}
@keyframes gate-flash{0%,82%{opacity:0}93%{opacity:.94}100%{opacity:1}}
@keyframes gate-subtitle{0%,15%{opacity:0}25%,75%{opacity:1}95%,100%{opacity:0}}
@media(max-width:650px){.gate-frame{width:65vw;height:55vh}.gate-traveler{bottom:13%;transform-origin:center bottom}.gate-subtitle{bottom:8%}}
@media(prefers-reduced-motion:reduce){.gate-intro{display:none!important}}

/* Atmospheric scenic artwork integrated with the gate sequence */
.gate-intro{background:radial-gradient(ellipse at 50% 60%,#382b2038,transparent 65%),#040b14}
.gate-intro:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 20%,#02081199 100%);z-index:0}
.gate-frame{box-shadow:0 0 0 7px #1b2025,0 0 85px #e6ac5659,inset 0 0 40px #000,0 40px 110px #0009}
.gate-traveler{filter:drop-shadow(0 15px 16px #000c) drop-shadow(0 0 8px #e5b77655)}

/* GPU-independent projection of the original gate choreography. */
.gate-camera-stage{position:absolute;inset:0;transform-origin:50% 44%;transform:scale(var(--gate-camera,.9));will-change:transform}
.gate-intro[data-playback="dom"]{background:radial-gradient(ellipse at 50% 46%,#243648,#080e18 70%)}
.gate-intro[data-playback="dom"] .gate-frame{overflow:visible;isolation:isolate;background:#122637;box-shadow:0 0 0 7px #101a23,0 0 65px #e6ac5645,0 35px 100px #0009}
.gate-intro[data-playback="dom"] .gate-frame:before{z-index:6;box-shadow:inset 0 0 18px #0009}
.gate-intro[data-playback="dom"] .gate-panel{animation:none;backface-visibility:hidden;background:repeating-linear-gradient(90deg,#30251f 0 13px,#543c2d 15px 23px,#231c1a 26px 34px)}
.gate-intro[data-playback="dom"] .gate-left{transform:rotateY(var(--gate-left-angle,0deg))}
.gate-intro[data-playback="dom"] .gate-right{transform:rotateY(var(--gate-right-angle,0deg))}
.gate-intro[data-playback="dom"] .gate-seal{animation:none;opacity:var(--gate-seal-opacity,1)}
.gate-intro[data-playback="dom"] .gate-light{overflow:hidden;background:radial-gradient(ellipse at 50% 42%,#345b6b,#122535 60%,#080f1d);animation:none;filter:brightness(var(--gate-light-strength,.65));box-shadow:inset 0 0 30px #040a13}
.gate-destination-moon{position:absolute;left:38%;top:20%;width:24%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff7db,#96b8c7);box-shadow:0 0 25px #a8d7e366}
.gate-destination-mountains{position:absolute;inset:42% -20% 20%;background:#132d3b;clip-path:polygon(0 100%,0 65%,14% 20%,28% 65%,47% 30%,62% 72%,85% 15%,100% 75%,100% 100%)}
.gate-destination-water{position:absolute;inset:66% 0 0;background:repeating-radial-gradient(ellipse at 50% 0,transparent 0 12px,#d4bc813b 13px 14px,transparent 15px 24px),linear-gradient(#203c49,#0b1a28)}
.gate-destination-orbit{position:absolute;width:35%;aspect-ratio:1;left:32.5%;top:49%;border:1px solid #f5ce83;border-radius:50%;box-shadow:0 0 20px #e7b75f77,inset 0 0 20px #e7b75f33}
.gate-destination-orbit:after{content:"";position:absolute;inset:12%;border:1px dashed #eacb8b99;border-radius:50%}
.gate-path{position:absolute;left:12%;right:12%;top:62%;bottom:-10%;transform:perspective(500px) rotateX(50deg);transform-origin:50% 0;background:repeating-linear-gradient(0deg,transparent 0 48px,#71829233 49px 51px),repeating-linear-gradient(90deg,#15212c 0 24%,#354452 24.5% 25%);clip-path:polygon(35% 0,65% 0,100% 100%,0 100%);opacity:.8}
.gate-intro[data-playback="dom"] .gate-traveler{bottom:4%;transform:translate(-50%,var(--gate-person-y,0px)) scale(var(--gate-person-scale,.95));transform-origin:center bottom;opacity:var(--gate-person-opacity,0);animation:none;filter:drop-shadow(0 12px 10px #0009) drop-shadow(0 0 3px #d6a96d99)}
.gate-intro[data-playback="dom"] .traveler-arm{animation:none;transform:rotate(var(--gate-arm-angle,0deg));background:linear-gradient(90deg,#101b28,#26303c)}
.gate-intro[data-playback="dom"] .traveler-cloak{animation:none;transform:skewX(var(--gate-cloak,0deg));height:177px;background:repeating-linear-gradient(95deg,#101a26 0 9px,#1d2734 13px 18px,#101a26 25px);border-bottom:2px solid #8b795d}
.traveler-leg{position:absolute;top:203px;width:18px;height:64px;background:linear-gradient(90deg,#080f19,#1c2837);transform-origin:50% 0;z-index:-1;border-radius:0 0 6px 3px}
.traveler-leg-left{left:34px;transform:rotate(var(--gate-leg-left,0deg))}.traveler-leg-right{left:65px;transform:rotate(var(--gate-leg-right,0deg))}
.gate-intro[data-playback="dom"] .gate-flash{display:none}
.gate-intro[data-playback="dom"] .gate-subtitle{animation:none;bottom:5%;font-size:clamp(14px,2vw,20px)}
body:has(.gate-intro:not(.finished))>header,body:has(.gate-intro:not(.finished))>main{visibility:hidden;pointer-events:none}
.replay-intro{font-size:12px;color:#e8d0a4;border:1px solid #d2ad7166;border-radius:8px;padding:8px 12px;background:#0c1d2bcc}
@media(max-width:650px){.replay-intro{font-size:10px;padding:7px}.header-caption{display:none}.gate-intro[data-playback="dom"] .gate-traveler{bottom:10%}}

/* High-contrast, accessible birth option selection */
.choice-row{flex-wrap:wrap}.choice-row button{min-height:52px;min-width:110px;transition:background .16s,border-color .16s,box-shadow .16s;outline-offset:3px}.choice-row button.selected,.choice-row button[aria-pressed="true"]{background:#f6d48f!important;color:#142132!important;border:2px solid #fff6d9!important;box-shadow:0 0 0 3px #f5cf8166,0 6px 22px #0008;font-weight:800}.choice-row button:not(.selected){background:#0a1c2eea;color:#d4d8dd;border:2px solid #8b95a4}.choice-row button:focus-visible{outline:3px solid #fff}.story-volume-notice{margin:18px auto 25px;max-width:640px;font-size:clamp(17px,3vw,22px);line-height:1.9;color:#f5e2bd}.story-volume-notice strong{color:#ffdfa0;font-size:1.13em}.story-volume-disclaimer{max-width:640px;margin:20px auto;color:#b9c4d1;font-size:12px;line-height:1.7}

/* Flame chapter experience and unmistakable selections */
.selection-status{padding:12px 14px;border:2px solid #f9d993;border-radius:12px;background:#13293d;color:#fff1bf;font-weight:800;text-align:center;margin:8px 0 15px}
.choice-row button.selected{background:#ffe2a0!important;color:#111e2e!important;box-shadow:0 0 0 4px #fff3cc80!important;border:3px solid #fff!important}
.story-flame{position:absolute;z-index:6;left:50%;top:45%;width:74px;height:115px;transform:translate(-50%,-50%) scale(var(--flame-scale,1));transition:transform 1.2s ease,opacity .18s;filter:drop-shadow(0 0 22px #ffad29)}
.flame-core{position:absolute;inset:5px 8px 8px;background:radial-gradient(ellipse at 50% 75%,#fff8bf 0%,#ffb32c 42%,#f05d18 68%,#a3220e 100%);border-radius:85% 5% 70% 55%;transform:rotate(45deg);animation:flame-flicker .6s ease-in-out infinite alternate;box-shadow:0 0 45px #ff8b24}
.flame-spark{position:absolute;left:48%;top:-15px;width:7px;height:7px;background:#fff1aa;border-radius:50%;box-shadow:14px 25px 0 #ffab3d,-22px 18px 0 #ffce67;animation:flame-spark 1.2s linear infinite}
.story-flame.extinguished{opacity:0;transform:translate(-50%,-50%) scale(0)}
.flame-status{color:#ffe0a2;font-size:15px;font-weight:700;margin:14px auto}
.flame-paywall{max-width:580px;margin:24px auto 4px;padding:24px;border:1px solid #e5b86c;border-radius:18px;background:#081522;color:#f5e2c2;line-height:1.9}
.flame-paywall[hidden],#comicContinue[hidden]{display:none!important}
.flame-paywall h3{font-size:25px;color:#ffd39a}
.flame-paywall a{display:block;padding:14px 18px;border-radius:10px;background:#f5d18d;color:#17212a;font-weight:800;text-decoration:none;margin:16px auto}
.flame-paywall button{padding:12px 18px;border:1px solid #e8c58c;border-radius:10px;background:transparent;color:#ffe0a2;cursor:pointer}
@keyframes flame-flicker{from{transform:rotate(41deg) scale(.94)}to{transform:rotate(48deg) scale(1.07)}}
@keyframes flame-spark{to{transform:translateY(-60px);opacity:0}}
@media(prefers-reduced-motion:reduce){.flame-core,.flame-spark{animation:none}}

/* The original procedural 3D world replaces flat layers only after a successful renderer. */
body[data-scene3d="ready"] .world > :not(#mythicWorld):not(#cinemaLightfield){visibility:hidden!important}
body[data-scene3d="ready"] .gate-intro{background:transparent!important}
body[data-scene3d="ready"] .gate-frame,body[data-scene3d="ready"] .gate-traveler,body[data-scene3d="ready"] .gate-stars,body[data-scene3d="ready"] .gate-halo{visibility:hidden}

/* Dark bronze glass, restrained gold, and compact mobile entry from supplied references. */
body[data-scene3d="ready"] .entry{background:linear-gradient(145deg,rgba(18,19,23,.88),rgba(8,15,21,.77));border-color:#a98b556b;box-shadow:0 24px 80px #0006}
@media(max-width:650px){
 header{padding-inline:18px}.back-home{font-size:10px}.motion-toggle{font-size:10px;padding:7px}
 main{padding-top:8px;gap:12px}.scenic-copy{padding:8px 2px 0}
 .scenic-copy .world-label{font-size:19px;line-height:1.35;margin-bottom:8px}
 .scenic-copy .micro,.scenic-copy p{display:none}
 .scenic-copy h1{font-size:22px;line-height:1.5;margin:10px 0}
 .entry{padding:24px 22px;width:100%}.entry .step-title{font-size:23px}
 body:not([data-entry-step="0"]) .scenic-copy{display:none}
}

.selection-status{padding:3px 0;border:0;border-radius:0;background:none;color:#d9c69c;font-size:12px;font-weight:400;text-align:left;margin:6px 0 10px}
@media(max-width:650px){body[data-scene3d="ready"] .entry{background:rgba(8,15,21,.7);backdrop-filter:blur(5px)}}

/* Compact first viewport: the full input and its privacy note fit a portrait phone.
   These selectors intentionally override the earlier legacy !important repair. */
@media(max-width:650px){
 body>main{min-height:calc(100svh - 70px);align-content:center;gap:16px;padding:20px 18px 28px}
 body .scenic-copy{padding:0 2px!important}
 body .scenic-copy .world-label{font-size:17px;line-height:1.45;margin-bottom:8px}
 body .scenic-copy h1{font-size:21px!important;line-height:1.5!important;margin:0}
 body .entry{padding:22px 20px;border-radius:18px}
 .entry .progress{margin:17px 0 22px}
 .entry .step-title{font-size:22px!important}
 .entry .step-help{margin:10px 0 18px;font-size:12px}
 .entry .choice-row{margin-bottom:14px}
 .entry .choice-row button{min-width:0;min-height:48px}
 .entry .actions{margin-top:12px}
 .entry .actions button{padding:13px 17px;min-height:48px}
 .entry .error{margin:8px 0;min-height:16px}
 .entry .privacy{margin-top:18px;line-height:1.7}
 body[data-scene3d="ready"] .entry{background:linear-gradient(145deg,rgba(18,19,23,.83),rgba(8,15,21,.72))!important}
}
@media(max-width:380px){body .scenic-copy h1{font-size:19px!important}.entry .step-title{font-size:20px!important}}

/* The rendered gate owns the opening: hide the form until the camera enters.
   Real scene lighting replaces the old full-screen white flash. */
body[data-scene3d="ready"]:has(.gate-intro:not(.finished))>header,
body[data-scene3d="ready"]:has(.gate-intro:not(.finished))>main{visibility:hidden;pointer-events:none}
body[data-scene3d="ready"] .gate-flash{display:none}
body[data-scene3d="ready"] .gate-intro:before{background:radial-gradient(ellipse at 50% 48%,transparent 28%,#02081188)}
/* Programmatic reading focus is on a heading, not an editable field.
   Keep the existing visible focus treatment on all interactive controls. */
.entry .step-title:focus{outline:none}


.result-stage{height:100dvh;overflow:hidden;display:flex;flex-direction:column;padding:0!important}.result-stage[hidden]{display:none!important}.result-stage .result-head{flex:none;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.result-stage .result-head h2{font-size:23px;margin:0}.result-stage .result-head button{margin:0}.result-stage #engineFrame{flex:1;min-height:0;height:auto!important;width:100%;border:0}.result-stage #engineBridgeStatus[hidden]{display:none!important}

/* One document: only the chosen native view occupies the reading stage. */
#nativeEngineHost[hidden]{display:none!important}
#nativeEngineHost{width:100%;flex:1;min-height:0;overflow-y:auto;background:#f5f0e7;color:#302a24;color-scheme:light}
#nativeEngineHost>.topbar{display:none!important}
#nativeEngineHost>main{display:block!important;max-width:none!important;padding:24px clamp(12px,3vw,40px)!important;margin:0!important}
#nativeEngineHost .view{display:none!important}#nativeEngineHost .view.active{display:block!important}
#nativeEngineHost button{font-family:inherit}#nativeEngineHost input,#nativeEngineHost select{color:#302a24;background:#fffaf1}
#nativeEngineHost .page-head{max-width:840px;margin:0 auto 25px}
#nativeEngineHost .topic-explorer{margin-top:35px!important}
#nativeEngineHost #resultView .hamju-natal-reading{display:none!important}
.native-reading-status{padding:25px;text-align:center;color:#f3dfb2}
body>header .back-home{background:transparent;border:1px solid #8e784c;border-radius:7px;color:#e7ce96;padding:9px 15px}
@media print{body>.world,body>header,body>main,#gateIntro,#chapters,.result-head{display:none!important}.result-stage{position:static!important;display:block!important;height:auto!important;overflow:visible!important;background:white!important}#nativeEngineHost,#nativeEngineHost>main{display:block!important;overflow:visible!important;padding:0!important}#nativeEngineHost>.topbar{display:none!important}}

@media screen{
#nativeEngineHost #resultView.native-topic-mode #result{display:block!important}
#nativeEngineHost #resultView.native-topic-mode #result>:not(#yeokjuCustomerReading),#nativeEngineHost #resultView.native-topic-mode #yeokjuPurchasedBook{display:none!important}
#nativeEngineHost #resultView.native-topic-mode #yeokjuCustomerReading>.yeokju-paper-sheet{min-height:0!important;height:auto!important;margin:0 auto 28px!important;padding:28px clamp(18px,4vw,48px)!important}
#nativeEngineHost #resultView.native-book-mode [data-topic-explorer],#nativeEngineHost #resultView.native-book-mode .native-reading-toc{display:none!important}
}
.native-reading-tabs{position:sticky;top:0;z-index:20;display:flex!important;justify-content:center;gap:12px;padding:15px;background:#f5f0e7ee;backdrop-filter:blur(14px);border-bottom:1px solid #d3c1a9}
.native-reading-tabs button{background:#fffaf1;border:1px solid #9c8668;color:#294b42!important;border-radius:24px;padding:11px 22px;font-size:17px;font-weight:700}.native-reading-tabs button[aria-pressed="true"]{background:#294b42;color:#fff3dc!important}
.native-reading-toc{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:1100px;margin:24px auto 40px}
.native-reading-toc button{background:#fffaf1;color:#302a24;border:1px solid #c5b093;padding:20px;text-align:left;border-radius:5px;display:grid;gap:9px;font-size:16px}.native-reading-toc button span{color:#95633a;letter-spacing:.14em}.native-reading-toc button small{color:#6b6459}
@media(max-width:700px){.native-reading-toc{grid-template-columns:repeat(2,minmax(0,1fr))}.native-reading-toc button{padding:15px;font-size:15px}}
@media print{.native-reading-tabs,.native-reading-toc{display:none!important}}

/* YEOKJU opening: restrained archive typography, phase captions, no illustrated gate. */
.gate-identity{position:absolute;top:max(34px,env(safe-area-inset-top));left:28px;display:grid;gap:8px;color:#e7dac2;text-shadow:0 2px 16px #000;pointer-events:none}
.gate-identity span{font:10px sans-serif;letter-spacing:.38em;color:#a9bdb5}
.gate-identity strong{font:500 18px "Noto Serif KR",serif;letter-spacing:.14em}
.gate-intro .gate-subtitle{animation:none;bottom:max(9%,calc(env(safe-area-inset-bottom) + 35px));padding:0 24px;font-size:clamp(16px,2vw,23px);color:#e7dac2;letter-spacing:.06em}
.gate-progress{position:absolute;bottom:max(26px,calc(env(safe-area-inset-bottom) + 14px));left:calc(50% - 50px);width:100px;height:1px;background:#c7c7ae30}
.gate-progress i{display:block;width:100%;height:100%;background:#a8bdb0;transform:scaleX(var(--intro-progress,0));transform-origin:left}
@media(max-width:650px){.gate-identity{left:22px;top:max(25px,env(safe-area-inset-top))}.gate-identity strong{font-size:15px}.gate-intro .skip-intro{top:max(25px,env(safe-area-inset-top));right:18px;min-height:44px}}

/* Header brand: requested red lettering and seal. */
body>header .brand,body>header .brand>span{color:#f2766f!important}
body>header .brand>span:not(.brand-mark){font-weight:700;text-shadow:0 1px 8px #0009}
body>header .brand small{color:#ee8c84!important}
body>header .brand-mark{border-color:#f2766f!important}

/* A single birth record card, with every field available together. */
.single-birth-entry .step-title{margin:18px 0 0}.single-birth-entry .step-help{margin-bottom:24px}
.single-birth-entry .birth-choice{padding:0;margin:0 0 16px;border:0;min-width:0}
.single-birth-entry .birth-choice legend{font-size:12px;color:#d8c7ab;margin-bottom:8px}
.single-birth-entry .choice-row{margin:0;gap:4px;padding:4px;border-radius:12px;background:#06131bd9}
.single-birth-entry .choice-row button{border:0;background:transparent;color:#b8c5c4;border-radius:8px;min-height:46px}
.single-birth-entry .choice-row button.selected{background:#e8ddc7;color:#202c31;font-weight:700}
#stepFields .birth-note{font-size:11px;color:#afbfbd;line-height:1.65;margin:9px 0 0}
.birth-date-row{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:10px;margin:20px 0}
#stepFields .birth-date-row input,#stepFields .birth-date-row select{min-width:0;padding-inline:12px}
.birth-time-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end;margin:20px 0}
#stepFields .birth-check{display:flex;align-items:center;gap:8px;font-size:13px;margin:0;min-height:48px;color:#e8dfcb;cursor:pointer}
#stepFields .birth-check[hidden]{display:none!important}
#stepFields .birth-check input{width:19px;height:19px;flex:none;padding:0;accent-color:#e8c58c}
#stepFields input:disabled{opacity:.45;cursor:not-allowed}
.single-birth-entry .actions button{width:100%;min-height:52px}.single-birth-entry .privacy{margin-top:16px}
@media(max-width:650px){body>main:has(.single-birth-entry){align-content:start}.single-birth-entry{max-width:535px;padding:24px 20px!important}.single-birth-entry .step-title{font-size:23px!important}.single-birth-entry .step-help{font-size:12px;margin-bottom:20px}.single-birth-entry .birth-date-row{gap:8px}.single-birth-entry .birth-time-row{gap:10px}.single-birth-entry .scenic-copy{display:block}.birth-time-row .birth-check{font-size:12px!important}}
@media(max-width:350px){.birth-time-row{grid-template-columns:1fr}.birth-time-row .birth-check{min-height:30px!important}}
/* Scope controls above the legacy report theme's global !important rules. */
.single-birth-entry #stepFields input:not([type="checkbox"]),.single-birth-entry #stepFields select{background:#091a22!important;color:#f5eedf!important;border:1px solid #b9bca34f!important;border-radius:12px!important;min-height:48px;color-scheme:dark}
.single-birth-entry #stepFields input::placeholder{color:#9fabae;opacity:1}
.single-birth-entry #stepFields .choice-row button{background:transparent!important;color:#b8c5c4!important;border:0!important;box-shadow:none!important}
.single-birth-entry #stepFields .choice-row button.selected{background:#e8ddc7!important;color:#202c31!important;border:0!important;box-shadow:none!important}
.single-birth-entry #stepFields .choice-row button:focus-visible{outline:2px solid #ee8c84;outline-offset:3px}
.single-birth-entry .actions .primary{background:linear-gradient(135deg,#edcf94,#c5a369)!important;color:#14242a!important;border:1px solid #efd5a6!important;border-radius:12px!important;box-shadow:none!important}
.single-birth-entry #stepFields .birth-check input{accent-color:#e8c58c;color-scheme:dark}

/* Original procedural surfaces; unreviewed stills are retained outside the shipped bundle. */
.archive-catalog{position:relative;z-index:2;margin:0 auto;padding:30px clamp(18px,5vw,80px) 90px;max-width:1500px;color:#eee4d1}
.archive-hero{position:relative;min-height:460px;overflow:hidden;border:1px solid #a78c5b65;border-radius:18px;background:radial-gradient(ellipse at 75% 30%,#ae83513b,transparent 50%),linear-gradient(145deg,#152b30,#0a131a 55%,#261f19);box-shadow:0 24px 80px #0007}
.archive-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#060e15d9,#060e1566 50%,#060e1505),linear-gradient(0deg,#060e15a6,transparent 55%)}
.archive-hero-copy{position:relative;padding:50px clamp(24px,4vw,58px);max-width:650px}.archive-kicker{font:10px sans-serif;letter-spacing:.23em;color:#cda97a}
.archive-hero-copy h2{font:500 clamp(32px,4vw,52px)/1.4 'Noto Serif KR',serif!important;letter-spacing:-.035em;color:#f4e8cc!important;margin:20px 0!important}.archive-hero-copy p{font-size:14px;line-height:1.9;color:#d4d0c6}.archive-total{display:block;margin:24px 0 18px;font-size:12px;letter-spacing:.05em;color:#e4c18a}
.archive-start{display:inline-flex;align-items:center;gap:38px;padding:13px 0;border-bottom:1px solid #cda97a;color:#f1ddba;font-size:13px}.archive-image-note{position:absolute;right:24px;bottom:24px;font-size:11px;letter-spacing:.1em;color:#d6c1a0}
.archive-toolbar{display:flex;justify-content:space-between;align-items:end;gap:30px;margin:50px 0 22px}.archive-toolbar h2{color:#eee4d1!important;font:500 clamp(24px,3vw,32px)/1.5 'Noto Serif KR',serif!important;margin:12px 0 0!important}.archive-search{font-size:11px;color:#d2c3a9;display:grid;gap:9px;min-width:240px}
.archive-search input{background:#0b1b22!important;border:1px solid #bb9e6655!important;color:#eee4d1!important;border-radius:9px!important;padding:12px 14px;font-size:13px}
.archive-filters{display:flex;gap:8px;flex-wrap:wrap}.archive-filters button{border:1px solid #b8a07850!important;border-radius:30px!important;background:#0a171dd9!important;color:#c3c7bf!important;padding:10px 16px;font-size:12px;box-shadow:none!important}.archive-filters button[aria-pressed="true"]{background:#d9c39a!important;color:#172229!important;border-color:#e4cfab!important}
.archive-search-status{font-size:12px;color:#b9beb7;min-height:20px;margin:19px 0}.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.archive-card{border:1px solid #9e855955;border-radius:14px;overflow:hidden;background:linear-gradient(145deg,#101e24ed,#09141bed);transition:border-color .25s,transform .25s;box-shadow:0 12px 40px #0004}.archive-card[hidden]{display:none!important}.archive-card.active{border-color:#c47b60}.archive-card:hover{transform:translateY(-3px);border-color:#c1a477}
.archive-cover{height:180px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 65% 20%,#a77b4240,transparent 65%),linear-gradient(145deg,#163039,#0b141c 70%);perspective:700px}.archive-cover:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0d1a22,transparent 75%);pointer-events:none}.archive-cover-label{position:absolute;bottom:18px;left:23px;z-index:2;font:500 18px 'Noto Serif KR',serif;letter-spacing:.04em;color:#ead5b3}
.archive-card-body{padding:21px 23px 23px}.archive-card-number{font:10px sans-serif;letter-spacing:.16em;color:#d38e7b}.archive-card h3{font:500 21px/1.5 'Noto Serif KR',serif!important;color:#f2e4cc!important;letter-spacing:-.03em;margin:10px 0!important;min-height:63px}.archive-card-count{display:block;color:#b3bcb7;font-size:12px;margin-bottom:17px}
.archive-topics{border-top:1px solid #b39b6d30;padding-top:14px}.archive-topics>summary{font-size:12px;color:#e3c8a0;cursor:pointer;list-style:none;display:flex;justify-content:space-between;min-height:30px;align-items:center}.archive-topics>summary:after{content:'+';font-size:20px;font-weight:300}.archive-topics[open]>summary:after{content:'−'}.archive-topics ol{padding:0;list-style:none;margin:10px 0 0;counter-reset:archive-topic}.archive-topics li{counter-increment:archive-topic;display:flex;gap:10px;border-top:1px solid #d8c19a12;align-items:baseline}.archive-topics li[hidden]{display:none}.archive-topics li:before{content:counter(archive-topic,decimal-leading-zero);font-size:10px;color:#b58269;min-width:15px}.archive-topics li button{padding:12px 0;text-align:left;color:#d7d5c8!important;font:12px/1.7 sans-serif!important;background:transparent!important;border:0!important;box-shadow:none!important;min-height:44px}.archive-topics li button:hover{color:#f2c19e!important}.archive-catalog-note{font-size:11px;color:#adb7b4;line-height:1.9;margin-top:28px}
/* Physical objects act as chapter markers; the opening remains an actual WebGL scene. */
.archive-object{position:absolute;width:150px;height:130px;right:28px;top:16px;transform-style:preserve-3d;transform:rotateX(15deg) rotateY(-22deg);transition:transform .7s ease;filter:drop-shadow(8px 15px 12px #000a)}.archive-card:hover .archive-object{transform:rotateX(8deg) rotateY(-8deg) translateY(-4px)}.archive-object i{position:absolute;display:none}
[data-symbol="mirror"] .archive-object i:first-child,[data-symbol="rings"] .archive-object i:nth-child(-n+2),[data-symbol="dial"] .archive-object i:first-child{display:block;width:90px;height:90px;border:6px solid #9b8054;border-radius:50%;right:12px;top:12px;background:radial-gradient(circle at 35% 30%,#acc6bf66,#345b5e44 45%,#0a1719 70%);box-shadow:inset 2px 2px 3px #ead2a377,5px 6px 0 #493c2a}
[data-symbol="rings"] .archive-object i:nth-child(2){right:62px;top:22px;border-color:#917d61;background:transparent;transform:translateZ(12px)}
[data-symbol="dial"] .archive-object i:first-child{background:repeating-conic-gradient(#cab181 0deg 1deg,transparent 1deg 30deg),radial-gradient(#192a2a,#111a1f)}
[data-symbol="coins"] .archive-object i:nth-child(-n+6){display:block;width:77px;height:24px;right:22px;top:calc(15px + var(--n)*14px);border:2px solid #d4b67b;background:radial-gradient(ellipse,#253130 0 12%,#a78a55 14% 50%,#c6a76b 54%);border-radius:50%;box-shadow:0 7px 0 #6d5735}
.archive-object i:nth-child(1){--n:0}.archive-object i:nth-child(2){--n:1}.archive-object i:nth-child(3){--n:2}.archive-object i:nth-child(4){--n:3}.archive-object i:nth-child(5){--n:4}.archive-object i:nth-child(6){--n:5}.archive-object i:nth-child(7){--n:6}.archive-object i:nth-child(8){--n:7}.archive-object i:nth-child(9){--n:8}.archive-object i:nth-child(10){--n:9}.archive-object i:nth-child(11){--n:10}.archive-object i:nth-child(12){--n:11}
[data-symbol="books"] .archive-object i:nth-child(-n+10){display:block;width:70px;height:9px;right:22px;top:calc(8px + var(--n)*10px);background:linear-gradient(90deg,#364746 0 8%,#bfad88 9% 90%,#314743 91%);border:1px solid #827154;transform:skewY(-8deg);box-shadow:4px 3px 0 #172a29}
[data-symbol="pillars"] .archive-object i:nth-child(-n+4){display:block;width:19px;height:calc(75px + var(--n)*8px);left:calc(14px + var(--n)*30px);bottom:8px;background:linear-gradient(90deg,#315657,#496b66 45%,#152e33);border-top:4px solid #ad946a;box-shadow:6px 3px 0 #12282b}
[data-symbol="steps"] .archive-object i:nth-child(-n+5){display:block;width:92px;height:19px;left:calc(12px + var(--n)*10px);bottom:calc(8px + var(--n)*17px);background:linear-gradient(#958365,#3b4746);box-shadow:6px 7px 0 #182c2e;border-top:1px solid #c9b283}
[data-symbol="letter"] .archive-object i:first-child{display:block;width:110px;height:75px;top:25px;left:15px;background:linear-gradient(135deg,#d9cbb0,#8c7a5d);border:1px solid #d9c39c;box-shadow:5px 6px 0 #695c47;transform:rotateZ(-12deg)}
[data-symbol="letter"] .archive-object i:nth-child(2){display:block;width:22px;height:22px;border-radius:50%;background:#a5463b;left:60px;top:53px;transform:translateZ(5px);box-shadow:2px 2px 0 #612d28}
[data-symbol="brush"] .archive-object i:first-child,[data-symbol="branches"] .archive-object i:first-child{display:block;width:9px;height:118px;background:linear-gradient(90deg,#473622,#c5a672,#70563c);left:75px;top:2px;transform:rotateZ(35deg);border-radius:4px}
[data-symbol="brush"] .archive-object i:first-child:after{content:'';position:absolute;bottom:-12px;width:12px;height:35px;background:linear-gradient(#c7c6ad,#1b272a);clip-path:polygon(0 0,100% 0,70% 100%,25% 80%)}
[data-symbol="branches"] .archive-object i:nth-child(n+2):nth-child(-n+6){display:block;width:45px;height:9px;background:linear-gradient(#c2ad80,#65563d);left:calc(35px + var(--n)*6px);top:calc(10px + var(--n)*17px);transform:rotateZ(-25deg);border-radius:100% 0}
[data-symbol="path"] .archive-object i:nth-child(-n+2){display:block;width:28px;height:110px;left:52px;top:14px;background:repeating-linear-gradient(#8b8f7f 0 13px,#203437 14px 18px);transform:rotateZ(35deg) skewX(-20deg)}[data-symbol="path"] .archive-object i:nth-child(2){left:98px;top:15px;transform:rotateZ(-28deg) skewX(20deg)}
@media(max-width:950px){.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-hero{min-height:420px}.archive-toolbar{align-items:start}.archive-search{min-width:210px}}
@media(max-width:650px){.archive-catalog{padding:12px 18px 60px}.archive-hero{min-height:440px;background-position:65% center}.archive-hero:before{background:linear-gradient(0deg,#061019ed,transparent 95%)}.archive-hero-copy{padding:110px 24px 32px}.archive-hero-copy h2{font-size:34px!important}.archive-hero-copy p{font-size:12px}.archive-image-note{display:none}.archive-toolbar{display:grid;gap:20px;margin-top:36px}.archive-toolbar h2{font-size:25px!important}.archive-search{min-width:0}.archive-filters{gap:6px}.archive-filters button{font-size:11px;padding:9px 12px}.archive-grid{gap:12px}.archive-cover{height:137px}.archive-object{transform:scale(.76) rotateY(-22deg);right:-10px;top:-4px}.archive-cover-label{font-size:14px;left:15px;bottom:14px}.archive-card-body{padding:15px 14px}.archive-card h3{font-size:17px!important;min-height:76px}.archive-card-number{font-size:9px}.archive-card-count{font-size:10px}.archive-topics>summary{font-size:11px}.archive-topics li{gap:7px}.archive-topics li button{font-size:11px!important}.archive-topics li:before{font-size:9px;min-width:12px}}
@media(max-width:360px){.archive-grid{grid-template-columns:1fr}.archive-card h3{min-height:0}.archive-cover{height:165px}.archive-object{right:20px;top:10px}}
@media(prefers-reduced-motion:reduce){.archive-card,.archive-object{transition:none!important}.archive-card:hover{transform:none}.archive-card:hover .archive-object{transform:rotateY(-22deg)}}
/* Accessible neutral background when WebGL is unavailable; never pretend to play a still. */
body[data-scene3d="unavailable"] .world{background:radial-gradient(ellipse at 50% 45%,#30424b,#061019 70%)!important}
body[data-scene3d="unavailable"] .world>:not(canvas){visibility:hidden!important}
.archive-catalog .archive-filters button:focus-visible,.archive-catalog summary:focus-visible,.archive-catalog li button:focus-visible{outline:2px solid #ee8c84!important;outline-offset:3px}
.archive-shop-link{position:absolute;right:26px;top:26px;padding:10px 15px;background:#09151bbd;border:1px solid #bea07073;border-radius:25px;color:#ecd8b7;font-size:12px;z-index:1}
@media(max-width:650px){.archive-shop-link{right:18px;top:20px;font-size:11px}}

/* Filmic GPU light rays over the actual 3D entrance; the canvas never handles input. */
#cinemaLightfield{mix-blend-mode:screen;opacity:.83;pointer-events:none!important;filter:saturate(.9);transform:translateZ(0)}
#cinemaLightfield[hidden]{display:none!important}
body[data-scene3d="ready"] .world #cinemaLightfield{visibility:visible!important}
body[data-scene3d="unavailable"] .world #cinemaLightfield{opacity:.52}
body.motion-paused #cinemaLightfield{animation:none!important}
.single-birth-entry #stepFields label,.single-birth-entry #stepFields legend{color:#f7e6cc!important}
.single-birth-entry #stepFields input:focus-visible,
.single-birth-entry #stepFields select:focus-visible{outline:2px solid #e4bc7d;outline-offset:3px}
.single-birth-entry #stepFields #scenePlaceSearch{margin:5px 0 9px}
.single-birth-entry #stepFields #scenePlace{margin:7px 0 4px}
@media screen{
 #nativeEngineHost:has(#resultView.active){background:#0c0f18!important;color:#ede6da!important;color-scheme:dark}
 #nativeEngineHost #resultView.active{min-height:100%}
 #nativeEngineHost #resultView.active .native-reading-tabs{
   background:#191b24!important;border-bottom:1px solid #8f7451!important;
 }
 #nativeEngineHost #resultView.active .native-reading-tabs button{color:#ebd0a0!important}
}
@media(max-width:650px){#cinemaLightfield{opacity:.62}}
@media(prefers-reduced-motion:reduce){#cinemaLightfield{transition:none!important}}
