@font-face{font-family:AtlasSong;src:url(assets/song-400.woff2?v=6f94e038) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:AtlasSong;src:url(assets/song-700.woff2?v=62dcff2a) format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:AtlasDisplay;src:url(assets/display.ttf) format('truetype');font-weight:400;font-display:swap}
:root{--paper:#eee6d4;--ink:#20211e;--red:#ba3029;--line:#24251e35;--muted:#686253}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{height:100dvh;display:flex;flex-direction:column;background:#1b1d19;color:var(--ink);font-family:AtlasSong,serif;font-synthesis:none}button,input,textarea,select{font:inherit;color:inherit;font-synthesis:none}button{appearance:none;-webkit-appearance:none;border:1px solid var(--line);border-radius:0;background:transparent;padding:9px 12px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-underline-offset:4px}button:hover:not(:disabled){background:#ba302912}button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible{outline:2px solid var(--red);outline-offset:3px}dialog button:focus:not(:focus-visible){outline:none}b,strong,h1,h2,h3{font-weight:700}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;vertical-align:middle;pointer-events:none;flex:none}[hidden]{display:none!important}
.reader-header{height:48px;flex:none;display:flex;align-items:center;gap:16px;padding:0 24px;color:var(--paper);font-size:12px}.wordmark{text-decoration:none;font-weight:700;letter-spacing:.02em}.wordmark span{font-size:10px;font-weight:400;opacity:.7;margin-left:12px}#language-toggle{margin-left:auto;border:none;padding:8px 4px}#open-contents{border:none;padding:8px}#book-stage{position:relative;display:flex;flex:1;min-height:0;align-items:center;justify-content:center;padding:4px 0;overflow:hidden}#book{position:relative;flex:none;box-shadow:0 16px 55px #0006}html.reader-loading #book{visibility:hidden}#load-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px;color:var(--paper);text-align:center;padding:28px;line-height:1.8}#load-status button{color:var(--paper);border-color:#eee6d480}.reader-nav{height:54px;flex:none;display:flex;align-items:center;justify-content:center;gap:36px;color:var(--paper);position:relative;padding-bottom:4px}.reader-nav button{border:none;min-width:46px}.reader-nav>div:not(.progress){min-width:145px;text-align:center}.reader-nav span{font-size:13px}.reader-nav small{font-size:10px;display:block;line-height:1.5;opacity:.65;margin-top:2px;max-width:250px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#eee6d418}.progress i{display:block;height:100%;background:var(--red);transition:width .25s}
.page{position:relative;background:var(--paper);background-image:url(assets/paper-grain.svg);color:var(--ink);overflow:hidden;font-size:16px}.page:after{content:'';position:absolute;inset:0;box-shadow:inset 11px 0 18px -15px #0008;pointer-events:none}.page>header{position:absolute;top:0;left:0;right:0;padding:25px 34px 0}.kicker{border-top:1px solid var(--line);padding-top:11px;font-size:10px;line-height:1.5;letter-spacing:.11em;text-transform:uppercase;color:var(--red)}.page h1{margin:18px 0 0;font-size:34px;line-height:1.3;letter-spacing:-.025em;overflow-wrap:break-word}.page-body{position:absolute;left:34px;right:34px;top:135px;bottom:41px;overflow:visible;display:flow-root;line-height:1.75}.page-body p{font-size:16px;line-height:1.85;margin:0 0 17px}.page-body p:last-child{margin-bottom:0}.page-body ul,.page-body ol{font-size:15px;line-height:1.75;padding-left:20px;margin:12px 0 18px}.page-body li{margin:0 0 9px}.page-body aside{border-left:3px solid var(--red);background:#daceb759;padding:15px 17px;font-size:15px;line-height:1.8;margin:18px 0}.page>footer{position:absolute;left:34px;right:34px;bottom:0;height:30px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);font-size:9px;letter-spacing:.07em;color:var(--muted)}.continuation h1{font-size:27px}.continuation .kicker{letter-spacing:.07em}.compact .page-body p{margin-bottom:12px}.compact .page-body aside{margin:12px 0;padding:12px 14px}.compact .page-body ul{margin:9px 0}.compact .page-body li{margin-bottom:6px}.page-body .small,.production-credits{font-size:12px!important;line-height:1.7!important;color:var(--muted)}.source-list{font-size:14px!important;line-height:1.65!important}.photo{width:100%;max-height:190px;object-fit:cover;margin:0 0 18px;display:block}.text-link{border:0;border-bottom:1px solid currentColor;font-size:13px;padding:4px 0;text-align:left;line-height:1.5}.page .section-number{font-family:AtlasDisplay;font-size:40px;color:var(--red)}
.cover{background:#b92e27;color:var(--paper)}.cover .kicker{color:var(--paper);border-color:#eee6d480}.cover>header{z-index:2}.cover h1{font-family:AtlasDisplay,AtlasSong,serif;font-size:105px;line-height:.95;letter-spacing:-.045em;font-weight:400;margin-top:20px}.cover h1 .cover-cn{display:block;font-family:AtlasSong;font-size:25px;font-weight:700;letter-spacing:.13em;line-height:1.5;margin-top:7px}.cover .page-body{z-index:2;bottom:38px}.cover .page-body p{max-width:90%;font-size:15px;color:var(--paper);line-height:1.75}.cover .page-body .cover-deck{font-size:25px;font-weight:700;line-height:1.45;margin:0 0 15px}.cover-art{position:absolute;left:0;right:0;bottom:0;height:43%;background:#171916;overflow:hidden}.cover-art img{width:100%;height:100%;object-fit:cover;object-position:center;filter:grayscale(1) contrast(1.2);opacity:.68}.cover-art:after{content:'';position:absolute;inset:0;background:linear-gradient(#b92e27,transparent 40%,#17191666)}.cover>footer{border-color:#eee6d450;color:var(--paper);z-index:3}.cover .cover-mark{font-size:11px;letter-spacing:.1em;position:absolute;bottom:17px;left:0;text-transform:uppercase}.end{background:#20221d;color:var(--paper)}.end .kicker{color:#eb6251;border-color:#eee6d460}.end h1{font-size:39px;line-height:1.35}.end .page-body p{line-height:1.9}.end .page-body aside{background:transparent;border:0;border-top:1px solid #eee6d460;padding:18px 0;font-size:13px;color:#dfbba0}.end>footer{border-color:#eee6d460;color:#d8cbb0}.end-brand{display:block;margin-top:22px;text-decoration:none}.brand-logo{display:block;width:58px;height:58px;margin-bottom:12px}.end-brand strong{font-size:25px;display:block}.end-brand span{font-size:14px;display:block;margin-top:5px}.measure{position:fixed;left:-20000px;top:0;visibility:hidden;pointer-events:none;z-index:-100}.measure .page{display:block;position:relative!important;transform:none!important;float:none!important}
#contents{display:grid;gap:0;margin:18px 0}#contents button{display:flex;gap:15px;align-items:center;text-align:left;border:0;border-bottom:1px solid var(--line);padding:13px 0;font-size:16px;font-weight:700}#contents small{font-size:11px;color:var(--red);font-weight:400;width:22px;flex:none}.inline-media{margin:12px 0 16px;display:grid;grid-template-columns:1fr auto;gap:7px 10px}.inline-media video,.inline-media .vod-shell{grid-column:1/-1;width:100%;aspect-ratio:16/9;height:auto!important;display:block;object-fit:contain;background:#121410}.inline-media video:fullscreen{width:100vw;height:100vh!important;max-height:none;object-fit:contain}.inline-media figcaption{font-size:11px;line-height:1.5;align-self:center}.fullscreen-button{font-size:11px;padding:5px 7px;align-self:start}.media-unavailable{grid-column:1/-1;font-size:13px;line-height:1.6;padding:10px 12px;background:#ddd2bb}.vod-shell .vod-start{color:#fff}.chapter-drums h1,.chapter-performance h1,.chapter-quiz h1{font-size:29px}.drum-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;font-size:12px}.drum-controls button{padding:8px 10px}.drum-controls button:first-child,.primary{background:var(--ink);color:var(--paper)}.tempo-control{width:100%;display:flex;align-items:center;gap:10px;font-size:12px}.tempo-control input{flex:1;min-width:0;accent-color:var(--red)}.drum-presets{display:flex;gap:7px;margin:10px 0;font-size:12px}.drum-presets button{flex:1;padding:7px 3px}.drum-presets button.selected{background:var(--red);color:white;border-color:var(--red)}.grid-head,.drum-row{display:grid;grid-template-columns:25px repeat(16,minmax(0,1fr));gap:3px;margin:5px 0}.grid-head span{grid-column:span 4;text-align:center;font-size:11px}.grid-head .spacer{grid-column:auto}.drum-row button{height:38px;min-width:0;padding:0;position:relative;background:#d2c8b5;border:1px solid #8b816c60}.drum-row .label{font-size:11px;font-weight:700;border:0;background:transparent}.drum-row .label.muted{opacity:.5;text-decoration:line-through}.drum-row .cell.on{background:#272b26;border-color:#272b26}.drum-row[data-kind=hat] .cell.on{background:#987332}.drum-row[data-kind=snare] .cell.on{background:var(--red)}.drum-row .cell.bar{border-left:2px solid #66583c}.drum-row .cell.current:after{content:'';position:absolute;inset:-2px 0;border:2px solid var(--red);pointer-events:none}.drum-row .cell.current{filter:brightness(1.4)}.page-body .drum-status{font-size:12px;line-height:1.5;min-height:36px;margin:9px 0}.pads{display:flex;gap:8px;margin:16px 0}.pads button{flex:1;background:var(--red);color:var(--paper);font-size:28px;line-height:1.2;padding:20px 3px;border:0}.pads span,.pads small{display:block;font-size:12px;line-height:1.7}.pads small{font-size:10px;color:var(--paper)}.pads .flash{background:var(--red)}#practice-loop,#midi{font-size:13px;padding:8px 10px;margin-bottom:9px}#midi-info,#practice-status{font-size:12px;line-height:1.6;margin:5px 0 12px}.quiz-card{border-top:1px solid var(--line);padding:10px 0}.quiz-card h3{font-size:15px;line-height:1.4;margin:0 0 8px}.quiz-options{display:grid;grid-template-columns:1fr 1fr;gap:7px}.quiz-options button{font-size:13px;line-height:1.35;text-align:left;padding:8px 9px;min-height:42px}.quiz-options .correct{background:#365c3b20;border-color:#365c3b}.quiz-options .wrong{background:#ba302920;border-color:var(--red)}.quiz-feedback{font-size:13px;line-height:1.65;border-top:2px solid var(--red);padding:11px 0 0;min-height:123px}.quiz-feedback .text-link{display:block;font-size:12px;margin-top:6px}.quiz-feedback strong{color:var(--red)}#notes{display:block;width:100%;height:195px;padding:12px;resize:none;border:1px solid var(--line);background:#fff9ed;font-size:15px;line-height:1.8;margin:10px 0}.note-actions{display:flex;gap:8px;font-size:13px}.note-status{min-height:42px;font-size:12px!important;line-height:1.7!important;margin:10px 0!important}dialog{color:var(--ink);background:var(--paper);border:0;padding:24px;width:min(720px,94vw);max-height:88dvh;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#171916cf;backdrop-filter:blur(8px)}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.dialog-head h2{margin:0;font-size:22px}.dialog-head button{border:0;padding:8px}#toc-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}#toc-list button{font-size:14px;line-height:1.5;text-align:left;padding:12px}#toc-list small{display:block;color:var(--red);font-size:10px;margin-bottom:5px}.reader-boundary-notice{position:fixed;left:50%;bottom:76px;transform:translateX(-50%);padding:10px 18px;color:var(--paper);background:#1b1d19ee;border:1px solid #eee6d450;opacity:0;pointer-events:none;font-size:13px;white-space:nowrap;z-index:100}.reader-boundary-notice.shown{opacity:1}
@media(min-width:761px){.page:after{box-shadow:inset 14px 0 20px -18px #0009}.page[data-leaf]:nth-child(even):after{box-shadow:inset -14px 0 20px -18px #0009}.cover h1{font-size:130px}.cover .page-body .cover-deck{font-size:29px}.cover .page-body p{max-width:88%}}
@media(max-width:760px){.reader-header{height:44px;padding:0 15px;gap:13px;background:#1b1d19}.wordmark{font-size:12px}.wordmark span{display:none}.reader-nav{height:calc(49px + env(safe-area-inset-bottom));padding-bottom:calc(4px + env(safe-area-inset-bottom));gap:23px}#book-stage{padding:0}#book{box-shadow:none}.page>header{padding:20px 23px 0}.kicker{font-size:9px;padding-top:9px;letter-spacing:.065em}.page h1{font-size:30px;line-height:1.35;margin-top:14px}.page-body{left:23px;right:23px;bottom:32px}.page-body p{font-size:15px;line-height:1.8;margin-bottom:14px}.page-body ul,.page-body ol{font-size:14px;line-height:1.75;margin:10px 0 14px}.page-body li{margin-bottom:7px}.page-body aside{font-size:14px;line-height:1.75;padding:12px 14px;margin:14px 0}.page>footer{left:23px;right:23px;height:25px;font-size:8px}.continuation h1{font-size:24px}.cover h1{font-size:99px;line-height:1}.cover h1 .cover-cn{font-size:23px;line-height:1.5}.cover .page-body p{font-size:15px}.cover .page-body .cover-deck{font-size:25px}.end h1{font-size:33px}.end .page-body p{font-size:15px;line-height:1.85}.end-brand{margin-top:14px}.end-brand strong{font-size:24px}.brand-logo{width:48px;height:48px}.source-list{font-size:13px!important}.production-credits{font-size:12px!important}#contents button{font-size:15px;padding:11px 0}.chapter-drums h1,.chapter-performance h1,.chapter-quiz h1{font-size:27px}.chapter-drums .page-body p{font-size:14px;line-height:1.7;margin-bottom:11px}.chapter-quiz .page-body>p{font-size:14px;line-height:1.65;margin-bottom:10px}.grid-head,.drum-row{gap:2px}.drum-row button{height:36px}.drum-controls{gap:7px;font-size:12px}.drum-presets{font-size:12px;margin:8px 0}.drum-status{font-size:12px}.quiz-card{padding:9px 0}.quiz-card h3{font-size:14px;margin-bottom:7px}.quiz-options{gap:6px}.quiz-options button{font-size:13px;padding:7px 8px;min-height:40px}.quiz-feedback{font-size:13px;line-height:1.6;min-height:124px;padding-top:9px}.pads button{padding:17px 3px}#notes{height:185px}dialog{padding:20px;width:94vw}#toc-list{grid-template-columns:1fr}#toc-list button{font-size:14px}.inline-media{margin:10px 0 14px}.inline-media figcaption{font-size:10px}.fullscreen-button{font-size:11px;padding:4px 6px}}
@media(max-width:360px){.page>header{padding:17px 18px 0}.page-body{left:18px;right:18px}.page>footer{left:18px;right:18px}.page h1{font-size:27px;margin-top:12px}.cover h1{font-size:89px}.cover h1 .cover-cn{font-size:21px}.cover .page-body .cover-deck{font-size:23px}.cover .page-body p{font-size:14px}.continuation h1{font-size:23px}.chapter-drums h1,.chapter-performance h1,.chapter-quiz h1{font-size:26px}.page-body p{font-size:14.5px;line-height:1.8}.page-body ul{font-size:14px}.end h1{font-size:30px}.end .page-body p{font-size:14.5px}.drum-controls button{padding:7px 9px}.grid-head,.drum-row{grid-template-columns:23px repeat(16,minmax(0,1fr))}.drum-row button{height:33px}.quiz-card{padding:8px 0}.quiz-options button{font-size:12.5px;padding:6px 7px}.quiz-feedback{min-height:124px}.source-list{font-size:12.5px!important}.page-body .drum-status{margin:7px 0;min-height:36px}#notes{height:170px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Reserve actual font ink/descender space in heading boxes; audits still inspect every heading. */
.page h1{padding-bottom:3px}.page>header{padding-bottom:2px}
/* AtlasDisplay's capital ink extends below a 1em line; reserve it in the cover box. */
.cover h1{line-height:1.16;padding-bottom:8px}
/* Keep the three-question unit intact at 320px, without reducing reading text. */
@media(max-width:360px){.chapter-quiz .quiz-card{padding:6px 0}.chapter-quiz .quiz-card h3{margin-bottom:5px}.chapter-quiz .page-body>p{margin-bottom:8px}.chapter-quiz h1{font-size:25px;line-height:1.3}}

/* Keep the short introduction and usable note field together on the narrowest leaf. */
@media(max-width:360px){#notes{height:140px}}
/* The complete source playlist stays together; platform icons are external links. */
.chapter-playlist h1{font-size:29px}.chapter-playlist .page-body{line-height:1.3}
.chapter-playlist .page-body .playlist-intro{font-size:12px;line-height:1.5;margin:0 0 8px}
.page-body ol.playlist-tracks{padding:0;margin:0;list-style:none}
.page-body .playlist-tracks li{display:grid;grid-template-columns:18px minmax(0,1fr) 84px;align-items:center;gap:5px;margin:0;border-top:1px solid var(--line);padding:3px 0;min-height:36px}
.track-copy{min-width:0}.track-copy strong{display:block;font-size:14px;line-height:1.2}.track-copy>span{display:block;font-size:11px;line-height:1.2;color:var(--muted)}
.track-number{font-size:10px;color:var(--muted)}.track-platforms{display:grid;grid-template-columns:repeat(3,28px);gap:0}.track-platforms [data-platform="netease"]{grid-column:1}.track-platforms [data-platform="qq_music"]{grid-column:2}.track-platforms [data-platform="youtube"]{grid-column:3}.track-platforms a{display:flex;align-items:center;justify-content:center;width:28px;height:32px;border-radius:4px;text-decoration:none;touch-action:manipulation}.track-platforms img{display:block;width:19px;height:19px;object-fit:contain}.track-platforms a:hover{background:#ba302912}.track-platforms a:focus-visible{outline:2px solid var(--red);outline-offset:0}
.chapter-playlist .page-body .playlist-note{font-size:11px;line-height:1.5;margin:7px 0 0}
@media(max-width:360px){.chapter-playlist h1{font-size:25px}.page-body .playlist-tracks li{gap:4px;padding:2px 0}.track-copy strong{font-size:13px}.track-copy>span{font-size:10.5px}}

/* Approved 3:4 guide covers share a portrait viewport; fit the remaining page height. */
.chapter-guides .guide-video{width:var(--guide-player-width,100%);max-width:100%;margin-left:auto;margin-right:auto}
.chapter-guides .guide-video>.vod-shell,.chapter-guides .guide-video>video{aspect-ratio:3/4;height:auto!important;object-fit:contain}
.chapter-guides .guide-video>.vod-shell:fullscreen,.chapter-guides .guide-video>video:fullscreen{aspect-ratio:auto;width:100vw!important;height:100vh!important}

.related-genre-link{color:var(--red);text-decoration:underline;text-underline-offset:3px}.related-genre-link:focus-visible{outline:2px solid var(--red);outline-offset:3px}

/* Short mobile windows, including WeChat chrome: retain readable text and controls. */
@media(max-width:760px) and (max-height:740px){
 .page>header{padding-top:10px}.page h1{font-size:25px;line-height:1.2;margin-top:6px}.kicker{padding-top:5px}
 .page-body{bottom:28px}.page>footer{height:23px}.page-body p,.compact .page-body p{margin-bottom:8px;line-height:1.65}
 .page-body aside,.compact .page-body aside{margin:8px 0;padding:8px 10px;line-height:1.65}
 .cover h1{font-size:76px;line-height:1.1}.cover h1 .cover-cn{font-size:20px}.cover .page-body .cover-deck{font-size:22px}.end h1{font-size:27px}
 .chapter-drums h1,.chapter-performance h1,.chapter-quiz h1,.chapter-playlist h1{font-size:23px}
 .chapter-drums .page-body p{line-height:1.5;margin-bottom:7px}.drum-controls{margin:4px 0;gap:4px}.drum-controls button{padding:5px 8px}.drum-presets{margin:4px 0}.drum-presets button{padding:5px 3px}
 .grid-head,.drum-row{margin:3px 0}.drum-row button{height:28px}.page-body .drum-status{min-height:0;margin:5px 0;line-height:1.4}
 .chapter-quiz .page-body>p{margin-bottom:6px;line-height:1.45}.chapter-quiz .quiz-card{padding:5px 0}.chapter-quiz .quiz-card h3{line-height:1.3;margin-bottom:4px}.quiz-options button{padding:5px 7px;min-height:36px}.quiz-feedback{min-height:108px;padding-top:6px;line-height:1.4}.quiz-feedback .text-link{margin-top:3px;padding:2px 0}
 .page-body .playlist-tracks li{min-height:32px;padding:1px 0}.track-platforms a{height:30px}.chapter-playlist .page-body .playlist-intro{margin-bottom:4px}.chapter-playlist .page-body .playlist-note{margin-top:4px;line-height:1.3}
 #contents{margin:8px 0}#contents button{padding:7px 0}.pads{margin:8px 0}.pads button{padding:10px 3px}#notes{height:100px}
 .chapter-guides .guide-video{margin-top:6px;margin-bottom:6px}
}
@media(max-width:760px) and (max-height:640px){
 .chapter-playlist>header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding-top:10px}.chapter-playlist h1{order:-1;margin:0;font-size:23px}.chapter-playlist .kicker{border:0;letter-spacing:0;padding:0;font-size:8px}
 .page-body .playlist-tracks li{min-height:30px;padding:1px 0}.track-copy strong{font-size:13px;line-height:1.15}.track-copy>span{font-size:10.5px;line-height:1.1}.track-platforms a{height:28px}
 .chapter-playlist .page-body .playlist-intro,.chapter-playlist .page-body .playlist-note{line-height:1.2;margin:2px 0;font-size:11px}
 .chapter-drums .page-body p{line-height:1.45}.chapter-drums .drum-controls button{padding:4px 7px}.chapter-drums .drum-presets button{padding:4px 2px}
 .quiz-feedback{min-height:102px}.quiz-options button{padding-top:4px;padding-bottom:4px}
}
@media(max-width:760px) and (max-height:600px){
 .chapter-playlist>header{padding-top:7px}.chapter-playlist .page-body{bottom:22px}
 .chapter-drums .drum-controls,.chapter-drums .drum-presets{margin:2px 0}.chapter-drums .grid-head,.chapter-drums .drum-row{margin:2px 0}.chapter-drums .drum-row button{height:26px}
}
@media(max-width:760px) and (max-height:600px){.chapter-drums .page-body>p:last-child{margin-bottom:0}}
@media(max-width:760px) and (max-height:640px){.chapter-drums .page-body .drum-status{font-size:12px;line-height:1.4;margin:3px 0}}
@media(max-width:760px) and (max-height:640px){.chapter-playlist h1{flex-shrink:0}.chapter-playlist .kicker{max-width:30%;text-align:right}}
@media(max-width:760px) and (max-height:640px){.chapter-playlist .kicker{line-height:1.15}}
@media(max-width:760px) and (max-height:600px){.chapter-playlist .page-body .playlist-intro,.chapter-playlist .page-body .playlist-note{margin:0}}
@media(max-width:760px) and (max-height:640px){.end .page-body p{line-height:1.6}}
@media(max-width:760px) and (max-height:600px){.end-brand{display:grid;grid-template-columns:48px 1fr;gap:0 12px;align-items:center}.end-brand .brand-logo{grid-row:1/4;margin:0}.end-brand strong,.end-brand span{line-height:1.4;margin:0}}

/* Short desktop windows need the same complete-topic density as short phones. */
@media(min-width:761px) and (max-height:740px){
 .page>header,.page:not(.cover)>header{padding-top:10px}
 .page:not(.cover) h1{font-size:24px;line-height:1.2;margin-top:6px}
 .page:not(.cover) .kicker{font-size:9px;padding-top:4px;line-height:1.35}
 .page-body{bottom:28px}.page>footer{height:23px}
 .page:not(.cover) .page-body>p{font-size:15px;line-height:1.5;margin-bottom:8px}
 .page:not(.cover) .page-body aside{font-size:14px;padding:7px 9px;margin:8px 0;line-height:1.45}
 .cover h1{font-size:76px;line-height:1.1}.cover h1 .cover-cn{font-size:20px}
 .cover .page-body .cover-deck{font-size:22px}.cover .page-body p{font-size:15px;line-height:1.65}
 #contents{margin:8px 0}#contents button{padding:7px 0;font-size:15px}
 .chapter-drums .page-body>p{font-size:14px;line-height:1.45;margin-bottom:7px}
 .drum-controls{margin:3px 0;gap:4px}.drum-controls button{padding:4px 7px}
 .drum-presets{margin:4px 0}.drum-presets button{padding:4px 2px}
 .grid-head,.drum-row{margin:3px 0}.drum-row button{height:28px}
 .page-body .drum-status{min-height:0;margin:3px 0;font-size:12px;line-height:1.4}
 .pads{margin:8px 0}.pads button{padding:10px 3px}
 #practice-loop,#midi{padding:6px 8px;margin-bottom:4px}#midi-info,#practice-status{margin:4px 0;line-height:1.4}
 .quiz-card{padding:5px 0}.quiz-card h3{font-size:14px;line-height:1.3;margin-bottom:4px}
 .quiz-options button{font-size:13px;padding:5px 7px;min-height:36px}
 .quiz-feedback{min-height:108px;padding-top:6px;font-size:13px;line-height:1.4}
 .quiz-feedback .text-link{margin-top:3px;padding:2px 0}
 #notes{height:126px;margin:7px 0}.note-status{margin:5px 0!important}
 .page-body .playlist-tracks li{min-height:32px;padding:1px 0}.track-platforms a{height:30px}
 .chapter-playlist .page-body .playlist-intro{margin-bottom:4px}.chapter-playlist .page-body .playlist-note{margin-top:4px;line-height:1.3}
 .chapter-sources .source-list{font-size:13px!important;line-height:1.4!important}.chapter-sources .source-list li{margin-bottom:1px}
 .chapter-sources .page-body .small{font-size:11px!important;line-height:1.45!important}
 .page.chapter-arrangement .page-body>p{margin-bottom:4px}.chapter-arrangement .arrangement-demo{margin:4px 0}
 .structure button{padding:7px 2px;font-size:11px;line-height:1.3}.answer{min-height:0;font-size:13px;line-height:1.45;padding:8px 9px}
 .pulse-art{height:48px;margin:9px 0}.pulse-art i{height:26px;min-height:0}.pulse-art i:nth-child(4n+1){height:40px}.pulse-art i:nth-child(even){height:20px}
 .timeline{margin:9px 0}.timeline b{font-size:14px}.timeline span{font-size:11px}
 .roles{padding:5px 0;line-height:1.35}.roles span{line-height:1.35}
 .relation-list p{padding-top:7px;margin-bottom:8px!important;font-size:14px!important;line-height:1.5!important}
 .inline-media:not(.guide-video){margin:5px 0 9px;gap:4px 8px}
 .chapter-pulse .beats b{font-size:20px;line-height:1.3}.chapter-pulse .pulse-unit{margin:6px 0}
 .chapter-pulse .page-body>p{font-size:14px;line-height:1.5}.chapter-pulse .page-body>p.small{font-size:11px!important;line-height:1.4!important}
}


/* Window geometry, not a phone-only breakpoint: retain readable complete topics. */
@media(min-width:761px) and (max-height:620px){
 .reader-header{height:36px}.reader-nav{height:40px}#book-stage{padding:0}
 .page>header{padding-top:9px}.page-body{bottom:27px}.page>footer{height:22px}
 .cover h1{font-size:70px;line-height:1.16;margin-top:7px}.cover h1 .cover-cn{font-size:19px;margin-top:3px}
 .cover .page-body .cover-deck{font-size:22px;margin-bottom:9px}
 .cover .page-body p{font-size:15px;line-height:1.5;max-width:90%}
 .chapter-playlist>header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
 .chapter-playlist h1{order:-1;margin:0!important}.chapter-playlist .kicker{border:0;padding:0;max-width:35%}
 .page-body .playlist-tracks li{min-height:28px}.track-platforms a{height:28px}
 .page-body .quiz-feedback{min-height:82px}
 .end-brand{display:grid;grid-template-columns:48px 1fr;gap:0 12px;align-items:center;margin-top:10px}
 .end-brand .brand-logo{grid-row:1/4;margin:0;width:48px;height:48px}.end-brand strong,.end-brand span{line-height:1.4;margin:0}
}

@media(min-width:761px) and (max-height:620px){
 .chapter-drums .tempo-control{width:auto;flex:1;min-width:170px}
 .chapter-playlist .playlist-tracks{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
 .chapter-playlist .playlist-tracks li{min-height:40px;padding:3px 0}
 .chapter-playlist .track-copy strong{font-size:14px}.chapter-playlist .track-copy>span{font-size:11px}
}

.inline-media:not(.guide-video){width:var(--excerpt-player-width,100%);max-width:100%;margin-left:auto;margin-right:auto}

@media(min-width:761px) and (max-height:680px){
 .chapter-playlist .playlist-tracks{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
 .chapter-playlist .playlist-tracks li{min-height:40px;padding:3px 0}
}
@media(min-width:761px) and (max-height:620px){
 .chapter-quiz #quiz{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
 .chapter-quiz .quiz-feedback{grid-column:1/-1;min-height:100px}
 .chapter-quiz .quiz-card{padding:6px 0}.chapter-quiz .quiz-options{gap:6px}
}

@media(min-width:761px) and (max-height:620px){
 .page:not(.cover)>header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-top:8px}
 .page:not(.cover) h1{order:-1;margin:0;font-size:22px;line-height:1.2}
 .page:not(.cover) .kicker{border:0;padding:0;max-width:24%;font-size:9px;text-align:right;flex-shrink:0}
 #notes{height:100px}.note-status{min-height:30px}
}

@media(min-width:761px) and (max-height:620px){
 .inline-media:not(.guide-video){float:right;width:44%;margin:0 0 8px 18px}
 .chapter-ti .page-body ul,.chapter-waka .page-body ul,.chapter-bugatti .page-body ul{list-style-position:inside;padding-left:0;font-size:14px;line-height:1.5}
}

@media(min-width:761px) and (max-height:620px){.chapter-contents #contents{grid-template-columns:1fr 1fr;column-gap:24px}}

.layout-recovery #load-status{position:fixed;inset:0;z-index:200;background:#1b1d19;overflow:auto;justify-content:flex-start;padding:20px;gap:10px;font-size:14px;line-height:1.5}.layout-recovery #load-status p{margin:8px 0}.layout-recovery #load-status button{flex-shrink:0}

/* Percussion owns its touches; page gestures remain unchanged outside the pads. */
.pads,.pads button{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.pads button:hover:not(:disabled),.pads button:active{background:var(--red)}

/* Closed first and last leaves occupy one real page, centered in a spread. */
#book[data-edge=front],#book[data-edge=back]{box-shadow:none}
#book[data-orientation=landscape][data-edge=front]{transform:translateX(calc(var(--leaf-width) / -2))}
#book[data-orientation=landscape][data-edge=back]{transform:translateX(calc(var(--leaf-width) / 2))}
#book[data-edge=front] .cover,#book[data-edge=back] .end{box-shadow:0 15px 35px #0003}
