:root{--paper:#f1ebdd;--ink:#211c16;--ink-2:#4a4238;--ink-3:#5d5449;--rule:#211c1629;--rule-soft:#211c1617;--cinnabar:#a8312a;--serif:"Noto Serif CJK SC", "Noto Serif SC", "Source Han Serif SC", "Songti SC", SimSun, serif;--sans:"Noto Sans CJK SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--mono:ui-monospace, "SFMono-Regular", "JetBrains Mono", Menlo, Consolas, monospace;--gutter:clamp(28px, 7vw, 120px)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:17px;line-height:1.9;overflow-x:hidden}::selection{background:#a8312a29}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--cinnabar);outline-offset:4px}.skip{z-index:100;background:var(--ink);color:var(--paper);font-family:var(--sans);padding:10px 16px;font-size:13px;position:absolute;top:8px;left:-9999px}.skip:focus{left:12px}.grain{z-index:60;pointer-events:none;opacity:.16;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");position:fixed;inset:0}.binding{z-index:50;pointer-events:none;background:linear-gradient(90deg,#211c1621,#211c160b 42%,#211c1600 100%);width:clamp(14px,2.4vw,34px);position:fixed;top:0;bottom:0;left:0}.binding:after{content:"";background:#211c161a;width:1px;position:absolute;top:0;bottom:0;right:0}.mast{z-index:40;background:var(--paper);padding:0 var(--gutter) 14px calc(var(--gutter) + 10px);transition:box-shadow .4s;position:sticky;top:0}.mast:after{content:"";background:linear-gradient(var(--paper), #f1ebdd00);pointer-events:none;height:16px;position:absolute;bottom:-16px;left:0;right:0}.mast.stuck{box-shadow:0 1px 0 var(--rule-soft), 0 18px 24px -26px #211c1680}.mast-in{justify-content:space-between;align-items:baseline;gap:24px;max-width:1240px;margin:0 auto;padding-top:20px;display:flex}.brand{letter-spacing:.26em;align-items:baseline;gap:14px;font-size:15px;display:flex}.brand b{font-weight:600}.brand span{font-family:var(--mono);letter-spacing:.16em;color:var(--ink-3);font-size:12px}.mast nav{font-family:var(--sans);letter-spacing:.18em;color:var(--ink-2);gap:26px;font-size:13px;display:flex}.mast nav a{padding:4px 0;transition:color .3s;position:relative}.mast nav a:after{content:"";background:var(--ink);transform-origin:0;height:1px;transition:transform .45s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.mast nav a:hover,.mast nav a.on{color:var(--ink)}.mast nav a:hover:after,.mast nav a.on:after{transform:scaleX(1)}.page{max-width:1240px;padding:0 var(--gutter) 0 calc(var(--gutter) + 10px);margin:0 auto}.grid{grid-template-columns:minmax(0,1fr) 214px;gap:clamp(28px,4vw,72px);display:grid}.hero{padding:clamp(46px,9vh,104px) 0 clamp(90px,20vh,200px)}.hero .grid{align-items:start}.kicker{font-family:var(--sans);letter-spacing:.24em;color:var(--ink-3);margin:0 0 clamp(30px,7vh,64px);font-size:12.5px}.hero-flex{align-items:flex-start;gap:clamp(30px,6vw,96px);display:flex}.hero-txt{flex:auto;min-width:0;padding-top:clamp(4px,3vh,40px)}.lead{letter-spacing:.02em;max-width:22em;margin:0;font-size:clamp(19px,2.1vw,25px);line-height:2.05}.coda{color:var(--ink-2);letter-spacing:.06em;margin-top:clamp(26px,4vh,44px);font-size:clamp(15px,1.4vw,17px)}.hero-sign{flex-direction:column;flex:none;align-items:center;gap:22px;padding-top:6px;display:flex}.vtitle{writing-mode:vertical-rl;letter-spacing:.22em;margin:0;font-size:clamp(40px,5.6vw,74px);font-weight:500;line-height:1.16}.seal{background:var(--cinnabar);color:#f6f1e4;width:56px;height:56px;font-size:17px;line-height:1.14;font-family:var(--serif);border-radius:1px;flex-direction:column;justify-content:center;align-items:center;display:flex;transform:rotate(-1.2deg);box-shadow:inset 0 0 0 1.5px #f6f1e447}.seal--large{width:60px;height:60px;font-size:18px}.margin-note{font-family:var(--sans);color:var(--ink-3);border-left:1px solid var(--rule);letter-spacing:.04em;margin-top:clamp(10px,3vh,30px);padding-left:16px;font-size:12.5px;line-height:2.05}.margin-note b{color:var(--ink-2);letter-spacing:.16em;margin-bottom:8px;font-weight:500;display:block}.sec{padding:clamp(70px,11vh,130px) 0;scroll-margin-top:86px}.sec+.sec{border-top:1px solid var(--rule-soft)}.sec-head{align-items:flex-start;gap:clamp(18px,3vw,42px);margin-bottom:clamp(34px,6vh,62px);display:flex}.vlabel{writing-mode:vertical-rl;letter-spacing:.42em;color:var(--ink-2);flex:none;margin:0;padding-top:2px;font-size:15px;font-weight:500}.vlabel:before{content:"";background:var(--rule);width:1px;height:34px;margin:0 auto 12px;display:block}.sec-intro{color:var(--ink-2);max-width:30em;margin:0;padding-top:2px;font-size:clamp(15px,1.5vw,17px);line-height:2.1}.sec-intro b{color:var(--ink);font-weight:600}.lineage{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.lineage li{border-bottom:1px solid var(--rule-soft);grid-template-columns:74px 1fr minmax(0,1.15fr);align-items:baseline;gap:6px clamp(14px,2.6vw,40px);padding:clamp(20px,3.4vh,32px) 0;transition:background .5s;display:grid}.lineage li:hover{background:linear-gradient(90deg,#211c1609,#0000 70%)}.lineage .yr{font-family:var(--mono);letter-spacing:.08em;color:var(--ink-3);font-size:12px}.lineage .who{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.lineage .nm{letter-spacing:.12em;font-size:clamp(19px,2vw,23px);font-weight:500}.lineage .life{font-family:var(--sans);color:var(--ink-3);letter-spacing:.04em;font-size:12px}.lineage .do{letter-spacing:.2em;color:var(--ink-2);border-bottom:1px solid var(--rule);justify-self:start;padding-bottom:2px;font-size:13px}.lineage p{color:var(--ink-2);grid-column:2/-1;max-width:34em;margin:2px 0 0;font-size:15.5px;line-height:1.95}.lineage li.now .nm:after{content:"在册";font-family:var(--sans);letter-spacing:.2em;color:var(--ink-3);border:1px solid var(--rule);vertical-align:3px;margin-left:4px;padding:1px 6px;font-size:12px}.arts{border-top:1px solid var(--rule);border-left:1px solid var(--rule-soft);grid-template-columns:1fr 1fr;display:grid}.art{border-right:1px solid var(--rule-soft);border-bottom:1px solid var(--rule-soft);padding:clamp(24px,3.4vw,34px);transition:background .5s}.art:hover{background:#ffffff5c}.art-top{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.art h3{letter-spacing:.18em;margin:0;font-size:clamp(22px,2.3vw,27px);font-weight:500}.art .idx{font-family:var(--mono);color:var(--ink-3);letter-spacing:.1em;font-size:12px}.art .term{font-family:var(--sans);letter-spacing:.14em;color:var(--ink-3);border-bottom:1px solid var(--rule-soft);margin:0 0 14px;padding-bottom:14px;font-size:12.5px}.art .term b{color:var(--ink-2);font-weight:500}.kv{color:var(--ink-2);gap:14px;margin-top:7px;font-size:14.5px;line-height:2;display:flex}.kv span{font-family:var(--sans);letter-spacing:.18em;color:var(--ink-3);flex:0 0 38px;padding-top:4px;font-size:12px}.kv p{flex:1;min-width:0;margin:0}.taboo p{color:var(--ink)}.taboo span{color:var(--cinnabar)}.works{margin:0;padding:0;list-style:none}.work{border-top:1px solid var(--rule);grid-template-columns:86px minmax(0,1fr) 150px;align-items:start;gap:clamp(14px,2.6vw,38px);padding:clamp(24px,3.6vh,38px) 0;transition:padding-left .5s cubic-bezier(.2,.7,.2,1);display:grid}.work:last-child{border-bottom:1px solid var(--rule)}.work:hover{padding-left:12px}.work .y{font-family:var(--mono);color:var(--ink-3);padding-top:8px;font-size:12px}.work h3{letter-spacing:.14em;margin:0 0 8px;font-size:clamp(21px,2.2vw,26px);font-weight:500}.work p{color:var(--ink-2);max-width:36em;margin:0;font-size:15px;line-height:2}.work .mat{font-family:var(--sans);letter-spacing:.12em;color:var(--ink-3);text-align:right;padding-top:12px;font-size:12px;line-height:2}.work .mat b{color:var(--ink-2);font-weight:500;display:block}.work.fail h3:after{content:"留作教学";font-family:var(--sans);letter-spacing:.2em;color:var(--ink-3);border:1px solid var(--rule);vertical-align:4px;margin-left:12px;padding:1px 6px;font-size:12px}.rules{counter-reset:r;margin:0;padding:0;list-style:none}.rules li{counter-increment:r;border-bottom:1px solid var(--rule-soft);grid-template-columns:52px 1fr;gap:20px;padding:clamp(18px,2.6vh,26px) 0;display:grid}.rules li:before{content:"一";color:var(--ink-3);font-size:19px;font-family:var(--serif);letter-spacing:.1em;line-height:1.9}.rules li:nth-child(2):before{content:"二"}.rules li:nth-child(3):before{content:"三"}.rules p{letter-spacing:.04em;margin:0;font-size:clamp(16px,1.7vw,19px);line-height:1.95}.post-note{color:var(--ink-2);margin:clamp(26px,4vh,44px) 0 0;font-size:15px;line-height:2.1}.post-note b{font-weight:600}.colophon{border-top:1px solid var(--rule);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;padding:clamp(60px,10vh,120px) 0 clamp(50px,9vh,90px);display:flex}.colophon .sig{letter-spacing:.16em;font-size:clamp(18px,1.9vw,21px);line-height:2.2}.colophon .sig span{font-family:var(--sans);letter-spacing:.18em;color:var(--ink-3);font-size:12px;display:block}.foot{font-family:var(--sans);letter-spacing:.08em;color:var(--ink-3);border-top:1px solid var(--rule-soft);flex-wrap:wrap;justify-content:space-between;gap:20px;padding:22px 0 40px;font-size:12px;line-height:2.1;display:flex}[data-reveal]{transition:transform 1.1s cubic-bezier(.2,.7,.2,1);transform:translateY(18px)}[data-reveal].in{transform:none}@media (width<=980px){.grid{grid-template-columns:minmax(0,1fr)}.mast-in{flex-wrap:wrap;gap:6px 18px}.mast nav{letter-spacing:.14em;gap:18px;font-size:12.5px}}@media (width<=760px){.arts{grid-template-columns:1fr}.lineage li{grid-template-columns:56px 1fr;gap:8px 14px}.lineage .do,.lineage p{grid-column:2}.work{grid-template-columns:64px 1fr}.work .mat{text-align:left;grid-column:2;padding-top:6px}.hero-flex{gap:20px}}@media (width<=480px){.brand span{display:none}.mast nav{gap:14px;font-size:12px}.hero-sign{gap:14px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{transition:none;transform:none}.work,.mast nav a:after{transition:none}}@media print{.grain,.binding,.mast,.skip{display:none!important}body{color:#000;background:#fff;font-size:11pt}.page{max-width:none;padding:0}.grid{grid-template-columns:1fr}.sec{break-inside:avoid;padding:18pt 0}.hero{padding:0 0 18pt}.margin-note{margin-top:10pt}}
