body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;margin:0;padding:0;background:#fff;color:#111}
header{position:sticky;top:0;background:#fff;border-bottom:1px solid #eee;padding:12px 16px;display:flex;gap:12px;align-items:center;z-index:10}
main{padding:16px;max-width:900px;margin:0 auto}
#toc{margin-bottom:16px;padding:12px;border:1px solid #eee;border-radius:8px;max-height:260px;overflow:auto}
#toc a{display:block;margin:4px 0;color:#0b57d0;text-decoration:none}
#toc a:hover{text-decoration:underline}
.reader{min-height:320px;border:1px solid #eee;border-radius:8px;overflow:hidden;margin-bottom:16px;background:#fafafa}
#passage{border:1px solid #eee;border-radius:8px;padding:12px;margin-bottom:16px;min-height:140px;background:#fff}
#passage h3{margin:0 0 8px}
#translation{border:1px dashed #ccc;border-radius:8px;padding:12px;min-height:120px;background:#fff}
#translation h3{margin:0 0 8px}
.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:12px}
.toolbar input[type="file"]{margin-right:12px}
button{padding:8px 12px;border-radius:6px;border:1px solid #ddd;background:#f6f6f6;font-size:14px;cursor:pointer}
button:disabled{cursor:not-allowed;opacity:0.5}
button:hover:not(:disabled){background:#ececec}
label{margin-right:12px}
audio{width:100%;margin-top:16px}
#apiStatus{font-size:12px;color:#555}
