:root{--bg:oklch(94.6% .026 95);--surface:oklch(96.8% .02 95);--fg:oklch(33% .022 55);--muted:oklch(54% .02 65);--border:oklch(85.5% .028 82);--accent:oklch(50% .145 42);--accent-soft:color-mix(in oklch, var(--accent) 12%, transparent);--font-song:"Songti SC", "STSong", "STSongti", "SimSun", "NSimSun", serif;--font-hei:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", sans-serif;--font-mono:ui-monospace, "SF Mono", Menlo, monospace;--measure:42em;--gutter:32px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-song);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.028 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");margin:0;font-size:17px;line-height:1.9}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;color:inherit;background:0 0;border:0;padding:0}h1,h2,h3,h4{font-family:var(--font-song);text-wrap:balance;margin:0}p{text-wrap:pretty;margin:0}[hidden]{display:none!important}.container{max-width:1080px;padding-inline:var(--gutter);margin-inline:auto}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.meta{font-family:var(--font-hei);color:var(--muted);letter-spacing:.04em;font-size:12.5px}.eyebrow{font-family:var(--font-hei);letter-spacing:.22em;color:var(--muted);margin:0 0 14px;font-size:12px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.topnav{z-index:20;background:color-mix(in oklch, var(--bg) 93%, transparent);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0}.topnav-inner{align-items:center;gap:28px;padding-block:12px;display:flex}.logo{letter-spacing:.14em;align-items:baseline;gap:10px;font-size:18px;font-weight:700;display:flex}.logo-latin{font-family:var(--font-hei);letter-spacing:.18em;color:var(--muted);font-size:11.5px;font-weight:400}.navlinks{gap:22px;margin-left:auto;display:flex}.navlinks a{font-family:var(--font-hei);color:var(--muted);border-bottom:1px solid #0000;padding:4px 0;font-size:13px}.navlinks a:hover,.navlinks a[aria-current=page]{color:var(--fg);border-bottom-color:var(--fg)}.langsw{font-family:var(--font-hei);letter-spacing:.06em;color:var(--muted);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:5px 12px;font-size:12.5px}.langsw:hover{color:var(--fg);border-color:var(--muted)}.langsw b{color:var(--fg);font-weight:600}.pagefoot{border-top:1px solid var(--border);color:var(--muted);margin-top:96px;padding-block:36px;font-size:13px}.pagefoot .container{flex-wrap:wrap;justify-content:space-between;gap:12px 48px;display:flex}.pagefoot a{border-bottom:1px solid var(--border);padding-bottom:1px}.pagefoot a:hover{color:var(--fg);border-bottom-color:var(--fg)}.pagefoot .book-license{margin:0 0 10px}.note{font-family:var(--font-hei);color:var(--muted);border-left:2px solid var(--border);padding-left:14px;font-size:13px;line-height:1.8}.pagefoot .note{max-width:40em;margin-top:10px}.foot-site{white-space:nowrap;align-self:end}.shelf-hero{padding:88px 0 72px}.shelf-hero h1{letter-spacing:.02em;font-size:clamp(38px,5.4vw,56px);font-weight:700;line-height:1.25}.shelf-hero .lead{color:var(--muted);max-width:36em;margin-top:18px;font-size:16.5px;line-height:1.85}.bookrow{border-top:1px solid var(--fg);grid-template-columns:220px 1fr;align-items:start;gap:56px;padding:56px 0 8px;display:grid}.bookrow+.bookrow{margin-top:56px}.bookcover{background:var(--surface);border:1px solid var(--fg);aspect-ratio:3/4.2;box-shadow:inset 0 0 0 5px var(--surface), inset 0 0 0 6px var(--border);justify-content:flex-end;padding:14px;display:flex;position:relative}.bookcover:before{content:"";background:var(--border);width:1px;position:absolute;top:0;bottom:0;left:9px}.bookcover:after{content:"";background:var(--border);width:1px;position:absolute;top:0;bottom:0;left:14px}.cover-title{writing-mode:vertical-rl;letter-spacing:.22em;padding-top:10px;font-size:24px;font-weight:700;line-height:1}.cover-seal{background:var(--accent);color:oklch(97% .01 90);letter-spacing:0;place-items:center;width:34px;height:34px;font-size:15px;font-weight:700;line-height:1;display:grid;position:absolute;bottom:14px;left:14px}.bookmeta h2{font-size:31px;font-weight:700;line-height:1.4}.bookmeta .en-title{color:var(--muted);margin-top:6px;font-family:Georgia,serif;font-size:16px;font-style:italic}.bookmeta .desc{max-width:var(--measure);color:var(--fg);margin-top:20px}.bookstats{border-top:1px solid var(--border);gap:36px;margin-top:30px;padding-top:22px;display:flex}.bookstats .num{color:var(--fg);font-size:24px}.bookstats small{font-family:var(--font-hei);color:var(--muted);letter-spacing:.08em;margin-top:4px;font-size:12px;display:block}.book-cta{flex-wrap:wrap;align-items:center;gap:14px;margin-top:34px;display:flex}.btn{font-family:var(--font-hei);border:1px solid var(--fg);align-items:center;gap:8px;padding:11px 24px;font-size:14px;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn-primary{background:var(--accent);border-color:var(--accent);color:oklch(97% .01 90)}.btn-primary:hover{background:color-mix(in oklch, var(--accent) 88%, black)}.btn-plain{color:var(--fg)}.btn-plain:hover{background:var(--fg);color:var(--surface)}.more-books{color:var(--muted);font-family:var(--font-hei);letter-spacing:.06em;border-top:1px dashed var(--border);margin-top:64px;padding-top:20px;font-size:13px}.read-layout{grid-template-columns:196px minmax(0,1fr);gap:72px;padding:48px 0 0;display:grid}.toc{max-height:calc(100vh - 110px);font-family:var(--font-hei);align-self:start;position:sticky;top:76px;overflow:auto}.toc .toc-head{letter-spacing:.24em;color:var(--muted);border-bottom:1px solid var(--fg);margin-bottom:10px;padding-bottom:12px;font-size:12px}.toc a{color:var(--muted);padding:5px 0 5px calc(var(--d,0) * 14px);font-size:13px;line-height:1.5;display:block}.toc a:hover{color:var(--fg)}.reader{max-width:var(--measure);padding-bottom:80px}.reader>header{margin-bottom:56px}.reader h1{font-size:clamp(34px,4.6vw,46px);font-weight:700;line-height:1.3}.reader .bookline{flex-wrap:wrap;align-items:baseline;gap:14px;margin-top:14px;display:flex}.snapshot>h1:first-child{display:none}.snapshot>h1:first-child+:is(h2,h3){margin-top:0}.snapshot h2,.snapshot h3{border-top:1px solid var(--fg);margin:64px 0 20px;padding-top:12px;font-size:26px;font-weight:700}.snapshot h4{margin:36px 0 12px;font-size:20px;font-weight:700}.snapshot h5{color:var(--fg);margin:28px 0 10px;font-size:17px;font-weight:700}.snapshot h6{color:var(--fg);margin:24px 0 8px;font-size:15px;font-weight:700}.snapshot p{margin:0 0 16px}.snapshot ul,.snapshot ol{margin:0 0 16px;padding-left:1.4em}.snapshot li{margin-bottom:10px;padding-left:.2em}.snapshot li::marker{color:var(--muted)}.snapshot a{border-bottom:1px solid var(--border);padding-bottom:1px}.snapshot a:hover{border-bottom-color:var(--fg)}.snapshot code{font-family:var(--font-mono);font-size:.88em}.snapshot blockquote{margin:18px 0}.snapshot blockquote p{font-family:var(--font-hei);color:var(--muted);border-left:2px solid var(--border);margin:0;padding-left:14px;font-size:13px;line-height:1.8}.snapshot table{border-collapse:collapse;margin:0 0 16px;font-size:15px}.snapshot th,.snapshot td{border:1px solid var(--border);text-align:left;padding:6px 12px}.snapshot th{font-family:var(--font-hei);color:var(--muted);letter-spacing:.04em;font-size:12.5px}.backline{margin-top:10px}.backline a{font-family:var(--font-hei);color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:1px;font-size:12.5px}.backline a:hover{color:var(--fg);border-bottom-color:var(--fg)}.reader>.backline{margin-top:32px}.cards-head{padding:72px 0 40px}.cards-head h1{font-size:clamp(32px,4.4vw,44px);font-weight:700}.cards-head .lead{color:var(--muted);max-width:40em;margin-top:14px;font-size:15.5px}.gtabs,.pager{display:none}.cards-view.js .gtabs{border-top:1px solid var(--fg);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:26px;padding:14px 0;display:flex}.gtab{font-family:var(--font-hei);color:var(--muted);padding:2px 0;font-size:14px}.gtab .num{margin-left:4px;font-size:12px}.gtab:hover{color:var(--fg)}.gtab.on{color:var(--fg);border-bottom:2px solid var(--fg);font-weight:600}.gtab-d{font-family:var(--font-hei);color:var(--muted);border:1px solid var(--border);border-radius:999px;margin-left:auto;padding:5px 12px;font-size:13px}.gtab-d:hover{border-color:var(--muted);color:var(--fg)}.gtab-d.on{color:var(--fg);border-color:var(--fg)}.ggroup{margin-top:8px}.group-title{border-top:1px solid var(--fg);margin:40px 0 8px;padding-top:14px;font-size:22px;font-weight:700}.ggroup:first-of-type .group-title{margin-top:16px}.group-title .num{color:var(--muted);margin-left:10px;font-size:13px;font-weight:400}.group-title a:hover{border-bottom:1px solid var(--fg)}.cards-view.js .ggroup{display:contents}.cards-view.js .group-title{display:none}.acard{border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) 200px;align-items:start;gap:32px;padding:30px 0;display:grid}.acard-head{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.acard-head h3{font-size:19.5px;font-weight:700}.dispute{font-family:var(--font-hei);letter-spacing:.08em;color:var(--fg);border:1px solid var(--fg);border-radius:2px;padding:2px 8px;font-size:11.5px}.acard-sum{color:var(--fg);max-width:34em;margin-top:8px;font-size:15.5px;line-height:1.8}.acard-body{color:var(--muted);max-width:36em;margin-top:6px;font-size:14.5px;line-height:1.8}.acard-acts{font-family:var(--font-hei);flex-wrap:wrap;gap:18px;margin-top:14px;font-size:12.5px;display:flex}.acard-acts a{color:var(--muted);border-bottom:1px solid var(--border);font-size:12.5px;font-family:var(--font-hei);padding-bottom:1px}.acard-acts a:hover{color:var(--fg);border-bottom-color:var(--fg)}.acard-eff{text-align:right}.acard-eff .num{color:var(--fg);letter-spacing:-.01em;font-size:26px;font-weight:600;display:block}.acard-eff small{font-family:var(--font-hei);color:var(--muted);letter-spacing:.06em;margin-top:5px;font-size:11.5px;display:block}.cards-view.js .pager{font-family:var(--font-hei);color:var(--muted);align-items:baseline;gap:22px;padding:26px 0 0;font-size:13px;display:flex}.pager button{color:var(--fg);font-size:13px;font-family:var(--font-hei);border-bottom:1px solid #0000;padding:4px 2px}.pager button:hover:not(:disabled){border-bottom-color:var(--fg)}.pager button:disabled{color:var(--border);cursor:default}.pager .num{font-size:13px}.pager .pager-total{margin-left:auto}.empty{color:var(--muted);font-family:var(--font-hei);text-align:center;padding:60px 0;font-size:14px}.cards-view>.backline{margin-top:32px}@media (width<=920px){.read-layout{grid-template-columns:1fr}.toc{border-bottom:1px solid var(--border);max-height:none;margin-bottom:24px;padding-bottom:16px;position:static}.bookrow{grid-template-columns:1fr;gap:32px}.bookcover{max-width:220px}.acard{grid-template-columns:1fr;gap:14px}.acard-eff{text-align:left;align-items:baseline;gap:10px;display:flex}.navlinks{display:none}}
