/* Shared reading and touch sizes, loaded after each page's own theme. */
body{font-size:17px;line-height:1.75}input,select,textarea{font-size:16px;line-height:1.6}button{line-height:1.55}button:not(.scene-hit):not(.cube-turn),input:not([type=checkbox]):not([type=file]),select{min-height:40px}.close{width:40px;height:40px}.fineprint,.muted{color:#73785f}.material-title strong{line-height:1.75}.material-title small{color:#7d8068}.tag{display:inline-block;line-height:1.55}.paper-dialog{width:min(650px,94vw)}.paper-dialog h2{padding-right:32px}.cabin-dialog{width:min(1260px,96vw)}.course-list button{line-height:1.7}.material-row{padding-top:19px;padding-bottom:19px}.side-action{line-height:1.7}.scene-tooltip{font-size:14px;line-height:1.7}.dock button{font-size:16px}.dock button>span{font-size:19px}.dock .danmaku-toggle{font-size:13px;min-width:60px}.dock .icon-button{min-width:40px}.speech,.captain-greeting .speech{font-size:14px;max-width:240px;line-height:1.8}.speech small{font-size:12px}.island-tour{width:350px}.island-tour p{font-size:16px}.island-tour .close{width:32px;height:32px;min-height:32px}.island-page .fineprint{font-size:14px}.island-header nav{font-size:16px}.island-hero p{font-size:16px}.board-card-text{font-size:18px}.cube-turn{min-height:42px;font-size:16px}.cube-help,.cube-fair-note{font-size:14px;line-height:1.85}.cube-topline>.text-button{font-size:14px}.cube-timer span,.cube-timer small{font-size:14px}.island-page .cube-rank-list li strong{font-size:16px}.island-page input,.island-page textarea,.island-page select{font-size:16px}.overview-item p,.experience-card .review-entry p{font-size:18px;line-height:1.9}.teacher-choice .teacher-name{font-size:18px}.island-page .close{min-height:40px}.weather{display:flex;gap:12px;align-items:center;border:0;background:#fff7dfb8;padding:12px 16px;box-shadow:0 2px 10px #24535813;border-radius:8px;text-align:left;cursor:pointer;color:#436963;font:inherit;z-index:4}.weather strong{display:block;font-size:16px;font-weight:500}.weather small{display:block;font-size:13px;color:#698780;margin-top:4px}.weather-symbol{display:block;width:24px;height:24px;background:#edce81;border:2px solid #e6b860;border-radius:50%;box-shadow:0 0 0 4px #f1e4ab66;position:relative;flex-shrink:0}.weather[data-kind=cloud] .weather-symbol,.weather[data-kind=rain] .weather-symbol{height:15px;margin-top:8px;background:#d3e1d9;border:1px solid #8fa8a4;border-radius:10px;box-shadow:none}.weather[data-kind=cloud] .weather-symbol:before,.weather[data-kind=rain] .weather-symbol:before{content:"";position:absolute;width:15px;height:14px;border-radius:50%;background:#d3e1d9;left:3px;top:-8px}.weather[data-kind=rain] .weather-symbol:after{content:"";position:absolute;left:4px;top:17px;width:2px;height:5px;background:#6fa6b8;box-shadow:6px -1px #6fa6b8,12px 0 #6fa6b8;transform:skew(-15deg)}.weather[data-kind=night] .weather-symbol{background:#d7dfbf;border:0;box-shadow:inset -7px 0 #506d7d,0 0 0 3px #d7dfbf22}.weather[data-kind=unknown] .weather-symbol{background:#bfcdc0;border-color:#a6b5a9;box-shadow:none}.weather-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.weather-grid>div{padding:14px;background:#eef0df;border:1px solid #d4d6bb}.weather-grid dt{font-size:14px;color:#7c886e}.weather-grid dd{margin:7px 0 0;font-size:20px;color:#385d54}.weather-effects-label{display:flex!important;align-items:center;gap:10px;line-height:1.7}.weather-effects-label input{width:18px;height:18px}.weather-dialog .fineprint{font-size:13px}.weather-dialog a{color:#3f7467}.weather-dialog #weather-refresh{margin-top:15px;font-size:14px}#sea{image-rendering:auto}
@media(max-width:700px){.dock{gap:0;max-width:calc(100vw - 20px);padding:3px;bottom:12px}.dock button{font-size:13px;padding:8px 5px;min-height:38px!important}.dock button>span{font-size:16px;margin-right:3px}.dock b{font-size:12px;margin-left:3px}.dock .danmaku-toggle{font-size:11px;min-width:48px}.dock .icon-button{min-width:32px;padding:6px}.dock-divider{margin:0 2px}.brand strong{font-size:23px}.brand small{font-size:11px}.weather{display:flex;top:88px;right:18px;padding:9px 12px;gap:10px}.weather strong{font-size:14px}.weather small{font-size:12px}.weather-symbol{width:20px;height:20px}.weather-dialog{padding:26px 20px}.weather-grid{gap:10px}.weather-grid>div{padding:11px}.weather-grid dd{font-size:18px}.speech,.captain-greeting .speech{font-size:13px;max-width:185px}.speech small{font-size:11px}.island-tour{width:auto;max-width:360px}.island-tour p{font-size:14px}.guide-dialog .guide-grid strong{font-size:14px}.guide-dialog .guide-grid p{font-size:13px}.paper-dialog{padding:28px 20px}.paper-dialog .dialog-actions{flex-wrap:wrap}.material-title strong{font-size:16px}.material-title small{font-size:13px}.search-form input{font-size:16px}.search-form button{padding:0 15px}.filters button{font-size:13px}.library-main{padding:18px 14px}.side-action{font-size:14px}.results-heading h3{font-size:18px}.results-heading p{font-size:13px}.island-header nav{font-size:13px}.island-hero p{font-size:14px}.board-card-text{font-size:17px}.overview-item p,.experience-card .review-entry p{font-size:17px}.island-page .fineprint{font-size:14px}.cube-turn{font-size:16px}.cube-main-actions .primary,.cube-main-actions .secondary{font-size:14px}.island-page .island-main{padding-left:16px;padding-right:16px}.island-page .section-heading{align-items:flex-start;flex-wrap:wrap}}
.speech{bottom:calc(100% - var(--speech-offset,0px));width:230px}@media(max-width:700px){.speech{width:185px}}
.home-hit{touch-action:manipulation}.reef-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.home-hit .scene-tooltip{font-size:13px}.home-hit:focus-visible{outline:2px dashed #f7e2b0;outline-offset:2px}
.home-hit{z-index:0}#board-hit{z-index:1}
#ocean[data-night="true"] .brand strong{color:#d5dfc4}#ocean[data-night="true"] .brand small{color:#b7cfbf}#ocean[data-night="true"] .brand-icon{color:#b1d8d2}

/* Compact phone header and reachable course navigation. */
.mobile-course-toggle{display:none}
@media(max-width:600px){
 #ocean .brand{left:14px;top:20px;max-width:calc(100% - 154px);gap:6px;align-items:flex-start}
 #ocean .brand>div{min-width:0}#ocean .brand strong{font-size:20px;letter-spacing:2px}
 #ocean .brand small{font-size:12px;letter-spacing:0;line-height:1.5;overflow-wrap:anywhere}
 #ocean .brand-icon{font-size:24px}
 #ocean .weather{top:20px;right:12px;width:124px;padding:9px 8px;gap:7px;min-width:0;font-size:14px}
 #ocean .weather small{font-size:11px;letter-spacing:0;line-height:1.5;white-space:normal}
 #ocean .weather .sun-icon{flex-shrink:0;width:14px;height:14px}
 #library.cabin-dialog{height:92svh;max-height:92svh;overflow:hidden}
 #library[open]{display:flex;flex-direction:column}
 #library .cabin-top{flex:none;padding:18px 16px}
 #library .cabin-layout{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}
 #library .library-side{flex:none;display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;padding:8px;gap:4px}
 #library .mobile-course-toggle{display:flex}
 #library .side-action{flex:1;justify-content:center;padding:9px 4px;gap:5px;font-size:14px;min-height:44px;white-space:nowrap}
 #library .course-search-label,#library #course-search,#library .course-list{display:none}
 #library .courses-open .course-search-label{display:block;width:100%;margin:4px 4px 0}
 #library .courses-open #course-search{display:block;width:100%;margin:0}
 #library .courses-open .course-list{display:block;width:100%;max-height:28svh;overflow:auto;overscroll-behavior:contain}
 #library .course-list button{min-height:44px;white-space:normal;text-align:left;overflow-wrap:anywhere}
 #library .library-main{flex:1;min-height:0;height:auto;overflow:auto;padding:14px 10px;overscroll-behavior:contain}
 #library .filters{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:100%;padding:6px 0 12px;gap:7px}
 #library .filters button{flex:none;white-space:nowrap;min-height:40px}
 #library .set-row{text-align:left;overflow-wrap:anywhere}
}
