/* Shared small-screen layout. No framework or remote assets required. */
html{scroll-padding-top:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-wrap:break-word}
main,.panel,.chapter,.grid>*{min-width:0}
main a,.chapter td,.panel p,footer{overflow-wrap:anywhere}
button,input,select,textarea{touch-action:manipulation}
button,.button,input:not([type=checkbox]):not([type=radio]),select{min-height:44px}
input,select,textarea{font-size:16px}
a,button,input,select,textarea,summary{scroll-margin-top:18px;scroll-margin-bottom:90px}
:focus-visible{outline:3px solid #b57711;outline-offset:3px}
.skip-link{position:fixed;top:8px;left:8px;z-index:2000;padding:12px 18px;background:#fff;color:#17395b;border:2px solid #17395b;border-radius:6px;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
header .nav-toggle{display:none}
header nav a[aria-current=page]{color:#fff;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.table-hint{font-size:13px;color:#52697d;margin:8px 0 -12px}
table:focus-visible{outline:3px solid #b57711;outline-offset:3px}
@media(max-width:1100px){
 header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:16px 20px;align-items:center}
 header strong{font-size:12px;letter-spacing:.065em;line-height:1.4;display:block}
 header small{font-size:12px;margin-top:3px}
 header .nav-toggle:not([hidden]){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:76px;min-height:44px;background:#244765;border:1px solid #748b9f;padding:10px 14px;font-size:15px}
 header .nav-toggle::after{content:'⌄';font-size:18px;line-height:1}
 header .nav-toggle[aria-expanded=true]::after{content:'⌃'}
 header nav{grid-column:1/-1;gap:6px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;font-size:15px;padding-top:8px;border-top:1px solid #526578}
 header[data-menu-ready=true] nav:not(.is-open){display:none}
 header nav a{display:flex;align-items:center;min-height:44px;padding:9px 10px;border-radius:6px;background:#ffffff0a}
 .with-learning main.guide,main.guide{padding-bottom:100px}
 .document-jumps{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));gap:4px;padding:4px 8px;border-radius:28px;max-width:calc(100vw - 24px)}
 .document-jumps a{display:inline-flex;align-items:center;justify-content:center;min-width:60px;min-height:44px;padding:8px 12px}
 .chapter-links{gap:8px 16px;align-items:center}
 .chapter-links a{display:inline-flex;align-items:center;min-height:44px;padding:6px 0}
 .toc-list a{display:flex;align-items:center;min-height:44px}
 .toolbar label{width:100%;margin-bottom:0}
 .toolbar input{flex:1 1 220px;max-width:none}
 .toolbar button{flex:0 0 auto}
}
@media(max-width:600px){
 header{padding:14px 16px;gap:10px}
 main,.with-learning main{margin-top:22px;padding-left:16px;padding-right:16px}
 h1{font-size:clamp(29px,8.2vw,38px);line-height:1.14;overflow-wrap:normal}
 h2{font-size:23px}h3{font-size:19px}
 .lead{font-size:17px;line-height:1.55}
 .panel,.chapter{padding:18px 16px;border-radius:10px}
 .toc{padding:18px 16px}
 .chapter ol,.chapter ul,.panel ol,.panel ul{padding-left:24px}
 .grid,.two{grid-template-columns:minmax(0,1fr)}
 table{font-size:14px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 th,td{min-width:145px;padding:10px}
 pre{font-size:13px;padding:12px}
 .toolbar{gap:10px}
 .toolbar input,.toolbar button{width:100%;flex-basis:100%}
 footer{padding:20px 16px calc(24px + env(safe-area-inset-bottom,0px));line-height:1.55}
}
@media(max-width:360px){header nav{grid-template-columns:1fr}.panel,.chapter{padding:16px 13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{.skip-link,.nav-toggle,.table-hint{display:none!important}}
