:root{--bg:#0f1115;--card:#171a21;--fg:#e6e6e6;--mut:#8b93a1;--acc:#d9a441;--line:#262b35}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.75 -apple-system,"PingFang SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif}
a{color:var(--acc);text-decoration:none}button{font:inherit;cursor:pointer;background:var(--acc);color:#111;border:0;border-radius:8px;padding:10px 16px;margin:6px 6px 0 0}
button.ghost{background:transparent;color:var(--mut);border:1px solid var(--line)}
body.login{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:24px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:32px;max-width:460px;width:100%}
.card h1{margin:0 0 4px;font-size:26px}.sub{color:var(--mut);margin:0 0 18px}.hint{color:var(--mut);font-size:13px}.status{min-height:1.5em}.status.bad{color:#e07070}
.app{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:100vh}
nav{border-right:1px solid var(--line);padding:18px;overflow:auto;max-height:100vh;position:sticky;top:0}
nav h2{font-size:15px;color:var(--mut);margin:14px 0 4px}nav .era{font-weight:600;margin-top:14px;font-size:14px}
nav .ep{display:block;padding:5px 8px;border-radius:6px;color:var(--fg);font-size:14px}nav .ep.off{color:var(--mut)}nav .ep.on{background:#232838;color:var(--acc)}
nav .ep small{color:var(--mut)}
article{padding:28px 40px;max-width:860px;min-width:0;overflow-x:hidden}article h1{font-size:28px}article h2{margin-top:2em;border-bottom:1px solid var(--line);padding-bottom:4px}article h3{margin-top:1.6em;color:var(--acc)}
article blockquote{margin:1.2em 0;padding:12px 18px;background:#1d2130;border-left:4px solid var(--acc);border-radius:6px}
article table{border-collapse:collapse;font-size:14px}article td,article th{border:1px solid var(--line);padding:6px 10px}
.top{display:flex;justify-content:space-between;align-items:center;color:var(--mut);font-size:13px;margin-bottom:12px}
audio{width:100%;margin:12px 0}details{margin-top:2em;color:var(--mut)}details summary{cursor:pointer}
.thesis{color:var(--mut);font-size:14px;margin-bottom:20px}
@media (max-width:860px){.app{grid-template-columns:1fr}nav{position:static;max-height:none;border-right:0;border-bottom:1px solid var(--line)}article{padding:20px}}

.fig{min-width:0;margin:22px 0 30px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.fig figcaption{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.fig .unit{color:var(--mut);font-size:13px}
.legend{display:flex;gap:16px;font-size:13px;color:var(--mut);margin-bottom:6px}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:6px;vertical-align:middle}
.plot{width:100%;height:300px;min-width:0;overflow:hidden;position:relative}.readout{min-height:1.4em;font-size:13px;color:var(--mut);font-variant-numeric:tabular-nums;margin-top:4px}
.cap{color:var(--mut);font-size:14px;margin:8px 0 0}.cap small{font-size:12px}
