:root{
  --navy-950:#06172c;
  --navy-900:#08203c;
  --navy-850:#0b294c;
  --navy-800:#10335d;
  --gold-500:#e7aa2d;
  --gold-400:#f2bd4d;
  --gold-300:#f7cf77;
  --green:#42b96b;
  --danger:#d65d5d;
  --radius-lg:18px;
  --radius-md:12px;
  --radius-sm:9px;
}

html[data-theme="classic"]{
  --page:#06172c;
  --topbar:#071b33;
  --rail:#071d38;
  --rail-card:#092342;
  --rail-card-2:#0a294d;
  --reader:#071a31;
  --reader-header:#082241;
  --reader-footer:#08213e;
  --surface:#071a31;
  --surface-soft:#0a2342;
  --text:#f4f7fb;
  --text-strong:#ffffff;
  --muted:#aab9cc;
  --muted-2:#8094ae;
  --border:#1b3b60;
  --border-soft:#143453;
  --control:#0b2a4f;
  --control-hover:#123861;
  --gold:var(--gold-400);
  --gold-soft:rgba(242,189,77,.20);
  --gold-softer:rgba(242,189,77,.11);
  --shadow:0 20px 50px rgba(0,0,0,.28);
  --input:#071d38;
  --input-text:#f4f7fb;
  --spoken:#aebbd0;
}

html[data-theme="night"]{
  --page:#080b10;
  --topbar:#0b0f16;
  --rail:#0b0f16;
  --rail-card:#111720;
  --rail-card-2:#141b25;
  --reader:#0b1018;
  --reader-header:#0d131d;
  --reader-footer:#0d131d;
  --surface:#0b1018;
  --surface-soft:#111824;
  --text:#e7ebf1;
  --text-strong:#f8fafc;
  --muted:#a2a9b4;
  --muted-2:#777f8b;
  --border:#252e3b;
  --border-soft:#1c2530;
  --control:#141c27;
  --control-hover:#1d2937;
  --gold:#d8a43d;
  --gold-soft:rgba(216,164,61,.17);
  --gold-softer:rgba(216,164,61,.09);
  --shadow:0 20px 50px rgba(0,0,0,.38);
  --input:#0e151f;
  --input-text:#eef2f7;
  --spoken:#9da5b0;
}

html[data-theme="light"]{
  --page:#eef2f6;
  --topbar:#0a2a50;
  --rail:#ffffff;
  --rail-card:#ffffff;
  --rail-card-2:#f7f9fb;
  --reader:#ffffff;
  --reader-header:#0a2a50;
  --reader-footer:#ffffff;
  --surface:#ffffff;
  --surface-soft:#f4f6f8;
  --text:#17202b;
  --text-strong:#0f1720;
  --muted:#637083;
  --muted-2:#8a96a6;
  --border:#d8e0e8;
  --border-soft:#e7edf2;
  --control:#ffffff;
  --control-hover:#f1f5f8;
  --gold:#d79a22;
  --gold-soft:rgba(231,170,45,.25);
  --gold-softer:rgba(231,170,45,.11);
  --shadow:0 16px 40px rgba(20,42,72,.12);
  --input:#ffffff;
  --input-text:#17202b;
  --spoken:#667385;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  min-width:320px;
  min-height:100vh;
  color:var(--text);
  background:var(--page);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.5;
  transition:background-color .2s ease,color .2s ease;
}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{opacity:.45;cursor:not-allowed}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:3px solid rgba(242,189,77,.38);
  outline-offset:2px;
}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.hidden{display:none!important}

.app-shell{min-height:100vh}
.app-topbar{
  height:52px;
  padding:0 clamp(16px,2.5vw,34px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  background:var(--topbar);
  border-bottom:1px solid rgba(255,255,255,.08);
  color:#fff;
  position:sticky;
  top:0;
  z-index:100;
}
.brand{display:flex;align-items:center;gap:12px;min-width:0}
.brand-mark{width:32px;height:32px;border-radius:11px;display:grid;place-items:center;background:rgba(242,189,77,.12);border:1px solid rgba(242,189,77,.35);color:var(--gold);font-weight:900}
.brand h1{margin:0;font-size:17px;line-height:1.1;color:#fff}
.eyebrow,.section-kicker{font-size:10px;letter-spacing:.12em;font-weight:800;color:var(--gold)}
.topbar-actions{display:flex;align-items:center;gap:12px}
.status-pill{padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);font-size:12px;color:#e7edf5;white-space:nowrap}
.theme-switcher{display:flex;gap:3px;padding:3px;border-radius:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.theme-btn{border:0;background:transparent;color:#ced8e6;padding:5px 8px;border-radius:7px;font-size:12px}
.theme-btn.active{background:var(--gold);color:#07172a;font-weight:800}

.workspace{max-width:1240px;margin:0 auto;padding:32px clamp(16px,3vw,36px) 56px}
.setup-workspace{max-width:1120px}
.setup-card,.overview-intro,.metric,.overview-section-card{
  background:var(--rail-card);
  border:1px solid var(--border);
  color:var(--text);
}
.setup-card{padding:28px;border-radius:var(--radius-lg);box-shadow:var(--shadow)}
.setup-card h2,.overview-header h2{margin:3px 0 7px;font-size:30px;line-height:1.15;color:var(--text-strong)}
.subtext{margin:0;color:var(--muted);max-width:900px}
.field-label{display:block;font-size:13px;font-weight:750;color:var(--text);margin-bottom:7px}
.setup-card .field-label{margin-top:24px}
textarea{
  width:100%;min-height:390px;resize:vertical;padding:16px 17px;border-radius:13px;
  border:1px solid var(--border);background:var(--input);color:var(--input-text);
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:1.6
}
select,.text-input,input[type="search"]{
  width:100%;min-height:40px;padding:8px 10px;border-radius:9px;border:1px solid var(--border);
  background:var(--input);color:var(--input-text)
}
.setup-options{display:grid;grid-template-columns:1fr 1fr minmax(220px,.7fr);gap:12px;margin-top:14px}
.toggle-row{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--text);padding:10px 11px;border-radius:9px;background:var(--surface-soft);border:1px solid var(--border-soft)}
.toggle-row input{accent-color:var(--gold)}
.select-field{font-size:12px;font-weight:700;color:var(--muted);display:flex;flex-direction:column;gap:5px}
.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.btn{border-radius:9px;padding:9px 14px;border:1px solid transparent;font-weight:750;min-height:42px}
.btn.primary{background:var(--gold);color:#07172a;border-color:var(--gold)}
.btn.secondary{background:var(--control);color:var(--text);border-color:var(--border)}
.btn.ghost{background:transparent;color:var(--text);border-color:var(--border)}
.btn:hover{filter:brightness(1.04)}
.inline-message{min-height:22px;margin-top:10px;font-size:13px;color:var(--muted)}

.overview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}
.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.metric{padding:18px;border-radius:14px}
.metric span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}
.metric strong{display:block;font-size:26px;line-height:1.1;color:var(--text-strong)}
.overview-intro{margin:16px 0 26px;border-radius:14px;padding:18px;display:flex;justify-content:space-between;gap:18px;align-items:center;background:linear-gradient(135deg,var(--rail-card),var(--gold-softer))}
.overview-intro p{margin:5px 0 0;color:var(--muted)}
.overview-section-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:11px}
.overview-section-heading h3{margin:0;font-size:18px}
.overview-section-heading span{font-size:13px;color:var(--muted)}
.overview-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.overview-section-card{padding:16px;border-radius:13px;text-align:left;transition:transform .12s ease,border-color .12s ease;background:var(--rail-card)}
.overview-section-card:hover{transform:translateY(-1px);border-color:var(--gold)}
.overview-section-card.done{box-shadow:inset 3px 0 0 var(--green)}
.overview-section-card .section-meta{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.overview-section-card .section-name{display:block;margin-top:4px;color:var(--text-strong);font-weight:750;font-size:15px}
.overview-section-card .section-foot{display:flex;justify-content:space-between;gap:10px;margin-top:8px;font-size:12px;color:var(--muted)}

.reader-shell{
  min-height:calc(100vh - 52px);
  display:grid;
  grid-template-columns:370px minmax(0,1fr);
  background:var(--page);
}
.control-rail{
  min-width:0;
  padding:16px;
  background:var(--rail);
  border-right:1px solid var(--border);
  display:flex;
  flex-direction:column;
  gap:0;
  position:sticky;
  top:52px;
  align-self:start;
  height:calc(100vh - 52px);
  overflow:auto;
}
.monitor-card,.player-card,.tool-panel-card{
  background:var(--rail-card);
  border:1px solid var(--border);
  color:var(--text);
}
.monitor-card{border-radius:13px 13px 0 0;overflow:hidden}
.monitor-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 15px;border-bottom:1px solid var(--border);background:var(--rail-card-2)}
.monitor-title{font-size:14px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:var(--gold);display:flex;align-items:center;gap:8px}
.wave-icon{color:var(--gold)}
.live-badge{font-size:11px;font-weight:850;padding:4px 8px;border-radius:6px;border:1px solid var(--gold);color:var(--gold)}
.live-badge.live{background:var(--gold);color:#08182b}
.monitor-body{padding:13px 15px;background:linear-gradient(150deg,var(--rail-card),var(--gold-softer))}
.monitor-state,.voice-mini{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px}
.status-dot{width:8px;height:8px;border-radius:50%;background:#6a85a7;display:inline-block;flex:0 0 auto}
.live .status-dot,.monitor-state.live .status-dot{background:var(--gold);box-shadow:0 0 0 4px var(--gold-softer)}
.live-text{font-size:18px;line-height:1.45;font-weight:760;margin:13px 0;color:var(--text-strong)}
.short-label{font-size:11px;color:var(--muted);margin:8px 0 5px}
.short-text{padding:10px 11px;border-radius:9px;border:1px solid var(--border);background:var(--surface-soft);font-size:13px;line-height:1.45;color:var(--text)}
.voice-mini{margin-top:10px;color:var(--gold)}
.waveform{height:34px;display:flex;align-items:center;gap:3px;margin:4px 0 7px;padding-left:3px}
.waveform span{width:3px;height:8px;border-radius:3px;background:var(--gold);opacity:.65;transform-origin:center}
.waveform span:nth-child(3n){height:15px}.waveform span:nth-child(4n){height:23px}.waveform span:nth-child(5n){height:11px}.waveform span:nth-child(7n){height:29px}
.monitor-card.is-live .waveform span{animation:wavePulse .75s ease-in-out infinite alternate}
.monitor-card.is-live .waveform span:nth-child(2n){animation-delay:.12s}.monitor-card.is-live .waveform span:nth-child(3n){animation-delay:.24s}.monitor-card.is-live .waveform span:nth-child(5n){animation-delay:.36s}
@keyframes wavePulse{from{transform:scaleY(.45);opacity:.45}to{transform:scaleY(1.15);opacity:1}}

.player-card{border-top:0;padding:14px 15px}
.time-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;font-size:12px;color:var(--text)}
.time-row span:nth-child(2){color:var(--muted);text-align:center}.time-row span:last-child{text-align:right}
.range{accent-color:var(--gold)}
.gold-range{width:100%;margin:8px 0 10px}
.transport{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;gap:6px;margin-bottom:14px}
.transport-btn,.play-btn,.icon-control,.reader-icon-btn,.text-button,.section-menu-button,.return-current,.footer-page button{
  border:1px solid var(--border);background:var(--control);color:var(--text);border-radius:9px
}
.transport-btn{height:40px;padding:0 5px;font-size:12px;font-weight:800}.transport-btn.wide{font-size:11px}
.transport-btn:hover,.icon-control:hover,.reader-icon-btn:hover,.footer-page button:hover{background:var(--control-hover);border-color:var(--gold)}
.play-btn{height:52px;min-width:52px;border-radius:50%;background:var(--gold);color:#08192d;border-color:var(--gold);font-size:18px;font-weight:900;box-shadow:0 0 0 4px var(--gold-softer)}
.control-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.control-grid label{display:flex;flex-direction:column;gap:5px;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:var(--gold)}
.control-grid select{font-size:12px;min-height:38px}
.volume-block{margin-top:12px}
.volume-label-row{display:flex;justify-content:space-between;font-size:11px;font-weight:750;color:var(--text);margin-bottom:5px}
.volume-controls{display:grid;grid-template-columns:36px 1fr;gap:8px;align-items:center}
.icon-control{height:36px;width:36px}
.quick-tools{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border-soft)}
.quick-tool{min-height:54px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--muted);font-size:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}
.quick-tool span{font-size:20px;color:var(--gold)}
.quick-tool:hover,.quick-tool.active{background:var(--surface-soft);color:var(--text);border-color:var(--border)}
.tool-panel-card{border-top:0;border-radius:0 0 13px 13px;padding:12px 13px;margin-bottom:8px}
.tool-panel-head{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px;margin-bottom:8px}.tool-panel-head span{color:var(--muted)}
.toc-list,.bookmark-list,.search-results{display:flex;flex-direction:column;gap:5px}
.toc-btn,.bookmark-btn,.search-hit{width:100%;text-align:left;border:1px solid transparent;background:transparent;color:var(--text);padding:8px 9px;border-radius:8px}
.toc-btn:hover,.bookmark-btn:hover,.search-hit:hover{background:var(--surface-soft)}
.toc-btn.active{background:var(--gold-softer);border-color:rgba(242,189,77,.34)}
.toc-btn .toc-meta,.bookmark-btn .bookmark-meta,.search-hit .search-meta{display:block;font-size:10px;color:var(--muted)}
.toc-btn .toc-name,.bookmark-btn .bookmark-name,.search-hit .search-snippet{display:block;font-size:12px;margin-top:2px}
.empty-state{color:var(--muted);font-size:12px;padding:9px 2px}
.tool-panel .field-label{font-size:11px;margin-bottom:5px}
.search-results{margin-top:8px;max-height:230px;overflow:auto}

.reading-pane{min-width:0;background:var(--reader);color:var(--text);position:relative;display:flex;flex-direction:column;min-height:calc(100vh - 52px)}
.reader-topbar{height:46px;min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 20px;background:var(--reader-header);border-bottom:1px solid var(--border);position:sticky;top:52px;z-index:40;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.reader-location{display:flex;align-items:center;gap:10px;min-width:0;color:var(--text)}
.divider{width:1px;height:18px;background:var(--border)}
.text-button,.section-menu-button{background:transparent;border:0;color:var(--text);padding:3px 0}.text-button{color:var(--muted);font-size:12px}.section-menu-button{display:flex;gap:7px;align-items:center;font-weight:760}
.reader-location strong{color:var(--gold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40vw}
.reader-display-actions{display:flex;align-items:center;gap:7px}
.reader-icon-btn{height:32px;min-width:32px;padding:0 7px;background:transparent;color:var(--text);border-color:transparent;font-size:17px}
.display-popover{position:fixed;right:22px;top:104px;z-index:20;width:min(460px,calc(100% - 32px));background:var(--rail-card);border:1px solid var(--border);border-radius:13px;padding:14px;box-shadow:var(--shadow)}
.display-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.display-grid label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--muted)}
.toggle-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}

.reading-surface{
  width:min(920px,calc(100% - 76px));
  margin:0 auto;
  padding:38px 0 82px;
  font-family:"Aptos",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:21px;
  line-height:1.9;
  color:var(--text);
  flex:1;
}
.reading-surface.width-wide{width:min(1100px,calc(100% - 64px))}
.reading-surface.width-narrow{width:min(680px,calc(100% - 64px))}
.reading-surface p{margin:0 0 1.25em}
.phrase{border-radius:4px;padding:2px 1px;cursor:pointer;transition:background-color .13s ease,box-shadow .13s ease,opacity .13s ease,color .13s ease}
.phrase:hover{background:var(--gold-softer)}
.phrase.spoken{color:var(--spoken)}
.phrase.active.mode-shade{background:linear-gradient(transparent 8%,var(--gold-soft) 8%,var(--gold-soft) 93%,transparent 93%);box-shadow:inset 0 -2px 0 var(--gold)}
.phrase.active.mode-line{box-shadow:inset 0 -3px 0 var(--gold)}
.phrase.active.mode-focus{background:var(--gold-soft);box-shadow:inset 4px 0 0 var(--gold);padding-left:5px}
.reader-shell.dim-others .phrase:not(.active){opacity:.32}
.reader-shell.focus-layout{grid-template-columns:1fr}
.reader-shell.focus-layout .control-rail{display:none}
.reader-shell.focus-layout .reading-pane{min-height:calc(100vh - 52px)}

.return-current{position:fixed;right:34px;bottom:76px;z-index:10;padding:8px 11px;border-color:var(--gold);color:var(--gold);box-shadow:var(--shadow)}
.reading-footer{min-height:62px;padding:0 26px;display:grid;grid-template-columns:auto auto 1fr auto;gap:24px;align-items:center;border-top:1px solid var(--border);background:var(--reader-footer);font-size:12px;color:var(--muted);position:sticky;bottom:0;z-index:8}
.reading-footer strong{color:var(--text)}
.footer-toggle{display:flex;align-items:center;justify-content:center;gap:8px}.footer-toggle input{accent-color:var(--gold)}
.footer-page{display:flex;align-items:center;gap:8px}.footer-page button{width:36px;height:36px;background:transparent;color:var(--text);font-size:20px}

html[data-theme="light"] .app-topbar{color:#fff}
html[data-theme="light"] .reader-topbar{color:#fff}
html[data-theme="light"] .reader-topbar .reader-location,html[data-theme="light"] .reader-topbar .text-button,html[data-theme="light"] .reader-topbar .section-menu-button,html[data-theme="light"] .reader-topbar .reader-icon-btn{color:#fff}
html[data-theme="light"] .reader-topbar .divider{background:rgba(255,255,255,.2)}
html[data-theme="light"] .reader-topbar .reader-location strong{color:var(--gold-300)}
html[data-theme="light"] .control-rail{box-shadow:6px 0 18px rgba(20,42,72,.06)}
html[data-theme="light"] .monitor-title,html[data-theme="light"] .control-grid label{color:#b47608}
html[data-theme="light"] .live-text{color:#102033}
html[data-theme="light"] .phrase.active.mode-shade{background:linear-gradient(transparent 8%,rgba(231,170,45,.24) 8%,rgba(231,170,45,.24) 93%,transparent 93%)}

@media (max-width:1100px){
  .reader-shell{grid-template-columns:330px minmax(0,1fr)}
  .control-rail{padding:12px}
  .reading-surface{width:min(860px,calc(100% - 46px))}
  .transport{gap:4px}.transport-btn{font-size:11px;padding:0 3px}
}

@media (max-width:860px){
  .app-topbar{height:auto;position:relative;top:auto;z-index:auto;min-height:72px;padding:12px 16px;align-items:flex-start;flex-direction:column}
  .topbar-actions{width:100%;justify-content:space-between}
  .reader-shell{display:flex;flex-direction:column;min-height:auto}
  .control-rail{position:relative;top:auto;height:auto;max-height:none;border-right:0;border-bottom:1px solid var(--border);padding:12px}
  .monitor-card{border-radius:13px}.player-card{border-top:1px solid var(--border);border-radius:13px;margin-top:10px}.tool-panel-card{border-top:1px solid var(--border);border-radius:13px;margin-top:10px}
  .reader-topbar{height:auto;min-height:50px;position:relative;top:auto;z-index:auto;padding:10px 14px;flex-wrap:wrap}.reader-location{order:1;max-width:100%}.reader-display-actions{order:2}
  .reading-surface{width:calc(100% - 34px);padding:38px 0 80px;font-size:20px}
  .reading-footer{grid-template-columns:1fr 1fr;padding:10px 14px;gap:10px}.footer-toggle{justify-content:flex-start}.footer-page{justify-content:flex-end}
  .metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-sections{grid-template-columns:1fr}.setup-options{grid-template-columns:1fr}.overview-intro{align-items:flex-start;flex-direction:column}
  .reader-shell.focus-layout .control-rail{display:none}
}

@media (max-width:540px){
  .brand h1{font-size:17px}.brand-mark{width:34px;height:34px}.status-pill{display:none}
  .theme-switcher{width:100%;justify-content:stretch}.theme-btn{flex:1}
  .workspace{padding:20px 12px 40px}.setup-card{padding:18px}.setup-card h2,.overview-header h2{font-size:24px}textarea{min-height:320px}
  .overview-header{flex-direction:column}.overview-header .btn{width:100%}.metrics-grid{grid-template-columns:1fr 1fr}.metric{padding:14px}.metric strong{font-size:22px}
  .control-grid{grid-template-columns:1fr 1fr}.quick-tools{grid-template-columns:repeat(4,1fr)}
  .transport{grid-template-columns:repeat(7,1fr)}.transport-btn{height:36px;font-size:10px}.play-btn{height:48px;min-width:48px}
  .reader-topbar{align-items:flex-start}.reader-location{gap:8px;flex-wrap:wrap}.reader-location .divider:first-of-type,.reader-location .text-button{display:none}.reader-location strong{max-width:70vw}
  .reader-display-actions{width:100%;justify-content:flex-end}
  .display-grid,.toggle-grid{grid-template-columns:1fr}.reading-surface{width:calc(100% - 28px);font-size:19px;line-height:1.8}.reading-footer{grid-template-columns:1fr 1fr;font-size:11px}.footer-page{grid-column:1/-1;justify-content:space-between}
  .return-current{right:14px;bottom:94px}
}

@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important;animation-duration:.001ms!important;animation-iteration-count:1!important}
}

/* v2.1 document import + structure intelligence */
.import-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:14px;margin:18px 0}.drop-zone{min-height:176px;border:1px dashed var(--border);border-radius:14px;background:var(--panel2);padding:18px;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;gap:8px 12px;align-items:center;transition:.16s ease}.drop-zone:hover,.drop-zone.dragover{border-color:var(--gold);background:color-mix(in srgb,var(--panel2) 92%,var(--gold) 8%)}.drop-zone:focus{outline:2px solid var(--gold);outline-offset:2px}.drop-icon{grid-row:1/3;width:46px;height:46px;border-radius:12px;border:1px solid var(--border);display:grid;place-items:center;color:var(--gold);font-size:23px;background:var(--panel)}.drop-zone strong{display:block;font-size:15px}.drop-zone span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.drop-zone small{grid-column:2/4;color:var(--muted);font-size:10px;letter-spacing:.05em}.import-intelligence{border:1px solid var(--border);border-radius:14px;background:linear-gradient(145deg,var(--panel),color-mix(in srgb,var(--panel) 92%,var(--gold) 8%));padding:18px}.import-intelligence>strong{display:block;margin:.35rem 0}.import-intelligence p{color:var(--muted);font-size:12px;line-height:1.55;margin:.4rem 0 1rem}.import-status{display:flex;gap:7px;align-items:center;font-size:11px;color:var(--muted);padding-top:10px;border-top:1px solid var(--border)}.import-status.processing .status-dot{background:var(--gold);animation:importPulse 1s ease-in-out infinite alternate}.import-status.ready{color:var(--text)}.import-status.ready .status-dot{background:#53bd77}.import-status.error .status-dot{background:#e56b6b}@keyframes importPulse{from{opacity:.3;transform:scale(.8)}to{opacity:1;transform:scale(1.15)}}.structure-review{margin:14px 0;padding:15px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.structure-review-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.confidence-pill{border:1px solid var(--gold);color:var(--gold);border-radius:999px;padding:5px 9px;font-size:10px;font-weight:750}.structure-metrics{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.structure-metric{padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:var(--panel2);font-size:11px}.structure-metric strong{color:var(--gold);margin-right:4px}.structure-outline{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.structure-outline-item{padding:8px 9px;border-left:3px solid var(--gold);background:var(--panel2);border-radius:5px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.structure-note{margin:10px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.paste-divider{display:flex;align-items:center;gap:10px;margin:18px 0 10px;color:var(--muted);font-size:10px;letter-spacing:.12em}.paste-divider:before,.paste-divider:after{content:"";height:1px;background:var(--border);flex:1}@media(max-width:780px){.import-grid{grid-template-columns:1fr}.drop-zone{grid-template-columns:auto 1fr}.drop-zone .btn{grid-column:2}.drop-zone small{grid-column:2}.structure-outline{grid-template-columns:1fr}}

/* v2.2 learner-facing day mode refinement */
html[data-theme="light"] body{background:#eef2f6}
html[data-theme="light"] .setup-card,
html[data-theme="light"] .metric,
html[data-theme="light"] .overview-intro,
html[data-theme="light"] .overview-section-card,
html[data-theme="light"] .monitor-card,
html[data-theme="light"] .player-card,
html[data-theme="light"] .tool-panel-card{border-color:#c7d4e1}
html[data-theme="light"] .setup-card h2,
html[data-theme="light"] .overview-header h2,
html[data-theme="light"] .reading-surface{color:#101820}
html[data-theme="light"] .section-kicker{color:#0a2a50}
html[data-theme="light"] .setup-card,
html[data-theme="light"] .reading-pane,
html[data-theme="light"] .reading-surface{background:#fff}

/* Named layout regions: App Header, Reader Navigation Bar, Control Rail, Live Narration Monitor, Playback Console, Study Tools, Reading Canvas, Reading Status Bar. */


/* v2.3 Control Rail architecture + live transcript */
.app-topbar{height:44px;min-height:44px;padding:0 clamp(14px,2vw,26px)}
.brand-mark{width:28px;height:28px;border-radius:9px}
.brand h1{font-size:15px}.eyebrow{font-size:9px}.status-pill{font-size:10px;padding:4px 8px}
.theme-btn{font-size:11px;padding:4px 8px}
.reader-shell{min-height:calc(100vh - 44px);grid-template-columns:330px minmax(0,1fr)}
.control-rail{
  padding:9px;background:var(--rail);top:44px;height:calc(100vh - 44px);overflow:hidden;
  display:grid;grid-template-rows:auto auto minmax(96px,1fr);gap:8px;align-content:start
}
.monitor-card,.player-card,.tool-panel-card{border-radius:11px!important;border:1px solid var(--border)!important;margin:0!important;min-width:0}
.monitor-card{overflow:hidden;max-height:224px}
.monitor-head{padding:8px 10px}.monitor-title{font-size:10px;letter-spacing:.065em}.live-badge{font-size:9px;padding:3px 6px}
.monitor-body{padding:8px 10px 9px;overflow:auto;max-height:188px}
.monitor-state,.voice-mini{font-size:10px}.live-label,.short-label{font-size:8px;letter-spacing:.1em;font-weight:850;color:var(--muted);margin:7px 0 3px}
.live-text{font-size:13px;line-height:1.42;font-weight:680;margin:0;min-height:42px}
.live-text .stream-past{color:var(--muted)}
.live-text .stream-future{color:var(--text-strong)}
.live-text .stream-current{background:var(--gold);color:#07182b;border-radius:4px;padding:1px 3px;font-weight:850;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.short-text{padding:6px 8px;font-size:10px;line-height:1.38;border-radius:7px}
.voice-mini{margin-top:6px}.waveform{height:22px;margin:3px 0 4px;gap:2px}.waveform span{width:2px}.waveform span:nth-child(4n){height:17px}.waveform span:nth-child(7n){height:21px}
.player-card{padding:9px 10px;overflow:hidden}.time-row{font-size:10px}.gold-range{margin:5px 0 7px}
.transport{gap:4px;margin-bottom:8px}.transport-btn{height:32px;border-radius:7px;font-size:10px}.transport-btn.wide{font-size:9px}.play-btn{height:40px;min-width:40px;font-size:15px;box-shadow:0 0 0 2px var(--gold-softer)}
.control-grid{gap:6px}.control-grid label{font-size:8px;gap:3px}.control-grid select{font-size:10px;min-height:31px;padding:5px 7px;border-radius:7px}
.volume-block{margin-top:7px}.volume-label-row{font-size:9px;margin-bottom:2px}.volume-controls{grid-template-columns:30px 1fr;gap:6px}.icon-control{height:30px;width:30px;border-radius:7px;font-size:11px}
.quick-tools{margin-top:7px;padding-top:7px;gap:3px}.quick-tool{min-height:38px;font-size:8px;gap:1px}.quick-tool span{font-size:14px}
.tool-panel-card{padding:8px 9px;overflow:auto;min-height:0}.tool-panel-head{font-size:10px;margin-bottom:5px}.toc-list,.bookmark-list,.search-results{gap:3px}.toc-btn,.bookmark-btn,.search-hit{padding:6px 7px;border-radius:6px}.toc-btn .toc-meta,.bookmark-btn .bookmark-meta,.search-hit .search-meta{font-size:8px}.toc-btn .toc-name,.bookmark-btn .bookmark-name,.search-hit .search-snippet{font-size:10px;margin-top:1px}.empty-state{font-size:10px;padding:6px 2px}
.reading-pane{min-height:calc(100vh - 44px)}
.reader-topbar{height:40px;min-height:40px;padding:0 14px;top:44px;box-shadow:0 2px 7px rgba(0,0,0,.07)}
.reader-location{gap:8px}.text-button{font-size:10px}.section-menu-button{font-size:12px}.reader-location strong{font-size:12px;max-width:48vw}.reader-icon-btn{height:28px;min-width:28px;font-size:15px}
.display-popover{top:90px}
.reading-surface{width:min(1120px,calc(100% - 42px));padding:24px 6px 54px;font-size:20px;line-height:1.78}
.reading-surface.width-wide{width:min(1280px,calc(100% - 32px))}.reading-surface.width-narrow{width:min(720px,calc(100% - 42px))}
.reading-surface p{margin-bottom:1.05em}
.reading-footer{min-height:42px;height:42px;padding:0 18px;gap:18px;font-size:10px}.footer-page button{width:28px;height:28px;font-size:16px}
.return-current{bottom:52px;right:24px;padding:6px 9px;font-size:10px}
.reader-shell.focus-layout .reading-pane{min-height:calc(100vh - 44px)}
html[data-theme="light"] .live-text .stream-current{background:#e5a62a;color:#102033}

@media (max-width:1100px){
  .reader-shell{grid-template-columns:305px minmax(0,1fr)}
  .control-rail{padding:7px}.reading-surface{width:calc(100% - 30px)}
  .transport{gap:3px}.transport-btn{padding:0 2px}
}
@media (max-width:860px){
  .app-topbar{height:auto;min-height:62px;position:relative;top:auto;padding:10px 14px}
  .reader-shell{display:flex;flex-direction:column;min-height:auto}
  .control-rail{position:relative;top:auto;height:auto;overflow:visible;display:flex;padding:10px}
  .monitor-card,.player-card,.tool-panel-card{max-height:none;border-radius:11px!important}
  .monitor-body{max-height:none}.tool-panel-card{max-height:260px}
  .reader-topbar{height:auto;min-height:44px;position:relative;top:auto;padding:8px 12px}
  .reading-surface{width:calc(100% - 24px);padding-top:22px}
}


/* v2.4 Document Page View */
.reading-pane{
  background:var(--reader);
}
.reading-surface{
  width:min(980px,calc(100% - 48px));
  margin:26px auto 32px;
  padding:46px 58px 68px;
  background:var(--page-sheet, rgba(255,255,255,.04));
  border:1px solid var(--page-sheet-border, rgba(255,255,255,.08));
  border-radius:4px;
  box-shadow:0 16px 38px rgba(0,0,0,.12);
  font-family:"Aptos","Calibri","Segoe UI",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:19px;
  line-height:1.62;
}
.reading-surface.width-wide{width:min(1080px,calc(100% - 36px))}
.reading-surface.width-narrow{width:min(780px,calc(100% - 48px))}
.reading-surface p{margin:0 0 1.15em}
.reading-surface p:first-child{margin-top:0}
.reading-surface .phrase{padding:1px 1px;border-radius:2px}
.reading-surface .phrase.active.mode-shade{box-shadow:none}

html[data-theme="classic"] .reading-pane,
html[data-theme="night"] .reading-pane{
  --page-sheet:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.025));
  --page-sheet-border:rgba(255,255,255,.08);
}
html[data-theme="light"] .reading-pane{
  background:#edf1f5;
}
html[data-theme="light"] .reading-surface{
  width:min(900px,calc(100% - 56px));
  background:#ffffff;
  border:1px solid #d8dfe8;
  box-shadow:0 10px 24px rgba(34,57,88,.12);
  color:#212a35;
  font-size:18px;
  line-height:1.52;
  padding:46px 62px 74px;
}
html[data-theme="light"] .reading-surface.width-wide{width:min(980px,calc(100% - 44px))}
html[data-theme="light"] .reading-surface.width-narrow{width:min(760px,calc(100% - 56px))}
html[data-theme="light"] .reading-surface p{margin-bottom:1.22em}
html[data-theme="light"] .reading-surface .phrase{color:#1f2a36}
html[data-theme="light"] .reading-surface .phrase.spoken{color:#26384e}
html[data-theme="light"] .reading-surface .phrase.active.mode-line{box-shadow:inset 0 -2px 0 #d99d28}
html[data-theme="light"] .reading-surface .phrase.active.mode-focus{background:rgba(231,170,45,.18);box-shadow:inset 4px 0 0 #d99d28}
html[data-theme="light"] .reading-footer{background:#f7f9fb;border-top:1px solid #d8dfe8;color:#506174}
html[data-theme="light"] .reading-footer strong{color:#16283e}
html[data-theme="light"] .return-current{background:#fff;border-color:#d99d28;color:#9d6800}

@media (max-width:1100px){
  .reading-surface{width:calc(100% - 34px);padding:36px 34px 58px}
  .reading-surface.width-wide{width:calc(100% - 24px)}
  html[data-theme="light"] .reading-surface{width:calc(100% - 40px);padding:34px 36px 58px}
  html[data-theme="light"] .reading-surface.width-wide{width:calc(100% - 30px)}
}
@media (max-width:860px){
  .reading-pane{background:var(--reader)}
  .reading-surface, html[data-theme="light"] .reading-surface{
    width:calc(100% - 20px);
    margin:14px auto 20px;
    padding:28px 22px 42px;
    border-radius:0;
  }
}
@media (max-width:540px){
  .reading-surface, html[data-theme="light"] .reading-surface{
    width:calc(100% - 12px);
    margin:8px auto 16px;
    padding:22px 16px 34px;
    font-size:17px;
    line-height:1.56;
  }
}
