*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:17px/1.8 -apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg)}a{color:inherit;text-underline-offset:5px}button,input,select{font:inherit}button,select,input{min-height:44px}button{cursor:pointer}button,.button{border:1px solid currentColor;background:transparent;color:inherit;padding:9px 18px;border-radius:4px}.button{display:inline-block;text-decoration:none}button:hover,.button:hover{background:var(--accent);color:var(--bg)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:4px}img,video{max-width:100%;display:block}img{width:100%;height:auto}header{padding:24px 5vw;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{font-size:24px;font-weight:750;text-decoration:none;letter-spacing:.04em}nav{display:flex;gap:26px;flex-wrap:wrap}main{max-width:1320px;margin:auto;padding:48px 5vw 80px}h1{font-family:"Songti SC","Noto Serif CJK SC",serif;font-size:clamp(30px,4.7vw,68px);line-height:1.25;font-weight:600;margin:10px 0 24px;overflow-wrap:anywhere}h2{font-size:28px;line-height:1.4;margin:46px 0 20px}h3{font-size:21px;line-height:1.5;margin:12px 0}p{max-width:70ch}.lead{font-size:20px;max-width:46ch}.eyebrow{letter-spacing:.15em;font-size:13px;text-transform:uppercase;color:var(--muted)}footer{border-top:1px solid var(--line);padding:28px 5vw;font-size:14px;color:var(--muted)}footer p{margin:6px 0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}.card{text-decoration:none;display:block;min-width:0}.card img{aspect-ratio:16/9;object-fit:cover}.card p{font-size:15px;color:var(--muted);margin:8px 0}.card small{font-size:13px;color:var(--muted)}.filters{display:flex;gap:14px;align-items:center;flex-wrap:wrap;padding:22px 0;margin:24px 0;border-block:1px solid var(--line)}input,select{color:var(--ink);background:var(--panel);border:1px solid var(--line);padding:8px 12px;max-width:100%}input[type=search]{width:250px}.filters label{font-size:15px}.topics{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.topics a{padding:8px 16px;border:1px solid var(--line);text-decoration:none}.work-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:42px}.prose{max-width:740px;margin:auto}.prose p{font-size:19px;line-height:2.1}.scene{margin:36px 0 55px;scroll-margin-top:20px}.scene figcaption{margin-top:18px}.scene h2{margin:14px 0}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.muted{color:var(--muted)}.skip{position:absolute;top:-70px;left:20px;background:var(--panel);padding:10px;z-index:10}.skip:focus{top:0}[hidden]{display:none!important}.chapter-nav{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:24px;margin-top:40px}.readerbar{display:flex;gap:12px;flex-wrap:wrap;background:var(--panel);padding:18px;border:1px solid var(--line)}.readerbar output{min-width:90px}dialog{border:0;padding:18px;width:min(1000px,94vw);background:var(--panel);color:var(--ink)}dialog::backdrop{background:#000b}.screen{background:#080b0e;padding:18px}.screen video{width:100%;aspect-ratio:16/9}.summary{border-left:3px solid var(--accent);padding-left:20px}.programme{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}.programme .card h3{font-size:16px}.programme .card p{display:none}.shelf{padding:24px 0;border-top:2px solid var(--line)}.shelf .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reading-list{list-style:none;padding:0}.reading-list li{display:grid;grid-template-columns:70px minmax(0,1fr) 100px;gap:24px;padding:25px 0;border-bottom:1px solid var(--line)}.reading-list a{text-decoration:none}.reading-list h3{margin:0}.reading-list p{font-size:16px;margin:6px 0}.reading-list .num{font:30px Georgia,serif;color:var(--muted)}body.night{--bg:#23282d;--ink:#e4e7e9;--panel:#30373d;--muted:#b9c5cc;--line:#56616a}#reading{font-size:var(--reading-size,19px)}#reading p{font-size:inherit}.focus-box{padding:25px;background:var(--panel);border:1px solid var(--line)}.focus-box output{font:44px/1.4 ui-monospace,monospace;display:block;margin:20px 0}.forest-layout{display:grid;grid-template-columns:160px minmax(0,1fr) 220px;gap:28px}.forest-layout aside a{display:block;margin:15px 0}.forest-layout h1{font-size:40px}.forest-layout .screen{padding:0}.notes{padding:18px;background:var(--panel)}@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.programme{grid-template-columns:repeat(3,minmax(0,1fr))}.forest-layout{grid-template-columns:1fr}.forest-layout aside{display:flex;gap:20px;flex-wrap:wrap}.work-layout{grid-template-columns:1fr}}@media(max-width:600px){header{padding:18px 20px;display:block}.brand{font-size:21px}nav{gap:20px;margin-top:12px;font-size:15px}main{padding:28px 20px 50px}h1{font-size:34px}.lead{font-size:18px}.grid,.shelf .grid{grid-template-columns:1fr;gap:28px}.programme{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{display:grid;grid-template-columns:1fr}input[type=search]{width:100%}.reading-list li{grid-template-columns:35px minmax(0,1fr);gap:15px}.reading-list .meta{grid-column:2}.prose p{font-size:18px}.scene{margin-inline:0}footer{padding:25px 20px}.work-layout{gap:20px}.forest-layout h1{font-size:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}body{--bg:#f9fafb;--ink:#273e51;--muted:#5c7180;--panel:#edf2f5;--line:#cad6de;--accent:#547a91}header{max-width:1050px;margin:auto;padding-inline:30px}main{max-width:1050px;padding-inline:30px}.reading-desk{display:grid;grid-template-columns:230px minmax(0,1fr);gap:50px}.reading-desk aside{border-right:1px solid var(--line);padding-right:24px}.reading-desk aside a{display:block;margin:18px 0}.reading-desk h1{font-size:40px}.reader-head{max-width:740px;margin:auto}#reading{max-width:680px}.readerbar{max-width:740px;margin:20px auto 40px}.readerbar button{padding:6px 12px}.reader .scene img{display:none}.reading-list .card img{display:none}@media(max-width:700px){.reading-desk{display:block}.reading-desk aside{border:0;display:flex;gap:18px;flex-wrap:wrap;padding:0}.reading-desk h1{font-size:32px}main{padding-inline:20px}.reading-list .num{font-size:24px}}