.pwa-install{font:inherit;font-size:13px;line-height:1.4;border:1px solid var(--rule,#b9cbd5);border-radius:8px;padding:9px 12px;min-height:42px;background:var(--sheet,#fff);color:var(--ink,#17364b);cursor:pointer}.pwa-status{font:12px/1.5 system-ui,sans-serif;color:var(--muted,#52646f);display:inline-block;margin:5px 8px}.pwa-status[data-ready="true"]{color:var(--good,#17845a)}.pwa-dialog{box-sizing:border-box;width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 48px);overflow:auto;border:1px solid var(--rule,#d5dbe2);border-radius:14px;padding:24px;background:var(--sheet,#fff);color:var(--ink,#18222e);box-shadow:0 16px 80px #0004;font:15px/1.7 system-ui,"Microsoft JhengHei",sans-serif}.pwa-dialog::backdrop{background:#10203088}.pwa-dialog h2{font:700 20px/1.4 system-ui,sans-serif;margin:0 0 12px}.pwa-dialog ol{padding-left:24px}.pwa-dialog li{margin:10px 0}.pwa-install-note{font-size:13px;color:var(--muted,#52646f)}.pwa-action{font:600 14px/1.5 system-ui,sans-serif;padding:10px 16px;border:0;border-radius:8px;background:#2340b8;color:#fff;min-height:44px;cursor:pointer}.pwa-action:disabled{opacity:.6}.pwa-later{font:14px/1.5 system-ui,sans-serif;padding:10px 14px;min-height:44px;border:1px solid var(--rule,#b9cbd5);border-radius:8px;background:transparent;color:inherit;cursor:pointer}.pwa-update{position:fixed;z-index:100;top:calc(12px + env(safe-area-inset-top));right:12px;max-width:calc(100vw - 24px);padding:16px;border:1px solid var(--rule,#b9cbd5);border-radius:12px;background:var(--sheet,#fff);color:var(--ink,#17364b);box-shadow:0 4px 24px #0003;font:600 15px/1.5 system-ui,sans-serif}.pwa-update small{display:block;font-weight:400;margin:4px 0 12px}.pwa-update div{display:flex;gap:8px}.pwa-update[hidden],.pwa-install[hidden]{display:none!important}@media(max-width:600px){.pwa-dialog{padding:20px}.pwa-status{font-size:11px}header .pwa-install{margin-top:6px}}

/* Keep titles clear of the iOS standalone status-bar glass edge. */
.pwa-ios-standalone header{padding-top:36px;background:var(--sheet,#fff);flex-shrink:0;filter:none;-webkit-backdrop-filter:none;backdrop-filter:none}
.pwa-ios-standalone [role="toolbar"]{padding-top:32px;background:var(--sheet,#fff)}
@media(max-width:700px){.pwa-ios-standalone body>header{padding-top:32px}.pwa-ios-standalone #app>header{padding-top:24px}}


.pwa-check-updates{margin:5px 8px 5px 0;white-space:nowrap}.pwa-check-updates:disabled{opacity:.6;cursor:wait}


/* Keep app actions in one aligned row, independent of statistics and status. */
.pwa-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;margin-top:8px}.pwa-actions .pwa-install,.pwa-actions .btn{display:inline-flex;align-items:center;justify-content:center;margin:0;min-height:44px;box-sizing:border-box;line-height:1.4;white-space:nowrap;border-radius:8px;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:500}.pwa-actions+.pwa-status{display:block;margin:6px 0 0}.pwa-status-row{min-height:18px}.pwa-status-row .pwa-status{margin:0}.quiz-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;align-items:end}.quiz-header .header-intro{grid-column:1;grid-row:1;min-width:0}.quiz-header .header-stats{grid-column:2;grid-row:1}.quiz-header .header-actions{grid-column:1/-1;grid-row:2;justify-content:flex-end;margin-top:0}.quiz-header .pwa-status-row{grid-column:1/-1;grid-row:3;text-align:right}.pwa-ios-standalone #app>header.quiz-header{background:var(--paper,#eef1f4)}
@media(max-width:600px){.quiz-header{grid-template-columns:minmax(0,1fr);gap:12px}.quiz-header .header-intro{grid-column:1;grid-row:1}.quiz-header .header-stats{grid-column:1;grid-row:2;justify-content:flex-start}.quiz-header .header-actions{grid-column:1;grid-row:3;display:flex;flex-wrap:nowrap;justify-content:flex-start}.quiz-header .header-actions>:not([hidden]){flex:1 1 0;min-width:0}.quiz-header .pwa-status-row{grid-column:1;grid-row:4;text-align:left}.pwa-actions .pwa-install{margin:0}.pwa-actions{align-items:stretch}}

/* Disable double-tap smart zoom while retaining panning and pinch zoom. */
html,body,button,a,input,textarea,select,summary,.cell{touch-action:manipulation}
