:root{--bg: #f6f4f0;--surface: #ffffff;--ink: #2b2f33;--muted: #5e6672;--line: #e3e0da;--accent: #3a5a78;--accent-ink: #ffffff;--accent-hover: #2f4a63;--accent-soft: #e7edf3;--good: #43714f;--good-ink: #ffffff;--good-soft: #e9f2ec;--bad: #9d4b4b;--bad-ink: #ffffff;--bad-hover: #8a4444;--bad-soft: #f6ecec;--warn: #77601a;--warn-soft: #f7f1e3;--warn-line: #e5d9b8;--toast-bg: #2b2f33;--toast-ink: #ffffff;--live: #43714f;--radius: 10px;--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, "Cascadia Code", Consolas, Menlo, monospace;--font-atkinson: "Atkinson Hyperlegible", system-ui, sans-serif;--font-opendyslexic: "OpenDyslexic", system-ui, sans-serif}[data-scheme=paper]{--cap-bg: #f6f4f0;--cap-ink: #1f2326;--cap-muted: #5e6672;--cap-mark-bg: #f3e2a5;--cap-mark-ink: #1f2326;--cap-live: #43714f}[data-scheme=light]{--cap-bg: #ffffff;--cap-ink: #000000;--cap-muted: #4a4f55;--cap-mark-bg: #ffe14d;--cap-mark-ink: #000000;--cap-live: #2f6b3e}[data-scheme=dark]{--cap-bg: #000000;--cap-ink: #ffffff;--cap-muted: #b8bec6;--cap-mark-bg: #ffd84a;--cap-mark-ink: #000000;--cap-live: #8fd3a0}@font-face{font-family:OpenDyslexic;src:url(/fonts/OpenDyslexic3-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Atkinson Hyperlegible;src:url(/fonts/AtkinsonHyperlegible-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Atkinson Hyperlegible;src:url(/fonts/AtkinsonHyperlegible-Bold.ttf) format("truetype");font-weight:700;font-display:swap}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5}h1,h2,h3{line-height:1.25;margin:0 0 .5rem}h1{font-size:1.4rem}h2{font-size:1.15rem}h3{font-size:1rem}a{color:var(--accent)}p{margin:0 0 .75rem}ul,ol{margin:0 0 .75rem;padding-left:1.25rem}code,kbd{font-family:var(--mono);font-size:.9em}kbd{background:var(--accent-soft);border-radius:4px;padding:0 .35rem}.container{max-width:880px;margin:0 auto;padding:1rem 1rem 4rem}.muted{color:var(--muted)}.hint{color:var(--muted);font-size:.85rem;margin:.15rem 0 .5rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.card>:last-child{margin-bottom:0}input,select,textarea{font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:.5rem .6rem;max-width:100%;min-height:40px}textarea{width:100%;resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.15rem}.field{margin-bottom:.75rem}.field-row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:flex-end}input[type=range]{min-height:0;padding:0;border:none;background:transparent;width:100%;accent-color:var(--accent)}button{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:.5rem .9rem;cursor:pointer;min-height:40px}button:hover:not(:disabled){background:var(--accent-soft)}button:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-danger{background:var(--bad);border-color:var(--bad);color:var(--bad-ink)}.btn-danger:hover:not(:disabled){background:var(--bad-hover)}.btn-quiet{border-color:transparent;background:transparent;color:var(--accent)}.btn-big{min-height:52px;font-size:1.05rem;padding:.6rem 1.4rem}.button-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid var(--line);border-radius:8px;padding:.5rem .9rem;color:var(--ink);background:var(--surface);text-decoration:none}.button-link:hover{background:var(--accent-soft)}.button-link.btn-primary{color:var(--accent-ink);background:var(--accent);border-color:var(--accent)}.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:.4rem 0}.chip{font-size:.85rem;padding:.25rem .65rem;min-height:32px;border-radius:999px;background:var(--accent-soft);border:1px solid transparent;color:var(--ink)}.chip:hover:not(:disabled){border-color:var(--accent)}.chip.active{background:var(--accent);color:var(--accent-ink)}.seg{display:inline-flex;flex-shrink:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-bottom:.4rem;background:var(--surface)}.seg button{border:none;border-radius:0;min-height:36px;padding:.25rem .7rem;font-size:.85rem;white-space:nowrap}.seg button+button{border-left:1px solid var(--line)}.seg button.active{background:var(--accent);color:var(--accent-ink)}.app-header{background:var(--surface);border-bottom:1px solid var(--line);padding:.5rem 1rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.app-header .brand{font-weight:700;color:var(--ink);text-decoration:none;font-size:1.05rem;display:inline-flex;align-items:center;gap:.5rem}.app-header .brand img{width:22px;height:22px;border-radius:5px}.app-header nav{display:flex;gap:.5rem;flex-wrap:wrap}.app-header nav a{text-decoration:none;color:var(--muted);padding:.35rem .6rem;border-radius:6px;min-height:36px;display:inline-flex;align-items:center}.app-header nav a.active,.app-header nav a:hover{color:var(--accent);background:var(--accent-soft)}.app-header .spacer{flex:1}.status-pill{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;color:var(--muted);padding:.2rem .65rem;border-radius:999px;background:var(--bg);border:1px solid var(--line);white-space:nowrap}.status-pill .dot{width:9px;height:9px;border-radius:50%;background:var(--line)}.status-pill.listening .dot{background:var(--live)}.status-pill.paused .dot,.status-pill.starting .dot,.status-pill.stopping .dot{background:var(--warn)}.status-pill.error .dot{background:var(--bad)}.meter{width:120px;height:10px;border-radius:999px;background:var(--line);overflow:hidden}.meter>i{display:block;height:100%;background:var(--good);width:0;transition:width 80ms linear}.meter.hot>i{background:var(--bad)}.session-bar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem}.session-bar .clock{font-family:var(--mono);font-size:1.1rem;min-width:5.5rem}.session-bar .right{margin-left:auto;display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.tag-input{width:6.5rem;font-family:var(--mono);text-transform:uppercase}.banner{background:var(--warn-soft);border:1px solid var(--warn-line);border-radius:var(--radius);padding:.6rem 1rem;margin:0 0 .75rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.banner.error{background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}.error-text{color:var(--bad);font-size:.9rem}.privacy-line{border-left:3px solid var(--accent);background:var(--accent-soft);padding:.6rem .9rem;border-radius:0 var(--radius) var(--radius) 0;margin:.75rem 0}.progress{width:100%;height:12px;border-radius:999px;background:var(--line);overflow:hidden;margin:.5rem 0}.progress>i{display:block;height:100%;background:var(--accent);width:0;transition:width .2s ease}.welcome-wrap{padding:2rem 1rem 4rem;display:flex;justify-content:center}.welcome-card{width:100%;max-width:880px}.welcome-card>h1{max-width:720px;font-size:clamp(1.75rem,4vw,2.5rem)}.eyebrow{color:var(--accent);font-weight:700;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 .45rem}.welcome-lead{max-width:720px;color:var(--muted);font-size:1.05rem}.welcome-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.25rem 0}.choice-card,.know-first{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.choice-card.featured{border-color:var(--accent)}.choice-card p{min-height:3rem}.know-first{margin-bottom:1rem}.know-first ul{margin-bottom:0}.check-list{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}.check-list li{display:flex;gap:.6rem;align-items:flex-start}.check-list .mark{flex:0 0 1.4rem;height:1.4rem;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;background:var(--good-soft);color:var(--good);margin-top:.1rem}.check-list .mark.no{background:var(--bad-soft);color:var(--bad)}@media(max-width:640px){.welcome-actions{grid-template-columns:1fr}.choice-card p{min-height:0}}.caption-stage{background:var(--cap-bg);color:var(--cap-ink);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 2rem;min-height:40vh;display:flex;flex-direction:column;justify-content:flex-end;position:relative}.caption-stage.fill{border:none;border-radius:0;min-height:100vh;padding:4vh 6vw}.caption-stage:fullscreen{border:none;border-radius:0;padding:4vh 6vw;min-height:100vh}.caption-window{overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;max-height:calc(var(--cap-lines) * var(--cap-lh) * var(--cap-size))}.caption-text{margin:0;font-family:var(--cap-font);font-size:var(--cap-size);line-height:var(--cap-lh);overflow-wrap:anywhere}.caption-text mark{background:var(--cap-mark-bg);color:var(--cap-mark-ink);border-radius:.15em;padding:0 .1em}.caption-text .live{color:var(--cap-live)}.caption-placeholder{color:var(--cap-muted);font-family:var(--cap-font);font-size:calc(var(--cap-size) * .6);margin:0}.caption-hud{position:absolute;top:.75rem;right:1rem;display:flex;gap:.5rem;align-items:center;font-size:.85rem;color:var(--cap-muted)}.caption-hud .dot{width:10px;height:10px;border-radius:50%;background:var(--cap-muted);opacity:.4}.caption-hud .dot.on{background:var(--cap-live);opacity:1}.caption-stage:fullscreen .caption-hud button{display:none}.display-panel{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;align-items:flex-end}.display-panel>*{flex:0 1 auto;min-width:0}.display-panel .wide{flex:1 0 100%}.field-label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.35rem}.stepper{display:inline-flex;align-items:center;gap:.35rem}.stepper button{min-width:40px;padding:.25rem .5rem}.stepper output{font-family:var(--mono);min-width:3.2rem;text-align:center}.target-counts{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.target-counts .tag{font-size:.85rem}.marker-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) minmax(72px,auto);gap:.6rem;margin-bottom:.75rem}button.tap.undo{padding-left:.6rem;padding-right:.6rem}.marker-row.meeting{grid-template-columns:repeat(4,minmax(0,1fr))}button.tap.speaker{background:var(--accent-soft);border-color:var(--line);color:var(--ink)}button.tap.speaker small{color:var(--muted)}button.tap.action{background:var(--good-soft);border-color:var(--good);color:var(--good)}button.tap.action small{color:var(--good)}button.tap.decision{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}button.tap.decision small{color:var(--accent)}.transcript li.marker.speaker .text{color:var(--ink)}.transcript li.marker.action .text{color:var(--good)}.transcript li.marker.decision .text{color:var(--accent)}.timer-pick{display:inline-flex;align-items:center;gap:.4rem;margin:0;color:var(--muted);font-size:.85rem}.timer-pick select{min-height:36px;padding:.25rem .5rem}.session-bar .timer{font-size:1.05rem;color:var(--muted)}.session-bar .timer.warning{color:var(--warn);font-weight:600}.session-bar .timer.done{color:var(--bad);font-weight:600}button.tap{min-height:64px;font-size:1.05rem;font-weight:600;border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem}button.tap small{font-weight:400;font-size:.75rem;color:var(--muted)}button.tap.cue{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}button.tap.cue small{color:var(--accent)}button.tap.correct{background:var(--good-soft);border-color:var(--good);color:var(--good)}button.tap.correct small{color:var(--good)}button.tap.incorrect{background:var(--bad-soft);border-color:var(--bad);color:var(--bad)}button.tap.incorrect small{color:var(--bad)}button.tap.note{background:var(--warn-soft);border-color:var(--warn-line);color:var(--warn)}button.tap.note small{color:var(--warn)}@media(max-width:640px){.marker-row{grid-template-columns:repeat(2,minmax(0,1fr))}button.tap.undo{grid-column:1 / -1;min-height:44px}}.note-entry{display:flex;gap:.5rem;margin-bottom:.75rem}.note-entry input{flex:1}.tallies{display:flex;gap:.5rem 1.25rem;flex-wrap:wrap;font-size:.9rem;color:var(--muted);margin-bottom:.75rem}.tallies b{color:var(--ink);font-family:var(--mono)}.transcript{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.5rem .75rem;margin:0 0 1rem;list-style:none;max-height:55vh;overflow-y:auto;font-family:var(--notes-font, var(--font))}.transcript li{display:flex;gap:.6rem;align-items:baseline;padding:.35rem .25rem;border-bottom:1px solid var(--line)}.transcript li:last-child{border-bottom:none}.transcript .t{font-family:var(--mono);font-size:.8rem;color:var(--muted);flex:0 0 auto}.transcript .text{flex:1;overflow-wrap:anywhere}.transcript button.editable{text-align:left;font:inherit;color:inherit;background:transparent;border:1px solid transparent;border-radius:6px;padding:.1rem .35rem;margin:-.1rem -.35rem;min-height:0;cursor:text;line-height:inherit}.transcript button.editable:hover{background:var(--accent-soft)}.transcript .edit-line{margin:0}.transcript .edit-line input{width:100%;font:inherit;padding:.15rem .4rem;min-height:0}.session-bar .pace{font-size:.9rem}.transcript li.marker .text{color:var(--accent);font-weight:600}.transcript li.marker.correct .text{color:var(--good)}.transcript li.marker.incorrect .text{color:var(--bad)}.transcript li.marker.note .text{color:var(--warn);font-weight:400}.transcript .x{min-height:28px;padding:0 .5rem;font-size:.8rem;border-color:transparent;color:var(--muted)}.transcript .x:hover{color:var(--bad)}.transcript .empty{color:var(--muted);border-bottom:none}.transcript .pending{color:var(--muted);font-style:italic;border-bottom:none}.toolbar{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin-bottom:.75rem}.right{margin-left:auto}.kbd-hint{font-size:.8rem;color:var(--muted)}.toolbar>.kbd-hint{flex-basis:100%}.tag{display:inline-block;font-size:.75rem;padding:.1rem .5rem;border-radius:999px;background:var(--accent-soft);color:var(--accent);white-space:nowrap}.tag.good{background:var(--good-soft);color:var(--good)}.tag.quiet{background:var(--bg);color:var(--muted)}.readout{font-family:var(--mono)}.help-toc{display:flex;flex-wrap:wrap;gap:.4rem .9rem;margin:0 0 1rem;padding:.75rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);font-size:.9rem}.help-toc a{text-decoration:none}.help-toc a:hover{text-decoration:underline}.swatch-dots{display:inline-flex;gap:3px;margin-right:.4rem;vertical-align:-1px}.swatch-dots i{width:10px;height:10px;border-radius:3px;border:1px solid rgba(128,128,128,.5);display:block}.lock-wrap-inline{display:flex;justify-content:center;padding:1rem 0}.lock-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:2rem;width:100%;max-width:480px}.vault-inline{max-width:480px}.warning-box{background:var(--warn-soft);border:1px solid var(--warn-line);border-radius:8px;padding:.75rem;font-size:.9rem;margin:.75rem 0}.ack-list{display:grid;gap:.6rem;margin:.75rem 0}.ack-list label{display:flex;gap:.55rem;align-items:flex-start;color:var(--ink);font-size:.95rem}.ack-list input{margin-top:.25rem;min-height:0}.row-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;padding:0;margin:0 0 1rem}.row-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.5rem .75rem;display:flex;align-items:center;gap:.75rem}.row-item:hover{border-color:var(--accent)}.row-main{flex:1;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;text-decoration:none;color:var(--ink);min-height:40px}.row-tag{font-family:var(--mono);font-weight:700;min-width:3.5rem}.row-when{color:var(--muted)}.row-item .x{min-height:32px;padding:0 .5rem;font-size:.8rem;border-color:transparent;color:var(--muted)}.row-item .x:hover{color:var(--bad)}.toast{position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);background:var(--toast-bg);color:var(--toast-ink);border-radius:999px;padding:.55rem 1.1rem;display:flex;align-items:center;gap:.75rem;z-index:50;max-width:90vw}.toast button{background:transparent;border:1px solid var(--toast-ink);color:var(--toast-ink);min-height:30px;padding:.15rem .7rem;border-radius:999px;font-size:.85rem}@media(prefers-reduced-motion:no-preference){.chip,button{transition:background-color .12s ease,border-color .12s ease}.caption-hud .dot.on{animation:pulse 1.2s ease-in-out infinite}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}@media print{.app-header,.toast,.no-print{display:none!important}}
