@import url('https://fonts.googleapis.com/css2?family=Google+Sans+Flex:wght@400..700&family=Noto+Sans+SC:wght@400..700&display=swap');
:root{color-scheme:light;--ink:#172622;--muted:#526761;--line:#dce6e1;--mint:#c8f3de;--forest:#102c28;--bg:#f7faf8;font:16px "Google Sans Flex","Noto Sans SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}a{color:inherit}header,footer{padding:18px max(5vw,20px);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}header a{text-decoration:none}header .brand{font-size:1.3rem;font-weight:700}.brand span{color:#208064}footer{border-top:1px solid var(--line);color:var(--muted)}
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--forest);color:#fff;padding:clamp(45px,8vw,105px) max(5vw,20px)}.hero::after{content:"";position:absolute;z-index:-1;inset:0 0 0 48%;background:repeating-radial-gradient(ellipse at 92% 62%,#69c8a54f 0 1px,transparent 2px 23px);mask-image:linear-gradient(90deg,transparent,#000)}.hero h1{font-size:clamp(2.4rem,9vw,7.6rem);font-weight:600;line-height:1.05;overflow-wrap:anywhere;letter-spacing:-.035em;margin:16px 0}.hero p{max-width:35rem;color:#daf3e9;line-height:1.75}.eyebrow{color:#9ee7c8;font-weight:700;letter-spacing:.13em}.hero a{display:inline-block;background:var(--mint);color:var(--ink);text-decoration:none;padding:11px 17px;margin-top:10px;border-radius:6px;font-weight:700}
.library{max-width:1450px;margin:auto;padding:34px max(5vw,20px) 64px}.library h2{font-size:1.8rem;margin:0 0 16px}.controls{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0}.controls button,.done{background:white;border:1px solid var(--line);border-radius:6px;color:var(--ink);padding:9px 13px;cursor:pointer;font:inherit}.controls button[aria-pressed=true],.done[aria-pressed=true]{background:var(--forest);color:white}.search{font:inherit;width:min(100%,460px);padding:12px;border:1px solid #a8bcb2;border-radius:6px}.status,.source{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:14px}.card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:18px;text-decoration:none;min-height:114px;display:flex;flex-direction:column;gap:10px}.card:hover{border-color:#208064}.tag{color:#176347;font-weight:700}.card strong{line-height:1.5}.card span:last-child{margin-top:auto;color:var(--muted)}
.reader{max-width:900px;margin:auto;padding:32px max(5vw,20px) 65px;overflow-wrap:anywhere}.reader h1{font-size:clamp(1.9rem,5vw,3.1rem);line-height:1.22}.reader .content{font-size:18px;line-height:1.85;margin:28px 0}.reader .content h1{font-size:1.65rem}.reader .content h2{font-size:1.35rem}.reader .content a{color:#165f45}.reader pre,.reader table{max-width:100%;overflow:auto}.reader table{display:block;border-collapse:collapse}.reader td,.reader th{border:1px solid var(--line);padding:6px 9px}.reader pre,.reader blockquote{background:#e9f2ee;padding:12px}.reader .notice{border-left:3px solid #208064;padding-left:10px}.reader .tag{margin-top:25px}.reader nav{display:flex;flex-wrap:wrap;gap:16px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #16856c;outline-offset:3px}

code,pre{font-family:inherit;font-size:1em}.reader .content h3,.reader .content h4,.reader .content h5,.reader .content h6{font-size:1em}
