:root{--focus:#176b45}
button:focus-visible,input:focus-visible{outline:3px solid rgba(23,107,69,.36);outline-offset:3px}
.x,.bgmfab{min-width:44px;min-height:44px}
.journey{padding:18px;margin-bottom:12px;background:linear-gradient(145deg,#fffdf7,#edf6ee);border:1px solid #b8d2bc}
.journey h2{font-size:21px;margin:0 0 5px}.journey p{margin:0 0 14px;color:var(--ink-soft);line-height:1.55}
.journey-meta{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 13px}.journey-meta span{font-size:12px;background:#fff;border:1px solid var(--line);padding:5px 9px;border-radius:999px}
.home-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.home-actions .primary-wide{grid-column:1/-1}
.lesson-goal{padding:14px 16px;background:#f5f0df;border-left:4px solid var(--gold);margin-bottom:10px;border-radius:10px;line-height:1.55}
.lesson-goal b{display:block;margin-bottom:3px}.lesson-goal span{font-size:13px;color:var(--ink-soft)}
.mode-grid{display:grid;grid-template-columns:1fr;gap:9px}.mode-btn{text-align:left!important;display:flex!important;align-items:center;gap:12px;padding:14px!important}
.mode-btn i{font-style:normal;font-size:14px;font-weight:700;width:28px;height:28px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;flex:0 0 28px}.mode-btn b{display:block}.mode-btn small{display:block;font-weight:400;color:var(--ink-soft);margin-top:2px}
.status-chip{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:3px 8px;font-size:11px;background:#f2eee3;color:#695f4d;margin-top:4px}.status-chip.ok{background:#e4f2e8;color:#28603a}
.beginner-modal{position:fixed;inset:0;z-index:1000;background:rgba(24,31,25,.66);display:flex;align-items:center;justify-content:center;padding:18px}
.beginner-modal.hide{display:none}.onboard{width:min(460px,100%);background:var(--paper);border-radius:22px;padding:22px;box-shadow:0 22px 70px rgba(0,0,0,.24)}
.onboard .ob-icon{font-family:'Noto Serif SC',serif;font-size:46px;text-align:center;color:var(--green);width:72px;height:72px;line-height:68px;border:2px solid currentColor;border-radius:50%;margin:0 auto}.onboard h2{text-align:center;margin:9px 0}.onboard p{text-align:center;color:var(--ink-soft);line-height:1.65;min-height:78px}
.ob-dots{display:flex;justify-content:center;gap:7px;margin:15px}.ob-dots i{width:8px;height:8px;border-radius:50%;background:#d5cdbd}.ob-dots i.on{background:var(--green);width:22px;border-radius:6px}
.ob-options{padding:10px 0;font-size:13px}.ob-options label{display:flex;gap:9px;align-items:center;padding:8px 0}.ob-options input{width:20px;height:20px}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body.large-text{font-size:18px}body.large-text .btn{font-size:16px}body.high-contrast{--ink:#000;--ink-soft:#333;--line:#6b6255;--paper:#fff}
@media(max-width:480px){.journey{padding:15px}.journey h2{font-size:19px}.home-actions{grid-template-columns:1fr}.home-actions .primary-wide{grid-column:auto}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
