/* 2026-10-13 用户反馈修订：独立生图按钮、课堂等待、歌谱、明亮视野。 */
#btn-amb {display:none!important}
.art-button {border:0;background:url('../assets/ui/plaque.webp') center/contain no-repeat;color:#3a2205;font-family:var(--kai);font-weight:bold;text-shadow:none;min-width:9em;min-height:3.5em;padding:.9em 2em;cursor:pointer;filter:drop-shadow(0 3px 4px #0005)}
.art-button:hover {filter:brightness(1.06) drop-shadow(0 3px 5px #0005)}
.art-button:focus-visible,.hs:focus-visible {outline:3px solid #fff4b7;outline-offset:5px}
#teacher-continue {position:fixed;z-index:45;left:50%;bottom:17vh;transform:translateX(-50%);font-size:1.75em}
.hs .hs-core,.hs.big .hs-core {background:url('../assets/ui/medallion.webp') center/contain no-repeat;border:0;box-shadow:none;color:#51360e;width:3.8em;height:3.8em}
.hs.big .hs-core {width:4.5em;height:4.5em}
.hs .hs-core svg {width:39%;height:39%;filter:none}
.hs-ring {display:none!important}
.hs .hs-label,.hs.big .hs-label {background:url('../assets/ui/plaque.webp') center/100% 100% no-repeat;color:#342405;border:0;box-shadow:none;text-shadow:none;border-radius:0;font-family:var(--kai);font-size:1.08em;font-weight:bold;padding:.75em 2.15em;min-width:7em;text-align:center;margin-top:.05em;filter:drop-shadow(0 2px 3px #0005)}
.hs .hs-check {right:-.15em;top:-.1em}
.btn:not(.ver),#nav .next {background:#fff2ce;color:#4f3516;border:1px solid #d8a143;box-shadow:0 2px 6px #0002}
#dock {background:rgba(255,250,237,.96);border:1px solid #e6c58d;box-shadow:0 5px 22px #0003}
#dock .dock-head {color:#4f3516}
#dock .gs {height:37vh;aspect-ratio:500/380}
.gs-wrap .gs {height:56vh}
.gs-mark > * {opacity:.72}
.gs-mark.now > * {animation:none;filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 4px #a05a00);opacity:1;stroke:#6d3e07;stroke-width:2}
.gs-band {fill:rgba(65,42,12,.045)}
.gs-band.on {fill:rgba(245,199,95,.25);stroke:#c69643}
.song {grid-template-columns:1fr;gap:.7em}
.song .paper {max-width:1000px;width:100%;margin:auto;padding:.2em .7em;background:#fff}
.score-crop {width:100%;aspect-ratio:2160/1360;overflow:hidden}
.score-crop img {width:100%;height:auto;display:block}
.song-side {flex-direction:row;justify-content:center;align-items:center;flex-wrap:wrap;gap:.8em}
.song-side h3,.song-side p {display:none}
.song-side .btn {font-size:1.05em;padding:.55em 1.4em}
#modal.song-modal #modal-card {width:min(86em,94vw);max-height:96vh;padding:.6em 1.3em}
#modal.song-modal #modal-title {font-size:1.35em;margin-bottom:.2em}
#xm.big #xm-avatar {width:68vh;height:68vh;left:calc(10vw - 34vh);bottom:-2vh}
#xm.big #xm-bubble {left:calc(10vw + 15vh);bottom:49vh;font-size:1.15em;max-width:27vw}
#entrance {position:fixed;inset:0;z-index:95;overflow:hidden;display:none;background:#faf3df;pointer-events:none}
#entrance.show {display:block}
#entrance img {width:100%;height:100%;object-fit:cover;transform-origin:50% 65%}
#entrance span {position:absolute;left:50%;bottom:12%;transform:translateX(-50%);font:2em var(--kai);color:#fff9e9;text-shadow:0 2px 5px #302514;padding:.6em 1.5em;background:#283325aa;border-radius:1em}
.entering .hud {visibility:hidden}
@media(max-width:1000px){.hs .hs-label,.hs.big .hs-label {font-size:.95em}.song .paper{max-width:82vh}}
/* 完成稿：门口分层过渡、视野与阅读空间。 */
#entrance {background:transparent}
#entrance-outside {position:absolute;inset:0;background:url('../assets/img/approved-river.webp') center/cover no-repeat}
#entrance-camera {position:absolute;inset:0;perspective:600px;perspective-origin:50% 65%;transform-style:preserve-3d}
#entrance #entrance-facade {position:absolute;width:100%;height:100%;object-fit:contain;object-position:center;transform-origin:50% 65%;will-change:transform}
#question {top:8.5em}
#question.mini {left:auto;right:1.5em;top:9em;transform:none;max-width:none;padding:.45em .65em}
#question.mini.show {transform:none}
#xm.rest #xm-bubble {display:none}
.song .paper {max-width:min(100%, calc(67vh * 1680 / 1315));padding:0;background:white;overflow:hidden}
.score-crop {aspect-ratio:1680/1315}
.score-crop img {width:128.57143%;max-width:none;margin-left:-14.88095%}
.song-side {margin-top:.25em}
#modal.song-modal #modal-card {max-height:96vh;padding:1em 1.3em}
#modal.song-modal #modal-title {margin-bottom:.5em}
.inst img {height:11em;filter:drop-shadow(0 4px 4px #4f35161f)}
.inst {gap:.8em;padding:1.1em .9em 1.2em}
.inst b {font-size:1.9em}
.inst:hover {background:#fff4d7}
#dock .gs {height:37vh}
@media(max-width:1000px){#question{top:8.5em}.inst img{height:8em}.inst b{font-size:1.5em}}
/* 音乐控制始终可点击；弹窗为底部暂停和进度条留出空间。 */
#player {z-index:30}
#modal.show {padding:1.5vh 0 7em}
#modal #modal-card,#modal.song-modal #modal-card {max-height:calc(98.5vh - 7em)}
.song .paper {max-width:min(100%,calc(59vh * 1680 / 1315))}
.gs-wrap .gs {height:49vh}
#app.wand-on #hotspots {opacity:0;pointer-events:none}
.wand {width:min(62vw,48em)}
.wand input:focus-visible {outline:3px solid #fff4b7;outline-offset:6px}
#app:has(#player.show) #nav {left:1.3em;transform:none}
#app[data-scene="0"] #nav,#app[data-scene="0"]:has(#player.show) #nav {left:21.5vw;transform:none}
@media(max-width:1150px){#app[data-scene="0"] #player{bottom:6em}}
#modal-close {z-index:3}
.gs-mark.t-wave.now path {stroke:#276835;stroke-width:9}
.gs-mark.t-arc.now path {stroke:#974c00;stroke-width:9}
.song .paper {max-width:min(100%,calc(59vh * 1800 / 1370))}
.score-crop {aspect-ratio:1800/1370}
.score-crop img {width:120%;margin-left:-11.11111%}

#start {--cover:url("../assets/img/gen/cover.webp")}
.win-pic.win_lake{background-image:url("../assets/img/gen/win_lake.webp")}
.win-pic.win_horses{background-image:url("../assets/img/gen/win_horses.webp")}
.win-pic.win_eagle{background-image:url("../assets/img/gen/win_eagle.webp")}
#scene-loading{position:fixed;top:48%;left:50%;transform:translate(-50%,-50%);z-index:1500;padding:1em 1.6em;border-radius:1em;background:#203329eb;color:white;font-size:20px;pointer-events:none} #scene-loading[hidden]{display:none}
