:root{--bg:#091521;--panel:#101f2e;--text:#e8e3d8;--muted:#9da8b2;--gold:#d7bc86;--border:#c8b58a29;--serif:'Songti SC','STSong','Noto Serif CJK SC','SimSun',serif;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.8 system-ui,-apple-system,'Microsoft YaHei',sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button{color:inherit}header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;border-bottom:1px solid var(--border);position:absolute;top:0;width:100%;z-index:3;background:linear-gradient(#08142288,transparent)}.brand{display:flex;align-items:center;gap:13px;font:23px var(--serif);color:var(--gold);letter-spacing:4px}.brand small{display:block;font:8px/2.3 Georgia,serif;letter-spacing:2px}.crest{font-size:37px}.brand span{display:block}nav{display:flex;gap:32px;font-size:13px;letter-spacing:2px}nav a:hover{color:var(--gold)}.theme{background:none;border:1px solid var(--border);padding:8px 13px;font-size:20px;border-radius:50px}.theme span{font-size:11px;margin-left:5px;vertical-align:middle}.hero{height:850px;min-height:730px;position:relative;overflow:hidden;background:#081625}.hero-art{position:absolute;inset:60px -2% 0 19%;background:url('/castle.svg') center right/cover no-repeat;opacity:.92}.hero-haze{position:absolute;inset:0;background:linear-gradient(90deg,#081522 4%,#081522dc 22%,#08152240 57%,transparent 85%),linear-gradient(0deg,#091521,transparent 24%,transparent 80%,#09152140)}.hero-copy{position:relative;padding:170px 0 0 10%;max-width:700px;animation:enter 1.8s ease both}.eyebrow,.section-label{font:11px/1.5 Georgia,serif;letter-spacing:3px;color:var(--gold)}.hero-intro{font-family:var(--serif);letter-spacing:5px;font-size:15px;margin-top:34px;color:#c7c6c4}.hero h1{font:104px/1.3 var(--serif);letter-spacing:25px;font-weight:400;margin:10px 0 0;color:#f4e4bd;text-shadow:0 0 40px #f6dc9d25}.hero h1 span{margin-left:14px}.english-title{font:15px Georgia,serif;letter-spacing:6px;color:#d8c498;margin-top:6px}.ornament{color:#bca87c;font-size:16px;margin:28px 0}.hero-description{font:16px/2.2 var(--serif);letter-spacing:2px;color:#c7ced2}.hero-actions{display:flex;gap:15px;margin-top:35px}.button{display:inline-flex;justify-content:center;align-items:center;gap:26px;padding:13px 24px;border:1px solid var(--border);font-size:13px;letter-spacing:1px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.gold{background:#d9c397;color:#19202a;border-color:#d9c397}.ghost{background:#0a182b55;color:#d6d9dd}.small-note{font-size:10px;color:#8f9ca7;letter-spacing:1px;margin-top:26px}.hero-bottom{position:absolute;bottom:30px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;font:10px Georgia,serif;letter-spacing:2px;color:#a4afb8}.hero-bottom a{font:11px system-ui}.hero-bottom a span{margin-left:20px}.section{max-width:1220px;padding:100px 50px;margin:auto;scroll-margin-top:12px}.section-label{font-size:10px;margin-bottom:27px}.split{display:grid;grid-template-columns:1fr 1fr;gap:100px}h2{font:38px/1.6 var(--serif);font-weight:400;letter-spacing:3px;margin:0 0 22px}h2 em{font-style:normal;color:var(--gold)}.prose{color:var(--muted);padding-top:5px;line-height:2.2;font-size:14px}.prose p:first-child{margin-top:0}.text-link{color:var(--gold);display:inline-block;margin-top:20px;font-size:12px}.estate-details{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:26px 0}.estate-details div{padding-left:35px;border-left:1px solid var(--border)}.estate-details div:first-child{padding-left:0;border:0}.estate-details span{font-size:10px;color:var(--gold);letter-spacing:3px}.estate-details p{font:15px var(--serif);letter-spacing:2px}.gallery{padding-top:25px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.section-heading h2{margin-bottom:0}.section-heading p{color:var(--muted);font:13px var(--serif);letter-spacing:1px;margin-bottom:15px}.heading-dot{color:var(--gold);font-size:24px;margin-left:25px}.gallery-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:20px}.scene{border:1px solid var(--border);text-align:left;padding:0;background:var(--panel);overflow:hidden}.scene-image{display:block;height:260px;background:none;transition:transform .6s}.scene:hover .scene-image{transform:scale(1.04)}.scene-two .scene-image{filter:sepia(.8) saturate(.7);background-position:95% 70%;background-size:auto 230%}.scene-three .scene-image{filter:hue-rotate(12deg);background-position:42% 40%;background-size:auto 250%}.scene-label{display:block;padding:23px;position:relative;background:var(--panel)}.scene-label small{font:9px Georgia,serif;letter-spacing:2px;color:var(--gold)}.scene-label strong{display:block;font:21px/2.4 var(--serif);letter-spacing:3px;font-weight:400}.scene-label>span{font-size:10px;color:var(--muted)}.caption{font-size:11px;color:var(--muted);line-height:1.9}.music{display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:100px;padding-top:30px;padding-bottom:110px}.record{height:290px;width:290px;margin:auto;border-radius:50%;background:repeating-radial-gradient(circle,#112331 0px,#112331 3px,#20303c 4px,#0e1b29 5px);border:1px solid #bca87c33;box-shadow:0 0 70px #587e8b12;display:grid;place-items:center}.record>div{border:1px solid #d7bc8666;background:#1a2937;width:115px;height:115px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gold);font-size:30px}.record small{font:8px/1.5 Georgia,serif;letter-spacing:2px;text-align:center}.music-copy>p{font:15px var(--serif);letter-spacing:2px;color:var(--muted)}.track{margin-top:30px;display:flex;align-items:center;gap:20px;padding:18px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.track small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.track strong{font-size:13px;font-weight:400}.track-icon{font-size:27px;color:var(--gold)}.track-status{margin-left:auto;font-size:10px;color:var(--gold);border:1px solid var(--border);padding:3px 10px}.sky-section{padding-top:20px}.sky-panel{position:relative;min-height:490px;background:radial-gradient(ellipse at 50% 80%,#18314880,#071321 70%);border:1px solid var(--border);overflow:hidden}.sky-top{position:relative;z-index:1;display:flex;justify-content:space-between;padding:24px 30px;color:var(--gold);font-size:11px;letter-spacing:1px}#star-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}#star-buttons{position:absolute;inset:65px 30px 100px}.star{position:absolute;background:transparent;border:0;color:#e6d5a4;font-size:20px;min-width:30px;min-height:30px;transform:translate(-50%,-50%);text-shadow:0 0 12px #d7bc86;line-height:1}.star:hover{color:white;scale:1.25}#empty-sky{position:absolute;inset:100px 20px 90px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}#empty-sky>span{font-size:45px;color:var(--gold)}#empty-sky h3{font:21px var(--serif);letter-spacing:3px}#empty-sky p{color:var(--muted);font-size:11px}.sky-footer{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:23px 30px;border-top:1px solid var(--border);background:#08152280;font-size:11px;color:var(--muted)}#load-stars{background:none;border:0;color:var(--gold);font-size:12px}.stats{display:flex;justify-content:center;margin-top:44px}.stats>div{width:210px;text-align:center;border-right:1px solid var(--border)}.stats>div:last-child{border:0}.stats strong{font:31px Georgia,serif;color:var(--gold);display:block}.stats span{display:block;font-size:10px;color:var(--muted);letter-spacing:2px;margin-top:10px}.center{text-align:center;margin-top:25px}.journal{padding-top:30px}.journal-entry>span,.credits>span{font-size:10px;color:var(--gold);letter-spacing:2px}.journal h3{font:20px/1.7 var(--serif);font-weight:400}.journal p{font-size:13px;color:var(--muted);line-height:2}.credits{border-top:1px solid var(--border);padding-top:25px;margin-top:25px}.muted{color:var(--muted)}.closing{padding:60px 20px 80px;text-align:center;background:radial-gradient(ellipse at center,#27384b33,transparent 65%)}.closing p{font:23px var(--serif);letter-spacing:4px;color:var(--gold)}.closing>span{display:block;color:var(--gold);font-size:35px;margin:25px}.closing a{font-size:11px;color:var(--muted)}footer{border-top:1px solid var(--border);padding:35px 5%;display:flex;gap:30px;align-items:center;justify-content:space-between}footer .brand{font-size:18px;letter-spacing:2px}footer .brand small{font-size:7px}footer p,footer>div{font-size:10px;color:var(--muted)}footer>div{display:flex;gap:22px}dialog{width:min(520px,calc(100% - 30px));padding:44px 35px;border:1px solid #a8946a77;background:var(--panel);color:var(--text);box-shadow:0 20px 100px #0008}dialog::backdrop{background:#020912bf;backdrop-filter:blur(6px)}dialog h2{font-size:27px;letter-spacing:1px}dialog>p{font-size:12px;color:var(--muted)}.dialog-close{position:absolute;right:14px;top:8px;background:none;border:0;color:var(--gold);font-size:28px}form label{display:block;font-size:12px;color:var(--muted);margin:20px 0}input,textarea,select{display:block;width:100%;padding:11px 13px;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:0;margin-top:8px}textarea{resize:vertical}.consent{display:flex;align-items:flex-start;gap:8px;font-size:11px;flex-wrap:wrap}.consent input{width:15px;margin:4px 0 0}.consent a{text-decoration:underline}.trap{position:absolute;left:-10000px}#wish-result{color:var(--gold);font-size:13px}#star-dialog{text-align:center}#star-body{font:22px/2 var(--serif);white-space:pre-wrap;overflow-wrap:anywhere;margin:20px 0}#star-author{color:var(--gold)}#star-date{color:var(--muted)}.large-star{font-size:55px;color:var(--gold)}#scene-dialog{width:min(900px,calc(100% - 30px));padding:30px}#scene-dialog img{width:100%;margin-top:15px}#notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--panel);border:1px solid var(--border);padding:12px 22px;z-index:10;font-size:12px;display:none}.skip{position:fixed;top:-100px;z-index:10;background:var(--gold);color:#10202e;padding:8px}.skip:focus{top:0}body.day{--bg:#eee9dd;--panel:#f6f1e6;--text:#233c4d;--muted:#5c6d77;--gold:#886832;--border:#88683233;color-scheme:light}body.day .hero{background:#cbd4cf}body.day .hero-art{filter:brightness(1.6) saturate(.6)}body.day .hero-haze{background:linear-gradient(90deg,#eee9dd,#eee9ddce 25%,transparent 80%),linear-gradient(0deg,#eee9dd,transparent 30%)}body.day .hero-intro,body.day .hero-description,body.day .english-title{color:#364d56}body.day .hero h1{color:#645135}body.day header{background:#eee9dd44}body.day .hero-bottom,body.day .small-note{color:#53616a}body.day .sky-panel{color:#e8e3d8}body.day .sky-panel .button{color:#19202a}body.day .sky-panel #empty-sky p{color:#b8c5cc}.admin-page{max-width:1100px;margin:40px auto;padding:20px}.admin-bar{display:flex;justify-content:space-between;gap:20px;align-items:center}.admin-card{padding:25px;border:1px solid var(--border);margin:20px 0;overflow-wrap:anywhere}.admin-card .body{white-space:pre-wrap}.admin-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.admin-actions select{width:auto}.admin-actions button,.admin-tabs button{padding:8px 15px;background:var(--panel);border:1px solid var(--border)}.admin-tabs{display:flex;gap:10px;margin:25px 0}.admin-tabs .active{border-color:var(--gold);color:var(--gold)}#login-form{max-width:400px;margin:70px auto}.privacy-page{max-width:850px;padding:70px 25px;margin:auto}.privacy-page h1{font:35px var(--serif)}.privacy-page h2{font-size:22px;margin-top:35px}.privacy-page p{color:var(--muted)}[hidden]{display:none!important}audio{width:100%}@keyframes enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1600px){.hero-art{background-size:cover}.hero-copy{padding-left:max(10%,calc((100vw - 1220px)/2))}}@media(max-width:900px){header{padding:0 5%;height:85px}nav{gap:16px;font-size:11px}.theme span{display:none}.section{padding:65px 30px}.split{gap:40px}h2{font-size:30px}.hero-copy{padding-left:7%}.gallery-grid{gap:12px}.scene-image{height:220px}.scene-label{padding:16px}.music{gap:30px}.record{width:240px;height:240px}.section-heading{gap:20px}.section-heading p{max-width:220px;line-height:1.9}footer{flex-wrap:wrap}.journal{padding-top:35px}}@media(max-width:600px){header{height:108px;align-items:flex-start;padding-top:14px;flex-wrap:wrap}.brand{font-size:19px}.crest{font-size:30px}.brand small{font-size:7px}nav{order:3;width:100%;justify-content:space-between;gap:5px;padding:9px 0 10px;font-size:10px;letter-spacing:1px}.theme{padding:3px 10px}.hero{height:820px;min-height:0}.hero-art{inset:90px -75% 0 -10%;opacity:.7;background-position:75% 90%}.hero-haze{background:linear-gradient(90deg,#081522b0,#08152255),linear-gradient(0deg,#091521,transparent 35%,#09152166)}.hero-copy{padding:174px 25px 0;max-width:100%;text-align:center}.eyebrow{font-size:9px;letter-spacing:2px}.hero-intro{font-size:12px;letter-spacing:3px;margin-top:32px}.hero h1{font-size:84px;letter-spacing:15px}.hero h1 span{margin-left:10px}.english-title{font-size:10px;letter-spacing:4px}.ornament{margin:23px 0}.hero-description{font-size:13px}.hero-actions{justify-content:center;gap:10px}.button{padding:11px 17px;font-size:11px;gap:14px}.small-note{font-size:9px;line-height:2;max-width:250px;margin:20px auto}.hero-bottom{bottom:22px;font-size:8px;letter-spacing:1px}.hero-bottom>span:last-child{display:none}.section{padding:65px 22px}.section-label{font-size:9px;letter-spacing:2px;margin-bottom:20px}.split{grid-template-columns:1fr;gap:20px}h2{font-size:28px;letter-spacing:2px}.prose{font-size:13px}.estate-details{margin-top:30px;padding:20px 0;gap:12px}.estate-details div{padding-left:10px}.estate-details p{font-size:11px;line-height:1.8;letter-spacing:0}.estate-details span{font-size:9px}.section-heading{display:block}.section-heading p{max-width:none;font-size:12px;margin-top:15px}.gallery{padding-top:0}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.scene:first-child{grid-column:1/-1}.scene-image{height:180px}.scene:first-child .scene-image{height:240px;background-size:cover;background-position:center}.scene-label strong{font-size:18px}.scene-label small{font-size:7px;letter-spacing:1px}.scene-label>span{font-size:9px}.caption{font-size:10px}.music{grid-template-columns:1fr;gap:35px;padding-top:0}.record{height:200px;width:200px}.record>div{height:90px;width:90px}.record small{font-size:7px}.music-copy h2{margin-bottom:12px}.sky-section{padding-top:0}.sky-panel{min-height:480px}.sky-top{padding:20px 16px;font-size:9px}#empty-sky{inset:90px 15px 120px}#empty-sky h3{font-size:18px;letter-spacing:1px}#empty-sky p{font-size:10px}.sky-footer{padding:16px;gap:15px;flex-wrap:wrap;font-size:9px}.sky-footer .button{margin-left:auto}.stats strong{font-size:28px}.stats span{font-size:9px}.journal{padding-top:5px}.journal h3{font-size:18px}.closing{padding:20px 20px 60px}.closing p{font-size:17px;letter-spacing:2px}footer{gap:14px;padding:28px 22px}footer>div{width:100%;gap:20px;justify-content:space-between;font-size:9px}footer p{font-size:9px}dialog{padding:35px 22px}dialog h2{font-size:23px}.admin-bar{align-items:flex-start;flex-direction:column}.admin-page{margin:15px auto}body.day .hero-haze{background:linear-gradient(90deg,#eee9ddd0,#eee9dd66),linear-gradient(0deg,#eee9dd,transparent 60%)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

#first-stars{background:none;border:0;color:var(--gold);font-size:10px}.sky-footer{gap:8px;flex-wrap:wrap}
/* Round 2: independent views; retained original palette, fonts and illustration. */
html{scroll-behavior:auto;scroll-padding-top:0}.view{min-height:calc(100svh - 260px);will-change:auto}.view h1{font:38px/1.6 var(--serif);font-weight:400;letter-spacing:3px;margin:0 0 22px}.view h1 em{font-style:normal;color:var(--gold)}.hero.view{height:100svh;min-height:740px}.hero.view h1{font:104px/1.3 var(--serif);letter-spacing:25px;margin:10px 0 0;color:#f4e4bd}.hero-copy{animation:none}.cover-mode{overflow-x:hidden}.cover-mode main{min-height:100svh}.cover-mode .view-toolbar{display:none}header{position:relative;background:var(--bg);height:94px}.cover-mode header{position:absolute;background:linear-gradient(#08142288,transparent)}.header-controls{display:flex;gap:10px;align-items:center}.music-toggle{display:flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:50px;background:transparent;color:var(--gold);padding:10px 12px;min-width:45px;min-height:45px;font-size:11px;line-height:1.4}.music-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.music-toggle .sound-wave{display:none}.music-toggle.playing .sound-wave{display:block}.music-toggle.playing .sound-off{display:none}.music-toggle.playing{border-color:var(--gold);background:#d7bc8612}.view-toolbar{max-width:1220px;margin:auto;padding:25px 50px 0;display:flex;justify-content:space-between;color:var(--muted);font-size:11px;letter-spacing:1px}.view-toolbar a:hover{color:var(--gold)}.view-toolbar span{margin:0 10px}.view-toolbar #view-location{color:var(--gold)}.view.section{padding-top:55px;padding-bottom:75px}.manor-panorama{height:300px;background:url('/castle.svg') 60% 48%/cover;border:1px solid var(--border);margin:30px 0}.room-doors{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.door{display:block;padding:25px;border:1px solid var(--border);background:var(--panel);transition:border-color .2s,transform .2s}.door:hover{border-color:var(--gold);transform:translateY(-3px)}.door small{font:9px Georgia,serif;letter-spacing:2px;color:var(--gold)}.door h2{font-size:24px;margin:18px 0 12px;letter-spacing:2px}.door p{font-size:12px;line-height:2;color:var(--muted)}.door>span{display:block;color:var(--gold);font-size:11px;margin-top:20px}.room-intro{font:16px/2 var(--serif);color:var(--muted);letter-spacing:2px}.room-art.scene-image{height:470px;border:1px solid var(--border);margin-top:32px;background-size:cover;background-position:60% 50%}.room-view.scene-two .room-art{background-size:cover;filter:sepia(.8) saturate(.7)}.room-view.scene-three .room-art{background-size:cover;filter:hue-rotate(12deg)}.room-actions{display:flex;gap:15px;margin-top:30px}.bgm-credit{grid-column:1/-1;border-top:1px solid var(--border);padding-top:35px}.bgm-credit h2{font:27px/1.6 Georgia,serif;letter-spacing:2px;margin-bottom:5px;color:var(--gold)}.bgm-credit>p{font-size:12px;color:var(--muted)}.bgm-credit .text-link{margin-left:20px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}nav a[aria-current=page]{color:var(--gold)}body.day .hero.view h1{color:#645135}.scene[data-room]{width:100%}@media(max-width:1100px){nav{gap:16px;font-size:11px;letter-spacing:1px}.brand{font-size:20px}.music-label{display:none}.header-controls{gap:7px}}@media(max-width:900px){header{height:90px}.room-doors{grid-template-columns:repeat(2,1fr)}.view-toolbar{padding:22px 30px 0}.view h1{font-size:30px}.header-controls .theme span{display:none}}@media(max-width:600px){header{height:112px;padding-top:14px;align-items:flex-start}.cover-mode header{height:112px}.header-controls{margin-left:auto;gap:8px}.theme{min-height:39px}.music-toggle{min-height:39px;min-width:39px;padding:7px 9px}header nav{padding-top:11px;gap:5px}.view-toolbar{padding:20px 22px 0;gap:12px;font-size:10px}.view-toolbar span{margin:0 5px}.view.section{padding-top:35px;padding-bottom:50px}.view h1{font-size:28px;letter-spacing:2px}.hero.view{height:100svh;min-height:740px}.hero.view h1{font-size:84px;letter-spacing:15px}.hero .hero-copy{padding-top:175px}.room-doors{grid-template-columns:1fr 1fr;gap:12px}.door{padding:18px 14px}.door h2{font-size:19px;letter-spacing:1px}.door small{font-size:8px;letter-spacing:1px}.door p{font-size:11px}.door>span{font-size:10px}.manor-panorama{height:220px;background-position:70% 50%}.room-art.scene-image{height:300px;background-position:65% 50%}.room-actions{gap:10px}.bgm-credit .text-link{display:block;margin-left:0}.room-view .caption{font-size:10px}.music.view{gap:35px}.view h1{overflow-wrap:break-word}}@media(prefers-reduced-motion:reduce){.view{transform:none!important}.door:hover{transform:none}}
/* Direct native-media recovery; shown only when a real attempt needs another tap. */
#music-recovery{position:fixed;z-index:20;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:16px;padding:15px 20px;border:1px solid var(--border);background:var(--panel);box-shadow:0 12px 40px #0004;font-size:12px;color:var(--text);width:max-content;max-width:calc(100% - 30px)}.entry-music-note{font-size:11px;color:var(--muted);margin-top:14px}.entry-music-enable{margin-left:10px;background:none;border:0;padding:0;color:var(--gold);text-decoration:underline;font-size:inherit}@media(max-width:600px){#music-recovery{gap:10px;padding:12px;font-size:11px;flex-wrap:wrap;justify-content:center;text-align:center}.entry-music-enable{margin-left:6px}}
/* A saved wish departs once; this decorative star never enters the public sky. */
#wish-dialog{max-height:calc(100dvh - 28px);overflow-y:auto;overscroll-behavior:contain}#wish-dialog [hidden]{display:none!important}#wish-compose>p{font-size:12px;color:var(--muted)}#wish-result{overflow-wrap:anywhere;color:var(--gold)}#wish-dialog[data-phase=launching],#wish-dialog[data-phase=success]{text-align:center}#wish-dialog[data-phase=launching]{background:radial-gradient(ellipse at 50% 75%,#1c3446,#091521 75%);overflow:hidden}#wish-flight{min-height:320px;display:grid;place-items:center}.wish-flight-art{position:relative;width:100%;height:300px;pointer-events:none}.wish-flight-star{position:absolute;left:50%;top:65%;font-size:56px;line-height:1;color:#e1c895;text-shadow:0 0 20px #d7bc8655,0 0 48px #d7bc8628;will-change:transform,opacity}.wish-flight-art i{position:absolute;top:72%;left:49%;width:3px;height:3px;border-radius:50%;background:#e1c895;opacity:0;animation:wish-trail 1.5s ease-out .4s both}.wish-flight-art i:nth-of-type(2){left:53%;top:64%;animation-delay:.6s;width:2px;height:2px}.wish-flight-art i:nth-of-type(3){left:47%;top:56%;animation-delay:.85s}.wish-flight-art i:nth-of-type(4){left:52%;top:45%;animation-delay:1.1s;width:2px;height:2px}.wish-flight-art i:nth-of-type(5){left:50%;top:33%;animation-delay:1.3s;width:2px;height:2px}#wish-success{padding:12px 0 8px}#wish-success>p:not(.eyebrow){line-height:2}#wish-success-title{color:var(--gold);outline:none}#wish-success .button{margin-top:20px}.wish-success-mark{display:block;color:var(--gold);font-size:40px;text-shadow:0 0 20px #d7bc8628;margin-bottom:15px}@keyframes wish-trail{0%{opacity:0;transform:translateY(0)}25%{opacity:.65}100%{opacity:0;transform:translateY(22px)}}@media(prefers-reduced-motion:reduce){.wish-flight-art i{animation:none}.wish-flight-star{will-change:auto}}
/* Moderation controls reuse the manor's existing panels and typography. */
.admin-tabs{flex-wrap:wrap}.admin-card details{margin-top:18px}.admin-card summary{cursor:pointer;color:var(--gold)}#ai-test-form{max-width:540px}#ai-mode{color:var(--gold)}#ai-config,#ai-test-result{overflow-wrap:anywhere}.admin-actions{flex-wrap:wrap}
/* Independent 16:9 gallery paintings. Images stay whole at every breakpoint. */
.gallery-grid .scene-image,.gallery-grid .scene:first-child .scene-image,.room-art.scene-image{height:auto;aspect-ratio:16/9;background:none;filter:none;overflow:hidden}.scene-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}.scene-two .scene-image,.scene-three .scene-image,.room-view.scene-two .room-art,.room-view.scene-three .room-art{filter:none;background:none}.room-art.scene-image{width:100%}
/* Scene prose supplied by the manor's author. Scoped to the three room details. */
.room-view .room-story{max-width:42rem;margin:24px 0 34px;color:var(--muted);font:16px/2.25 var(--serif);letter-spacing:.04em;overflow-wrap:break-word}.room-view .room-story p{margin:0 0 1.15em}.room-view .room-story p:last-child{margin-bottom:0}.room-view:not([hidden]) .room-story{animation:room-story-enter .8s cubic-bezier(.22,.61,.36,1) both}@keyframes room-story-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.room-view .room-story{font-size:15px;line-height:2.15;letter-spacing:.025em;margin:20px 0 28px}}@media(prefers-reduced-motion:reduce){.room-view:not([hidden]) .room-story{animation:none}}
/* Author's complete journal text; every rule is confined to the journal view. */
#journal .journal-reading{max-width:44rem;margin:0 auto}#journal .journal-reading>h1{margin-bottom:46px;color:var(--gold)}#journal .journal-number{font-size:12px;letter-spacing:2px;color:var(--gold);margin:0 0 16px}#journal .journal-entry h2{font-size:27px;line-height:1.75;letter-spacing:1px;margin:0 0 32px}#journal .journal-prose p{font:16px/2.2 var(--serif);color:var(--text);margin:0 0 1.4em;overflow-wrap:break-word}#journal .journal-prose p:last-child{margin-bottom:0}#journal .journal-divider{color:var(--gold);opacity:.65;margin:36px 0;font:24px/1 var(--serif)}#journal .journal-gratitude h2{font:21px/1.8 var(--serif);letter-spacing:1px;color:var(--gold);margin:0 0 22px}#journal .journal-gratitude p{font-size:15px;line-height:2.15;margin:0 0 18px}#journal .journal-gratitude .journal-names{font:18px/2.2 var(--serif);letter-spacing:1px;color:var(--gold)}#journal .journal-gratitude .journal-rank{font-size:12px;margin-top:-7px}#journal .journal-art-note{font-size:12px;line-height:2;margin:0;color:var(--muted)}@media(max-width:600px){#journal .journal-reading>h1{margin-bottom:34px}#journal .journal-entry h2{font-size:22px;letter-spacing:.5px;margin-bottom:26px}#journal .journal-prose p{font-size:15px;line-height:2.15;margin-bottom:1.35em}#journal .journal-gratitude h2{font-size:18px}#journal .journal-gratitude .journal-names{font-size:17px;letter-spacing:.5px}}
/* Text-only audit: clear review notice and readable prose below each illustration. */
.sky-review-note{margin:-8px 0 25px;max-width:48rem}.room-view .room-art+.room-story{margin-top:30px}#sky .section-heading>p{line-height:1.9}#wish-success .caption{max-width:25rem;margin-left:auto;margin-right:auto}@media(max-width:600px){.sky-review-note{margin:0 0 22px;line-height:2}.room-view .room-art+.room-story{margin-top:25px}.track{gap:12px}.track>div{min-width:0}.track small{overflow-wrap:anywhere}}
/* Optional next stops; normal document flow keeps controls clear of browser chrome. */
.room-actions,.journey-actions{display:flex;flex-wrap:wrap;gap:15px;align-items:center;padding-bottom:max(4px,env(safe-area-inset-bottom))}.room-actions .journey-next{margin-left:auto}.journey-actions{justify-content:flex-end;margin-top:30px}.music>.journey-actions{grid-column:1/-1}.journey-actions [hidden]{display:none!important}.room-actions .button,.journey-actions .button{max-width:100%;white-space:normal;text-align:center;min-height:44px}.room-actions .journey-next{gap:10px}@media(max-width:600px){.room-actions,.journey-actions{gap:12px}.room-actions .journey-next{margin-left:0;width:100%}.journey-actions .button{width:100%}}
/* Final original track uses the existing native audio controls, separate from BGM. */
.track.original-track{display:block}.original-track-details{display:flex;align-items:center;gap:16px}.original-track-details>div{min-width:0}.original-track audio{display:block;width:100%;max-width:100%;margin-top:18px;min-height:54px}.original-track-details .track-status{white-space:nowrap}@media(max-width:380px){.original-track-details{gap:10px}.original-track-details .track-status{font-size:9px;padding:3px 6px}}
/* Music-only controls keep the existing compact rounded player and record artwork. */
#music .original-english{display:block;font:10px/1.8 Georgia,serif;letter-spacing:1.6px;color:var(--gold);margin:3px 0}#music .bgm-credit{padding-top:24px}#music .bgm-credit summary{cursor:pointer;font-size:12px;letter-spacing:1px;color:var(--muted)}#music .bgm-credit[open] summary{margin-bottom:28px}#music .bgm-credit h2{font-size:23px}#music .theme-controls{display:flex;align-items:center;gap:10px;background:#343632;border-radius:32px;min-height:54px;padding:10px 14px;margin-top:18px;color:#f3f0e8}#music .theme-controls button{border:0;background:transparent;color:inherit;min-width:30px;min-height:32px;padding:0;font-size:17px;line-height:1}#music .theme-time{font:11px/1.4 system-ui,sans-serif;white-space:nowrap;font-variant-numeric:tabular-nums}#music .theme-controls input{padding:0;margin:0;height:18px;border:0;background:transparent;accent-color:var(--gold);min-width:0}#music .theme-seek{flex:1;width:100%}#music .theme-volume{width:64px;flex:0 0 64px}#music .theme-player-status:empty{display:none}#music .record{transform-origin:50% 50%}#music audio[hidden]{display:none!important}@media(max-width:600px){#music .theme-controls{gap:7px;padding:10px 12px}#music .theme-time{font-size:10px}#music .theme-volume{width:48px;flex-basis:48px}}@media(max-width:350px){#music .theme-controls{gap:5px;padding:10px}#music .theme-volume{width:36px;flex-basis:36px}#music .theme-controls button{min-width:25px}}
#music .theme-mute svg{display:block;width:19px;height:19px;margin:auto}#music .theme-mute[data-muted=true] .sound-wave,#music .theme-mute[data-muted=false] .sound-x{display:none}
/* Static BGM credit: separate from Seven.'s work, no collapsing or truncation. */
#music .music-copy>.original-track{margin-top:0}#music .bgm-credit-title,#music #bgm-credit-title{font-size:20px;line-height:1.8;letter-spacing:1px;margin:0 0 20px;white-space:normal;overflow-wrap:break-word}#music .bgm-credit-list{margin:0 0 24px;font-size:13px;color:var(--muted)}#music .bgm-credit-list>div{display:grid;grid-template-columns:8.5em minmax(0,1fr);gap:12px;margin-bottom:12px}#music .bgm-credit-list dt{color:var(--muted)}#music .bgm-credit-list dd{margin:0;min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.9}#music .bgm-credit-list a{color:var(--gold);text-decoration:underline;text-underline-offset:4px}#music .bgm-credit{overflow:visible;max-height:none;white-space:normal}@media(max-width:600px){#music #bgm-credit-title{font-size:17px;letter-spacing:.5px}#music .bgm-credit-list>div{grid-template-columns:7em minmax(0,1fr);gap:10px}#music .bgm-credit-list{font-size:12px}}
