:root{
--paper:#fdfbf7;
--panel:#f5f5f5;
--ink:#1a1a1a;
--line:#e0e0e0;
--soft:#3a3a3a;
--mute:#6b6b6b;
--rail:236px;
--serif:"Noto Serif TC",Georgia,"Songti SC","Times New Roman",serif;
--sans:"Noto Sans TC","Helvetica Neue",Arial,"PingFang SC",sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.85;font-weight:400;overflow-x:hidden}
body::after{content:"";position:fixed;inset:0;z-index:30;pointer-events:none;opacity:.2;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.42'/%3E%3C/svg%3E")}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.35;letter-spacing:.01em}
hr{border:0;border-top:1px solid var(--line);margin:1em 0}

/* 左侧竖栏 */
.top{position:fixed;top:0;left:0;bottom:0;width:var(--rail);z-index:40;display:flex;flex-direction:column;justify-content:space-between;gap:24px;padding:26px 22px;background:var(--paper);border-right:1px solid var(--line)}
.brand{display:flex;align-items:center;min-height:44px;text-decoration:none;font-family:var(--serif);font-size:21px;font-weight:700;letter-spacing:.08em;line-height:1.4}
.brand-m{width:30px;height:30px;margin-right:8px;border-radius:4px}
.burger{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;min-height:44px;border:1px solid var(--line);border-radius:4px;background:transparent;font:inherit;font-size:14px;color:var(--ink);cursor:pointer}
.burger i{display:block;width:20px;height:1px;background:var(--ink)}
.burger span{margin-top:5px;letter-spacing:.18em}
.burger[aria-expanded="true"]{background:var(--ink);color:var(--paper)}
.burger[aria-expanded="true"] i{background:var(--paper)}

/* 全屏遮罩菜单 */
.veil{position:fixed;inset:0;z-index:50;display:grid;align-content:center;gap:30px;padding:84px 40px 44px;background:var(--paper);overflow:auto;transform:translateY(-101%);visibility:hidden}
.veil.on{transform:none;visibility:visible}
.find{display:flex;align-items:center;gap:14px;max-width:520px;padding-bottom:8px;border-bottom:1px solid var(--ink)}
.find label{font-size:14px;letter-spacing:.24em}
.find input{flex:1;min-height:44px;border:0;background:transparent;font:inherit;font-size:18px;color:var(--ink)}
.find input:focus{outline:0}
.menu ol{list-style:none;margin:0;padding:0;column-count:2;column-gap:56px}
.menu li{break-inside:avoid}
.menu a{display:block;padding:12px 0;font-family:var(--serif);font-size:clamp(22px,3vw,32px);line-height:1.3;text-decoration:none;border-bottom:1px solid var(--line)}
.menu a:hover{border-bottom-color:var(--ink)}

/* 首屏 */
.hero{position:relative;margin-left:var(--rail);min-height:100vh;display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:center;gap:44px;padding:100px 52px 76px;border-bottom:1px solid var(--line);overflow:hidden}
.ghost{position:absolute;right:-.05em;top:50%;transform:translateY(-50%);z-index:0;font-family:var(--serif);font-weight:700;font-size:clamp(120px,19vw,290px);line-height:.9;letter-spacing:.02em;color:#ecebe5;white-space:nowrap;pointer-events:none}
.hero-art,.hero-txt{position:relative;z-index:1}
.hero-fig{margin:0;border:1px solid var(--line);border-bottom:3px solid var(--ink);border-radius:4px;overflow:hidden;background:var(--panel)}
.hero-txt{text-align:right}
.kicker{margin:0 0 12px;font-size:14px;letter-spacing:.34em;color:var(--mute)}
.kicker span{display:inline-block;min-width:5em}
h1{margin:0 0 18px;font-size:clamp(30px,4.2vw,52px)}
.lede{max-width:32ch;margin:0 0 26px auto;color:var(--soft)}
.go{display:inline-block;min-height:44px;padding:13px 26px;border:1px solid var(--ink);border-radius:4px;text-decoration:none;font-size:15px;letter-spacing:.2em}
.go:hover{background:var(--ink);color:var(--paper)}

/* 正文 */
main{margin-left:var(--rail)}
.wrap{display:grid;grid-template-columns:minmax(0,1fr) 258px;gap:56px;max-width:1140px;margin:0 auto;padding:70px 48px 96px}
.doc div{padding-bottom:42px;margin-bottom:42px;border-bottom:1px solid var(--line);scroll-margin-top:96px}
.doc div:last-child{border-bottom:0;margin-bottom:0}
.doc h2{margin:0 0 14px;font-size:clamp(23px,2.5vw,31px)}
.doc h3{margin:30px 0 8px;font-size:20px}
.doc p{margin:0 0 1.05em}
.doc a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;padding:2px 0}
.doc ul,.doc ol{margin:0 0 1.05em;padding-left:1.3em}
.doc li{margin-bottom:.5em}
.doc blockquote{margin:0 0 1.05em;padding:4px 0 4px 18px;border-left:2px solid var(--ink);color:var(--soft)}
.doc img{margin:0 0 1em;border:1px solid var(--line);border-radius:4px}
.doc table{width:100%;border-collapse:collapse;margin:0 0 1.05em;font-size:15px}
.doc th,.doc td{border:1px solid var(--line);padding:8px 10px;text-align:left}

/* 右栏 */
.side{position:sticky;top:40px;align-self:start;padding:22px 20px 18px;background:var(--panel);border:1px solid var(--line);border-bottom:3px solid var(--ink);border-radius:4px}
.side h2{margin:0 0 8px;font-size:16px;letter-spacing:.24em}
.side hr{margin:0 0 12px}
.side-list{list-style:none;margin:0 0 16px;padding:0;font-size:14px;line-height:1.5}
.side-list a{display:block;min-height:41px;padding:10px 0;text-decoration:none;border-bottom:1px solid var(--line)}
.side-list a:hover{color:var(--mute)}
.top-go{display:inline-block;min-height:40px;padding:9px 0;font-size:14px;letter-spacing:.16em;text-decoration:none;border-bottom:1px solid var(--ink)}

/* 页脚 */
footer{margin-left:var(--rail);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 28px;padding:24px 48px;border-top:1px solid var(--ink);font-size:14px}
.f-brand{font-family:var(--serif);font-weight:700;letter-spacing:.12em}
footer nav ol{display:flex;flex-wrap:wrap;gap:4px 22px;margin:0;padding:0;list-style:none}
footer nav a{display:block;min-height:40px;padding:9px 0;text-decoration:none;border-bottom:1px solid transparent}
footer nav a:hover{border-bottom-color:var(--ink)}
.f-copy{letter-spacing:.08em;color:var(--mute)}

/* 动效 */
@keyframes rise{from{transform:translateY(7px);opacity:0}to{transform:none;opacity:1}}
.side-list li,.menu li{animation:rise .16s steps(4) both}
.side-list li:nth-child(2),.menu li:nth-child(2){animation-delay:.04s}
.side-list li:nth-child(3),.menu li:nth-child(3){animation-delay:.08s}
.side-list li:nth-child(4),.menu li:nth-child(4){animation-delay:.12s}
.side-list li:nth-child(5),.menu li:nth-child(5){animation-delay:.16s}
.side-list li:nth-child(6),.menu li:nth-child(6){animation-delay:.2s}
.side-list li:nth-child(7),.menu li:nth-child(7){animation-delay:.24s}
@media (prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
.side-list li,.menu li{animation:none}
}

/* 窄屏 */
@media (max-width:880px){
:root{--rail:0px}
.top{right:0;bottom:auto;width:auto;height:60px;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;padding:8px 16px;border-right:0;border-bottom:1px solid var(--line)}
.brand{font-size:17px;letter-spacing:.06em}
.burger{padding:8px 10px;gap:3px}
.burger span{font-size:13px}
.veil{align-content:start;padding:76px 20px 32px;gap:22px}
.menu ol{column-count:1}
.menu a{font-size:22px;padding:14px 0}
.hero{margin-left:0;grid-template-columns:minmax(0,1fr);gap:20px;padding:80px 18px 48px;min-height:calc(100vh - 60px)}
.hero-fig{height:30vh}
.hero-fig img{width:100%;height:100%;object-fit:cover}
.ghost{font-size:clamp(88px,25vw,150px)}
h1{font-size:clamp(27px,8vw,38px)}
.lede{max-width:100%}
main,footer{margin-left:0}
.wrap{grid-template-columns:minmax(0,1fr);gap:34px;padding:44px 18px 64px}
.side{position:static;order:2}
.doc div{scroll-margin-top:76px}
footer{flex-direction:column;align-items:flex-start;gap:6px;padding:20px 18px}
footer nav ol{gap:2px 18px}
}

button[aria-expanded]{min-width:44px;min-height:44px}
