:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:#172136;background:#f7f8fb;font-synthesis:none;-webkit-tap-highlight-color:transparent}
*{box-sizing:border-box}html{min-height:100%;background:#f7f8fb}body{margin:0;min-height:100vh;min-height:100dvh;padding:0;background:radial-gradient(ellipse at top,#e9effd 0,#f7f8fb 54%)}button{font:inherit}button:focus-visible,[role="button"]:focus-visible{outline:3px solid #568aff;outline-offset:3px}.app{max-width:550px;margin:auto;display:flex;flex-direction:column;gap:17px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:9px;padding-top:5px}.logo{width:31px;height:31px;display:flex;align-items:center;justify-content:center;background:#253a71;color:white;border-radius:11px;box-shadow:0 6px 15px #263e7030;font-size:24px}.brand-name{font-size:17px;font-weight:800;letter-spacing:.065em;white-space:nowrap}.brand-name span{font-weight:450}.active-mode{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.eyebrow{font-size:10px;letter-spacing:.11em;font-weight:750;color:#7f889b}.mode-pill{font-size:12px;font-weight:800;white-space:nowrap;background:#edf1f8;border:1px solid #d9e1ee;border-radius:9px;padding:6px 10px}.language-strip{display:flex;align-items:center;justify-content:center;gap:15px;font-size:15px;font-weight:700;padding:13px 4px 1px;white-space:nowrap}.arrow{color:#9ca9bb;font-size:18px}.panel{background:rgba(255,255,255,.94);border:1px solid #dfe4ed;border-radius:18px;padding:18px;box-shadow:0 8px 26px #17213608}.panel-label{display:flex;align-items:center;gap:8px;color:#79869a;font-size:11px;font-weight:800;letter-spacing:.08em}.listening{min-height:160px;transition:border-color .15s,box-shadow .15s}.listening:active{border-color:#9eb5ec}.mic-indicator{background:#aeb7c7;width:9px;height:9px;border-radius:50%;display:inline-block}.mic-indicator.on{background:#30a371;box-shadow:0 0 0 4px #dff7ea}.mic-indicator.error{background:#e5815c}.listen-content{font-size:17px;font-weight:550;margin:24px 0 13px;line-height:1.4}.hint{font-size:13px;color:#8793a3;margin:0}.output{min-height:175px}.output-content{font-size:16px;line-height:1.5;color:#697589;margin:23px 0 15px}.output-footer{font-size:11px;color:#8b97a7;margin-top:10px}#recording-preview{display:block;max-width:100%;width:100%;margin:9px 0}#recording-preview[hidden]{display:none}.controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.btn{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;min-height:83px;min-width:0;padding:13px 6px;border-radius:13px;border:1px solid #d8e0ed;font-size:14px;font-weight:750;touch-action:manipulation;cursor:pointer}.btn span:first-child{font-size:22px;line-height:1.2}.btn-main{background:#2d5cd4;border-color:#2d5cd4;color:#fff;box-shadow:0 6px 13px #2d5cd422}.btn-main:active{background:#1a469e}.btn-secondary{background:#fff;color:#26354d}.btn-secondary:active{background:#edf3ff}.btn:disabled{opacity:.5;cursor:progress}.instructions{min-height:31px;text-align:center;color:#647288;font-size:13px;line-height:1.4}.footer{text-align:center;font-size:11px;color:#8e9bad;line-height:1.7;margin:16px 0 0}.footer b{color:#69788e}@media(max-width:390px){.app{gap:15px}.brand-name{font-size:15px}.language-strip{font-size:13px;gap:10px}.btn{font-size:13px;padding-left:4px;padding-right:4px}}@media(prefers-color-scheme:dark){:root{color:#edf1fc;background:#101722}html{background:#101722}body{background:radial-gradient(ellipse at top,#172744,#101722 63%)}.logo{background:#5073d2}.mode-pill{background:#233147;border-color:#40506d}.panel{background:#1d293b;border-color:#364458;box-shadow:none}.btn-secondary{background:#1d293b;border-color:#40516b;color:#edf1fc}.btn-secondary:active{background:#2d405e}.listen-content{color:#f2f5fd}.output-content{color:#aab8cd}.btn-main{background:#4675e6;border-color:#4675e6}}

.btn[aria-pressed="true"]{border-color:#568aff;box-shadow:inset 0 0 0 1px #568aff}

.small-button{font:inherit;font-size:12px;border:1px solid #8793a3;border-radius:7px;padding:6px 9px;background:transparent;color:inherit;cursor:pointer}.small-button:disabled{opacity:.5;cursor:default}.history-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.history h2{font-size:16px}.history h3{font-size:12px;line-height:1.6}.history-entry{border-top:1px solid #8793a355;padding:8px 0;font-size:13px;overflow-wrap:anywhere}.history-entry p{margin:6px 0}.history-session{margin-top:20px}#session-choice[hidden],#retry-save[hidden]{display:none}

/* Compact document flow: Translation, controls, then History. */
html{min-height:100%}
body{min-height:100vh;min-height:100dvh;padding:0;--page-width:550px}
.app{width:100%;max-width:574px;margin:0 auto;gap:8px;padding:calc(16px + var(--header-safe-top, env(safe-area-inset-top))) max(12px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
.topbar{align-items:center;gap:8px}.brand{padding:0;gap:6px}.logo{display:block;flex:none;width:32px;height:32px;object-fit:contain;border-radius:7px;background:transparent;box-shadow:none}.brand-name{font-size:14px}.active-mode{display:grid;grid-template-columns:auto auto;align-items:center;gap:3px 7px}.eyebrow{grid-column:1;font-size:8px}.mode-pill{grid-column:1;font-size:10px;padding:3px 6px}#end-session{grid-column:2;grid-row:1/3;white-space:nowrap}
#session-info,#storage-status,#session-export-status{font-size:11px;line-height:1.4;margin:0;overflow-wrap:anywhere}#session-export-status:empty{display:none}
.language-strip{padding:2px 0;font-size:13px;gap:10px}.panel{padding:12px;border-radius:13px}.listening{min-height:0}.listen-content{font-size:15px;line-height:1.4;margin:9px 0 6px}.hint{font-size:12px}.output{min-height:0}.output-content{font-size:14px;margin:10px 0}.output-footer{margin-top:6px}.instructions{min-height:0;font-size:12px}.footer{margin:4px 0;font-size:10px}.history h2{margin:4px 0;font-size:15px}.history-session{margin-top:12px}
.controls{position:static;display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0;background:transparent}
.btn{flex-direction:row;min-height:48px;padding:8px 10px;gap:8px}.btn span:first-child{font-size:20px}#retry-export[hidden]{display:none}
@media(max-width:390px){.app{gap:8px}.brand-name{font-size:12px}.active-mode{gap:2px 5px}.small-button{font-size:11px;padding:6px}.controls{gap:6px}.btn{font-size:13px}}


.session-summary{display:grid;gap:1px;min-width:0}
.session-summary #session-info,.session-summary #storage-status{line-height:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.session-summary:has(#storage-status:empty){gap:0}
#session-choice{padding:9px 12px}#resume-info{font-size:12px;margin:0 0 6px}

/* v0.3.6 — Ma: deliberate space around the conversation, compact on short screens. */
.app{gap:12px;padding-top:calc(24px + var(--header-safe-top, env(safe-area-inset-top)));padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
.topbar{margin-bottom:3px}.brand-name{letter-spacing:.045em}.session-summary{display:flex;flex-wrap:wrap;gap:4px 12px}
.session-summary #session-info{font-size:11px;line-height:16px;white-space:normal;overflow:visible;text-overflow:clip}
.session-summary #storage-status{font-size:12px;line-height:1.5;white-space:normal;overflow:visible;text-overflow:clip;flex-basis:100%;color:#ad542b}
#storage-status:empty{display:none}.language-strip{padding:3px 0 6px;font-weight:550}
.panel{padding:20px;border-radius:16px;box-shadow:0 4px 20px #17213604}.listening{min-height:144px}.output{min-height:160px}
.panel-label{font-size:10px;letter-spacing:.1em;font-weight:650}.listen-content{font-size:16px;font-weight:500;line-height:1.5;margin:20px 0 10px}
.output-content{font-size:16px;line-height:1.6;margin:22px 0 12px;color:#8793a3}.output-footer{font-size:11px;line-height:1.5}
.controls{margin-top:8px;gap:10px}.btn{min-height:52px;border-radius:12px;font-weight:650}.instructions{font-size:11px;color:#79869a}
.history{margin-top:20px}.history h2{font-size:14px;font-weight:600}.history-header{flex-wrap:wrap;gap:10px}.history>.hint{margin-top:10px;line-height:1.6}.history-session{margin-top:20px}.history-entry{padding:12px 0;line-height:1.6}
.small-button{min-height:32px}#session-export-status{line-height:1.6}#session-choice{padding:14px}.footer{margin-top:12px}
@media(max-width:350px){.app{padding-left:14px;padding-right:14px}.brand{gap:5px}.active-mode{gap:2px 4px}.logo{width:28px;height:28px}.brand-name{font-size:11px}.mode-pill{font-size:9px}.small-button{font-size:10px;padding:6px}.btn{font-size:13px}}
@media(max-height:650px) and (max-width:600px){
 .app{gap:6px}.topbar{margin-bottom:0}.language-strip{padding:2px 0;font-size:12px}
 .panel{padding:14px 16px}.listening{min-height:94px}.output{min-height:104px}
 .listen-content{margin:10px 0 6px;font-size:15px}.output-content{margin:12px 0 8px;font-size:15px}
 .controls{margin-top:6px;gap:8px}.btn{min-height:48px}.history{margin-top:20px}
}
@media(prefers-color-scheme:dark){.output-content{color:#aab8cd}#storage-status{color:#f2b28e}}
