:root{--paper:#f3f3eb;--ink:#18392e;--muted:#617268;--line:#d5ded1;--green:#143b32;--lime:#d5edaa;--card:#fffef8;--radius:18px;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}*{box-sizing:border-box}body{margin:0}body.speaking{overflow:hidden;overscroll-behavior:none}button,input,textarea,select{font:inherit}button{min-height:48px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);padding:10px 16px;font-size:14px;font-weight:650;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:active{filter:brightness(.92)}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #8db964;outline-offset:3px}.primary{background:var(--green);border-color:var(--green);color:#fff}.quiet{background:transparent;border-color:transparent}.danger{color:#a23e30}.wide{width:100%}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}[hidden]{display:none!important}p{line-height:1.65}h1,h2,h3,p{overflow-wrap:anywhere}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400}header{padding:14px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{color:var(--ink);display:flex;align-items:center;gap:9px;font-weight:760;font-size:22px;letter-spacing:-.7px;text-decoration:none}.brandmark{display:grid;place-items:center;background:var(--green);color:var(--lime);font:italic 28px Georgia,serif;width:35px;height:39px;border-radius:10px}.edition{font-size:9px;letter-spacing:1.4px;color:var(--muted);margin-left:4px}main{max-width:1420px;margin:auto;padding:0 20px}.intro{padding:26px 0 20px;display:flex;justify-content:space-between;align-items:center;gap:20px}.eyebrow{font-size:9px;letter-spacing:1.5px;font-weight:750;color:var(--muted)}.intro h1{font-size:32px;letter-spacing:-1px;line-height:1.13;margin:10px 0}.intro p{font-size:12px;color:var(--muted);margin:0}.desktop-actions{display:none}.toolbar{display:flex;gap:8px}.toolbar select{flex:1;min-width:0;max-width:100%;font-size:16px;padding:12px 10px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink)}.toolbar button{padding:10px 12px;white-space:nowrap;font-size:13px}.save-row{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted);margin:12px 2px 18px}.speech-details{margin:0 0 18px;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:0 14px}.speech-details summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:48px;font-size:12px;cursor:pointer}.speech-details summary::after{content:'⌄';font-size:16px}.speech-details summary span{color:var(--muted);margin-left:auto;font-size:11px}.speech-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding-bottom:18px}.title-label{grid-column:1/-1}.estimate{grid-column:1/-1;display:flex;align-items:center;gap:15px}.estimate span{font-size:20px}.estimate small{font-size:11px;color:var(--muted)}label{display:block;font-size:12px;font-weight:650}input:not([type=checkbox]),textarea{display:block;width:100%;font-size:16px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);padding:12px;line-height:1.6;margin-top:8px}textarea{resize:vertical;min-height:90px}.field-hint{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:4px}.editor-grid{display:block}.outline,.editor{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding:8px 14px;font-size:9px;letter-spacing:.6px;font-weight:750}.panel-head button{padding:8px 11px;min-width:44px}.panel-head .row{flex-wrap:nowrap;gap:4px}.count{color:var(--muted);margin-left:5px}#cardList{padding:6px}.card-item{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:17px 12px;border:1px solid transparent;background:transparent;margin:3px 0;min-height:78px}.card-item.active{background:#eaf0de;border-color:#d1ddc0}.card-num{display:grid;place-items:center;min-width:28px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.card-description{min-width:0;flex:1}.card-item strong{display:block;font-size:15px;line-height:1.4}.card-item small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.card-item .chevron{font-size:19px;color:var(--muted)}.add-card{width:calc(100% - 24px);margin:8px 12px;border-style:dashed;background:transparent}.aside-note{font-size:11px;color:var(--muted);padding:0 18px 8px}.editor>label,.editor>.card-bottom,.card-actions{margin:18px}.editor #cue{background:#f1f6e8;font-size:20px;line-height:1.6}.card-bottom{display:grid;grid-template-columns:minmax(0,1fr) 80px;gap:12px}.card-bottom small{font-size:10px;color:var(--muted);font-weight:400}.check{display:flex;gap:10px;align-items:center}.check input{accent-color:var(--green);width:22px;height:22px;flex-shrink:0}.check small,.toggle small{display:block;color:var(--muted);font-weight:400;line-height:1.5;font-size:11px;margin-top:3px}.card-actions summary{min-height:48px;display:flex;align-items:center;font-size:13px;cursor:pointer}.card-actions button{flex:1 0 42%;font-size:12px}.preview-panel{display:none}#workspace[data-pane=cards] .editor{display:none}#workspace[data-pane=write] .outline{display:none}#workspace[data-pane=write] .intro,#workspace[data-pane=write] .speech-details{display:none}#workspace[data-pane=write] .toolbar{margin-top:16px}.mobile-nav{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:8px;background:#f3f3ebf5;border-top:1px solid var(--line);padding:10px max(18px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));z-index:2;backdrop-filter:blur(12px)}.mobile-nav button{border-color:transparent;display:flex;align-items:center;justify-content:center;gap:9px;min-height:52px;background:transparent}.mobile-nav button span{font-size:20px}.mobile-nav button[aria-current=page]{background:#e5edda}.mobile-nav .primary{background:var(--green);color:white}footer{display:flex;flex-direction:column;gap:6px;font-size:10px;color:var(--muted);padding:24px 0 calc(100px + env(safe-area-inset-bottom));line-height:1.6}.keyboard-open .mobile-nav{display:none}.resume-banner{background:#e3edcf;border:1px solid #c7d8ae;display:flex;align-items:center;gap:8px;padding:14px;border-radius:14px;margin-bottom:18px}.resume-banner div{flex:1}.resume-banner strong{font-size:12px}.resume-banner span{display:block;font-size:11px;color:var(--muted);margin-top:4px}.resume-banner button{font-size:12px;padding:8px}.resume-banner .quiet{min-width:44px}
/* Bottom sheets keep the decisive buttons within thumb reach. */
dialog.sheet{border:0;border-radius:24px 24px 0 0;width:100%;max-width:580px;height:auto;max-height:88vh;max-height:88dvh;margin:auto auto 0;padding:0;background:var(--card);color:var(--ink);box-shadow:0 -15px 80px #06170e40;overflow:hidden}dialog.sheet[open]{display:flex;flex-direction:column}dialog::backdrop{background:#071a16b3;backdrop-filter:blur(4px)}.sheet-heading{padding:24px 22px 12px;flex-shrink:0}.sheet-heading:before{content:'';display:block;width:34px;height:4px;border-radius:4px;background:#bac7b8;margin:-13px auto 16px}.sheet-heading h2{font-size:27px;line-height:1.15;letter-spacing:-.5px;margin:8px 0}.sheet-heading p{font-size:12px;color:var(--muted);margin:9px 0 0}.sheet-body{padding:4px 22px 20px;overflow:auto;overscroll-behavior:contain;min-height:0}.sheet-body>label{margin:16px 0}.sheet-footer{padding:14px 20px calc(16px + env(safe-area-inset-bottom));display:flex;gap:8px;flex-wrap:wrap;background:var(--card);border-top:1px solid var(--line);flex-shrink:0}.sheet-footer button{flex:1;min-height:52px;font-size:13px}.sheet-footer .sheet-close{flex:1 0 100%;min-height:44px}.setting{padding:17px 0;border-bottom:1px solid var(--line)}.setting>span{display:block;font-size:12px;font-weight:650;margin-bottom:10px}.setting output{float:right;color:var(--muted);font-weight:400}.segments{display:flex;gap:5px;background:#eef1e6;padding:4px;border-radius:13px}.segments button{flex:1;min-width:0;font-size:12px;background:transparent;border-color:transparent;padding:8px 6px;min-height:44px;border-radius:9px}.segments button[aria-pressed=true]{background:var(--green);color:white}.stepper{display:grid;grid-template-columns:56px 1fr 56px;gap:10px;align-items:center}.stepper button{font-size:19px}.stepper>div{text-align:center;font-size:24px}label.toggle{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:14px 0;margin:0;border-bottom:1px solid var(--line);min-height:64px}.toggle input{width:24px;height:24px;accent-color:var(--green);flex-shrink:0}.tip{background:#eef3e4;border-radius:12px;font-size:12px;padding:14px;line-height:1.6}.ready-info{font-size:11px;color:var(--muted);line-height:1.7}.settings-actions{padding-top:18px}.settings-actions button{flex:1}.small{font-size:11px}.muted{color:var(--muted)}.help-copy p{font-size:14px}.file-actions{display:flex;flex-direction:column;gap:8px}.file-actions button{text-align:left;padding:14px;min-height:55px}.file-actions button span{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:5px}.jump-item{display:flex;width:100%;align-items:center;gap:12px;text-align:left;margin:7px 0;min-height:64px}.jump-item span{font-size:11px;color:var(--muted)}.jump-item strong{flex:1;font-size:14px;overflow-wrap:anywhere}.jump-item[aria-current=true]{background:#e4edcf;border-color:#bed3a4}#summaryContent{font-size:13px;line-height:1.7}#summaryContent .big{font:48px Georgia,serif;margin:8px 0}.history-row{display:flex;justify-content:space-between;gap:15px;font-size:12px;padding:12px 0;border-bottom:1px solid var(--line)}.history-row small{font-size:10px;color:var(--muted)}#toast{position:fixed;bottom:calc(105px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:20;padding:14px 18px;background:#193c30;color:#fff;border:1px solid #55765c;border-radius:14px;box-shadow:0 12px 40px #0003;width:max-content;max-width:calc(100% - 32px);font-size:13px;line-height:1.5}#toast button{margin-left:12px;min-height:44px}dialog #toast{bottom:calc(90px + env(safe-area-inset-bottom))}
/* Presentation: no editing chrome, no small targets, no moving text. */
#stage{--sbg:#10271f;--stext:#f5f7ed;--smuted:#afc3b2;--sborder:#365345;--accent:#d5edaa;--button:#203d30;position:fixed;top:0;left:0;right:0;height:100vh;height:100dvh;background:var(--sbg);color:var(--stext);z-index:5;display:flex;flex-direction:column;overflow:hidden;padding:max(12px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 0 max(18px,env(safe-area-inset-left))}
#stage[data-theme=paper]{--sbg:#fcf8ed;--stext:#223b2f;--smuted:#566e5b;--sborder:#c7d5bb;--accent:#1c4c36;--button:#e8eddb}#stage[data-theme=night]{--sbg:#080a09;--stext:#ebece8;--smuted:#aeb6af;--sborder:#373e38;--accent:#ced9c1;--button:#202721}
.stage-status{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-shrink:0;min-height:43px}.stage-status>div:first-child{display:flex;flex-direction:column;gap:5px}.stage-status .eyebrow{font-size:8px;color:var(--smuted)}#cardPosition{font-size:12px;font-weight:650;font-variant-numeric:tabular-nums}.clock-block{text-align:right;display:flex;flex-direction:column;gap:3px}#clock{font-size:23px;line-height:1.1;font-variant-numeric:tabular-nums;font-weight:550}#clock.over{color:#ffb495}#stage[data-theme=paper] #clock.over{color:#a22e14}#remaining{font-size:10px;color:var(--smuted)}.progress{height:3px;background:var(--sborder);margin:12px 0 0;border-radius:5px;overflow:hidden;flex-shrink:0}.progress>div{height:100%;background:var(--accent);width:0}.reading-wrap{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}#stageCard{position:relative;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--sborder) transparent;padding:18px 2px 24px;touch-action:pan-y pinch-zoom;overflow-wrap:anywhere;outline-offset:-3px}#stageTitle{font-family:inherit;font-size:16px;font-weight:650;line-height:1.4;color:var(--smuted);letter-spacing:0;margin:0 0 18px}.stage-note{font-size:11px;color:var(--accent);line-height:1.5;margin:0 0 14px;font-weight:650}.stage-note:empty{display:none}#stageText{font-size:var(--speaker-size,30px);line-height:var(--speaker-leading,1.46);font-weight:450;letter-spacing:-.35px}#stageText p{font-size:inherit;line-height:inherit;white-space:pre-wrap;margin:0 0 .62em}#stageText p:last-child{margin-bottom:0}#stageText strong{color:var(--accent);font-weight:750}#stage[data-reading=recall] #stageTitle{font-family:Georgia,serif;font-weight:400;font-size:var(--speaker-size,30px);color:var(--stext);line-height:1.35}#scrollHint{position:absolute;bottom:0;left:0;right:0;height:31px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px;background:linear-gradient(transparent,var(--sbg) 55%);color:var(--smuted);font-size:8px;letter-spacing:1.3px;pointer-events:none}.thumb-dock{flex-shrink:0;padding:12px 0 calc(8px + env(safe-area-inset-bottom) + var(--dock-lift,0px));border-top:1px solid var(--sborder)}#nextPreview{font-size:11px;line-height:1.45;color:var(--smuted);height:31px;margin:0 2px 9px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}#nextPreview span{font-size:8px;letter-spacing:1px;font-weight:700;color:var(--accent);margin-right:8px}.dock-secondary{display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:7px;margin-bottom:8px}.dock-primary{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px}#stage button{color:var(--stext);background:var(--button);border-color:var(--sborder);min-height:49px;padding:10px 8px;font-size:12px}#stage button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}#stage .dock-primary button{min-height:70px;border-radius:16px;font-size:15px}#stage .primary{background:var(--accent);border-color:var(--accent);color:var(--sbg);font-size:19px;font-weight:750}#stage[data-hand=left] .dock-primary{grid-template-columns:minmax(0,1fr) 90px}#stage[data-hand=left] #nextBtn{grid-column:1;grid-row:1}#stage[data-hand=left] #prevBtn{grid-column:2;grid-row:1}#stage[data-hand=right] #rescueBtn{grid-column:3;grid-row:1}#stage[data-hand=right] #controlsBtn{grid-column:1;grid-row:1}#stage[data-hand=right] .dock-secondary{grid-template-columns:1fr .8fr 1.2fr}#stage[data-hand=left] #rescueBtn{grid-column:1;grid-row:1}#stage[data-hand=left] #controlsBtn{grid-column:3;grid-row:1}#jumpBtn{grid-column:2;grid-row:1}.dock-status{display:flex;justify-content:space-between;gap:12px;margin:9px 2px 0;color:var(--smuted);font-size:8px;line-height:1.4;min-height:11px}.quiet-stage #nextPreview{display:none}.locked #stageCard{pointer-events:none;overflow:hidden}.locked .reading-wrap{opacity:.78}.locked #rescueBtn,.locked #jumpBtn,.locked #controlsBtn,.locked #prevBtn{opacity:.35;pointer-events:none}.locked #nextBtn{font-size:16px}#stage[data-hand=left] .dock-status{flex-direction:row-reverse}
@media(min-width:760px){header{padding:18px 4vw}main{padding:0 4vw}.intro{padding:36px 0 28px}.intro h1{font-size:42px}.intro p{font-size:14px}.desktop-actions{display:flex;gap:9px}.toolbar select{max-width:420px}.save-row{justify-content:flex-start;gap:25px}.speech-meta{grid-template-columns:minmax(200px,1fr) 110px 120px auto;align-items:center}.speech-meta .title-label,.speech-meta .estimate{grid-column:auto}.speech-meta .estimate{flex-direction:column;align-items:flex-end;gap:4px}.editor-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:22px;align-items:start}#workspace[data-pane] .editor,#workspace[data-pane] .outline{display:block}#workspace[data-pane] .intro{display:flex}#workspace[data-pane] .speech-details{display:block}#workspace[data-pane] .toolbar{margin-top:0}.outline #cardList{max-height:560px;overflow:auto}.card-item strong{font-size:13px}.card-item{gap:8px}.mobile-nav,#editorBackBtn{display:none}footer{padding:28px 0;flex-direction:row;justify-content:space-between}.editor>.panel-head{min-height:65px}#stage{padding-left:max(40px,calc((100vw - 960px)/2));padding-right:max(40px,calc((100vw - 960px)/2))}#stageText{font-size:calc(var(--speaker-size,30px) * 1.2)}#stageTitle{font-size:20px}#stageCard{padding-top:28px}.dock-primary{grid-template-columns:160px 1fr}#stage[data-hand=left] .dock-primary{grid-template-columns:1fr 160px}dialog.sheet{margin:auto;border-radius:24px;max-height:88vh}.sheet-footer{padding-bottom:18px}.stage-status{min-height:60px}#clock{font-size:28px}}
@media(min-width:1180px){.editor-grid{grid-template-columns:230px minmax(0,1fr) 255px}.preview-panel{display:block;padding-top:12px}.mini-card{margin-top:15px;padding:24px;background:var(--green);color:#f5f7ed;border-radius:18px;min-height:260px;overflow-wrap:anywhere}.mini-card .eyebrow{color:#b4c7b3}.mini-card h2{font-size:26px;line-height:1.2}.mini-card #previewText{white-space:pre-wrap;line-height:1.5;font-size:18px}.reminder{color:var(--lime);font-size:11px;margin-top:22px}.session-panel{margin-top:24px}h3{font-size:13px}}
@media(max-width:359px){main{padding:0 14px}.intro h1{font-size:29px}.toolbar button{font-size:12px;padding:8px 10px}#stage{padding-left:14px;padding-right:14px}.dock-primary{grid-template-columns:76px 1fr}#stage[data-hand=left] .dock-primary{grid-template-columns:1fr 76px}#stage .dock-secondary button{font-size:11px}#stageText{font-size:min(var(--speaker-size,30px),52px)}.sheet-heading{padding-left:18px;padding-right:18px}.sheet-body{padding-left:18px;padding-right:18px}}
@media(max-height:650px){.thumb-dock{padding-top:8px;padding-bottom:calc(6px + env(safe-area-inset-bottom))}#stage .dock-primary button{min-height:58px}#stage .dock-secondary button{min-height:44px}.dock-status{margin-top:6px}#nextPreview{height:18px;-webkit-line-clamp:1;margin-bottom:7px}.stage-status{min-height:35px}.progress{margin-top:8px}.sheet-heading{padding-top:21px}.sheet-heading h2{font-size:24px}.sheet-heading p{font-size:11px}}
@media(orientation:landscape) and (max-height:540px){#stage{display:grid;grid-template-columns:minmax(0,1fr) 205px;grid-template-rows:35px 3px minmax(0,1fr);column-gap:20px;padding:8px max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left))}.stage-status{grid-column:1;grid-row:1;min-height:0}.stage-status>div:first-child{flex-direction:row;align-items:center;gap:10px}.clock-block{flex-direction:row;align-items:center;gap:10px}#clock{font-size:20px}.progress{grid-column:1;grid-row:2;margin:0}.reading-wrap{grid-column:1;grid-row:3}.thumb-dock{grid-column:2;grid-row:1/4;align-self:end;border:0;padding:0}.dock-secondary{grid-template-columns:1fr!important;gap:5px}.dock-secondary button{grid-column:1!important;grid-row:auto!important;min-height:44px!important}#stage .dock-primary{grid-template-columns:64px 1fr;gap:6px}#stage[data-hand=left] .dock-primary{grid-template-columns:1fr 64px}#stage .dock-primary button{min-height:58px;font-size:13px}#stage .primary{font-size:15px}#nextPreview{height:auto;-webkit-line-clamp:2;max-height:32px}.dock-status{font-size:8px}#stageText{font-size:var(--speaker-size,30px)}#stage[data-hand=left]{grid-template-columns:205px minmax(0,1fr)}#stage[data-hand=left] .stage-status,#stage[data-hand=left] .progress,#stage[data-hand=left] .reading-wrap{grid-column:2}#stage[data-hand=left] .thumb-dock{grid-column:1}.sheet-heading p{display:none}.sheet-heading h2{font-size:22px}.sheet-heading{padding-top:18px;padding-bottom:5px}.sheet-footer{padding-top:8px;padding-bottom:8px}.sheet-footer button{min-height:44px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
#printArea{display:none}@media print{body>*{display:none!important}body>#printArea{display:block!important;color:#000;background:#fff}.print-card{break-inside:avoid;border:1px solid #777;padding:20px;margin:0 0 20px}.print-card h2{font-size:20px}.print-card p{white-space:pre-wrap;font-size:14px}.print-card small{font-size:11px}@page{margin:15mm}}

@media(max-width:759px){dialog.sheet{position:fixed;inset:auto 0 var(--keyboard-inset,0px);max-height:min(88dvh,calc(var(--visible-height,100dvh) - 12px));}}
/* Continuous prompting is the default. Manual card controls remain optional. */
input[type=range]{padding:10px 0;width:100%;accent-color:var(--green);min-height:46px;cursor:pointer}
.speed-captions{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.launch-options{margin:16px 0}.launch-options>summary{cursor:pointer;min-height:48px;padding:12px 0;font-size:13px}.flow-session .manual-only{display:none!important}
#stage[data-playback=flow] .thumb-dock,#stage[data-playback=flow] #stageTitle,#stage[data-playback=flow] #stageNote,#stage[data-playback=flow] #scrollHint{display:none!important}
#stage[data-playback=flow] #stageCard{padding:0 2px;scrollbar-width:none;cursor:pointer}
#stage[data-playback=flow] #stageText{padding-top:var(--flow-guide,100px)}
#stage[data-playback=flow] #stageText p{margin:0 0 .9em}
#flowGuide{position:absolute;top:var(--flow-guide,100px);left:-10px;width:5px;height:1.4em;border-radius:4px;background:var(--accent);opacity:.5;z-index:1;pointer-events:none}
#flowCountdown{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:2;background:var(--sbg);font-size:100px;font-weight:400;font-variant-numeric:tabular-nums;color:var(--accent)}
#flowDock{display:grid;grid-template-columns:48px minmax(100px,1fr) 48px 48px;gap:8px;flex-shrink:0;padding:10px 0 calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--sborder)}
#stage #flowDock button{min-height:50px;font-size:18px}#stage #flowDock .primary{font-size:16px}
#flowStatus{grid-column:1/-1;text-align:center;color:var(--smuted);font-size:10px;padding:1px 0 0;line-height:1.5}
.flow-playing #flowDock button{opacity:.35}.flow-playing #stageCard{-webkit-user-select:none;user-select:none}
@media(orientation:landscape) and (max-height:540px){#stage[data-playback=flow]{display:flex;flex-direction:column;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}#stage[data-playback=flow] .reading-wrap{flex:1}#flowDock{grid-template-columns:48px minmax(100px,200px) 48px 48px;justify-content:center;padding:6px 0}#flowStatus{display:none}#stage #flowDock button{min-height:44px}}

.quick-paste{margin-top:18px;min-height:50px;padding-left:22px;padding-right:22px}

/* V4 — card-first presentation: the card itself is the oversized next control. */
#stage[data-playback=manual] .dock-primary,#stage[data-playback=manual] #nextPreview{display:none!important}
#stage[data-playback=flow] .tap-instruction{display:none!important}
#stage[data-playback=manual] .thumb-dock{padding-top:3px;padding-bottom:calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--sborder)}
#stage[data-playback=manual] #stageCard{cursor:pointer;touch-action:pan-y pinch-zoom;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;padding:clamp(28px,5vh,60px) 5px 22px}
#stage[data-playback=manual] #stageCard:active{filter:brightness(.97)}
#stage[data-playback=manual] #stageTitle{font-size:clamp(14px,3.5vw,19px);font-weight:600;letter-spacing:.03em;opacity:.8;margin-bottom:clamp(22px,5vh,46px)}
#stage[data-playback=manual] .dock-secondary{display:flex;align-items:center;justify-content:center;gap:8px;margin:4px 0 0}
#stage[data-playback=manual] .dock-secondary button{flex:1;grid-column:auto!important;grid-row:auto!important;border:0!important;background:transparent!important;color:var(--smuted)!important;font-size:12px!important;min-height:44px;max-width:150px}
#stage[data-playback=manual] .dock-secondary button:focus-visible{outline:2px solid var(--accent)}
#stage[data-playback=manual] .dock-status{margin-top:0;font-size:9px;min-height:8px}
#stage[data-playback=manual] .tap-instruction{color:var(--smuted);text-align:center;letter-spacing:.14em;font-size:10px;font-weight:650;padding:8px 0 1px;white-space:nowrap}
.tap-instruction span{color:var(--accent);font-size:15px}.tap-instruction i{font-style:normal;margin:0 .55em;opacity:.5}
#stage[data-playback=manual] #scrollHint{bottom:0}
#stage[data-playback=manual] .reading-wrap{min-height:0}
#stage[data-playback=manual] #stageText{max-width:28em;margin:auto}
#stage[data-playback=manual] #stageText p{margin-bottom:.75em}
#stage[data-playback=manual] #stageTitle,#stage[data-playback=manual] #stageNote{max-width:28em;margin-left:auto;margin-right:auto}
#stage[data-playback=manual] #stageCard.card-enter-next{animation:cardInNext .22s ease-out}
#stage[data-playback=manual] #stageCard.card-enter-previous{animation:cardInPrevious .22s ease-out}
@keyframes cardInNext{from{transform:translateX(12px);opacity:.6}to{transform:translateX(0);opacity:1}}
@keyframes cardInPrevious{from{transform:translateX(-12px);opacity:.6}to{transform:translateX(0);opacity:1}}
@media (orientation:landscape) and (max-height:540px){
 #stage[data-playback=manual]{display:flex;flex-direction:column;padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
 #stage[data-playback=manual] .stage-status{flex:none;min-height:28px}
 #stage[data-playback=manual] .progress{flex:none;margin-top:3px}
 #stage[data-playback=manual] .reading-wrap{flex:1;min-height:0}
 #stage[data-playback=manual] .thumb-dock{flex:none;padding:2px 0}
 #stage[data-playback=manual] .tap-instruction{display:none}
 #stage[data-playback=manual] .dock-secondary{display:flex!important;gap:5px}
 #stage[data-playback=manual] .dock-secondary button{min-height:39px!important}
 #stage[data-playback=manual] #stageCard{padding-top:12px}
 #stage[data-playback=manual] #stageTitle{margin-bottom:12px}
}
@media(max-width:359px){#stage[data-playback=manual] .tap-instruction{font-size:8px;letter-spacing:.09em}}
@media(prefers-reduced-motion:reduce){#stage[data-playback=manual] #stageCard{animation:none!important}}
/* Touch lock retains an intentionally visible way to unlock. */
#stage[data-playback=manual].locked .dock-primary{display:flex!important;margin-top:8px}
#stage[data-playback=manual].locked #nextBtn{display:block;flex:1;min-height:50px;border-radius:12px}
#stage[data-playback=manual].locked #prevBtn{display:none}
