/* BG14 — Mobile UX & accessibility hardening */
:root{--focus-ring:#8f332d;--touch:44px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}
html{scroll-padding-top:88px;text-size-adjust:100%;-webkit-text-size-adjust:100%}body{overflow-x:hidden}.skip-link{position:fixed;z-index:1000;left:max(12px,var(--safe-left));top:max(8px,var(--safe-top));transform:translateY(-180%);background:var(--ink);color:var(--sheet);padding:12px 16px;border:2px solid var(--sheet);font-weight:800}.skip-link:focus{transform:none}.main,.content,.view,.panel{min-width:0}.view h1,.view h2,.view h3,[tabindex="-1"]{scroll-margin-top:96px}.view[aria-hidden="true"]{visibility:hidden}.view.active[aria-hidden="false"]{visibility:visible}
:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px;box-shadow:0 0 0 1px var(--sheet)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{position:relative;z-index:2}.btn,select,input:not([type="checkbox"]):not([type="radio"]),textarea,summary,.lesson button,.reader-loc-link{min-height:36px}.btn:disabled,button:disabled{cursor:not-allowed;opacity:.55}.feedback[role="status"],.a11y-live{min-height:1.35em}.greek,.greek-big,.reader-text,.fluency-greek,.word-form{font-variant-ligatures:common-ligatures}
.a11y-toolbar{display:flex;align-items:center;gap:8px;margin-left:auto}.a11y-button,.mobile-nav-trigger{display:inline-flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;border:1px solid var(--rule-strong);background:transparent;color:var(--ink);font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.mobile-nav-trigger{display:none}.a11y-dialog,.mobile-nav-dialog{width:min(92vw,520px);max-height:min(86dvh,760px);padding:0;border:1px solid var(--ink);background:var(--sheet);color:var(--ink);box-shadow:0 18px 60px rgba(31,29,25,.24)}.a11y-dialog::backdrop,.mobile-nav-dialog::backdrop{background:rgba(31,29,25,.48)}.a11y-dialog-inner,.mobile-nav-dialog-inner{padding:24px}.dialog-head{display:flex;align-items:start;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:1px solid var(--rule)}.dialog-head h2{margin:0;font:500 1.55rem var(--text)}.dialog-close{width:44px;height:44px;border:1px solid var(--rule-strong);background:transparent;color:var(--ink);font-size:1.2rem}.a11y-options{display:grid;gap:18px;padding-top:18px}.a11y-option{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,.55fr);gap:18px;align-items:center}.a11y-option span{color:var(--muted);font-family:var(--text);line-height:1.5}.a11y-option select{width:100%;border:1px solid var(--rule-strong);background:var(--sheet);color:var(--ink);padding:9px 10px}.mobile-nav-list{display:grid;margin-top:16px;border-top:1px solid var(--rule)}.mobile-nav-list button{min-height:48px;border:0;border-bottom:1px solid var(--rule);background:transparent;color:var(--ink);padding:12px 4px;text-align:left;font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.mobile-nav-list button[aria-current="page"]{color:var(--rubric);border-left:3px solid var(--rubric);padding-left:12px}.mobile-nav-dialog p{color:var(--muted);font-family:var(--text);line-height:1.5}
html[data-text-size="large"] body{font-size:18px}html[data-text-size="large"] .content{max-width:1180px}html[data-contrast="high"]{--ink:#000;--muted:#403a33;--paper:#fff;--sheet:#fff;--rule:#82796e;--rule-strong:#4b443d;--rubric:#741b17;--rubric-soft:#f4dedb;--lapis:#173f59;--good:#1e5132;--bad:#741b17;--focus-ring:#000}html[data-contrast="high"] .btn:not(.primary):not(.light),html[data-contrast="high"] select,html[data-contrast="high"] input,html[data-contrast="high"] textarea{border-color:var(--rule-strong)}html[data-contrast="high"] .word.vocab-known,html[data-contrast="high"] .word.vocab-learning,html[data-contrast="high"] .word.vocab-unknown{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
html[data-reduce-motion="on"] *,html[data-reduce-motion="on"] *::before,html[data-reduce-motion="on"] *::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
@media(prefers-reduced-motion:reduce){html:not([data-reduce-motion="off"]) *,html:not([data-reduce-motion="off"]) *::before,html:not([data-reduce-motion="off"]) *::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
@media(prefers-contrast:more){html:not([data-contrast="normal"]){--ink:#000;--muted:#403a33;--paper:#fff;--sheet:#fff;--rule:#82796e;--rule-strong:#4b443d;--rubric:#741b17;--focus-ring:#000}}
@media(pointer:coarse){.btn,.nav button,.lesson button,.reader-loc-link,.morph-modes button,.morph-options button,.vocab-rating button,.vocab-result button,.reader-toolbar .btn,.reader-parse-options .btn,.fluency-check .btn,.fluency-actions .btn,.audio-actions .btn,.audio-drill button,.offline-book button,.offline-pack,summary,select,input:not([type="checkbox"]):not([type="radio"]){min-height:var(--touch)}.reader-text .word,.fluency-token{min-height:0}}
@media(max-width:900px){html{scroll-padding-top:76px}.app{display:block}.side{display:none!important}.mobile-nav-trigger{display:inline-flex}.top{min-height:64px;padding-top:max(10px,var(--safe-top));padding-right:max(14px,var(--safe-right));padding-bottom:10px;padding-left:max(14px,var(--safe-left));gap:10px}.top>div:first-child{min-width:0;flex:1}.top #top-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top .pill{display:none}.pwa-connection{margin-left:0;padding-left:8px;font-size:.62rem}.a11y-toolbar{gap:6px}.a11y-button,.mobile-nav-trigger{min-width:44px;min-height:44px}.content{padding-right:max(20px,var(--safe-right));padding-bottom:max(76px,calc(58px + var(--safe-bottom)));padding-left:max(20px,var(--safe-left))}.word-panel{scroll-margin-top:82px}.pwa-update-banner{bottom:max(12px,var(--safe-bottom));max-width:calc(100vw - 24px)}.a11y-dialog,.mobile-nav-dialog{max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 20px)}.a11y-dialog-inner,.mobile-nav-dialog-inner{padding-top:max(20px,var(--safe-top));padding-right:max(20px,var(--safe-right));padding-bottom:max(20px,var(--safe-bottom));padding-left:max(20px,var(--safe-left))}}
@media(max-width:600px){.content{padding-top:28px}.view h1{max-width:100%;overflow-wrap:anywhere}.lede,.panel p,.callout,.bubble,.empty{overflow-wrap:anywhere}.section-head,.reader-title-row,.fluency-session-head,.offline-title{align-items:stretch;flex-direction:column}.section-head{display:flex}.hero,.chat-input,.a11y-option{grid-template-columns:1fr}.hero .btn{justify-self:start}.review-item{align-items:flex-start;flex-direction:column}.review-item .btn{width:100%}.metrics{grid-template-columns:1fr}.metric,.metric+.metric,.metric:nth-child(3),.metric:nth-child(4){padding:14px 0;border-right:0;border-top:1px solid var(--rule)}.metric:first-child{border-top:0}.fluency-stats,.fluency-stats.summary{grid-template-columns:1fr 1fr}.fluency-stats>div{min-width:0}.fluency-history-row{grid-template-columns:1fr}.reader-toolbar{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.reader-toolbar label{min-width:0!important}.reader-toolbar label:has(select){grid-column:span 1}.reader-toolbar .reader-check{grid-column:1/-1}.reader-toolbar #reader-level{width:100%}.reader-toolbar .btn{min-width:0}.reader-bottom-grid{gap:12px}.morph-toolbar{gap:12px}.morph-modes{display:grid;grid-template-columns:1fr 1fr}.morph-modes button{text-align:left}.vocab-search-row{display:grid;grid-template-columns:1fr}.vocab-result{grid-template-columns:1fr!important}.vocab-result>*{min-width:0}.offline-kv{grid-template-columns:1fr}.offline-book{grid-template-columns:minmax(0,1fr) auto}.offline-book strong,.offline-book small{overflow-wrap:anywhere}.pwa-update-banner{align-items:stretch;flex-direction:column}.pwa-update-banner .btn{width:100%}.dialog-head{align-items:center}.a11y-dialog,.mobile-nav-dialog{width:calc(100vw - 16px)}}
@media(max-width:360px){.content{padding-right:max(14px,var(--safe-right));padding-left:max(14px,var(--safe-left))}.top #top-sub{display:none}.fluency-stats,.fluency-stats.summary{grid-template-columns:1fr}.reader-toolbar{grid-template-columns:1fr}.reader-toolbar label:has(select),.reader-toolbar .reader-check{grid-column:1}.morph-modes{grid-template-columns:1fr}.vocab-rating{grid-template-columns:1fr 1fr}.a11y-button{font-size:.62rem}}
