@font-face{font-family:LocalCalibri;src:local(Calibri);font-display:swap}
:root{color-scheme:light}*{box-sizing:border-box}html{min-height:100%;overflow-x:clip}body{margin:0;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;font-family:LocalCalibri,Calibri,"Segoe UI",Arial,sans-serif}a{touch-action:manipulation}a:focus-visible{outline:3px solid #1c628f;outline-offset:9px;border-radius:2px}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden;white-space:nowrap}.skip{position:fixed;top:-100px;left:20px;padding:12px 18px;background:#fff;color:#214b65;z-index:2}.skip:focus{top:16px}
.hub-personal{color:#256c98;background:#eef6fc url(background.webp) center center/cover no-repeat fixed}.hub-main{flex:1;max-width:none;width:65%;margin:0 0 0 35%;padding:clamp(42px,6.5vh,90px) 2.5vw 36px 0}.hub-heading h1{font-size:clamp(38px,4.22vw,88px);font-weight:700;letter-spacing:-.025em;line-height:1.1;margin:0 0 6px;white-space:nowrap}.hub-heading p{font-size:clamp(25px,2.8vw,58px);font-weight:650;line-height:1.2;margin:0 0 8px}.hub-heading .hub-byline{font-size:clamp(24px,2.75vw,57px)}.hub-personal .hub-heading,.hub-personal .subject-link{color:#236998;-webkit-text-stroke:1px #f7fbff;paint-order:stroke fill;text-shadow:2px 4px 2px #151d22bb,0 0 5px #193b4c33}.subject-list{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(28px,5.3vh,66px);margin-top:clamp(56px,8.2vh,106px)}.subject-link{display:block;text-decoration:none;font-size:clamp(32px,3.15vw,64px);font-weight:650;line-height:1.15;min-height:52px;position:relative}.subject-list a:hover{text-decoration:underline;text-underline-offset:9px;text-decoration-thickness:2px}.subject-unavailable{opacity:.32;cursor:default;user-select:none}.hub-personal .subject-unavailable{text-shadow:1px 2px 2px #23455d55}.hub-footer{font-size:12px;line-height:1.5;padding:18px 3vw;color:#486677}
.hub-school{background:#07090c;color:#e8c77a;color-scheme:dark}.hub-banner{display:flex;align-items:center;justify-content:space-between;gap:32px;width:100%;padding:14px 3vw;background:linear-gradient(105deg,#63272d,#32171c 60%,#171014);border-bottom:3px solid #e8c77a}.hub-banner img{object-fit:contain;filter:drop-shadow(0 5px 8px #0008);flex-shrink:0}.hub-banner>div{text-align:right}.hub-banner p{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#dcc5aa;margin:0 0 3px}.hub-banner h1{font-size:clamp(28px,2.65vw,52px);line-height:1.1;font-weight:650;letter-spacing:.01em;margin:0 0 6px}.hub-banner span{color:#ddd2ce;font-size:18px}.hub-school .hub-main{padding-top:clamp(48px,8vh,110px)}.hub-school .subject-list{margin-top:0;gap:clamp(36px,6.4vh,80px)}.hub-school .subject-link{color:#e8c77a}.hub-school .subject-unavailable{opacity:.27}.hub-school .hub-footer{color:#a69a86;border-top:1px solid #cbb78027}.hub-school a:focus-visible{outline-color:#e8c77a}
@media(min-width:1800px){.hub-main{padding-top:6.5vh}.subject-list{gap:5.5vh}}
@media(max-width:1050px){.hub-main{width:70%;margin-left:30%;padding-right:3vw}.hub-heading h1{font-size:4.45vw}.hub-heading p,.hub-heading .hub-byline{font-size:3vw}}
@media(max-width:700px){.hub-personal{background-image:url(background-mobile.webp);background-position:center top;background-attachment:scroll}.hub-main{margin-left:9%;width:91%;padding:48px 7vw 28px 0}.hub-heading h1{font-size:clamp(36px,7.6vw,52px);white-space:normal;max-width:540px;line-height:1.1;margin-bottom:15px}.hub-heading p,.hub-heading .hub-byline{font-size:clamp(23px,4.8vw,32px)}.hub-personal .hub-heading,.hub-personal .subject-link{-webkit-text-stroke:.65px #fff;text-shadow:1px 3px 2px #151d2299}.subject-list{margin-top:58px;gap:29px}.subject-link{font-size:clamp(32px,6vw,42px);min-height:50px}.hub-footer{font-size:11px;padding:20px 7vw}.hub-banner{gap:15px;padding:13px 6vw}.hub-banner img{width:72px;height:78px}.hub-banner p{font-size:9px;letter-spacing:.1em}.hub-banner h1{font-size:26px;max-width:390px;margin-left:auto}.hub-banner span{font-size:12px}.hub-school .hub-main{margin-left:12%;width:88%;padding-top:55px}.hub-school .subject-list{gap:35px}.hub-school .subject-link{font-size:39px}}
@media(max-width:380px){.hub-heading h1{font-size:34px}.hub-heading p,.hub-heading .hub-byline{font-size:23px}.hub-main{padding-top:38px}.hub-banner h1{font-size:23px}.hub-banner img{width:62px;height:69px}}
.school-flower{display:none}
@media(min-width:900px){.hub-school{position:relative}.school-flower{display:block;position:absolute;left:3vw;top:clamp(160px,18vh,260px);width:28vw;max-width:1080px;margin:0}.school-flower>div{aspect-ratio:1024/1340;overflow:hidden;background:#08090a}.school-flower img{display:block;width:100%;height:100%;object-fit:cover;object-position:90% 50%}.school-flower figcaption{color:#b9ad99;font-size:12px;letter-spacing:.025em;line-height:1.5;padding:10px 0 0}.hub-school .hub-main{margin-left:39%;width:61%}}
.hub-school{background:#000}.hub-personal .hub-heading,.hub-personal .subject-link{ text-shadow:0 1px 2px #132f3c75}.hub-personal .subject-unavailable{text-shadow:0 1px 1px #23455d40}
@media(max-width:700px){.hub-personal .hub-heading,.hub-personal .subject-link{text-shadow:0 1px 2px #132f3c75}}

/* Personal homepage: public science introduction and optional PayPal support. */
.hub-personal .hub-main{display:grid;grid-template-columns:minmax(0,30vw) minmax(0,1fr);column-gap:2vw;align-content:start;align-items:start;width:100%;margin:0;padding:clamp(42px,6.5vh,90px) 2.5vw 30px 3vw}
.hub-personal .hub-main>.hub-heading,.hub-personal .hub-main>.subject-list,.hub-personal .hub-main>.display-options{grid-column:2}
.intro-panel{grid-column:1;grid-row:1 / span 3;max-width:560px;padding:24px 25px;color:#263943;background:rgba(255,255,255,.70);border:1px solid #ffffff66;backdrop-filter:blur(2px);border-radius:5px;box-shadow:0 12px 32px #16334c22}
.intro-panel h2{font-size:clamp(24px,1.75vw,36px);font-weight:700;line-height:1.15;letter-spacing:-.02em;color:#a84400;margin:0 0 18px}
.intro-copy{font-size:clamp(16px,.95vw,19px);line-height:1.45}
.intro-copy p{margin:0 0 12px}.intro-copy p:last-child{margin-bottom:0}
.paypal-support{display:flex;align-items:center;gap:16px;margin:22px 0 0;padding-top:20px;border-top:1px solid #d2dfe5}
.paypal-support>a{flex:0 0 148px;display:block;background:#fff;border-radius:3px}.paypal-support img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.paypal-support h3{font-size:18px;line-height:1.2;margin:0 0 8px;color:#263943}.paypal-support p{font-size:14px;line-height:1.4;margin:0}
@media(min-width:1800px){.intro-panel{padding:28px 30px}.paypal-support>a{flex-basis:168px}.paypal-support p{font-size:15px}}
@media(max-width:1100px){.hub-personal .hub-main{grid-template-columns:minmax(0,1fr);gap:0;padding:42px 7vw 28px;width:100%;margin:0}.hub-personal .hub-main>.hub-heading,.hub-personal .hub-main>.subject-list,.hub-personal .hub-main>.display-options{grid-column:1}.hub-personal .hub-heading{grid-row:1}.hub-personal .subject-list{grid-row:2}.hub-personal .display-options{grid-row:3}.intro-panel{grid-column:1;grid-row:4;margin-top:52px;max-width:650px}.hub-personal .hub-heading h1{white-space:normal;font-size:clamp(36px,5.3vw,58px)}.hub-personal .hub-heading p,.hub-personal .hub-heading .hub-byline{font-size:clamp(23px,3.5vw,38px)}}
@media(max-width:450px){.intro-panel{padding:22px 20px}.paypal-support{flex-direction:column;align-items:flex-start}.paypal-support>a{flex:0 0 auto;width:180px}.paypal-support figcaption{max-width:270px}}

/* Four subject columns below the personal site's title and byline. */
.hub-personal .hub-content{grid-column:2;grid-row:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.hub-personal .intro-panel{grid-row:1}
.hub-personal .hub-heading{width:100%;padding-bottom:25px;border-bottom:2px solid #2777a5}
.hub-personal .subject-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:0;width:100%;margin:28px 0 0}
.subject-column{min-width:0;padding:0 clamp(12px,1.35vw,28px);border-left:1px solid #367da94d;min-height:390px}
.subject-column:first-child{padding-left:0;border-left:0}.subject-column:last-child{padding-right:0}
.subject-column h2{font-size:inherit;margin:0 0 25px;font-weight:650}
.hub-personal .subject-column .subject-link{font-size:clamp(25px,2.15vw,44px);min-height:0;line-height:1.2;letter-spacing:-.025em;white-space:nowrap}
.subject-lessons{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:18px}
.subject-lesson-link{display:inline-block;color:#215e83;font-size:clamp(16px,1.12vw,22px);font-weight:600;line-height:1.4;text-decoration:none;text-shadow:0 1px 1px #ffffffa6;text-underline-offset:4px}
.hub-personal .subject-list .subject-lesson-link:hover{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.subject-empty{font-size:clamp(14px,1vw,18px);line-height:1.45;color:#486d85;opacity:.55;margin:0;max-width:120px}
.hub-personal .hub-content>.display-options{margin-top:35px}
@media(max-width:1100px){.hub-personal .hub-content{grid-column:1;grid-row:1;width:100%}.hub-personal .intro-panel{grid-column:1;grid-row:2}.hub-personal .subject-list{margin-top:28px}.hub-personal .subject-column .subject-link{font-size:clamp(24px,3vw,32px)}}
@media(max-width:700px){.hub-personal .hub-heading{padding-bottom:22px}.hub-personal .subject-list{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:30px}.subject-column{min-height:0;padding:0 18px}.subject-column:nth-child(odd){border-left:0;padding-left:0}.subject-column:nth-child(2){padding-right:0}.subject-column:nth-child(n+3){border-top:1px solid #367da94d;padding-top:24px}.subject-column h2{margin-bottom:20px}.hub-personal .subject-column .subject-link{font-size:clamp(24px,4.5vw,30px)}.subject-lessons{gap:14px}}

/* Teacher role beside the author name; research beneath the introduction. */
.hub-personal .hub-heading .hub-byline{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:clamp(14px,1.3vw,25px);row-gap:8px}
.author-name{white-space:nowrap}
.hub-personal .hub-heading .author-role{font-size:clamp(14px,1.1vw,22px);font-weight:600;line-height:1.4;color:#a84400;-webkit-text-stroke:0;text-shadow:none;letter-spacing:0}
.research-link{display:flex;align-items:center;gap:14px;width:fit-content;max-width:100%;margin-top:22px;color:#236998;text-decoration:none;font-size:17px;font-weight:650;line-height:1.3}
.research-link img{display:block;flex-shrink:0;width:60px;height:50px;object-fit:contain}
.research-source{display:block;margin-top:4px;font-size:13px;font-weight:400;color:#486677}
.research-link:hover>span{text-decoration:underline;text-underline-offset:4px}.research-link:hover .research-source{text-decoration:none}
@media(max-width:700px){.hub-personal .hub-heading .author-role{font-size:15px}.author-name{white-space:normal}}

/* Rounded blue lesson frames with controls integrated into their top/bottom edges. */
.hub-personal .subject-list{gap:clamp(12px,1.3vw,24px)}
.hub-personal .subject-column{padding:0;border:0;min-height:0}
.hub-personal .subject-column h2{text-align:center;margin:0 0 28px}
.lesson-frame{--frame-blue:#bfdcec;--frame-edge:#95bdd4;position:relative;display:flex;flex-direction:column;width:100%;height:clamp(310px,32vh,390px);padding:30px 12px;background:linear-gradient(155deg,#d4e8f2d9,#b8d8eab8);border:1.5px solid var(--frame-edge);border-radius:19px;box-shadow:0 8px 22px #25577515,inset 0 1px 0 #ffffffbf}
.frame-arrow{position:absolute;left:50%;transform:translateX(-50%);z-index:1;display:flex;align-items:center;justify-content:center;width:60px;height:34px;padding:5px 14px;appearance:none;background:var(--frame-blue);border:1.5px solid var(--frame-edge);color:#b64f12;cursor:pointer;touch-action:manipulation;transition:color .16s,background .16s}
.frame-arrow-up{top:-15px;border-bottom:0;border-radius:16px 16px 5px 5px}
.frame-arrow-down{bottom:-15px;border-top:0;border-radius:5px 5px 16px 16px}
.frame-arrow svg{display:block;width:26px;height:26px;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;transition:opacity .16s}
.frame-arrow:disabled{cursor:default}.frame-arrow:disabled svg{opacity:.28}
.frame-arrow:not(:disabled):hover{background:#cde5f2;color:#d35e17}.frame-arrow:not(:disabled):active svg{transform:scale(.9)}
.frame-arrow:focus-visible{outline:2px solid #a84400;outline-offset:4px}
.lesson-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:none;scroll-padding-block:10px;scroll-behavior:smooth;--fade-top:0px;--fade-bottom:0px;mask-image:linear-gradient(to bottom,transparent,#000 var(--fade-top),#000 calc(100% - var(--fade-bottom)),transparent)}
.lesson-scroll::-webkit-scrollbar{display:none}.lesson-scroll:focus-visible{outline:2px solid #2777a5;outline-offset:3px;border-radius:5px}
.lesson-frame[data-can-up="true"] .lesson-scroll{--fade-top:10px}.lesson-frame[data-can-down="true"] .lesson-scroll{--fade-bottom:14px}
.lesson-frame .subject-lessons{gap:7px;padding:3px 0}
.lesson-frame .subject-lesson-link{display:block;padding:8px 5px;line-height:1.4;font-weight:600;text-shadow:none;border-radius:5px}
.hub-personal .subject-list .lesson-frame .subject-lesson-link:hover{background:#ffffff6b;text-decoration:none;color:#144e76}
.subject-column-unavailable .lesson-frame{background:linear-gradient(155deg,#d4e8f28c,#b8d8ea70);box-shadow:0 6px 18px #2557750c;border-color:#a8cadc}
.lesson-frame .subject-empty{display:flex;align-items:center;justify-content:center;text-align:center;min-height:100%;max-width:none;padding:12px;color:#4b748d;opacity:.7}
.hub-personal .hub-content>.display-options{margin-top:44px}
@media(prefers-reduced-motion:reduce){.lesson-scroll{scroll-behavior:auto}.frame-arrow,.frame-arrow svg{transition:none}}
@media(max-width:700px){.hub-personal .subject-list{row-gap:45px}.lesson-frame{height:300px;padding-inline:10px}.hub-personal .subject-column h2{margin-bottom:28px}}

/* Homepage full-screen control, themed for each website. */
.site-fullscreen{position:fixed;z-index:20;top:14px;right:20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:8px 12px;border:1px solid #75a9c9aa;border-radius:7px;background:#edf7fce8;color:#236998;box-shadow:0 3px 12px #143b5312;font:600 13px/1.2 Calibri,"Segoe UI",Arial,sans-serif;cursor:pointer;touch-action:manipulation;backdrop-filter:blur(5px)}
.site-fullscreen[hidden]{display:none}.site-fullscreen svg{stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.site-fullscreen:hover{background:#fff}.site-fullscreen:focus-visible{outline:2px solid #a84400;outline-offset:4px}.site-fullscreen .fullscreen-collapse{display:none}
.site-fullscreen[aria-pressed="true"] .fullscreen-collapse{display:block}.site-fullscreen[aria-pressed="true"] .fullscreen-expand{display:none}
.hub-school .site-fullscreen{background:#341a20e8;border-color:#e8c77a70;color:#e8c77a}.hub-school .site-fullscreen:hover{background:#4c232b}.hub-school .site-fullscreen:focus-visible{outline-color:#e8c77a}
@media(min-width:900px){.hub-school .hub-banner>div{padding-right:145px}}
@media(max-width:1100px){.hub-personal .hub-main{padding-top:64px}}
@media(max-width:700px){.site-fullscreen{top:10px;right:12px;min-height:34px;padding:7px 9px}.hub-school .site-fullscreen [data-fullscreen-label]{display:none}.hub-school .hub-banner>div{padding-right:40px}}

/* Touch targets and viewport refitting for Android classroom screens. */
html[data-site-fullscreen-active]{width:100%;min-height:100%}
html[data-site-fullscreen-active] body{min-height:100vh;min-height:100dvh}
@media(pointer:coarse){.site-fullscreen{min-width:48px;min-height:48px;padding:10px 14px;font-size:14px}.frame-arrow{height:44px;min-width:60px}.frame-arrow-up{top:-20px}.frame-arrow-down{bottom:-20px}.lesson-frame{padding-top:36px;padding-bottom:36px}}

/* Keep the 1920px composition at the same proportions on 2560px/4K displays. */
@media(min-width:2560px){
 :root{--wide-unit:calc(100vw / 1920)}
 .hub-main{padding-bottom:calc(30 * var(--wide-unit))}
 .hub-personal .hub-main{padding-top:6.5vh;padding-bottom:calc(30 * var(--wide-unit))}
 .hub-personal .hub-heading,.hub-personal .subject-link{-webkit-text-stroke:var(--wide-unit) #f7fbff;text-shadow:0 var(--wide-unit) calc(2 * var(--wide-unit)) #132f3c75}
 .hub-personal .subject-unavailable{text-shadow:0 var(--wide-unit) var(--wide-unit) #23455d40}
 .hub-personal .intro-panel{max-width:calc(560 * var(--wide-unit));backdrop-filter:blur(calc(2 * var(--wide-unit)));padding:calc(28 * var(--wide-unit)) calc(30 * var(--wide-unit));border-width:var(--wide-unit);border-radius:calc(5 * var(--wide-unit));box-shadow:0 calc(12 * var(--wide-unit)) calc(32 * var(--wide-unit)) #16334c22}
 .intro-panel h2{font-size:1.75vw;margin-bottom:calc(18 * var(--wide-unit))}
 .intro-copy{font-size:.95vw}.intro-copy p{margin-bottom:calc(12 * var(--wide-unit))}
 .hub-heading h1{font-size:4.22vw;margin-bottom:calc(6 * var(--wide-unit))}
 .hub-heading p{font-size:2.8vw;margin-bottom:calc(8 * var(--wide-unit))}
 .hub-heading .hub-byline{font-size:2.75vw}
 .hub-personal .hub-heading{padding-bottom:calc(25 * var(--wide-unit));border-bottom-width:calc(2 * var(--wide-unit))}
 .hub-personal .hub-heading .hub-byline{column-gap:1.3vw;row-gap:calc(8 * var(--wide-unit))}
 .hub-personal .hub-heading .author-role{font-size:1.1vw}
 .hub-personal .subject-list{gap:calc(24 * var(--wide-unit));margin-top:calc(28 * var(--wide-unit))}
 .hub-personal .subject-column h2{margin-bottom:calc(28 * var(--wide-unit))}
 .hub-personal .subject-column .subject-link{font-size:2.15vw}
 .subject-lesson-link{font-size:1.12vw}
 .lesson-frame{height:clamp(calc(310 * var(--wide-unit)),32vh,calc(390 * var(--wide-unit)));padding:calc(30 * var(--wide-unit)) calc(12 * var(--wide-unit));border-width:calc(1.5 * var(--wide-unit));border-radius:calc(19 * var(--wide-unit));box-shadow:0 calc(8 * var(--wide-unit)) calc(22 * var(--wide-unit)) #25577515,inset 0 var(--wide-unit) 0 #ffffffbf}
 .frame-arrow{width:calc(60 * var(--wide-unit));height:calc(34 * var(--wide-unit));padding:calc(5 * var(--wide-unit)) calc(14 * var(--wide-unit));border-width:calc(1.5 * var(--wide-unit))}
 .frame-arrow-up{top:calc(-15 * var(--wide-unit));border-bottom-width:0;border-radius:calc(16 * var(--wide-unit)) calc(16 * var(--wide-unit)) calc(5 * var(--wide-unit)) calc(5 * var(--wide-unit))}
 .frame-arrow-down{bottom:calc(-15 * var(--wide-unit));border-top-width:0;border-radius:calc(5 * var(--wide-unit)) calc(5 * var(--wide-unit)) calc(16 * var(--wide-unit)) calc(16 * var(--wide-unit))}
 .frame-arrow svg{width:calc(26 * var(--wide-unit));height:calc(26 * var(--wide-unit))}
 .lesson-scroll{scroll-padding-block:calc(10 * var(--wide-unit))}
 .lesson-frame[data-can-up="true"] .lesson-scroll{--fade-top:calc(10 * var(--wide-unit))}.lesson-frame[data-can-down="true"] .lesson-scroll{--fade-bottom:calc(14 * var(--wide-unit))}
 .lesson-frame .subject-lessons{gap:calc(7 * var(--wide-unit));padding:calc(3 * var(--wide-unit)) 0}
 .lesson-frame .subject-lesson-link{padding:calc(8 * var(--wide-unit)) calc(5 * var(--wide-unit));border-radius:calc(5 * var(--wide-unit))}
 .lesson-frame .subject-empty{font-size:calc(18 * var(--wide-unit));padding:calc(12 * var(--wide-unit))}
 .research-link{margin-top:calc(22 * var(--wide-unit));gap:calc(14 * var(--wide-unit));font-size:calc(17 * var(--wide-unit))}
 .research-link img{width:calc(60 * var(--wide-unit));height:calc(50 * var(--wide-unit))}
 .research-source{font-size:calc(13 * var(--wide-unit));margin-top:calc(4 * var(--wide-unit))}
 .paypal-support{margin-top:calc(22 * var(--wide-unit));padding-top:calc(20 * var(--wide-unit));gap:calc(16 * var(--wide-unit));border-top-width:var(--wide-unit)}
 .paypal-support>a{flex-basis:calc(168 * var(--wide-unit))}
 .paypal-support h3{font-size:calc(18 * var(--wide-unit));margin-bottom:calc(8 * var(--wide-unit))}.paypal-support p{font-size:calc(15 * var(--wide-unit))}
 .hub-personal .hub-content>.display-options{margin-top:calc(44 * var(--wide-unit))}
 .hub-main .display-options{padding:calc(10 * var(--wide-unit)) calc(12 * var(--wide-unit)) calc(12 * var(--wide-unit));border-width:var(--wide-unit);border-radius:calc(8 * var(--wide-unit))}
 .hub-main .display-options legend{font-size:calc(12 * var(--wide-unit));padding:0 calc(6 * var(--wide-unit))}.hub-main .display-options>div{gap:calc(7 * var(--wide-unit))}
 .hub-main .display-options button{font-size:calc(14 * var(--wide-unit));min-width:calc(150 * var(--wide-unit));min-height:calc(48 * var(--wide-unit));padding:calc(9 * var(--wide-unit)) calc(14 * var(--wide-unit));border-width:var(--wide-unit);border-radius:calc(5 * var(--wide-unit))}
 .hub-main .display-options button span{font-size:calc(12 * var(--wide-unit));margin-top:calc(4 * var(--wide-unit))}
 .site-fullscreen{top:calc(14 * var(--wide-unit));right:calc(20 * var(--wide-unit));min-height:calc(36 * var(--wide-unit));padding:calc(8 * var(--wide-unit)) calc(12 * var(--wide-unit));gap:calc(8 * var(--wide-unit));font-size:calc(13 * var(--wide-unit));border-width:var(--wide-unit);border-radius:calc(7 * var(--wide-unit))}
 .site-fullscreen svg{width:calc(18 * var(--wide-unit));height:calc(18 * var(--wide-unit))}
 .hub-banner{padding:calc(14 * var(--wide-unit)) 3vw;gap:calc(32 * var(--wide-unit));border-bottom-width:calc(3 * var(--wide-unit))}
 .hub-banner img{width:calc(112 * var(--wide-unit));height:calc(96 * var(--wide-unit))}
 .hub-school .hub-banner>div{padding-right:calc(145 * var(--wide-unit))}
 .hub-banner p{font-size:calc(13 * var(--wide-unit));margin-bottom:calc(3 * var(--wide-unit))}.hub-banner h1{font-size:2.65vw;margin-bottom:calc(6 * var(--wide-unit))}.hub-banner span{font-size:calc(18 * var(--wide-unit))}
 .hub-school .hub-main{padding-top:clamp(calc(48 * var(--wide-unit)),8vh,calc(110 * var(--wide-unit)))}
 .hub-school .subject-list{gap:clamp(calc(36 * var(--wide-unit)),6.4vh,calc(80 * var(--wide-unit)))}
 .hub-school .subject-link{font-size:3.15vw;min-height:calc(52 * var(--wide-unit))}
 .hub-school .hub-main>.display-options{margin-top:calc(34 * var(--wide-unit))}
 .school-flower{top:clamp(calc(160 * var(--wide-unit)),18vh,calc(260 * var(--wide-unit)));max-width:calc(1080 * var(--wide-unit))}
 .school-flower figcaption{font-size:calc(12 * var(--wide-unit));padding-top:calc(10 * var(--wide-unit))}
 .hub-footer{font-size:calc(12 * var(--wide-unit));padding:calc(18 * var(--wide-unit)) 3vw}
}
@media(min-width:2560px) and (pointer:coarse){
 .site-fullscreen{min-width:calc(48 * var(--wide-unit));min-height:calc(48 * var(--wide-unit));padding:calc(10 * var(--wide-unit)) calc(14 * var(--wide-unit));font-size:calc(14 * var(--wide-unit))}
 .frame-arrow{height:calc(44 * var(--wide-unit));min-width:calc(60 * var(--wide-unit))}.frame-arrow-up{top:calc(-20 * var(--wide-unit))}.frame-arrow-down{bottom:calc(-20 * var(--wide-unit))}
 .lesson-frame{padding-top:calc(36 * var(--wide-unit));padding-bottom:calc(36 * var(--wide-unit))}
}

/* Move the public display selector to the upper-right area; reserve the columns for lessons. */
.hub-personal{--personal-control-unit:var(--wide-unit,1px)}
.personal-home-controls{display:contents}
.personal-display-control{position:fixed;z-index:20;top:14px;right:190px;display:block;line-height:1}
.personal-display-control select{width:calc(200 * var(--personal-control-unit));height:calc(36 * var(--personal-control-unit));min-height:calc(36 * var(--personal-control-unit));padding:calc(8 * var(--personal-control-unit)) calc(28 * var(--personal-control-unit)) calc(8 * var(--personal-control-unit)) calc(10 * var(--personal-control-unit));font:600 calc(13 * var(--personal-control-unit))/1.2 Calibri,"Segoe UI",Arial,sans-serif;border:var(--personal-control-unit) solid #75a9c9aa;border-radius:calc(7 * var(--personal-control-unit));color:#236998;background:#edf7fce8;box-shadow:0 3px 12px #143b5312;backdrop-filter:blur(5px);cursor:pointer;touch-action:manipulation}
.personal-display-control select:focus-visible{outline:2px solid #a84400;outline-offset:3px}
@media(min-width:1700px){.personal-display-control{top:calc(14 * var(--personal-control-unit));right:calc(180 * var(--personal-control-unit))}}
@media(pointer:coarse){.personal-display-control select{min-height:calc(48 * var(--personal-control-unit));padding-top:calc(10 * var(--personal-control-unit));padding-bottom:calc(10 * var(--personal-control-unit))}}
@media(max-width:700px){.personal-display-control{right:150px;top:10px}.personal-display-control select{width:165px;font-size:12px}}
