:root{--paper: #f4ede0;--paper-hi: #faf5ea;--ink: #1c1915;--ink-soft: #3a342c;--meta: #7a6f5c;--meta-light: #a89c86;--accent: #9b2626;--accent-deep: #6b1818;--divider: #d9cdb3;--divider-soft: #e7dec6;--hl: #e5d9bb;--correct: #4a6b3a;--wrong: #8b3a3a;--caution: #b88a2a;--rule: rgba(28, 25, 21, .12);--serif: "Noto Serif SC", "Songti SC", "STSong", "Source Han Serif SC", serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--measure: 820px;--reader-fs: 16.5px;--reader-measure: 740px;--t: .28s cubic-bezier(.2, .6, .2, 1);--t-fast: .18s cubic-bezier(.2, .6, .2, 1)}html[data-theme=night]{--paper: #1c1915;--paper-hi: #25211b;--ink: #f4ede0;--ink-soft: #d4c8b0;--meta: #a89c85;--meta-light: #877d6c;--accent: #c44545;--accent-deep: #d96363;--divider: #3a342c;--divider-soft: #2c2620;--hl: #3a342c;--correct: #7da866;--wrong: #c47878;--caution: #d4a849;--rule: rgba(244, 237, 224, .14)}*{box-sizing:border-box}html,body{margin:0;padding:0}html{background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:var(--reader-fs, 16.5px);line-height:1.85;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background-color var(--t),color var(--t);scroll-behavior:smooth}body{min-height:100vh;background:radial-gradient(1200px 700px at 50% -10%,var(--paper-hi) 0%,transparent 60%),var(--paper)}::selection{background:var(--accent);color:var(--paper-hi)}a{color:inherit}.progress{position:fixed;top:0;left:0;height:2px;width:0%;background:var(--accent);z-index:60;transition:width 80ms linear}.frame{position:fixed;inset:18px;z-index:5;pointer-events:none}.frame i{position:absolute;width:22px;height:22px;border:1px solid var(--accent)}.frame i.tl{top:0;left:0;border-right:0;border-bottom:0}.frame i.tr{top:0;right:0;border-left:0;border-bottom:0}.frame i.bl{bottom:0;left:0;border-right:0;border-top:0}.frame i.br{bottom:0;right:0;border-left:0;border-top:0}@media(max-width:760px){.frame{inset:12px}.frame i{width:18px;height:18px}}.topbar{position:relative;z-index:4;display:flex;justify-content:space-between;align-items:center;padding:28px clamp(28px,6vw,64px) 0;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;color:var(--meta);text-transform:uppercase}.topbar .mark{display:inline-flex;align-items:center;gap:10px}.topbar .mark .dot{width:7px;height:7px;background:var(--accent);transform:rotate(45deg)}.topbar .back{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11.5px;letter-spacing:.18em;color:var(--ink-soft);text-transform:uppercase;text-decoration:none;padding:6px 0;border-bottom:1px solid transparent;transition:color var(--t-fast),border-color var(--t-fast)}.topbar .back:hover{color:var(--accent);border-bottom-color:var(--accent)}.topbar .back .arr{display:inline-block;transition:transform var(--t-fast);font-family:var(--serif);font-weight:300}.topbar .back:hover .arr{transform:translate(-3px)}.nightbtn{appearance:none;background:transparent;border:1px solid var(--rule);color:var(--meta);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:7px 12px;cursor:pointer;transition:color var(--t-fast),border-color var(--t-fast)}.nightbtn:hover{color:var(--accent);border-color:var(--accent)}main{max-width:var(--measure);margin:0 auto;padding:0 24px 96px}@media(max-width:880px){:root{--measure: 720px}}.rule{width:38px;height:1px;background:var(--accent);margin:0 auto;border:0}.rule.wide{width:50px}.btn-primary{display:inline-flex;align-items:center;gap:14px;background:var(--accent);color:var(--paper-hi);font-family:var(--serif);font-weight:500;font-size:17px;letter-spacing:.18em;padding:18px 42px;border:0;cursor:pointer;text-decoration:none;transition:transform var(--t),background-color var(--t),box-shadow var(--t)}.btn-primary .arr{transition:transform var(--t);font-weight:300}.btn-primary:hover{background:var(--accent-deep);transform:translateY(-2px);box-shadow:0 8px 18px -10px #9b26268c}.btn-primary:hover .arr{transform:translate(4px)}html[data-theme=night] .btn-primary{color:#fdf6e8}.link-secondary{font-family:var(--serif);font-size:15px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule);padding-bottom:2px;transition:color var(--t-fast),border-color var(--t-fast)}.link-secondary:hover{color:var(--accent);border-color:var(--accent)}@media(max-width:760px){html{font-size:16.5px}.topbar{padding:22px 20px 0}main{padding:0 24px 80px}}
