/* PWA v0.3: accessible mobile nav & installation */
.install-action{border:1px solid var(--teal2);background:#193e35;color:var(--teal);border-radius:12px;padding:9px 14px;min-height:44px;font-weight:700;white-space:nowrap}
.install-action[hidden],.install-help[hidden]{display:none}
.install-help{position:fixed;inset:0;z-index:100;background:#071519b8;display:grid;place-items:center;padding:20px}
.install-help>div{width:min(430px,100%);background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 10px 55px #0008}
.install-help h2{margin:0 0 8px;font-size:22px}.install-help p{line-height:1.65;color:var(--muted)}
.nav button,.button,.roundbtn,.room,.rates button,.pill{touch-action:manipulation}
.nav button:focus-visible,.install-action:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
@media(max-width:680px){
 .shell{display:block}
 .side{position:fixed;top:auto;bottom:0;left:0;right:0;border-bottom:0;border-top:1px solid var(--line);z-index:60;background:#10272bf5;padding:4px 5px calc(4px + env(safe-area-inset-bottom));box-shadow:0 -12px 30px #05151988}
 .side>div:first-child,.sidefoot{display:none}
 .nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;overflow:visible}
 .nav button{min-width:0;min-height:56px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3px;line-height:1.1;padding:6px 1px;white-space:normal;font-size:19px;border-radius:10px}
 .nav button span{font-size:9px;font-weight:700;white-space:nowrap}
 .nav button[aria-current="page"]{background:#1d463b}
 .main{padding:20px 16px calc(117px + env(safe-area-inset-bottom))}
 .topbar{flex-wrap:wrap;gap:8px;justify-content:space-between}
 .topbar .date{font-size:12px}
 .topbar .roundbtn,.topbar .install-action{font-size:12px;min-height:44px}
 .header h1{font-size:clamp(26px,8vw,35px)}
}
@media(max-width:360px){.nav button span{font-size:8px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* Two-language selector, no new learner-storage keys. */
.locale-select{display:inline-flex;align-items:center;margin-left:auto}.locale-select select{max-width:110px;background:var(--panel);color:var(--white);border:1px solid var(--line);border-radius:11px;padding:9px;min-height:44px}.locale-select select:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
