/* Shared Ilmdosh controls; learning content keeps the physics layout. */
@font-face{font-family:Nunito;font-style:normal;font-weight:400 900;font-display:swap;src:url('fonts/nunito-latin.woff2') format('woff2')}
body{font-family:Nunito,system-ui,sans-serif;padding-top:calc(56px + env(safe-area-inset-top))}
h1,h2,h3{letter-spacing:0}
button,.button{min-height:44px;border-radius:8px;line-height:1.35}
.utility-bar{position:fixed;z-index:30;inset:0 0 auto;min-height:56px;padding:calc(5px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 5px max(12px,env(safe-area-inset-left));display:flex;align-items:center;gap:6px;background:var(--card);border-bottom:1px solid var(--line);font-size:16px}
.utility-bar button,.utility-bar a{height:44px;flex:none;display:flex;align-items:center;justify-content:center;gap:5px;padding:8px;border-radius:12px;line-height:1;font-size:16px;text-decoration:none}
.utility-bar svg{width:22px;height:22px;flex:none}
.utility-bar .nav-icon{width:28px;height:28px}
#settingsButton{padding:8px 12px;font-size:16px}#settingsButton svg{width:16px;height:16px}
.utility-bar .support{width:44px;color:#b52b60;background:#fff0f5;border-color:#f5c8d8}
.utility-bar .contact{width:44px;color:#076a9d;background:#eaf7ff;border-color:#bce4f7}
#searchButton{margin-left:auto;width:44px;color:var(--primary)}
.site-header{position:sticky;top:calc(56px + env(safe-area-inset-top));padding:0;display:block;z-index:25}
.brand-row{max-width:1120px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px}
.brand{min-width:0;gap:12px}.brand img{width:64px;height:50px}.brand small{font-size:13px}.brand strong{font-size:28px;font-weight:800}
#menuButton{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:600;flex:none;padding:8px 12px}
#menuButton svg{width:20px;height:20px}.menu-chevron{transition:transform .15s}#menuButton[aria-expanded=true] .menu-chevron{transform:rotate(180deg)}
#menu{display:block;max-width:1120px;margin:auto;padding:10px 20px 16px;border-bottom:0;max-height:max(44px,calc(100dvh - 160px));overflow:auto;overscroll-behavior:contain}
.navigation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.navigation-heading{font-size:1rem;color:var(--muted);margin:20px 0 10px}
.nav-link{display:flex;align-items:center;gap:10px;text-align:left;color:var(--ink);font-weight:600;white-space:normal;min-width:0;overflow-wrap:anywhere}
.nav-link span{min-width:0}.nav-icon{width:40px;height:40px;flex:none;object-fit:contain}
#menu .nav-link{border:0;background:transparent;font-weight:400;padding:10px 8px}
#menu .nav-link:hover,#menu .nav-link[aria-current=page]{background:var(--soft)}
.home-navigation{padding:12px 0 28px}.home-navigation h2{font-size:1.2rem}
.button .nav-icon{width:32px;height:32px}.home-navigation .button{padding:12px}
.hero{border-bottom:1px solid var(--line);margin-bottom:12px}.hero .actions .button{display:inline-flex;align-items:center;gap:8px}
.floating.calc{width:44px;height:44px;padding:10px;background:var(--card);color:var(--primary);border:1px solid var(--line);border-radius:12px;box-shadow:none}
.floating.calc svg{width:22px;height:22px;display:block}
.floating.calc.bottom-left,.floating.calc.bottom-right{width:44px;min-width:44px;padding:10px;border-radius:12px}
.floating.calc.bottom-left{left:12px}.floating.calc.bottom-right{right:12px}
.floating.note.right,.floating.note.left{width:44px;min-width:44px}
.floating.top-left,.floating.top-right{top:calc(150px + env(safe-area-inset-top));bottom:auto}
.floating.bottom-left,.floating.bottom-right{bottom:calc(14px + env(safe-area-inset-bottom))}
.floating.note.top{top:calc(140px + env(safe-area-inset-top));left:50%}
.floating.note.bottom{bottom:calc(8px + env(safe-area-inset-bottom))}
/* Reading color never changes settings or navigation contrast. */
main{color:var(--reading-ink,var(--ink))}
main .course-card,main .button,main button:not(.correct):not(.wrong){color:var(--reading-ink,var(--ink))}
main .button.primary,main button.primary{color:white}
main .muted,main small{color:var(--reading-ink,var(--muted))}
.settings-section{border:0;margin:0 0 20px;padding:0;min-width:0}
.settings-section legend{font-size:1.15rem;font-weight:800;margin-bottom:8px}
.settings-section label{margin:12px 0}.settings-section .actions{gap:8px}
.settings-section .zoom-value{min-width:64px;text-align:center}
.background-palette{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;margin-top:8px}
.background-palette button{padding:8px 3px;font-size:.8rem;display:grid;justify-items:center;gap:5px;min-width:0}
.background-palette button[aria-pressed=true]{border:2px solid var(--primary)}
.color-swatch{width:24px;height:24px;border-radius:50%;border:1px solid #8795a5}
.settings-hint{font-size:.9rem;color:var(--muted)}
#modal{scroll-padding-top:16px;max-width:calc(100vw - 16px);overflow-wrap:anywhere}
#modalTitle{font-size:clamp(20px,1.3rem,28px);min-width:0;margin:0}
#modal .modal-top{position:sticky;top:-1.3rem;background:var(--card);z-index:1;padding-block:8px 16px;gap:12px}
#closeModal{width:44px;height:44px;padding:8px;font-size:24px;flex:none}
.settings-section legend{max-width:100%}
html{scroll-padding-top:150px}.book-question,[id=rule],[id=observation]{scroll-margin-top:150px}
@media(max-width:700px){.navigation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-row{padding:10px 16px}.brand{gap:8px}.brand img{width:60px;height:46px}#menu{padding-inline:16px}}
@media(max-width:360px){.brand img{width:44px;height:38px}.brand strong{font-size:24px}.brand-row{gap:8px;padding-inline:12px}.utility-bar{padding-inline:8px}#settingsButton{padding-inline:8px}}
@media(max-width:540px){html[data-large-zoom] .navigation-grid{grid-template-columns:1fr}html[data-large-zoom] .background-palette{grid-template-columns:repeat(3,minmax(0,1fr))}html[data-large-zoom] dialog{padding:.7rem}html[data-large-zoom] #modal .modal-top{top:-.7rem}}
@media(max-height:500px){#menu{max-height:calc(100dvh - 145px)}}
@media(prefers-reduced-motion:reduce){.menu-chevron{transition:none}}
@media print{body{padding-top:0}.utility-bar,.site-header,.home-navigation{display:none!important}}
