body.opening-active{overflow:hidden;background:#101b17}body.opening-active>.app{display:none}.opening-screen{position:fixed;inset:0;z-index:50;display:grid;place-items:center;overflow:auto;min-height:100dvh;background:#101b17;color:#f2e4b3;text-align:center;padding:32px 20px;isolation:isolate}.opening-screen[hidden]{display:none}.opening-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 43%;z-index:-3;animation:opening-pan 18s ease-out both;filter:saturate(.85)}.opening-screen:before{content:'';position:fixed;inset:0;z-index:-2;background:linear-gradient(180deg,#0a18132b,#07140f66 35%,#07140fe8 100%),radial-gradient(ellipse at center,transparent,#07140f85)}.opening-screen:after{content:'';position:fixed;inset:18px;border:1px solid #d4be735e;pointer-events:none;z-index:-1}.opening-content{width:min(100%,560px);animation:opening-reveal 1.5s ease-out both}.opening-crest{font-size:52px;color:#d6bc71;text-shadow:0 3px 20px #0008}.opening-kicker{font:10px Georgia,serif;letter-spacing:5px;color:#dfd3ac;margin:12px 0 30px}.opening-title{font-family:Georgia,'Noto Serif TC',serif;font-size:clamp(42px,8vw,74px);font-weight:600;letter-spacing:.12em;line-height:1.35;margin:0;text-shadow:0 3px 10px #000b}.opening-title small{display:block;font-size:clamp(19px,4vw,27px);font-weight:400;letter-spacing:.3em;margin-top:8px}.opening-divider{display:block;width:110px;height:1px;background:linear-gradient(90deg,transparent,#e2c777,transparent);margin:30px auto}.opening-description{color:#d6dccb;line-height:1.8;font-size:14px;text-shadow:0 2px 5px #000}.opening-start{display:block;margin:30px auto 20px;width:min(100%,260px);min-height:54px;background:linear-gradient(#bc9954,#79612e);border:1px solid #e9d18e;box-shadow:0 3px 25px #0006,inset 0 0 0 3px #262e2250;color:#fff4cf;font:18px Georgia,'Noto Serif TC',serif;letter-spacing:.15em;cursor:pointer}.opening-start:hover{filter:brightness(1.15)}.opening-start:focus-visible,.opening-name-input:focus-visible,.opening-back:focus-visible{outline:3px solid #fff0b5;outline-offset:5px}.opening-note{font-size:12px;color:#c1c7b5;line-height:1.8}.opening-name-panel{padding:24px;background:#102119ed;border:1px solid #bca46970;box-shadow:0 10px 50px #0006;margin:25px auto 0;max-width:400px}.opening-name-panel h2{font-size:24px;margin:0 0 12px}.opening-name-panel label{display:block;text-align:left;font-size:13px;margin:20px 0 8px}.opening-name-input{width:100%;padding:14px;border:1px solid #a8945b;background:#0c1813;color:#fff2c2;font:18px Georgia,'Noto Serif TC',serif;box-sizing:border-box}.opening-name-error{color:#f0bc8e;min-height:20px;text-align:left;font-size:12px;margin-top:8px}.opening-back{background:none;border:0;color:#d4c591;text-decoration:underline;padding:8px;font:inherit;cursor:pointer}.opening-screen.is-leaving{opacity:0;pointer-events:none;transition:opacity .55s ease}.keep-city-name{font-weight:inherit}.scene-caption .city-level-label{display:flex;flex-direction:column;text-align:right;gap:4px}.city-level-label strong{color:#edda99;font-weight:500}
@keyframes opening-pan{from{transform:scale(1.12);opacity:.25}15%{opacity:1}to{transform:scale(1.02);opacity:1}}@keyframes opening-reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.opening-art{object-position:50% 35%}.opening-screen:after{inset:10px}.opening-name-panel{padding:20px}.opening-kicker{letter-spacing:3px}.opening-description{font-size:13px}}@media(prefers-reduced-motion:reduce){.opening-art,.opening-content{animation:none}.opening-screen.is-leaving{transition:none}}
