/* Classroom edition 2026-09-24: restrained cinematic surfaces, readable teaching content. */
:root{--gold:#e7c88c;--ice:#abe2f5;--ink:#071622;--line:#c6b18452}
body:not(.in-panorama) .shade{background:linear-gradient(180deg,#03101cbb 0%,#04142065 28%,#04142070 65%,#020b15d9 100%)}
body[data-scene=form] .shade{background:linear-gradient(180deg,#03101cb8,#0616249c 45%,#03121ea3 80%,#020b15d9)}
body[data-scene=studio] .formula-board{background:linear-gradient(110deg,#071a2ade,#071a2a8a);border-left:1px solid #d7bc7555;padding:22px 26px;border-radius:0 8px 8px 0}
[hidden]{display:none!important}
button{min-height:42px}button:hover{box-shadow:0 0 25px #d5b16b20}button.large-route{font-size:20px;padding:13px 24px}
.scene-head h1{font-size:clamp(29px,3vw,48px)}.scene-head .eyebrow{font-size:12px;letter-spacing:4px;margin-bottom:10px;color:var(--gold)}
.scene-head>div>p:last-child{font-size:16px;color:#bbcbd4}
.scene-head{margin-bottom:15px}.route-pair{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.lessonbar{backdrop-filter:blur(18px)}.lessonbar a{transition:color .25s}.topbar{backdrop-filter:blur(16px)}
.guess-station{position:relative}.orbit-ring{position:absolute;inset:-18px;border:1px solid #d9bf7d2e;border-radius:50%;transform:rotateX(40deg)}
.orb-name{min-height:30px;color:#e9d5ab;font-size:19px;letter-spacing:2px}.orb.active .orbit-ring{border-color:#e5c4818a;animation:orbitTilt 6s linear infinite}
@keyframes orbitTilt{to{transform:rotateX(40deg) rotateZ(360deg)}}

/* Composer: progressive appearance without a continually scrolling wall of text. */
.composer-revised{grid-template-columns:30% 1fr;gap:6%;max-width:1120px;width:100%;margin:auto;align-items:center}
.portrait-frame{position:relative;border-bottom:1px solid var(--line);padding-bottom:16px}.portrait-frame:before{content:'';position:absolute;inset:2% -6%;border:1px solid #d6b77525;transform:skewY(-7deg);pointer-events:none}
.portrait-frame .portrait{height:42vh;max-height:440px}.portrait-frame>span{display:block;text-align:center;font-size:12px;letter-spacing:6px;color:#dcc28d;margin-top:9px}
.composer-copy>.eyebrow{font-size:14px;letter-spacing:2px;line-height:1.7}.composer-copy h2{margin-bottom:16px;font-size:40px}
.award-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin-bottom:18px}
.award-strip>div{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center;animation:credentialIn 1s both}.award-strip>div:nth-child(2){animation-delay:.3s}.award-strip>div:nth-child(3){animation-delay:.6s}
.award-strip strong{grid-row:span 2;font:48px Georgia,serif;color:var(--gold)}.award-strip span{font-size:16px;white-space:nowrap}.award-strip small{font-size:12px;color:#9caebc}
.career-flow{margin-bottom:20px}.career-flow p{margin:0;padding:7px 0;font-size:16px;display:flex;gap:22px;animation:credentialIn 1s both;animation-delay:calc(.7s + var(--i)*.65s)}
.career-flow time{font-family:Georgia,serif;color:var(--gold);font-size:19px}.composer-copy .actions{justify-content:flex-start}
.honor-list p{padding:14px 0;border-bottom:1px solid var(--line);font-size:20px}.honor-list b{color:var(--gold);margin-right:26px;font-family:Georgia,serif}
@keyframes credentialIn{from{opacity:0;transform:translateY(18px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}

/* Sky film is a video texture anchored to the panorama, not a fixed video modal. */
#skyVideo{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;left:-4px}
.pano-title{top:22px;left:3.5%;max-width:55%;z-index:2}.pano-title h1{font-size:clamp(26px,2.7vw,43px);letter-spacing:3px;line-height:1.35;margin:0 0 6px}
.pano-title span{font-family:LocalSerif,serif;font-size:clamp(19px,1.8vw,28px);color:#efdba8;letter-spacing:2px}
.pano-title p{font-size:10px;letter-spacing:5px;margin-bottom:8px}
.sky-controls{position:absolute;top:25px;right:3.5%;z-index:2;display:flex;align-items:center;gap:7px;padding:6px 10px;background:#07162299;border:1px solid #cab17445;border-radius:8px;backdrop-filter:blur(10px)}
.sky-controls>span{font-size:11px;letter-spacing:2px;color:#a8bfcd;margin-right:4px}.sky-controls button{font-size:12px;padding:5px 9px;border:0;min-height:30px;border-radius:5px}.sky-controls button[aria-pressed=true]{color:var(--gold);background:#cfad4825}
.pano-task-note{position:absolute;left:3.5%;top:155px;font-size:16px;letter-spacing:2px;color:#d9e4e7;padding:10px 16px;border-left:2px solid var(--gold);background:#0615217d;pointer-events:none}
#panoramaStage[data-mode=task] .pano-pin .sprite{width:84px;height:84px}.pano-pin b{font-size:20px}.pano-loading{z-index:9}

/* Theme listening desk. Gold and blue are reserved for the musical comparison. */
.theme-comparison{display:grid;grid-template-columns:1fr 1fr;gap:32px;width:min(1260px,100%);margin:auto;align-items:stretch}
.theme-study{min-width:0;border-top:1px solid #d6ba6e5e;padding-top:10px;position:relative}.theme-study.cool{border-top-color:#97d7f36e}.theme-name{display:flex;align-items:center;gap:13px;margin:0 0 12px}
.theme-name>span:first-child{font:16px Georgia,serif;color:#b8ab8d}.theme-name h2{font:30px LocalSerif,serif;letter-spacing:3px;margin:0;color:#f4d697}.theme-study.cool h2{color:#a7def3}.theme-badge{margin-left:auto;color:#8da8b7;font-size:12px;letter-spacing:2px}
.listening-lens{border:1px solid #b7cdd229;background:linear-gradient(130deg,#071c2aed,#071723be);border-radius:8px;overflow:hidden;box-shadow:0 12px 40px #0003;transition:border-color .3s,box-shadow .3s}
.listening-lens.is-playing{border-color:#d5bd7895;box-shadow:0 0 36px #cca76420}.cool .listening-lens.is-playing{border-color:#92d6f3aa;box-shadow:0 0 36px #57b0d31e}
.lens-heading,.lens-foot{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;font-size:11px;letter-spacing:1px;color:#adbac4}.lens-heading>span:first-child{color:#e3cca1}.lens-state{color:#91b7c7}.lens-foot{border-top:1px solid #aec4d015;font-size:10px;color:#819fac}
.melody-canvas{display:block;width:100%;height:145px}.reveal-instrument{display:flex;align-items:center;gap:12px;min-height:115px;padding:6px 6px}.reveal-instrument .sprite{width:100px;height:100px;flex:none;animation:credentialIn .65s both}
.theme-traits strong{font:clamp(23px,2vw,31px) LocalSerif,serif;color:#f4d69a;letter-spacing:2px}.cool .theme-traits strong{color:#b5e6f5}.theme-traits p{font-size:17px;line-height:1.5;margin:8px 0;color:#d3dde1}.theme-traits small{color:#9eb3c0;font-size:12px}.unknown-instrument{width:70px;height:70px;border:1px dashed #adbcbd55;display:grid;place-items:center;border-radius:50%;font:32px Georgia;color:#dbceac66;margin:12px 20px 12px 7px;flex-shrink:0}
.visual-switch{display:flex;align-items:center;gap:8px;justify-content:center;margin-top:6px}.visual-switch button{font-size:13px;min-height:34px;padding:6px 14px;border-color:transparent;border-radius:5px;color:#adc0cb}.visual-switch button.selected{border-color:#d6bd7666;color:#eed7a7;background:#cbaa5120}
.theme-actions button{font-size:17px;min-width:140px}.transport{margin:10px auto;padding:7px 18px}.transport .time{font-size:14px}
.score-pair{display:grid;grid-template-columns:1fr 1fr;gap:22px}.score-pair h3{font:22px LocalSerif;color:var(--gold)}.score-original{width:100%;height:145px;object-fit:contain;background:#faf8ed;padding:10px;border-radius:5px;margin-bottom:14px}.score-pair .melody-canvas{height:125px}.score-pair section>button{margin-top:14px}.score-modal h2{font-size:24px}

/* Twelve-part form map, all nodes fit the teaching screen. */
.form-heading{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;align-items:center;text-align:center}.form-heading>button:first-child{justify-self:start}.form-heading>button:last-child{justify-self:end}.form-heading h1{font:clamp(36px,3.6vw,58px) LocalSerif,serif;letter-spacing:10px;color:#f4ddb1;margin:0}.form-heading .eyebrow{font-size:11px;margin:0 0 8px}
.structure-track{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:28px 0;max-width:1320px;width:100%;margin:auto;padding:20px 0}
.structure-node{border:0;border-radius:0;padding:0 8px;min-width:0;position:relative;display:flex;align-items:center;flex-direction:column;color:#d7c69c;background:transparent!important}.structure-node.family-b{color:#a6d8f2}.structure-node.family-c{color:#c2afde}.structure-node:after{content:'›';position:absolute;right:-5px;top:57px;font:27px Georgia;color:#bfc8c36b}.structure-node:nth-child(6n):after{content:''}.structure-node b{font:29px LocalSerif,serif;letter-spacing:2px;padding:9px 0 3px;white-space:nowrap}
.structure-node time{font-size:17px;letter-spacing:2px;color:#d8e5eb;font-variant-numeric:tabular-nums;padding:5px 13px;border-radius:20px;background:#17304775;border:1px solid #bed2d52a}.node-insight{height:50px;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1.6;color:#8c9eaa;opacity:.65;padding:0 5px}.structure-node.revealed .node-insight{color:#f0d8a7;opacity:1;font-size:18px;animation:credentialIn .5s}.structure-node.family-b.revealed .node-insight{color:#a8dff7}.structure-node.family-c.revealed .node-insight{color:#d1bce9}
.track-line{width:100%;height:27px;display:flex;align-items:center;justify-content:center;position:relative}.track-line:before{content:'';height:1px;background:currentColor;opacity:.4;position:absolute;left:-8px;right:-8px;top:50%}.track-line i{width:20px;height:20px;border:1px solid currentColor;border-radius:50%;background:#0a2031;position:relative;box-shadow:0 0 0 5px #092031;transition:all .3s}.structure-node.current .track-line i{background:currentColor;box-shadow:0 0 22px currentColor,0 0 0 5px #e7ca8717}.structure-node.current time{border-color:currentColor;background:#ceb16c25;color:#fff0c6}.structure-node:hover .track-line i{transform:scale(1.15)}
.structure-focus{display:flex;justify-content:space-between;gap:20px;align-items:center;width:min(1180px,98%);margin:2px auto 8px;border-top:1px solid var(--line);padding-top:12px;color:#b1c7d4;font-size:15px}.structure-focus>span:first-child{color:#edcf94}.structure-focus strong{font:26px Georgia;color:var(--gold);padding:0 5px}.structure-focus button{font-size:12px;min-height:30px;padding:3px 9px;margin-left:8px}

/* Film analysis. */
.film-layout{grid-template-columns:minmax(0,1fr) 265px;width:100%;margin:0 auto auto;gap:22px}.film-layout .video-shell video{max-height:39vh}.film-side{background:#071b2ae8;padding:20px}.film-side h2{font-size:22px;line-height:1.5}.film-side p{font-size:15px;line-height:1.8}.film-side>button{display:block;width:100%;margin-top:9px;font-size:15px}.function-index{font:15px Georgia;letter-spacing:3px;color:var(--gold);display:block;margin-bottom:10px}
.clip-tabs{width:100%;margin:12px auto}.clip-tabs button{display:flex;align-items:center;justify-content:center;gap:12px;max-width:none;font-size:17px}.clip-tabs button>span{font:12px Georgia;color:#9bb4c6}
.film-conclusion{font-size:clamp(24px,2.7vw,39px);min-height:53px;line-height:1.4;color:#f6dca6;margin:8px 0 13px;letter-spacing:2px}.film-conclusion.visible{animation:credentialIn .7s}.film-conclusion>span{font:15px Georgia;display:inline-block;vertical-align:middle;margin-right:18px;border:1px solid #c5a77377;padding:9px;border-radius:50%}
.leitmotif-layout{display:grid;grid-template-columns:30% 1fr;gap:32px;align-items:center}.leitmotif-layout>img{width:100%;border-radius:6px;max-height:480px;object-fit:cover;filter:sepia(.12)}.leitmotif-layout h2{font-size:30px;line-height:1.5}.leitmotif-layout h3{font-size:18px;color:#d5bc85;font-weight:400}.leitmotif-layout p{font-size:17px}.leit-example{border-left:2px solid var(--gold);padding:12px 20px;margin:20px 0;background:#e4c78508}.leit-example strong{font:26px LocalSerif;color:#edce91}.leit-example p{margin-bottom:0}

/* A focused demonstration desk replaces unnecessary editing controls. */
.studio-revised{display:grid;grid-template-columns:52% 1fr;gap:5%;width:min(1300px,100%);margin:auto;align-items:center}.studio-screen video{max-height:42vh}.formula-board h2{font:32px LocalSerif;margin:0 0 19px;color:#f1d79f}.formula-board>.eyebrow{font-size:12px}.formula-steps{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line);margin-bottom:20px}.formula-steps>div{display:flex;gap:20px;align-items:center;padding:12px 0;border-bottom:1px solid #c6b18429}.formula-steps>div>span{font:18px Georgia;color:#ad9570}.formula-steps h3{font-size:13px;color:#8eacbc;margin:0 0 5px;font-weight:400;letter-spacing:3px}.formula-steps p{margin:0;font-size:clamp(18px,1.6vw,24px);color:#e9dfcc;line-height:1.5}.formula-board .actions{justify-content:flex-start;gap:8px}.formula-board button{font-size:14px;padding:9px 15px}.prompt-example{font-size:23px!important;line-height:1.9!important;color:#f1ddaf!important;padding:25px;background:#0c2a3f;border-left:2px solid var(--gold)}
.role-purpose{font-size:26px!important;color:#efdaa6!important}.role-steps p,.creation-steps p{padding:15px 0;border-bottom:1px solid var(--line);font-size:20px;line-height:1.7}.role-steps span,.creation-steps b{font:17px Georgia;margin-right:22px;color:var(--gold)}

/* A controlled cinematic coda: quote -> human authorship -> final curtain. */
body[data-scene=ending] #stage{padding:0;min-height:calc(100svh - 148px)}
.cinematic-ending{position:relative;min-height:calc(100svh - 148px);overflow:hidden;flex:1;background:#030810;--ending-progress:0}
.ending-landscape{position:absolute;inset:-3%;background:url('assets/twin-sunset.webp') center/cover;transform:scale(calc(1.015 + var(--ending-progress)*.07));filter:brightness(.85);transition:filter 2s}
.ending-shade{position:absolute;inset:0;background:linear-gradient(#030b146e,transparent 55%,#080b1980)}
.ending-quote,.ending-soul,.ending-thanks{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;opacity:0;transform:translateY(15px);transition:opacity 1.8s,transform 2s;pointer-events:none;text-shadow:0 3px 25px #040a15}
.ending-quote{padding-bottom:12vh}.ending-quote blockquote{font:clamp(27px,3.5vw,54px)/1.7 LocalSerif,serif;letter-spacing:4px;margin:16px 0;color:#f7e8cf}.ending-quote cite{font-style:normal;font-size:17px;letter-spacing:4px;color:#e5ceab}
.ending-soul{padding-bottom:15vh}.ending-soul p{font-size:22px;letter-spacing:10px;color:#e9d7bc;margin:0 0 22px}.ending-soul h1{font-size:clamp(36px,5vw,72px);letter-spacing:12px;color:#ffe9c6}
.ending-thanks h1{font-size:clamp(42px,6vw,90px);letter-spacing:18px;color:#f7e4c2}.ending-thanks p{font-size:17px;letter-spacing:4px;color:#b2b8bd}.ending-thanks .eyebrow{margin-bottom:25px}
[data-phase=quote] .ending-quote,[data-phase=soul] .ending-soul,[data-phase=thanks] .ending-thanks{opacity:1;transform:none}
[data-phase=thanks] .ending-landscape{filter:brightness(.17)}
.ending-controls{position:absolute;bottom:20px;left:0;right:0;display:flex;justify-content:center;gap:9px;z-index:4;opacity:.75}.ending-controls:hover{opacity:1}.ending-controls button{font-size:12px;padding:7px 15px;min-height:32px;border-color:#e6d3b838;background:#07111a63;backdrop-filter:blur(8px)}
.ending-tech{position:absolute;inset:0;pointer-events:none;opacity:calc(1 - var(--ending-progress)*5);overflow:hidden}.ending-tech span{position:absolute;border:1px solid #9dd6ed40;border-radius:50%;width:45vw;height:45vw;top:0;left:27%;transform:rotateX(70deg)}.ending-tech span:nth-child(2){inset:5% 20%;width:60vw;height:60vw}.ending-tech span:nth-child(3){inset:10% 12%;width:75vw;height:75vw}
body[data-scene=ending] .topbar,body[data-scene=ending] .lessonbar{transition:opacity 2s}.cinema-dim .topbar,.cinema-dim .lessonbar{opacity:.12}.cinema-dim .topbar:hover,.cinema-dim .lessonbar:hover,.cinema-dim .topbar:focus-within,.cinema-dim .lessonbar:focus-within{opacity:1}

@media(min-width:1500px){.melody-canvas{height:190px}.reveal-instrument{min-height:145px}.reveal-instrument .sprite{width:125px;height:125px}.theme-traits p{font-size:20px}.theme-comparison{gap:48px}.structure-track{gap:38px 0}.node-insight{height:60px}.structure-node.revealed .node-insight{font-size:21px}.structure-node b{font-size:35px}.structure-node time{font-size:20px}.structure-focus{font-size:18px}.composer-copy h2{font-size:48px}.career-flow p{font-size:19px;padding:10px 0}.award-strip strong{font-size:58px}.formula-steps>div{padding:17px 0}.film-layout .video-shell video{max-height:43vh}}
@media(min-width:761px) and (max-height:800px){#stage{padding-top:14px;padding-bottom:12px;min-height:calc(100svh - 138px)}.topbar{min-height:58px;padding-top:12px;padding-bottom:12px}.lessonbar{min-height:70px;padding-top:8px;padding-bottom:8px}.scene-head{margin-bottom:9px}.scene-head h1{font-size:32px}.melody-canvas{height:116px}.reveal-instrument{min-height:96px}.reveal-instrument .sprite{width:82px;height:82px}.theme-traits strong{font-size:25px}.theme-traits p{font-size:15px;margin:5px 0}.theme-name h2{font-size:26px}.theme-name{margin-bottom:8px}.lens-heading,.lens-foot{padding:7px 12px}.structure-track{gap:20px 0;padding:13px 0}.node-insight{height:41px}.structure-node.revealed .node-insight{font-size:16px}.structure-node b{font-size:27px}.structure-node time{font-size:15px}.form-heading h1{font-size:42px}.structure-focus{font-size:13px}.composer-copy h2{font-size:34px;margin-bottom:12px}.award-strip{padding:9px 0;margin-bottom:10px}.award-strip strong{font-size:40px}.career-flow p{padding:5px 0;font-size:14px}.career-flow{margin-bottom:12px}.film-layout .video-shell video{max-height:35vh}.film-conclusion{font-size:28px;min-height:45px;margin:4px 0 8px}.film-side{padding:12px 17px}.film-side p{margin:7px 0}.clip-tabs{margin:9px auto}.clip-tabs button{min-height:38px;padding:8px 12px}.formula-steps>div{padding:8px 0}.formula-board h2{font-size:29px;margin-bottom:12px}.formula-steps p{font-size:18px}.cinematic-ending,body[data-scene=ending] #stage{min-height:calc(100svh - 128px)}}
@media(max-width:1000px){.award-strip{gap:12px}.award-strip>div{display:flex;flex-direction:column;gap:3px;align-items:flex-start}.award-strip strong{font-size:37px}.composer-copy h2{font-size:32px}.composer-copy>.eyebrow{font-size:12px}.career-flow p{gap:12px;font-size:14px}.pano-title{max-width:62%}.sky-controls>span{display:none}.structure-node.revealed .node-insight{font-size:15px}.film-layout{grid-template-columns:minmax(0,1fr) 230px}.formula-steps p{font-size:18px}.theme-comparison{gap:20px}}
@media(max-width:760px){.scene-head{gap:12px}.scene-head h1{font-size:27px}.scene-head>div>p:last-child{font-size:14px}.scene-head button.large-route{font-size:16px;padding:10px 16px;min-height:42px}.route-pair{justify-content:flex-start}.route-pair button{font-size:12px}.theme-comparison{grid-template-columns:1fr;gap:18px}.melody-canvas{height:126px}.theme-name h2{font-size:26px}.reveal-instrument{min-height:90px}.theme-traits strong{font-size:24px}.reveal-instrument .sprite{width:88px;height:88px}.theme-traits p{font-size:15px}.theme-study{padding-top:10px}.visual-switch{margin-top:18px;gap:2px}.visual-switch button{font-size:12px;padding:6px 9px}.theme-actions{gap:8px}.theme-actions button{min-width:0;flex:1;font-size:14px;padding:9px}.score-pair{grid-template-columns:1fr}.score-original{height:130px}.composer-revised{grid-template-columns:1fr;gap:20px}.portrait-frame{max-width:210px;margin:auto}.portrait-frame .portrait{height:230px}.composer-copy h2{text-align:center;font-size:32px}.composer-copy>.eyebrow{text-align:center;font-size:12px}.award-strip>div{align-items:center}.award-strip span{font-size:13px}.career-flow p{font-size:14px}.composer-copy .actions{justify-content:center}.composer-copy .actions button{font-size:14px}.pano-title{top:18px;max-width:100%;left:5%;right:5%}.pano-title h1{font-size:24px;letter-spacing:1px}.pano-title span{font-size:19px;letter-spacing:1px}.sky-controls{top:117px;right:5%;padding:3px 5px;background:#07162277}.sky-controls button{font-size:11px}.pano-task-note{top:125px;left:5%;right:5%;font-size:12px;letter-spacing:0}.pano-title p{font-size:9px}.pano-pin b{font-size:16px}.pano-pin .sprite{width:70px;height:70px}.form-heading{grid-template-columns:1fr 1fr}.form-heading>div{grid-column:1/-1;grid-row:1}.form-heading h1{font-size:37px;letter-spacing:7px}.form-heading>button{font-size:12px;padding:8px 12px}.structure-track{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 0;margin:15px 0}.structure-node:nth-child(3n):after{content:''}.structure-node.revealed .node-insight{font-size:14px}.node-insight{height:49px;font-size:10px}.structure-node{padding:0 5px}.structure-node b{font-size:25px}.structure-node time{font-size:13px;letter-spacing:1px}.structure-focus{flex-direction:column;gap:8px;font-size:13px}.film-layout{grid-template-columns:1fr;gap:12px}.film-layout .video-shell video{max-height:40vh}.film-side{min-height:0;padding:15px}.film-side h2{font-size:21px}.film-side>button{display:inline-block;width:auto;margin-right:7px;font-size:13px}.clip-tabs{gap:5px}.clip-tabs button{padding:8px 4px;font-size:13px;gap:4px;min-height:42px}.clip-tabs button>span{display:none}.film-conclusion{font-size:24px;line-height:1.6;min-height:75px}.film-conclusion>span{font-size:12px;padding:6px;margin-right:8px}.leitmotif-layout{grid-template-columns:1fr;gap:20px}.leitmotif-layout>img{width:150px;height:185px;margin:auto}.leitmotif-layout h2{font-size:24px}.leitmotif-layout p{font-size:15px}.studio-revised{grid-template-columns:1fr;gap:25px}.formula-board h2{font-size:28px}.formula-steps p{font-size:19px}.ending-controls{flex-wrap:wrap;bottom:15px;gap:5px}.ending-controls button{font-size:11px;padding:7px 10px}.ending-quote blockquote{font-size:28px;letter-spacing:2px}.ending-quote cite{font-size:14px}.ending-soul p{font-size:16px;letter-spacing:5px}.ending-soul h1{font-size:35px;letter-spacing:5px}.ending-thanks h1{font-size:45px;letter-spacing:8px}.ending-thanks p{font-size:13px}.ending-landscape{background-position:60% center}.ending-quote,.ending-soul{padding-bottom:12vh}}
@media(prefers-reduced-motion:reduce){.career-flow p,.award-strip>div,.orb.active .orbit-ring{animation:none}.ending-quote,.ending-soul,.ending-thanks{transition:none}}
@media(min-width:1001px) and (max-height:800px){#stage{min-height:calc(100svh - 137px)}.melody-canvas{height:104px}.theme-name{margin-bottom:6px}.structure-track{gap:14px 0}.cinematic-ending,body[data-scene=ending] #stage{min-height:calc(100svh - 137px)}}

/* Teacher follow-up: independent reveal, equal-size traits, concealed form answers. */
.theme-traits strong,.theme-traits p,.theme-traits small{display:block;font:24px/1.4 LocalSerif,serif;letter-spacing:1px;margin:3px 0;color:#f4d69a}
.cool .theme-traits strong,.cool .theme-traits p,.cool .theme-traits small{color:#b5e6f5}
.reveal-instrument:not(.revealed) .theme-traits p{font:17px/1.5 'Microsoft YaHei',sans-serif;color:#c6d5dd;letter-spacing:0}
.theme-actions{width:min(1260px,100%);margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:32px}
.theme-action-group{display:flex;justify-content:center;gap:12px}
.structure-concealed{visibility:hidden}
@media(min-width:1001px) and (max-height:800px){body[data-scene=themes] .transport{padding-top:3px;padding-bottom:3px;margin-top:6px;margin-bottom:6px}body[data-scene=themes] .visual-switch{margin-top:2px}}
@media(min-width:1500px){.theme-traits strong,.theme-traits p,.theme-traits small{font-size:28px}}
@media(max-width:760px){.theme-traits strong,.theme-traits p,.theme-traits small{font-size:21px;letter-spacing:0}.reveal-instrument .sprite{width:60px;height:60px}.theme-actions{gap:8px}.theme-action-group{flex-direction:column;gap:8px}.theme-action-group button{min-width:0;width:100%}}

/* Teacher feedback: formula first; all example values revealed together. */
.prompt-equation{display:flex;align-items:center;justify-content:space-between;gap:5px;padding:18px 0;border-top:1px solid #c6b18455;border-bottom:1px solid #c6b18455;color:#f1d79f;font-size:clamp(14px,1.25vw,19px);white-space:nowrap}
.prompt-equation b{color:#97bfd0;font-size:21px;font-weight:400}
.formula-examples{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;min-height:188px;padding:18px 0}
.formula-examples section{border-left:2px solid #c7ae7566;padding-left:12px;min-width:0}
.formula-examples h3{font-size:14px;font-weight:400;letter-spacing:2px;color:#a6c0cd;margin:0 0 7px}
.formula-examples section p{margin:0;font-size:21px;line-height:1.5;color:#f4e2bb}
.formula-waiting{grid-column:1/-1;align-self:center;margin:0;color:#b7cbd6;font-size:16px;line-height:2}
.formula-board [hidden]{display:none!important}
.guess-station{text-align:center}
@media(max-width:760px){.prompt-equation{font-size:14px;gap:3px}.prompt-equation b{font-size:17px}body[data-scene=studio] .formula-board{padding:18px}.formula-examples section p{font-size:19px}.utilities{flex-wrap:wrap}.theme-traits strong{overflow-wrap:anywhere}}
