*{box-sizing:border-box}
html,body{margin:0;height:100%;font-family:Arial,sans-serif;color:#183448;background:#f2f6fa}
body{display:flex;flex-direction:column}
header{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;background:#fff;border-bottom:1px solid #dfe7ef}
header strong{flex:1;min-width:100px;font-size:15px;overflow-wrap:anywhere}
.tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
button,header a{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 11px;border:1px solid #cddde8;border-radius:8px;background:#fff;color:#0f5c82;font:600 12px/1.2 Arial,sans-serif;text-decoration:none;cursor:pointer}
button:hover,header a:hover{background:#eaf4fb}
button:disabled{opacity:.4;cursor:default}
#download{background:#0f5c82;color:#fff;border-color:#0f5c82}
#zoom{font-size:12px;min-width:42px;text-align:center}
#stage{flex:1;min-height:0;overflow:auto;padding:18px;text-align:center}
#paper{display:inline-block;background:white;box-shadow:0 4px 24px #15364d18;line-height:0}
canvas{display:block}
footer{display:flex;justify-content:center;align-items:center;gap:16px;padding:10px;background:white;border-top:1px solid #dfe7ef}
#jump{display:flex;align-items:center;gap:6px;font-size:13px}
#page{width:60px;min-height:36px;border:1px solid #cddde8;border-radius:7px;text-align:center;font-size:14px}
#status,#fallback{margin:0;padding:4px 10px;text-align:center;font-size:12px;background:white;color:#64748b}
#fallback{padding-bottom:8px}
#fallback a{color:#0f5c82}
:focus-visible{outline:3px solid #55a4d2;outline-offset:2px}
@media(max-width:600px){
 header{gap:8px;padding:10px}
 header strong{font-size:13px}
 .tools{width:100%;justify-content:center}
 button,header a{min-height:40px;padding:7px 9px}
 #stage{padding:8px}
 footer{gap:6px}
 #jump label{display:none}
}


/* kt-reading-tools-v1 */
[hidden]{display:none!important}
.kt-reading-tools{
  flex-shrink:0;padding:10px 16px;background:#fff;
  border-bottom:1px solid #dfe7ef
}
.kt-reading-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.kt-reading-row + .kt-reading-row{margin-top:10px}
.kt-reading-tools button{min-height:36px;border-radius:10px}
#kt-mode,#kt-speak{
  background:#0f5c82;color:#fff;border-color:#0f5c82
}
#kt-mode:hover,#kt-speak:hover{background:#094766}
.kt-tool-divider{width:1px;height:22px;background:#dfe7ef;margin:0 3px}
.kt-control{display:flex;align-items:center;gap:7px;font-size:12px;color:#516477}
.kt-control select{
  min-height:36px;padding:5px 8px;border:1px solid #cddde8;
  border-radius:9px;background:white;color:#183448;font:inherit
}
#kt-reading-status{font-size:12px;color:#64748b;margin:8px 0 0;line-height:1.5}
#kt-size{font-size:12px;min-width:22px;text-align:center}
.kt-text-mode #stage{background:#eef3f7;text-align:left;padding:24px}
.kt-reading-article{
  --reading-size:20px;
  max-width:780px;margin:0 auto;padding:36px 44px;
  background:#fff;color:#263744;border:1px solid #e2e8f0;
  border-radius:16px;box-shadow:0 8px 30px #15364d09
}
.kt-reading-article h1{
  margin:0 0 24px;padding-bottom:16px;border-bottom:1px solid #dce5ec;
  color:#61758a;font:600 13px/1.5 Arial,sans-serif
}
.kt-reading-content{
  font-family:Georgia,"Times New Roman",serif;
  font-size:var(--reading-size);line-height:1.9;
  overflow-wrap:anywhere;letter-spacing:.01em
}
.kt-speaking{background:#d9edf7;border-radius:3px;color:#143a52}
.kt-text-mode[data-reading-theme="sepia"] #stage{background:#eae2d3}
[data-reading-theme="sepia"] .kt-reading-article{
  background:#faf3e5;color:#44392c;border-color:#ded3bf
}
.kt-text-mode[data-reading-theme="dark"] #stage{background:#101820}
[data-reading-theme="dark"] .kt-reading-article{
  background:#1b2732;color:#e2e8ed;border-color:#344350
}
[data-reading-theme="dark"] .kt-reading-article h1{
  color:#b2c3d1;border-color:#3b4b59
}
[data-reading-theme="dark"] .kt-speaking{background:#36596d;color:#fff}
@media(max-width:600px){
  .kt-reading-tools{padding:9px 10px}
  .kt-reading-row{gap:6px}
  .kt-reading-tools button,.kt-control select{min-height:40px}
  .kt-tool-divider{display:none}
  .kt-text-mode #stage{padding:10px}
  .kt-reading-article{padding:22px 18px;border-radius:12px}
  .kt-reading-content{line-height:1.8}
}
