*{box-sizing:border-box}
[hidden]{display:none!important}
:root{font-family:"PingFang SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif;color-scheme:light}
body{margin:0;color:var(--ink);background:var(--paper);font-size:16px;line-height:1.7}
.brief{--ink:#17352b;--muted:#496153;--paper:#f6f6ed;--white:#fffefa;--soft:#eaf0e4;--line:#d6dfd0;--green:#205745;--deep:#133c31;--serif:"Songti SC",STSong,serif}
.garden{--ink:#273c24;--muted:#485a41;--paper:#f8f6ed;--white:#fffdf7;--soft:#e9efd9;--line:#d8dfc8;--green:#36582f;--deep:#2f4a2a;--serif:"Songti SC",STSong,serif}
h1,h2,h3,h4,p,figure{margin:0}
button,input{font:inherit}
button{cursor:pointer}
a{color:var(--green);text-underline-offset:4px;overflow-wrap:anywhere}
:focus-visible{outline:3px solid #875100;outline-offset:3px}
img{display:block;max-width:100%;height:auto}
.frame{width:min(100% - 36px,960px);margin-inline:auto}
.gate{max-width:730px;margin:clamp(24px,6vh,76px) auto;width:calc(100% - 36px);border:1px solid var(--line);background:var(--white);overflow:hidden}
.gate-cover{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;padding:38px 32px;min-height:258px;background:var(--deep);color:white}
.gate-title{z-index:1}
.gate-title>span,.edition{font-size:13px;font-weight:650;letter-spacing:.04em}
.gate-title h1,.intro h1{font-family:var(--serif);font-weight:800;font-size:clamp(30px,6vw,52px);line-height:1.2;letter-spacing:-.035em;margin-top:10px}
.leaf{position:absolute;right:0;top:0;width:220px;height:310px;transform:rotate(22deg);opacity:.75}
.leaf:after{content:"";position:absolute;top:8%;left:57%;width:1px;height:89%;background:#b1cca2}
.leaf i{position:absolute;width:67px;height:110px;border-radius:85% 10% 80% 10%;background:linear-gradient(135deg,#acc69399,#688f565c);transform:rotate(17deg);right:12px;top:1px}
.leaf i:nth-child(2){top:39px;right:84px;transform:rotate(-98deg)}
.leaf i:nth-child(3){top:82px;right:16px}
.leaf i:nth-child(4){top:119px;right:83px;transform:rotate(-100deg)}
.leaf i:nth-child(5){top:164px;right:22px}
.gate-form{padding:26px 30px 22px}
#access label{display:block;font-weight:700;margin-bottom:8px}
#code{display:block;width:100%;padding:10px 13px;min-height:51px;background:var(--paper);border:1px solid #aab8a5;border-radius:6px;color:var(--ink)}
#code[aria-invalid="true"]{border:2px solid #a12924}
#enter{margin-top:12px;width:100%;border:0;background:var(--green);color:white;border-radius:6px;min-height:51px;padding:7px 14px;font-weight:700}
#enter span{margin-left:8px}
#enter:disabled{opacity:.75;cursor:wait}
#gate-status{font-size:13px;margin-top:8px;min-height:23px;color:#962d26}
#gate-status.loading{color:var(--muted)}
.garden .gate{border-radius:24px}
.garden .gate-cover{background:linear-gradient(0deg,#182f21ec 0%,#182f2190 45%,#182f2100 76%),url("/gate-cover.jpg") center 39%/cover;min-height:306px}
.garden .gate-cover .leaf{display:none}
.garden #code,.garden #enter{border-radius:24px}
.reader-head{background:var(--deep);color:white}
.reader-head .frame{min-height:55px;display:flex;align-items:center;gap:12px}
.leaf-token{display:inline-block;width:16px;height:22px;border-radius:90% 15% 90% 15%;transform:rotate(17deg);background:#b9d29c}
.quick{position:sticky;top:0;z-index:3;background:var(--white);border-bottom:1px solid var(--line)}
.quick .frame{display:flex;align-items:center;justify-content:space-between;gap:9px}
.quick a{display:grid;place-items:center;font-weight:700;font-size:14px;text-decoration:none;min-height:47px;padding:0 2px;white-space:nowrap}
.quick a:hover{text-decoration:underline}
.reading{padding:25px 0 45px}
.intro{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:var(--white)}
.intro-copy{padding:23px 25px;grid-column:1/-1}
.edition{color:var(--green)}
.intro h1{margin:8px 0 12px}
.intro-copy>p:last-child{color:var(--muted);font-size:15px}
.intro-photo{align-self:stretch;min-height:180px;overflow:hidden}
.intro-photo img{width:100%;height:100%;object-fit:cover;object-position:center 41%}
.intro-notes{padding:17px 21px;background:var(--soft)}
.intro-notes h2,.chapter-list h2{font-size:19px;font-weight:750}
.intro-notes ol{margin:7px 0 6px;padding-left:1.35em;font-size:15px}
.intro-notes a{font-weight:700;font-size:14px}
.garden .reader-head{background:var(--soft);color:var(--ink)}
.garden .leaf-token{background:var(--green)}
.garden .intro{border:0;border-radius:17px;overflow:hidden;background:var(--soft)}
.garden .intro-photo{grid-row:1;grid-column:1/-1;height:238px}
.garden .intro-copy{padding:19px 21px 20px}
.garden .intro-notes{grid-column:1/-1;border-top:1px solid var(--line);background:var(--white)}
.medical-note{margin:14px 0 21px;padding:9px 12px;border-left:3px solid var(--green);background:var(--soft);color:var(--muted);font-size:14px}
.chapter-list{background:var(--white);padding:16px 17px;border:1px solid var(--line);margin:0 0 20px}
.chapter-list div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 15px;margin-top:7px}
.chapter-list a{min-height:43px;display:flex;align-items:center;justify-content:space-between;gap:7px;border-bottom:1px solid var(--line);font-size:15px;text-decoration:none}
.chapter-list a:hover{text-decoration:underline}
.chapter-list a span{color:var(--muted);font-size:13px}
.garden .chapter-list,.garden .chapter{border-radius:15px}
.chapter{background:var(--white);border:1px solid var(--line);padding:19px clamp(16px,4vw,34px) 24px;margin-bottom:15px}
.chapter h2{font-family:var(--serif);font-size:24px;line-height:1.35;padding-bottom:10px;border-bottom:2px solid var(--soft);margin-bottom:14px}
.chapter h3{font-size:20px;margin:20px 0 6px}
.chapter h4{font-size:17px;margin:17px 0 6px}
.chapter p{margin:8px 0}
.chapter ul,.chapter ol{padding-left:1.35rem}
.chapter hr{display:none}
.chapter a.citation{font-size:.75em;margin-left:3px;white-space:nowrap}
.chapter figure{margin:14px 0}
.chapter figure img{border-radius:7px}
.chapter blockquote{margin:12px 0;padding:8px 13px;background:var(--soft);border-left:3px solid var(--green)}
.table-wrap{overflow-x:auto;margin:14px 0}
.chapter table{width:100%;min-width:450px;border-collapse:collapse;font-size:14px}
.chapter td,.chapter th{padding:7px 9px;border:1px solid var(--line);text-align:left}
.chapter th{background:var(--soft)}
.chart>button:first-child{width:100%;padding:0;background:var(--white);border:1px solid var(--line);border-radius:8px;overflow:hidden;text-align:left;color:var(--green)}
.chart img{width:100%}
.chart button span{display:flex;justify-content:space-between;padding:9px 12px;font-weight:700;border-top:1px solid var(--line);min-height:43px}
.retry{min-height:44px;margin-top:6px;color:var(--green);background:var(--soft);border:1px solid var(--line);border-radius:5px}
.chapter-list,.chapter,.plan,[id^="ref-"]{scroll-margin-top:62px}
.plan{margin:21px 0;background:var(--soft);padding:10px 13px 13px;border-radius:9px}
.plan h3{margin-top:4px}
.plan p{font-size:13px;color:var(--muted)}
.day{border-bottom:1px solid var(--line);background:var(--white)}
.day summary{cursor:pointer;padding:12px;min-height:47px;font-weight:700}
.day-count{float:right;font-size:13px;color:var(--muted);font-weight:600}
.checks{padding:0 12px 8px}
.checks label{display:flex;gap:8px;align-items:flex-start;padding:8px 0;border-top:1px solid var(--line);min-height:43px;font-size:15px}
.checks input{flex:none;margin:4px 0 0;width:19px;height:19px;accent-color:var(--green)}
footer{text-align:center;padding-top:8px}
#zoom{border:1px solid var(--line);border-radius:12px;padding:0;max-width:min(95vw,980px);width:100%;color:var(--ink);background:var(--white)}
#zoom::backdrop{background:#142b22ad}
#zoom header{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:8px 11px;background:var(--soft);font-size:14px}
#close-chart{border:1px solid var(--line);border-radius:5px;background:var(--white);color:var(--green);min-height:42px;white-space:nowrap}
.zoom-image{overflow:auto;max-height:69vh;background:white}
.zoom-image img{width:100%}
.zoom-image.enlarged img{width:max(150%,600px);max-width:none}
.zoom-controls{display:flex;justify-content:flex-end;padding:7px 11px;background:var(--soft)}
#resize-chart{min-height:42px;padding:5px 12px;border:1px solid var(--line);border-radius:5px;background:var(--white);color:var(--green)}
@media(max-width:560px){
 .gate-cover{min-height:224px;padding:25px 21px}
 .gate-form{padding:22px 21px 20px}
 .reading{padding-top:15px}
 .intro-copy{padding:19px 16px 14px}
 .intro h1{font-size:36px}
 .intro-photo{min-height:161px}
 .intro-notes{padding:12px}
 .intro-notes h2{font-size:16px}
 .intro-notes ol{font-size:13px;padding-left:1.25em}
 .intro-notes a{font-size:13px}
 .garden .intro-photo{height:196px}
 .garden .intro-copy{padding:16px 18px}
 .garden .intro-notes{padding:12px 18px}
 .garden .intro-notes ol{display:grid;gap:2px}
 .chapter-list div{grid-template-columns:repeat(2,minmax(0,1fr))}
 .chapter{font-size:16px}
}
@media(max-width:350px){.frame{width:calc(100% - 24px)}.quick a{font-size:13px}.intro h1{font-size:31px}.intro-notes h2{font-size:15px}}

.gate-cover .leaf{pointer-events:none}
#gate-status:empty{min-height:0;margin-top:0}
