/* Compact navigation; learning objects keep their own proportions and hit areas. */
body .btn:not(.bigbtn):not(.rnext){min-height:44px;min-width:44px;padding:5px 12px;border-width:3px;border-radius:12px;box-shadow:0 3px 0 var(--ink)}
body .btn.primary:not(.bigbtn):not(.rnext){font-size:16px}
body .mw-hud{min-height:56px;padding:5px max(12px,env(safe-area-inset-right)) 5px max(12px,env(safe-area-inset-left));gap:8px}
body .mw-brand{font-size:21px;gap:6px}body .mw-brand img{width:25px;height:34px}
body .mw-hud-end{gap:6px;flex-wrap:nowrap}
body .mw-small{padding:4px 10px;border-radius:12px;min-height:44px}
body .mw-year{padding:0;min-width:0;min-height:0;background:none;border:0;box-shadow:none;font-size:13px;white-space:nowrap}
#v-module-map .mw-map-content{padding:8px 16px;gap:4px}
#v-module-map .mw-map-heading{margin-bottom:0}
#v-module-map .mw-map-heading h1{font-size:clamp(24px,2.8vw,32px)}
#v-module-map .mw-map-heading p{display:none}
/* One chapter, one list: type labels remain on the cards rather than large empty sections. */
#shelf .paged .lib-ch{margin:0}
#shelf .paged .chapter-tasks{gap:12px 9px;padding:5px 0}
#shelf .paged .lib-row{min-height:74px;padding:6px 8px;gap:8px;border-width:2px;border-radius:12px;box-shadow:0 3px 0 #d2c3a2}
#shelf .paged .lib-row b{font-size:16px;line-height:1.25}
#shelf .paged .lib-no{width:30px;height:30px;font-size:15px;border-radius:9px}
#shelf .paged .lib-txt{row-gap:1px;column-gap:6px}
#shelf .paged .lib-go{font-size:12px}
#shelf .paged .lib-chhead{padding:4px 0;margin-bottom:6px}
#shelf .paged .library-header{min-height:52px;padding:3px 10px}
#shelf .paged .lib-top{padding:5px 10px;gap:5px}
#shelf .paged .lib-scroll{padding:4px 10px 8px}
#shelf .paged .lib-seg button{padding:0 9px}
#shelf .paged .lib-tools{flex-wrap:nowrap}
#shelf .paged .lib-search{flex-basis:auto;min-width:80px}
#shelf .fit-pages{padding:4px 10px 7px}
/* The map and the review tools occupy different regions, never floating over islands. */
#v-map{--study-bar:calc(56px + env(safe-area-inset-bottom,0px))}
#v-map #worldWrap{bottom:var(--study-bar);top:calc(var(--hudH) + 56px)}
#v-map #mapTitle{left:160px;right:16px;top:calc(var(--hudH) + 8px);padding:0;font-size:28px;line-height:1.25;text-align:center}
#v-map .workbook-switch{left:12px;top:calc(var(--hudH) + 4px);padding:4px 9px;font-size:13px}
#v-map>.docks,#v-module-map>.docks{display:flex;justify-content:center;align-items:center;gap:8px;left:0;right:0;bottom:0;z-index:6;margin:0;padding:4px max(8px,env(safe-area-inset-right)) calc(7px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left));background:transparent;border:0;min-height:56px;box-sizing:border-box}
#v-module-map>.docks{position:relative;flex:none;order:5}
.docks .rvdock,.docks .aidock{height:44px;min-height:44px;min-width:44px;animation:none;gap:5px;padding:3px 9px;border-width:2px;border-radius:12px;box-shadow:0 2px 0 var(--ink);flex:none}
.docks .robot{width:24px;height:24px;flex:none}
.docks .rvdock b,.docks .aidock b{font:700 15px/1.25 var(--f-body)}
.docks small{display:none}
.docks .dk-n{position:static;min-width:20px;height:20px;font-size:12px;line-height:17px;border-width:1px;padding:0 4px}
#aiPanel{position:fixed;z-index:55;left:auto;right:max(8px,env(safe-area-inset-right));bottom:calc(66px + env(safe-area-inset-bottom,0px));width:min(540px,calc(100vw - 16px));max-height:calc(var(--app-height,100dvh) - var(--hudH) - 86px);padding:12px;border-width:3px;border-radius:16px;box-shadow:3px 4px 0 var(--ink);overscroll-behavior:contain}
#aiPanel .arhead{padding-right:44px;gap:6px}#aiPanel .arhead>.robot{width:28px;height:28px}#aiPanel .arhead b{font-size:22px}
#aiPanel .sx{min-width:44px;min-height:44px;top:4px;right:5px}
#aiPanel .rbtns{gap:6px}#aiPanel .rbtns .robot{width:24px;height:24px}
#aiPanel .dkitem{min-height:56px;padding:6px 9px;border-width:2px;gap:4px 7px}
@media(max-width:739px){
 #shelf .paged .lib-row{min-height:74px}
 #shelf .paged .lib-title h3{font-size:17px}
 #shelf .paged .lib-tools{width:100%}
 #shelf .paged .lib-seg button{font-size:12px;padding:0 7px}
 #shelf .paged .lib-search input{font-size:16px}
 #shelf .fit-pages span{font-size:11px}
 #v-map #mapTitle{left:139px;right:8px;font-size:19px;-webkit-text-stroke:1.5px var(--ink);top:calc(var(--hudH) + 5px)}
 #v-module-map .mw-map-content{padding:6px 10px}
 body .mw-brand{font-size:17px}body .mw-small{font-size:12px;padding:4px 7px}body .mw-year{display:none}
}
@media(max-height:520px){#aiPanel{top:8px;bottom:calc(66px + env(safe-area-inset-bottom,0px));max-height:calc(var(--app-height,100dvh) - 74px - env(safe-area-inset-bottom,0px))}}
#aiPanel{animation:none}
