:root{color-scheme:light;--ink:#111;--muted:#666;--line:#d6d6d6;--accent:#111;--bg:#f5f5f5}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 system-ui,-apple-system,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}
button,input,select,textarea,audio{outline-offset:3px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #555}
header{padding:19px 30px;background:#111;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px}.tabs{display:flex;gap:6px}.tabs button{min-height:36px;padding:5px 12px;border-color:#555;background:#111;color:#ccc}.tabs button.active{background:#fff;color:#111;border-color:#fff}
.brand{display:flex;align-items:center;gap:12px}.mark{background:#fff;color:#111;border-radius:11px;width:39px;height:39px;display:grid;place-items:center;font-weight:700}
h1{font-size:20px;line-height:1.4;margin:0}header p{font-size:14px;margin:2px 0 0;color:#ccc}.pill{font-size:14px;border:1px solid #777;border-radius:24px;padding:5px 12px;white-space:nowrap}
.wrap{max-width:1500px;margin:auto;padding:24px 30px}.dashboard h2{font-size:28px;margin:0}.dashboard>p{color:var(--muted);margin:2px 0 22px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stat{padding:22px}.stat-label{color:var(--muted);font-size:14px}.stat-value{font-size:34px;font-weight:700;line-height:1.2;margin:8px 0}.stat-detail{font-size:14px;color:var(--muted)}progress{width:100%;height:16px;margin-top:22px;accent-color:#111}.ingest{padding:18px;margin-bottom:20px}.ingest h2{font-size:16px;margin:0 0 10px}.ingest-form{display:flex;gap:10px}.ingest-form input{flex:1}.check{display:flex;align-items:center;gap:8px;font-size:14px;margin-top:10px}.check input{min-height:auto}.job{font-size:14px;color:var(--muted);margin:8px 0 0}.dataset{display:flex;gap:16px;align-items:end;margin-bottom:20px}.dataset label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}
.dataset .field{flex:1;min-width:0}select,input{background:#fff;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:9px 12px;min-height:44px}.dataset select{width:100%}
button{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:9px 16px;min-height:44px;font-weight:600;white-space:nowrap}.primary{background:#111;border-color:#111;color:#fff}.secondary{color:#111;border-color:#777;background:#fff}
.workspace{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.side-head{padding:17px;border-bottom:1px solid var(--line)}.side-head h2{font-size:16px;margin:0 0 12px}.side-head input{width:100%;font-size:14px}.clip-list{position:relative;height:570px;overflow:auto;padding:7px}.clip{width:100%;text-align:left;border:0;border-radius:8px;white-space:normal;display:block;padding:12px;margin:3px 0;font-weight:400}
.clip:hover{background:#eee}.clip.active{background:#e5e5e5;box-shadow:inset 3px 0 0 #111}.clip-top{display:flex;justify-content:space-between;gap:8px;font-weight:600;font-size:14px}.clip-snippet{display:block;font-size:14px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px}.draft-dot{color:#111}.list-note{padding:12px;font-size:14px;color:var(--muted);text-align:center}
.edit-head{padding:22px 26px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}.eyebrow{font-size:14px;color:var(--muted);margin:0}.edit-head h2{font-size:23px;margin:3px 0 0;overflow-wrap:anywhere}.badge{font-size:14px;padding:4px 12px;border-radius:24px;background:#eee;color:#111;white-space:nowrap}.badge.dirty{background:#ddd;color:#111}
.editor-body{padding:24px 26px}.source{font-size:14px;color:var(--muted);margin:0 0 14px}.source a{color:#111;font-weight:600}.audio-box{padding:18px 20px;background:#f0f0f0;border-radius:10px;margin-bottom:23px}.audio-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-size:14px;color:var(--muted)}.audio-top select{min-height:34px;padding:3px 8px;font-size:14px}audio{width:100%;display:block;height:44px}.audio-error{color:#111;font-size:14px;margin:8px 0 0;font-weight:600}
.text-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.text-head label{font-weight:650}.count{color:var(--muted);font-size:14px}textarea{width:100%;min-height:235px;resize:vertical;line-height:1.85;padding:17px 18px;border:1px solid #bdc9da;border-radius:9px;color:var(--ink);background:#fff;font-size:19px;display:block}.hint{font-size:14px;color:var(--muted);margin:9px 0 20px}
.actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.nav{padding:18px 26px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.jump{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--muted)}.jump input{width:82px;min-height:40px;padding:6px 8px}.jump button{min-height:40px;padding:6px 10px}
.empty{padding:70px 30px;text-align:center;color:var(--muted)}.empty h2{color:var(--ink);font-size:23px;margin:0 0 10px}.empty p{margin:0}.alert{padding:12px 16px;background:#eee;color:#111;border:1px solid #999;border-radius:9px;margin:0 0 18px;white-space:pre-wrap}.alert.success{background:#111;color:#fff;border-color:#111}
.conflict{border:1px solid #777;background:#eee;padding:16px;border-radius:9px;margin-top:15px}.conflict p{margin:0 0 8px}.conflict pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:16px;line-height:1.7;background:white;padding:12px;max-height:160px;overflow:auto}.conflict .actions{justify-content:flex-start}
footer{font-size:14px;color:var(--muted);display:flex;gap:12px;justify-content:space-between;padding:16px 3px;flex-wrap:wrap}.root{overflow-wrap:anywhere}kbd{font:12px system-ui;background:#ddd;border-radius:4px;padding:2px 5px} [hidden]{display:none!important}
@media(max-width:1000px){.workspace{grid-template-columns:235px minmax(0,1fr)}.wrap{padding:20px}.editor-body,.edit-head,.nav{padding:18px}.nav{flex-wrap:wrap}.jump{order:3;justify-content:center;width:100%}}
@media(max-width:720px){header{padding:16px;flex-wrap:wrap}.tabs{order:3;width:100%}.tabs button{flex:1}.wrap{padding:16px}.stats{grid-template-columns:1fr}.workspace{grid-template-columns:1fr}.clip-list{position:relative;height:190px}.dataset{gap:8px}.dataset button{padding:9px}.edit-head h2{font-size:20px}.editor-body{padding:16px}.audio-box{padding:12px}.actions button{flex:1}.pill{font-size:12px}.text-head{align-items:baseline}}
/* Calm monochrome workspace: one clear action per screen. */
:root{--ink:#171717;--muted:#737373;--line:#e5e5e5;--soft:#f7f7f5;--bg:#efefec}
body{line-height:1.5;background:var(--bg)}
header{min-height:76px;padding:16px 32px;border-bottom:1px solid #2d2d2d;position:sticky;top:0;z-index:10}
.brand{gap:14px}.mark{border-radius:50%;width:42px;height:42px}.brand p{margin-top:0}
.tabs{background:#242424;border-radius:10px;padding:4px}.tabs button{border:0;border-radius:7px;color:#aaa}.tabs button.active{box-shadow:0 1px 3px #0005}
.wrap{max-width:1440px;padding:36px 32px 48px}.panel{border-color:var(--line);border-radius:18px;box-shadow:0 1px 2px #00000008}
.page-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.page-head h2{font-size:34px;letter-spacing:-.04em}.page-head p{color:var(--muted);margin:4px 0 0}.step{font-size:13px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.stats{gap:14px}.stat{padding:24px}.stat-value{font-size:40px;letter-spacing:-.04em}.stat:first-child{background:#171717;color:#fff}.stat:first-child .stat-label,.stat:first-child .stat-detail{color:#aaa}
.progress-card{margin-top:14px;padding:24px;display:grid;grid-template-columns:1fr auto;gap:8px 24px;align-items:center}.progress-card progress{grid-column:1/-1;margin:4px 0 0;height:10px}.progress-card p{margin:0;color:var(--muted)}
.home-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:14px;margin-top:14px}.next-action,.ingest{padding:26px;margin:0}.next-action{background:#fff}.next-action h3,.ingest h3{font-size:21px;margin:8px 0}.next-action p,.ingest>p{color:var(--muted);margin:0 0 20px}.next-action button{width:100%}
.ingest-form{display:grid;grid-template-columns:1fr auto}.check{align-items:flex-start;color:var(--muted)}.check input{margin-top:4px}.job{min-height:21px;margin-bottom:0}
.review-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}.review-head h2{font-size:30px;letter-spacing:-.035em;margin:0}.review-head p{margin:3px 0 0;color:var(--muted)}
.dataset{margin:0;min-width:420px}.workspace{grid-template-columns:340px minmax(0,1fr);gap:14px}.side-head{padding:18px}.side-tools{display:grid;grid-template-columns:1fr 120px;gap:8px}.side-head h2{display:flex;justify-content:space-between}.clip-list{height:calc(100vh - 285px);min-height:480px;padding:8px}.clip{border-radius:11px;padding:13px}.clip:hover{background:var(--soft)}.clip.active{background:#171717;color:#fff;box-shadow:none}.clip.active .clip-snippet,.clip.active .clip-meta{color:#aaa}.clip-meta{font-size:12px;color:var(--muted);font-weight:650}.state-dot{width:8px;height:8px;border:1px solid currentColor;border-radius:50%;display:inline-block;margin-right:6px}.state-dot.done{background:currentColor}
.edit-head{padding:22px 28px}.eyebrow{font-weight:650}.badge{font-weight:700}.badge.reviewed{background:#171717;color:#fff}.editor-body{padding:26px 28px}.source{margin-top:-6px}.audio-box{background:var(--soft);border:1px solid var(--line);padding:18px;border-radius:13px}.text-head label{font-size:18px}textarea{min-height:260px;border-color:#ccc;border-radius:12px;font-size:20px;line-height:1.8}.hint{margin-bottom:18px}.actions{border-top:1px solid var(--line);padding-top:18px}.actions .primary{min-width:230px}.nav{background:var(--soft)}
button{border-radius:9px;transition:background .15s,color .15s,transform .05s}button:active:not(:disabled){transform:translateY(1px)}.primary{background:#171717}.secondary{border-color:#999}.alert{border-radius:12px}
footer{padding-top:18px}.footer-shortcuts{margin-left:auto}.root{max-width:60%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){.home-grid{grid-template-columns:1fr}.review-head{align-items:stretch;flex-direction:column}.dataset{min-width:0}.workspace{grid-template-columns:280px minmax(0,1fr)}}
@media(max-width:720px){header{position:static}.page-head{align-items:start;flex-direction:column}.page-head h2{font-size:29px}.wrap{padding:24px 16px}.home-grid{grid-template-columns:1fr}.progress-card{grid-template-columns:1fr}.workspace{grid-template-columns:1fr}.clip-list{height:230px;min-height:0}.side-tools{grid-template-columns:1fr 110px}.review-head h2{font-size:27px}.dataset{flex-wrap:wrap}.dataset .field{flex-basis:100%}.actions .primary{min-width:0}.root{display:none}.footer-shortcuts{margin:0}.ingest-form{grid-template-columns:1fr}.ingest-form button{width:100%}}
.workspace{align-items:start}.workspace>aside{align-self:start}.workspace>aside .clip-list{height:min(560px,calc(100vh - 300px));min-height:360px}
*{border-radius:0!important}
@media(max-width:720px){.workspace>aside .clip-list{height:230px;min-height:0}}
.dictionary{border-top:1px solid var(--line);margin:18px 0;padding-top:14px}.dictionary summary{cursor:pointer;font-weight:700}.dictionary input{flex:1;min-width:160px}.dictionary article{border-top:1px solid var(--line);padding:14px 0}.dictionary pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;line-height:1.7;margin:8px 0}#dictionary-results{max-height:440px;overflow:auto}#dictionary-status{font-size:14px}
.word-review{border:1px solid var(--line);border-radius:10px;padding:14px;margin:14px 0}.suggestion-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:2;font-size:20px;max-height:220px;overflow:auto}.suggestion-word{display:inline;background:#ffe36e;color:#111;border:0;border-radius:3px;padding:0 2px;min-height:0;font:inherit;line-height:inherit;cursor:pointer}.suggestion-word:hover,.suggestion-word:focus-visible{background:#ffd438;outline:2px solid #715600}#suggestion-undo{margin-top:10px}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,420px);padding:32px}.login-card h1{margin:12px 0}.login-card form{display:grid;gap:12px;margin-top:24px}.login-card input{width:100%;box-sizing:border-box}#login-error{color:#a12622}#current-user{font-size:14px}
/* Let controls shrink and wrap instead of forcing the page wider than the screen. */
header{flex-wrap:wrap}.brand,.brand>div,.review-head>div,.workspace>*,.home-grid>*{min-width:0}.mark{flex-shrink:0}.account-controls{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap;min-width:0;margin-left:auto}.account-controls #current-user{overflow-wrap:anywhere}.dataset{min-width:0;max-width:100%;flex:0 1 620px}.dataset select,.side-tools input,.side-tools select,.ingest-form input{min-width:0;max-width:100%}.side-tools{grid-template-columns:minmax(0,1fr) 120px}.ingest-form{grid-template-columns:minmax(0,1fr) auto}.clip-top>span:first-child{min-width:0;overflow-wrap:anywhere}.clip-meta{flex-shrink:0}.audio-top{flex-wrap:wrap}.source,.eyebrow{overflow-wrap:anywhere}#assignment-panel{padding:20px;margin-bottom:18px}#assignment-panel .actions{justify-content:flex-start}#assignment-panel select{min-width:0;max-width:100%}.actions button{white-space:normal}.login-card{min-width:0;max-width:100%}
@media(max-width:900px){.dataset{flex-basis:auto;width:100%}.account-controls{margin-left:0}}
@media(max-width:720px){header{padding:16px}.account-controls{width:100%;justify-content:flex-start}.tabs{order:0}.side-tools{grid-template-columns:minmax(0,1fr) 110px}.ingest-form{grid-template-columns:minmax(0,1fr)}.dictionary input{min-width:0;width:100%;flex-basis:100%}.edit-head{flex-wrap:wrap}.text-head{flex-wrap:wrap}.login-wrap{padding:16px}.login-card{padding:24px}#assignment-panel .actions{flex-direction:column;align-items:stretch}}
@media(max-width:720px){.editor-body,.edit-head,.nav{padding:16px}.actions button{flex:1 1 140px}.actions .primary{flex-basis:100%}#assignment-panel .actions button{flex:0 0 auto}}

.check input[type="checkbox"]{flex:0 0 auto;width:18px;height:18px}
