@font-face{font-family:Wenkai;src:url('/wenkai.woff2') format('woff2');font-display:swap}
:root{color-scheme:dark;font-family:Wenkai,serif;background:#080d17;color:#f1e7d7;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100svh;display:flex;justify-content:center;align-items:center;gap:6vw}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #e3bf7e;outline-offset:4px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.outside{position:fixed;inset:0;background:radial-gradient(ellipse at 35% 25%,#20324a44,transparent 60%);pointer-events:none}
#journey{position:relative;isolation:isolate;width:min(100vw,calc(100svh * 9 / 16));max-width:560px;height:100svh;min-height:640px;overflow:hidden;background:#080d17;box-shadow:0 0 100px #000a}#scene,#scene-video,.shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}#scene{transition:filter .6s}#scene-video{object-position:center}.shade{background:linear-gradient(#02050bb3,transparent 25%,#02050b22 43%,#03060cc9 67%,#03060cf9 94%);pointer-events:none;z-index:1}.portal{position:absolute;inset:0;pointer-events:none}header,.chapter,.preview,#content,.film-controls,.film-subtitle,footer,.toast{z-index:2;position:relative}
header{display:flex;justify-content:space-between;align-items:center;padding:22px 22px 0;font-family:Georgia,serif;font-size:17px;letter-spacing:.09em}header a span{font-family:Wenkai,serif;font-size:12px;letter-spacing:.12em;margin-left:9px}header>div{display:flex;gap:8px}header button{background:#08101a77;border:1px solid #d1b17366;border-radius:30px;font-size:10px;padding:7px 9px;letter-spacing:0;backdrop-filter:blur(8px)}.chapter{display:flex;align-items:center;gap:12px;margin:23px 23px 0;color:#cdbb95;font-size:9px;letter-spacing:.07em}.rule{height:1px;background:#d7bd7e55;flex:1}.preview{text-align:center;font-size:9px;letter-spacing:.1em;color:#b8b9bc;margin:14px 0;opacity:.85}
#content{position:absolute;inset:145px 0 53px;display:flex;flex-direction:column;justify-content:flex-end;overflow:auto;scrollbar-width:thin;padding:0 26px 25px}.scene-copy{text-align:center;flex-shrink:0}.eyebrow{font-family:Georgia,serif;font-size:9px;letter-spacing:.2em;color:#d1b57e;margin:0 0 14px}h1,h2,h3{font-weight:400}h1{font-size:clamp(29px,8vw,39px);line-height:1.45;letter-spacing:.08em;margin:12px 0 22px}h2{font-size:27px;line-height:1.5;letter-spacing:.03em;margin:12px 0 20px}h3{font-size:19px;margin:12px 0}.scene-copy>p:not(.eyebrow):not(.small){font-size:17px;line-height:1.85;margin:15px 0 25px;white-space:pre-line}.small{font-size:10px;line-height:1.8;color:#a4a7b0}.primary,.secondary{display:block;width:100%;border:1px solid #d5b47b88;padding:15px 18px;background:linear-gradient(135deg,#cfb47f,#ad8954);color:#1c2028;font-size:15px;letter-spacing:.06em;text-align:center;margin:12px 0;box-shadow:0 4px 25px #0004}.secondary{background:#0e1725b3;color:#dec699;box-shadow:none}.text-button{border:0;background:none;color:#c7b898;padding:10px;font-size:12px}.primary:hover{filter:brightness(1.08)}.star-seal{font-family:Georgia,serif;color:#d6b77b;font-size:42px;margin:0 auto 18px;line-height:1}.glass{padding:22px 21px;background:linear-gradient(#091120dc,#091120f5);border:1px solid #bca36c44;box-shadow:0 15px 55px #0005;backdrop-filter:blur(14px)}.topic-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.topic-list button{padding:16px 6px;background:#142032a6;border:1px solid #c7aa703d;color:#e8d6b5;font-size:16px}.topic-list button:hover{border-color:#ddbd7e}.question label{display:block;font-size:14px;margin:0 0 12px}.question textarea,.question input{width:100%;resize:none;border:0;border-bottom:1px solid #d1b57877;border-radius:0;background:#070d18aa;color:#f0e3cb;padding:11px 9px;font-size:16px;line-height:1.6}.question textarea{min-height:95px}.question .name-label{margin-top:18px;font-size:12px;color:#bfc1c6}.question .counter{font-size:9px;color:#989eaa;text-align:right;margin:7px 0}.question .topic-back{margin:8px 0 0}.question h2{font-size:23px;margin-top:0}
.gate-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 20px}.gate-slot{text-align:center;min-width:0;display:grid;grid-template-rows:30px auto;row-gap:10px}.gate-slot>span{display:flex;align-items:center;justify-content:center;line-height:1.5;color:#c5ad7d;font-size:10px;letter-spacing:.1em;margin:0}.chosen,.empty-slot{height:100px;width:100%;background:#142035a6;border:1px dashed #b99b6366;display:grid;place-content:center;color:#aa956b}.chosen{border-style:solid;background:linear-gradient(135deg,#111d2f,#1d2b42);font-size:30px}.deck-scroll{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 13px 22px;margin:0 -26px;scrollbar-width:thin;scrollbar-color:#ad8d5b #111827;overscroll-behavior-x:contain}.deck-back{position:relative;flex:0 0 108px;height:184px;border:1px solid #c6a86b;background:repeating-linear-gradient(45deg,#152238,#152238 2px,#111d30 2px,#111d30 10px);box-shadow:0 8px 15px #0007;scroll-snap-align:center;padding:9px}.deck-back:before{content:'';position:absolute;inset:7px;border:1px solid #c8a96999}.deck-back svg{width:100%;height:100%;color:#d4b577;opacity:.85}.deck-back.selected{opacity:.25;transform:translateY(5px)}.deck-note{color:#beb3a0;font-size:11px;margin:0 0 12px;text-align:center}.three-doors{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:26px}.door-card{border:1px solid #d0b27688;background:linear-gradient(#15233a,#090f1c);height:180px;display:flex;align-items:center;justify-content:center;position:relative}.door-card>span{color:#ceb276;font-size:32px}.door-card img{width:100%;height:100%;object-fit:cover}.door-card.reversed img{transform:rotate(180deg)}.door-card small{position:absolute;bottom:-24px;font-size:10px;color:#bba77d}.card-position{font-size:11px;color:#d7bf8e;letter-spacing:.13em;margin:0 0 8px}.card-intro{padding-top:12px}.card-intro h2{margin:8px 0 15px}.card-intro .knowledge{font-size:19px;line-height:1.8;color:#eedbb9}.card-intro .action{font-size:15px;line-height:1.8;color:#d4d6dc;margin:20px 0}.card-mini{height:155px;width:88px;object-fit:cover;margin:0 auto 18px;border:1px solid #cfb17b88;box-shadow:0 10px 40px #0008}.card-mini.reversed{transform:rotate(180deg)}
.film-subtitle{position:absolute;bottom:24%;left:9%;right:9%;text-align:center;font-size:20px;line-height:1.7;text-shadow:0 2px 8px #000,0 0 20px #000;white-space:pre-line}.film-controls{position:absolute;left:22px;right:22px;bottom:73px;display:flex;align-items:center;gap:10px}.film-controls>span{font-size:10px;color:#dfc491;background:#070d18bb;padding:6px 9px;border:1px solid #c7aa7055}.film-controls>button{font-size:11px;border:0;background:#080e19aa;padding:8px 10px;margin-left:auto;color:#d5c29f}footer{position:absolute;bottom:0;left:0;right:0;padding:17px 22px;display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#aaa497}footer button{border:0;background:none;color:#b6aa93;font-size:9px;padding:0}.toast{position:absolute;left:20px;right:20px;bottom:75px;border:1px solid #dfbf7d88;background:#111c2ff5;padding:14px 16px;font-size:12px;line-height:1.7;box-shadow:0 10px 50px #000b}.outside-note{max-width:270px;color:#a7acb6}.outside-note>p,.outside-note>span{font-family:Georgia,serif;font-size:10px;letter-spacing:.2em;color:#b29969}.outside-note h2{font-size:30px;line-height:1.8;margin:35px 0;letter-spacing:.08em;color:#d1c4a8}
#journey[data-step=record] #content{top:145px;justify-content:flex-start;padding-bottom:25px}#journey[data-step=record] #scene{filter:brightness(.35)}.record{background:linear-gradient(#0b1424f0,#0b1424fc);padding:24px 22px;border:1px solid #b79b6344}.record h1{font-size:29px;line-height:1.5;margin:10px 0 20px}.record .summary{font-size:20px;line-height:1.7;color:#ebd5ac}.record .result-row{display:flex;gap:12px;margin:26px 0}.record .result-row img{width:calc((100% - 24px)/3);aspect-ratio:9/16;object-fit:cover;border:1px solid #c4a66a88}img.reversed{transform:rotate(180deg)}.record section{border-top:1px solid #b99c5f33;padding:23px 0 0;margin-top:24px}.record section p{font-size:14px;line-height:1.95;color:#c4c8d0}.record .label{font-size:10px;color:#c8ae7b;letter-spacing:.13em}.record h2{font-size:22px;margin:7px 0}.record h2 small{font-size:11px;margin-left:10px;color:#bab5aa}.record blockquote{font-size:18px;line-height:1.8;margin:22px 0;color:#e8d4ad}.record details{margin:15px 0;color:#b4a17d;font-size:12px}.record .private-question{border-left:1px solid #bda16c77;padding-left:13px;font-size:13px;color:#b5b8bf;line-height:1.8}.record .primary,.record .secondary{font-size:13px}.record .replay{border:0;background:none;padding:6px 0;color:#c4ac7b;font-size:11px}
dialog{max-width:390px;width:calc(100vw - 36px);max-height:85svh;overflow:auto;background:#101a2b;color:#dfd8c9;border:1px solid #d0ae7166;padding:32px 25px;box-shadow:0 20px 100px #000b}dialog::backdrop{background:#02060cbb;backdrop-filter:blur(12px)}dialog p{font-size:13px;line-height:1.95;color:#bdc1ca}dialog h2{font-size:24px}dialog form{position:absolute;top:9px;right:12px}dialog form button{border:0;background:none;font-size:25px;color:#d5c092}
@media(max-width:850px){body{gap:0}.outside-note{display:none}#journey{width:100vw;max-width:560px}}@media(max-width:380px){#content{padding-left:21px;padding-right:21px}.deck-scroll{margin-left:-21px;margin-right:-21px}h1{font-size:29px}h2{font-size:25px}.glass{padding:20px 16px}.card-mini{height:125px;width:70px}.primary,.secondary{padding:13px 14px}.door-card{height:150px}}
@media(max-height:720px){#journey{min-height:620px}header{padding-top:17px}.chapter{margin-top:16px}.preview{margin-top:10px}#content{top:125px;padding-bottom:15px}h1{font-size:32px;margin-bottom:18px}h2{font-size:23px}.scene-copy>p:not(.eyebrow):not(.small){font-size:15px;margin:12px 0 18px}.card-mini{height:115px;width:65px}.gate-slots{margin-bottom:12px}.chosen,.empty-slot{height:73px}.deck-back{height:148px;flex-basis:87px}.primary,.secondary{padding:12px}}
.idle-scene{transition:opacity .65s ease;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none}#scene{z-index:-1}.weather{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}#journey[data-weather=rain]:after{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 17% 42%,#cf9c3820,transparent 18%),radial-gradient(ellipse at 86% 49%,#d4a65018,transparent 14%);animation:lantern-breath 2.9s ease-in-out infinite alternate}@keyframes lantern-breath{0%,100%{opacity:.45}23%{opacity:.8}37%{opacity:.53}61%{opacity:.9}80%{opacity:.62}}#journey[data-step=record] .idle-scene{filter:brightness(.35)}
.doorway{z-index:1}.door-fallback{position:absolute;inset:0;z-index:1;perspective:900px;pointer-events:none}.door-fallback>div{position:absolute;top:0;bottom:0;width:50%;background-image:url('/cinematic/door-v1.webp');background-size:200% 100%;backface-visibility:hidden;border:1px solid #70522a55;box-shadow:0 0 35px #0008}.door-fallback .left{left:0;background-position:left center;transform-origin:left center}.door-fallback .right{right:0;background-position:right center;transform-origin:right center}
