:root{color:#1c2822;--ink:#1c2822;--muted:#5f6b64;--line:#e2e5de;--card:#fff;--green:#1c6b45;--green-soft:#e6f3ec;--paper:#f3f0e8;background:#f3f0e8;font-family:Segoe UI,ui-sans-serif,system-ui,sans-serif;line-height:1.45}*{box-sizing:border-box}body{min-width:20rem;margin:0}button,input,select,textarea{color:inherit;font:inherit}:focus-visible{outline:2px solid var(--green);outline-offset:2px}h1,h2,h3{letter-spacing:-.02em;margin:0;font-weight:600;line-height:1.2}h1{font-size:1.8rem}h2{font-size:1.15rem}button{background:var(--card);cursor:pointer;border:1px solid #d5dbd4;border-radius:.6rem;min-height:2.5rem;padding:.4rem .8rem}button:hover:not(:disabled){background:#fbfbf8;border-color:#b7c2b8}button.primary{background:var(--ink);color:#f6f4ef;border-color:var(--ink)}button.primary:hover:not(:disabled){background:#2a3a32}button.link{color:var(--green);background:0 0;border:0;min-height:2rem}button.quiet{color:var(--muted);background:0 0;border:0;min-height:2.2rem;padding-inline:.45rem}button.quiet:hover:not(:disabled){color:#8d2b2b;background:0 0}button.current{background:var(--green-soft);border-color:#0000}button:disabled{cursor:not-allowed;opacity:.5}input,select,textarea{background:#fff;border:1px solid #d5dbd4;border-radius:.6rem;width:100%;min-height:2.5rem;padding:.55rem .7rem}textarea{resize:vertical;line-height:1.5}label{color:var(--muted);gap:.28rem;font-size:.82rem;display:grid}.auth-screen{place-items:center;min-height:100vh;padding:1.5rem;display:grid}.auth-card,.card{gap:.85rem;display:grid}.card,.modal,.auth-card{background:var(--card);border:1px solid var(--line);border-radius:.9rem;padding:1rem 1.05rem;box-shadow:0 1px 2px #1c28220a}.auth-card{width:min(26rem,100%);padding:1.4rem}.auth-card p{color:var(--muted);margin:0}.shell{min-height:100vh}.shell.has-player{padding-bottom:10.5rem}.topbar,.reader-toolbar,.reader-actions,.language-row,.inline-form{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.topbar{border-bottom:1px solid var(--line);z-index:10;background:#f3f0e8eb;justify-content:space-between;padding:.7rem 1.1rem;position:sticky;top:0}.brand{letter-spacing:-.03em;font-size:1rem}.topbar-actions{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.account,.online,.offline{color:var(--muted);font-size:.85rem}.topbar button{min-height:2.1rem;color:var(--muted);background:0 0;border-color:#0000}.topbar button:hover:not(:disabled){color:var(--ink);background:#fff}.offline{color:#8a5a12}.layout{grid-template-columns:14.5rem minmax(0,48rem);justify-content:center;gap:1.25rem;padding:1.1rem;display:grid}aside,main{align-content:start;gap:.85rem;display:grid}.library-head{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.library-actions{gap:.5rem;display:flex}.library-head h1{font-size:1.35rem}.library-head button{flex:none;width:auto}.continue{text-align:left;background:var(--green);color:#fff;border-color:var(--green);align-items:center;gap:.75rem;width:100%;min-height:3.25rem;padding:.4rem .85rem;display:flex}.continue:hover:not(:disabled){background:#228656;border-color:#228656}.continue span{gap:.05rem;display:grid}.continue small{color:#ffffffd1}aside h2{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600}.project-list,.text-list,.chunk-list,.token-list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.project-list button,.chunk-list button{text-align:left;background:0 0;border:0;width:100%;min-height:2.35rem;display:grid}.project-list button:hover:not(:disabled){background:#fff}.project-list button.current{background:var(--green-soft)}.project-list small{color:var(--muted)}.new-project,.project-draft,.project-draft button{width:100%}.text-list{gap:.5rem}.text-list li{background:var(--card);border:1px solid var(--line);border-radius:.85rem;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.45rem;padding:.35rem .4rem .35rem .35rem;display:grid}.text-list li button.text-open{text-align:left;background:0 0;border:0;gap:.05rem;min-height:2.6rem;padding:.2rem .35rem;display:grid}.text-list li button.text-open:hover{background:0 0}.text-list li button.text-open strong{letter-spacing:-.01em;font-size:1rem}.row-play{border:2px solid var(--green);background:var(--green);color:#fff;border-radius:999px;place-items:center;width:2.75rem;min-height:2.75rem;padding:0;display:grid}.row-play:hover:not(:disabled){background:#228656;border-color:#228656}.list-tools{grid-template-columns:1fr 11.5rem;align-items:end;gap:.6rem;display:grid}.listen{letter-spacing:.04em;text-transform:uppercase;border:0;border-radius:999px;width:auto;min-height:1.7rem;padding:.15rem .6rem;font-size:.72rem}.listen-new{color:#fff;background:#1f7a4d}.listen-started{color:#1c2822;background:#e0b322}.listen-listened{color:#fff;background:#2f5f9f}small,.meta,.clip-label{color:var(--muted)}.meta{margin:0;font-size:.9rem}.clip{font-size:1.05rem}.listening-chunks{gap:.65rem;display:grid}.listening-chunks .clip{border:1px solid var(--line);background:var(--card);border-radius:.85rem;gap:.45rem;padding:.8rem .9rem;display:grid}.chunk-head{align-items:center;gap:.55rem;display:flex}.chunk-head .clip-label{margin:0;font-size:.82rem}.chunk-play,.chunk-toggle{border-radius:999px;min-height:2rem;padding:.1rem .7rem}.chunk-play{border:2px solid var(--green);background:var(--green);color:#fff;border-radius:999px;flex:none;place-items:center;width:2.75rem;min-height:2.75rem;padding:0;display:grid}.chunk-play:hover:not(:disabled){background:#228656;border-color:#228656}.chunk-toggle{background:0 0;margin-left:auto}.chunk-summary{color:var(--ink);margin:0;font-family:Georgia,Iowan Old Style,Palatino,Palatino Linotype,serif;font-size:1.08rem;line-height:1.4}.chunk-body{border-top:1px solid var(--line);gap:.55rem;padding-top:.35rem;font-family:Georgia,Iowan Old Style,Palatino,Palatino Linotype,serif;font-size:1.08rem;line-height:1.55;display:grid}.chunk-body p{margin:0}.current-chunk{border-color:#c5cdc6;box-shadow:inset 3px 0 #8ea196}.playing-chunk{box-shadow:inset 4px 0 0 var(--green);background:#f3faf6;border-color:#b7d7c6}.summary-chunk{background:#f3faf6;border-color:#c5ddd0}.translation-chunk{background:#f4f7f8}.summary-chunk.translation-chunk{background:#eef3f4}.reader-toolbar h2{flex:1;min-width:12rem;font-size:1.35rem}.reader-actions{align-items:center}.status{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.7rem}.view-switch{border:1px solid var(--line);background:#f7f6f2;border-radius:999px;gap:.15rem;padding:.15rem;display:flex}.view-switch button{background:0 0;border:0;border-radius:999px;min-height:2rem}.view-switch button.current{background:#fff;box-shadow:0 1px 2px #1c282214}.original-text{white-space:pre-wrap;margin:0;font-family:Georgia,Iowan Old Style,Palatino,Palatino Linotype,serif;font-size:1.05rem;line-height:1.55}.stack{gap:.7rem;display:grid}.error{color:#8d2b2b;margin:0}.notice{color:var(--green);margin:0}.modal-backdrop{background:#1c282259;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal{gap:.8rem;width:min(40rem,100%);max-height:90vh;display:grid;overflow:auto}.modal-header{justify-content:space-between;align-items:center;display:flex}.player-dock{z-index:20;width:min(64rem,100% - 1.5rem);padding:.7rem .85rem calc(.7rem + env(safe-area-inset-bottom));color:#f6f4ef;background:#1c2822;border-radius:1rem;gap:.45rem;display:grid;position:fixed;bottom:.75rem;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #1c282247}.player-progress{font-variant-numeric:tabular-nums;color:#d5ddd6;grid-template-columns:3.2rem 1fr 3.2rem;align-items:center;gap:.6rem;font-size:.82rem;display:grid}.player-progress input[type=range]{accent-color:#f6f4ef;background:0 0;border:0;width:100%;min-height:1.4rem;margin:0;padding:0}.player-controls{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.player-dock button{min-height:3.25rem;color:inherit;background:#24332c;border:2px solid #c5d0c8}.player-dock button:hover:not(:disabled){background:#31443b;border-color:#f6f4ef}.player-dock button.icon{border-radius:.7rem;place-items:center;width:3.25rem;padding:0;display:grid}.player-dock button.primary{color:var(--ink);background:#f6f4ef;border-color:#f6f4ef}.player-dock button.primary:hover:not(:disabled){background:#fff}.player-speed{border-left:1px solid #3c4b42;align-items:center;gap:.45rem;margin-left:auto;padding-left:.7rem;font-size:.95rem;display:flex}.player-rate{text-align:center;font-variant-numeric:tabular-nums;color:#d5ddd6;min-width:8.2rem}.player-count{font-variant-numeric:tabular-nums;text-align:center;min-width:2.6rem;font-size:1rem}.player-audio{opacity:0;width:0;height:0;position:absolute}@media (width<=800px){.layout{grid-template-columns:1fr;padding:.8rem}.language-row{align-items:stretch}.language-row>*{flex:1}.list-tools{grid-template-columns:1fr}.text-list li{grid-template-columns:auto minmax(0,1fr)}.text-list .listen,.text-list .quiet{justify-self:start}.shell.has-player{padding-bottom:14rem}.player-dock{border-radius:1rem 1rem 0 0;width:100%;bottom:0;left:0;transform:none}.player-speed{border-left:0;margin-left:0;padding-left:0}.player-rate{min-width:0}}
