/* Main views share one workspace, with their navigation always above them. */
.world-scale-design .app{max-width:1600px;padding:12px 20px!important}
.world-scale-design .app>header{padding:0 230px 0 65px!important;min-height:66px}
.world-scale-design header h1{font-size:28px!important;margin:0 0 3px!important}
.world-scale-design .subtitle{font-size:12px!important;line-height:1.4!important;margin:3px auto!important}
.world-scale-design .world-explorer{margin:8px 0!important;gap:12px;grid-template-columns:260px minmax(0,1fr)}
.world-main-panels{min-width:0;display:flex;flex-direction:column;gap:8px}
.world-main-tabs{display:flex;gap:5px;padding:4px;border:1px solid #536783;border-radius:12px;background:#172234;flex:none}
.world-main-tabs button{flex:1;border:1px solid transparent;border-radius:8px;padding:9px 12px;background:transparent;color:#c5cee0;font:700 15px/1.3 system-ui;cursor:pointer}
.world-main-tabs button[aria-selected=true]{background:#7961ad;border-color:#bda5e7;color:white}
.world-main-tabs button:focus-visible{outline:2px solid #c8b5ff;outline-offset:2px}
.world-scale-design .world-main-panels>.panel,.world-scale-design .world-main-panels>.world-workspace{margin:0!important;padding:16px;box-sizing:border-box;min-width:0;min-height:430px}
.world-main-panels>[hidden]{display:none!important}
.world-main-panels>#world-info-panel>.world-menu-toggle,.world-main-panels #scaleInfoToggle,.world-main-panels #practiceToggle{display:none!important}
.world-main-panels #world-info-panel .scale-info{margin-top:8px}
.world-main-panels #world-info-panel .scale-desc,.world-main-panels #world-info-panel .scale-hist{font-size:14px;line-height:1.6}
.world-scale-design .world-workspace .readout-details{gap:12px;margin-bottom:8px;padding-bottom:8px}
.world-scale-design .world-keyboard-caption{margin:8px 0}
.world-scale-design .world-workspace .legend{margin:8px 0;font-size:12px}
.world-scale-design .world-workspace .kb-hint{font-size:11px;line-height:1.5;margin:6px 0}
.world-scale-design .world-workspace .midi-row{margin:6px 0 0}
.world-scale-design .world-scale-selection{padding:12px!important}
.world-scale-design .world-family-field{margin-bottom:8px}
.world-scale-design #modeButtons{gap:4px}
.world-scale-design .mode-btn{min-height:36px;padding:5px 8px;font-size:13px}
.world-scale-design .mode-btn .en{font-size:10px}
.world-practice-settings{border:1px solid #536783;border-radius:9px;padding:8px 10px}
.world-practice-settings>summary{cursor:pointer;font-weight:700;font-size:14px}
.world-practice-settings .practice-settings{margin-top:8px}
.world-fullscreen-button{position:fixed;top:12px;left:70px;z-index:10001;width:146px;min-height:54px;padding:10px 12px;border:2px solid #63c9ef;border-radius:13px;background:#17415e;color:#f1fbff;font:800 16px/1.25 system-ui;box-shadow:0 0 0 4px #38bdf821,0 4px 12px #0003;cursor:pointer;white-space:nowrap}
.world-fullscreen-button:focus-visible{outline:3px solid #b3efff;outline-offset:4px}
.world-scale-design #spec-btn{position:fixed!important;top:12px!important;left:12px!important;right:auto!important;bottom:auto!important;width:46px!important;height:46px!important}
html.world-fullscreen{position:fixed;inset:0;overflow:auto;background:#101722;z-index:9999}
@media(min-width:901px){.world-scale-design .world-main-panels>.panel{max-height:calc(100dvh - 190px);overflow:auto}.world-scale-design .app>header .subtitle:not(.world-navigation){display:none}.world-scale-design .app>header{min-height:70px}}
@media(max-width:900px){.world-scale-design .world-explorer{grid-template-columns:200px minmax(0,1fr)}.world-scale-design #modeButtons{grid-template-columns:1fr}.world-scale-design .app{padding:8px!important}.world-scale-design .world-main-panels>.panel,.world-scale-design .world-main-panels>.world-workspace{padding:10px;min-height:0}.world-main-tabs button{padding:7px 4px;font-size:12px}.world-scale-design .app>header .subtitle:not(.world-navigation){display:none}}
@media(max-width:600px){.world-scale-design .app>header{padding:74px 0 0!important}.world-scale-design .app>header h1{font-size:23px!important}.world-scale-design .world-explorer{grid-template-columns:1fr}.world-scale-design #modeButtons{grid-template-columns:repeat(3,minmax(0,1fr))}.world-scale-design .mode-btn{min-height:32px;font-size:11px;padding:3px}.world-scale-design .mode-btn .en{font-size:9px}.world-scale-design .world-scale-selection .world-menu-toggle{font-size:14px;padding-bottom:6px}.world-scale-design .world-family-field{display:flex;align-items:center;gap:8px}.world-scale-design .world-family-field label{white-space:nowrap;font-size:11px}.world-scale-design .world-family-field select{min-height:32px;font-size:12px;padding:4px}.world-scale-design .world-main-panels>.panel{max-height:60dvh;overflow:auto}.world-scale-design .world-workspace .readout-value{font-size:18px}.world-scale-design .world-workspace #noteList{font-size:14px}.world-scale-design .world-music-stage{height:145px}}
@media(orientation:landscape) and (max-height:600px){.world-scale-design .app>header{min-height:60px}.world-scale-design header h1{font-size:21px!important}.world-scale-design .world-explorer{grid-template-columns:190px minmax(0,1fr)}.world-scale-design .world-main-panels>.panel,.world-scale-design .world-main-panels>.world-workspace{min-height:0;max-height:calc(100dvh - 145px);overflow:auto}.world-scale-design .world-music-stage{height:120px}.world-scale-design .world-workspace .readout-details{gap:6px}.world-scale-design .world-workspace .readout-value{font-size:18px}.world-scale-design .world-workspace #noteList{font-size:13px}.world-scale-design .world-play-toolbar select,.world-scale-design .world-play-toolbar #playScaleNearPiano{min-height:30px;padding:4px;font-size:12px}.world-scale-design .mode-btn{min-height:28px;font-size:11px}.world-scale-design .mode-btn .en{font-size:9px}}
.world-compact-mode{display:none}
@media(max-width:900px){.world-scale-design .world-compact-mode{display:grid;gap:5px;font-size:12px}.world-compact-mode select{width:100%;min-width:0;min-height:34px;padding:5px;border:1px solid #536783;border-radius:8px;background:#1f2e44;color:white;font:13px system-ui}.world-scale-design #modeButtons{display:none!important}}
@media(max-width:600px){.world-scale-design .world-explorer{gap:7px!important}.world-scale-design .world-scale-selection{padding:8px!important}.world-scale-design .world-family-field{margin:0 0 5px}.world-scale-design .world-menu-toggle{font-size:13px!important;padding-bottom:4px!important}.world-scale-design .world-compact-mode{grid-template-columns:90px minmax(0,1fr);align-items:center}.world-scale-design .world-compact-mode select{min-height:30px}.world-scale-design .world-main-panels>.panel{max-height:calc(100dvh - 390px)}}
.world-scale-design .app>footer{margin:6px 0!important;padding:0!important;font-size:10px;line-height:14px}
.world-scale-design body>footer,.world-scale-design>footer{margin:4px 0 0!important;padding:4px!important;font-size:10px!important;line-height:14px!important}
@media(max-width:900px){.world-scale-design .app>footer{display:none!important}.world-scale-design>footer{margin:0!important;padding:4px!important}.world-scale-design .world-explorer{margin:8px 0!important}}
@media(max-width:600px){.world-scale-design .world-main-panels>.panel,.world-scale-design .world-main-panels>.world-workspace{max-height:calc(100dvh - 375px);overflow:auto}}
@media(orientation:landscape) and (max-height:600px){.world-scale-design .world-main-panels>.panel,.world-scale-design .world-main-panels>.world-workspace{max-height:calc(100dvh - 170px)}}
@media(max-width:600px){.world-scale-design .world-main-panels>.panel,.world-scale-design .world-main-panels>.world-workspace{max-height:calc(100dvh - 378px)}}
@media(orientation:landscape) and (max-height:600px){.world-scale-design .world-main-panels>.panel,.world-scale-design .world-main-panels>.world-workspace{max-height:calc(100dvh - 178px)}}
/* Keep practice settings compact and leave room for answers. */
.world-scale-design #practicePanel{min-height:0!important;padding:12px!important}
.world-scale-design #practicePanel .practice-title{font-size:16px;line-height:1.3}
.world-scale-design #practicePanel .practice-body{margin-top:8px;gap:8px}
.world-scale-design #practicePanel .practice-settings{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px;padding:8px;margin-top:6px}
.world-scale-design #practicePanel .prac-field{gap:3px}
.world-scale-design #practicePanel .prac-field>span{font-size:11px}
.world-scale-design #practicePanel .prac-field select{padding:4px 6px;font-size:12px;min-height:29px}
.world-scale-design #practicePanel .prac-check{font-size:11px;gap:4px;line-height:1.4}
.world-practice-categories{grid-column:1/-1;border-top:1px solid #354155;padding-top:5px;font-size:12px}
.world-practice-categories>summary{cursor:pointer;color:#c5cee0;font-weight:600}
.world-scale-design #practicePanel .prac-cats{padding-top:5px;border:0;gap:5px 12px}
.world-scale-design #practicePanel .prac-cats-label{display:none}
.world-scale-design #practicePanel .practice-note{font-size:10px;line-height:1.4;margin:0}
.world-scale-design #practicePanel .practice-question{font-size:13px;line-height:1.4}
.world-scale-design #practicePanel .prac-btn{font-size:12px;padding:5px 10px}
.world-scale-design #practicePanel .ans-btn{font-size:12px;padding:5px 8px}
.world-scale-design #practicePanel .answer-grid{gap:5px}
@media(min-width:1100px){.world-scale-design #practicePanel .practice-settings{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(max-width:600px){.world-scale-design #practicePanel .practice-settings{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:5px}.world-scale-design #practicePanel .practice-title{font-size:14px}}
@media(orientation:landscape) and (max-height:600px){.world-scale-design #practicePanel{padding:7px!important}.world-scale-design #practicePanel .practice-title{font-size:13px}.world-scale-design #practicePanel .practice-settings{grid-template-columns:repeat(3,minmax(0,1fr));padding:4px;gap:3px 6px}.world-scale-design #practicePanel .practice-body{gap:5px;margin-top:5px}.world-scale-design #practicePanel .prac-field>span{font-size:10px}.world-scale-design #practicePanel .prac-field select{min-height:24px;font-size:11px;padding:2px 4px}}
.world-scale-design #practicePanel [hidden]{display:none!important}
.world-scale-design #practicePanel .practice-feedback:empty{display:none}
.world-scale-design #practicePanel .world-practice-settings>.practice-note{margin-top:6px}
@media(orientation:landscape) and (max-height:600px){.world-scale-design #practicePanel .world-practice-settings{padding:4px 7px}.world-scale-design #practicePanel .world-practice-settings>summary{font-size:12px}.world-scale-design #practicePanel .practice-stats{font-size:10px;gap:3px 7px}.world-scale-design #practicePanel .practice-note{font-size:9px}}
@media(min-width:901px) and (max-height:600px){.world-scale-design #modeButtons{grid-template-columns:repeat(2,minmax(0,1fr))}.world-scale-design .world-main-panels>.panel{max-height:calc(100dvh - 178px)}}
/* Align both columns and clearly separate the three main choices. */
.world-scale-design .world-explorer{align-items:start}
@media(min-width:601px){.world-scale-design .world-scale-selection{margin-top:0!important}.world-scale-design .world-main-tabs{min-height:44px;box-sizing:border-box}.world-scale-design .world-main-panels{gap:8px}.world-scale-design .world-main-panels>.panel,.world-scale-design .world-main-panels>.world-workspace{border-radius:14px}}
.world-scale-design .world-main-tabs{gap:8px;padding:5px;background:#101a2a;border-color:#60738e}
.world-scale-design .world-main-tabs button{border:1px solid #536783;background:#213148;border-radius:9px;color:#d8e2f2;box-shadow:inset 0 1px 0 #ffffff08}
.world-scale-design .world-main-tabs button[aria-selected=true]{background:#7961ad;border-color:#c5aceb;color:#fff;box-shadow:0 0 0 1px #c5aceb40}
.world-scale-design .world-main-tabs button:hover{border-color:#a9bad1;background:#30435e}
.world-scale-design .world-main-tabs button[aria-selected=true]:hover{background:#896fbd}
.world-scale-design .world-scale-selection .mode-btn{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.world-scale-design .world-scale-selection .mode-btn .en{width:100%;text-align:center}
@media(min-width:601px){
 .world-scale-design .world-explorer{row-gap:8px!important}
 .world-scale-design .world-main-panels{display:contents}
 .world-scale-design .world-main-tabs{grid-column:1/-1;grid-row:1}
 .world-scale-design .world-scale-selection{grid-column:1;grid-row:2}
 .world-scale-design .world-main-panels>[role=tabpanel]{grid-column:2;grid-row:2;margin-top:0!important}
}
@media(min-width:601px){
 .world-scale-design .world-explorer{align-items:stretch}
 .world-scale-design .world-scale-selection,.world-scale-design .world-main-panels>[role=tabpanel]:not([hidden]){align-self:stretch;box-sizing:border-box}
 .world-scale-design .world-scale-selection{padding-bottom:12px!important}
}
/* All three views keep the same outer frame as the scale chooser. */
@media(min-width:901px){
 .world-scale-design .world-explorer{grid-template-rows:auto minmax(0,calc(100dvh - 280px))}
 .world-scale-design .world-scale-selection,.world-scale-design .world-main-panels>[role=tabpanel]:not([hidden]){height:100%!important;min-height:0!important;max-height:none!important;overflow:auto}
}
@media(min-width:601px) and (max-width:900px){
 .world-scale-design .world-explorer{grid-template-rows:auto minmax(0,calc(100dvh - 180px))}
 .world-scale-design .world-scale-selection,.world-scale-design .world-main-panels>[role=tabpanel]:not([hidden]){height:100%!important;min-height:0!important;max-height:none!important;overflow:auto}
}
/* Let the chooser define the row height; keep every view aligned without clipping it. */
@media(min-width:601px){
 .world-scale-design .world-explorer{grid-template-rows:auto auto}
 .world-scale-design .world-scale-selection{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
 .world-scale-design .world-main-panels>[role=tabpanel]:not([hidden]){height:auto!important;min-height:0!important;max-height:none!important;align-self:stretch;overflow:visible!important}
}
/* Shared studio identity beside Home, with P physically left of the name. */
.world-studio-brand{position:fixed;right:65px;top:13px;z-index:1000;display:flex;align-items:center;gap:8px;direction:ltr;font:800 17px/1.2 system-ui;color:var(--text,#eef4fc);white-space:nowrap;min-height:38px}
.world-studio-brand img{width:32px;height:32px;object-fit:contain;flex:none}
@media(max-width:700px){.world-studio-brand{position:static;justify-content:center;min-height:28px;font-size:14px;margin-bottom:4px}.world-studio-brand img{width:26px;height:26px}}

/* Size the main view from the available viewport, including both footers. */
@media(min-width:901px){
 body.world-scale-design{height:100dvh;min-height:0;display:flex;flex-direction:column;box-sizing:border-box}
 .world-scale-design .app{flex:1;min-height:0;width:100%;box-sizing:border-box;display:flex;flex-direction:column}
 .world-scale-design .app>header,.world-scale-design footer{flex:none}
 .world-scale-design .world-explorer{flex:1;min-height:0;grid-template-rows:auto minmax(0,1fr)}
 .world-scale-design .world-scale-selection{min-height:0!important;overflow:auto!important}
 .world-scale-design .world-main-panels>[role=tabpanel]:not([hidden]){min-height:0!important;overflow:auto!important}
 .world-scale-design .world-main-panels>.world-workspace:not([hidden]){display:flex;flex-direction:column;overflow:visible!important}
 .world-scale-design .world-workspace>*{flex-shrink:0}
 .world-scale-design .world-workspace .world-music-stage{flex:1;min-height:90px;height:auto}
}
@media(min-width:901px) and (max-height:740px){
 .world-scale-design #modeButtons{grid-template-columns:repeat(2,minmax(0,1fr))}
 .world-scale-design .world-main-panels>.world-workspace{padding:10px}
 .world-scale-design .world-workspace .readout-details{gap:6px;margin-bottom:4px;padding-bottom:4px}
 .world-scale-design .world-workspace .readout-value{font-size:18px}
 .world-scale-design .world-workspace #noteList{font-size:13px}
 .world-scale-design .world-keyboard-caption,.world-scale-design .world-workspace .legend,.world-scale-design .world-workspace .kb-hint{margin:4px 0}
}
