@charset "UTF-8";
:root{--paper:#faf9f5;--ink:#25382d;--muted:#7a8278;--line:#e4e7de;--green:#345b42;--soft:#edf1e8;--white:#fff;--serif:"Songti SC","SimSun",serif;font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button,a,select{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #94b798;outline-offset:4px}button{color:inherit}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}.shell{max-width:1540px;margin:auto;padding:0 42px}.topbar{height:92px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.logo{display:flex;align-items:center;gap:12px;font-weight:700;font-size:23px;letter-spacing:2px}.logo-mark{display:grid;place-items:center;background:var(--green);color:#fff;width:42px;height:42px;border-radius:11px;font-family:var(--serif);font-size:28px;font-weight:400}.logo small{font-weight:400;font-size:10px;display:block;color:var(--muted);letter-spacing:3px;margin-top:3px}.topnav{display:flex;gap:30px;align-items:center;font-size:14px}.topnav a{padding:12px 0}.topnav a.active{color:var(--green);border-bottom:2px solid var(--green)}.nav-muted{color:var(--muted)}.badge{font-size:11px;background:var(--soft);padding:6px 9px;border-radius:5px;letter-spacing:1px}.hero{display:grid;grid-template-columns:1fr 360px;align-items:center;padding:55px 0 43px;gap:32px}.eyebrow{font-size:11px;letter-spacing:3px;color:var(--green);display:flex;gap:10px;align-items:center}.eyebrow:before{content:"";width:22px;height:1px;background:var(--green)}h1{font-size:43px;font-family:var(--serif);font-weight:500;letter-spacing:2px;line-height:1.45;margin:17px 0 12px}h1 em{font-style:normal;color:#688264}.hero p{color:var(--muted);font-size:14px;line-height:1.9;margin:0}.hero-art{position:relative;height:190px;display:flex;justify-content:center;align-items:center;overflow:hidden}.hero-art:before{content:"";position:absolute;inset:13px 42px;border:1px solid #d7dfcf;transform:rotate(-9deg);border-radius:4px}.hero-art:after{content:"";position:absolute;inset:24px 30px;background-image:linear-gradient(#d9dfd04f 1px,transparent 1px),linear-gradient(90deg,#d9dfd04f 1px,transparent 1px);background-size:38px 38px;z-index:-1}.hero-art b{font-family:var(--serif);font-weight:400;font-size:128px;letter-spacing:-14px;transform:rotate(-8deg);color:#446746}.hero-art span{font-family:Georgia,serif;font-style:italic;font-size:54px;margin:45px 0 0 19px;color:#88977a}.searchbox{display:flex;align-items:center;border:1px solid #d6dfd1;background:#fff;border-radius:11px;max-width:740px;height:58px;box-shadow:0 5px 15px #334d3010;margin-bottom:30px}.searchbox svg{width:21px;margin:0 17px;color:#7c897a;flex-shrink:0}.searchbox input{min-width:0;flex:1;border:0;background:none;outline:none;font-size:14px;padding:15px 0}.searchbox kbd{font-size:12px;color:#889181;border:1px solid var(--line);border-radius:4px;margin:0 18px;padding:3px 7px}.workspace{display:grid;grid-template-columns:184px 1fr;gap:38px;border-top:1px solid var(--line);padding-top:28px}.sidebar{padding-right:22px;border-right:1px solid var(--line)}.sidebar-title{font-size:11px;letter-spacing:2px;color:#8b9386;margin:0 0 15px 12px}.categories{display:flex;flex-direction:column;gap:6px}.category{border:0;background:transparent;border-radius:7px;padding:12px;display:flex;align-items:center;gap:13px;text-align:left;font-size:14px}.category:hover{background:#f0f2ec}.category.active{background:#e8eee2;color:#305c3c;font-weight:600}.category .symbol{font-family:var(--serif);font-size:20px;width:22px;text-align:center;font-weight:400}.sidebar-note{border-top:1px solid var(--line);margin-top:24px;padding:22px 10px;color:var(--muted);font-size:12px;line-height:1.9}.sidebar-note strong{display:block;color:#52644c;margin-bottom:5px;font-weight:500}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px;flex-wrap:wrap}.toolbar h2{font-size:18px;font-weight:600;margin:0}.toolbar h2 span{font-size:12px;font-weight:400;color:var(--muted);margin-left:10px}.toolbar-controls{display:flex;align-items:center;gap:12px;font-size:12px}.toolbar select{max-width:145px;border:1px solid var(--line);background:#fff;color:#586350;padding:8px 10px;border-radius:6px}.toolbar label{display:flex;gap:6px;align-items:center;cursor:pointer;color:#65705e}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{position:relative;background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-3px);box-shadow:0 12px 26px #30442d0d;border-color:#c4d0bd}.sample{aspect-ratio:20/9;background:#f3f0e8;display:flex;align-items:center;justify-content:center;overflow:hidden}.sample img{width:100%;height:100%;object-fit:contain;display:block}.sample.empty{background:repeating-linear-gradient(0deg,#f5f5f0,#f5f5f0 23px,#e7ebe2 24px);color:#97a08f;font-size:12px;flex-direction:column;gap:12px}.empty-symbol{font-family:var(--serif);font-size:34px;color:#bbc3b4}.card-body{padding:18px}.card-meta{display:flex;justify-content:space-between;align-items:center;gap:10px}.card h3{font-weight:600;font-size:15px;line-height:1.6;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.save{border:0;background:none;flex-shrink:0;color:#8b9682;font-size:20px;padding:2px 5px}.save.selected{color:var(--green)}.card-author{font-size:11px;color:var(--muted);margin:6px 0 15px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;color:#8a9381}.tag{padding:4px 7px;background:#f0f3ed;border-radius:4px;color:#64715c}.details-link{color:#496143;font-size:12px}.loading,.empty-state{text-align:center;padding:70px 20px;border:1px dashed var(--line);border-radius:12px;grid-column:1/-1;color:var(--muted);line-height:2}.empty-state button{display:block;margin:20px auto 0}.pagination{display:flex;gap:15px;align-items:center;justify-content:center;margin:35px 0;color:var(--muted);font-size:12px}.pagination button,.secondary{border:1px solid #dce3d5;border-radius:6px;background:#fff;padding:9px 16px;color:#59664e}.site-footer{display:flex;justify-content:space-between;gap:15px;align-items:center;border-top:1px solid var(--line);margin-top:40px;padding:25px 0;color:var(--muted);font-size:11px;line-height:1.8}.site-footer a{text-decoration:underline;text-underline-offset:3px}.notice{font-size:12px;color:var(--muted);line-height:1.9}.breadcrumb{font-size:12px;color:var(--muted);margin:30px 0}.breadcrumb a{color:var(--green)}.detail-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:15px}.detail-head h1{margin:0;font-size:36px}.detail-head p{color:var(--muted);font-size:13px}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:30px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.detail-sample{aspect-ratio:20/9}.panel-pad{padding:26px}.panel h2{font-size:17px;font-weight:600;margin:0 0 20px}.panel h3{font-size:14px;margin:24px 0 10px}.facts{display:grid;grid-template-columns:88px 1fr;gap:16px;font-size:12px;line-height:1.8}.facts dt{color:var(--muted)}.facts dd{margin:0;overflow-wrap:anywhere}.download{background:var(--green);color:white;padding:12px 18px;border-radius:7px;display:block;text-align:center;font-size:13px;margin:20px 0 10px}.download:hover{background:#25472f}.variant{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:17px 0;gap:18px}.variant strong{font-size:13px;font-weight:500}.variant small{display:block;color:var(--muted);margin-top:5px;font-size:11px}.variant a{color:var(--green);font-size:12px;flex-shrink:0}.variant-list{max-height:550px;overflow-y:auto}.detail-side .panel{position:sticky;top:20px}.text-link{font-size:12px;color:var(--green);text-decoration:underline;text-underline-offset:3px}.guide{max-width:820px;margin:45px auto 70px;line-height:2;color:#59634f}.guide h1{color:var(--ink)}.guide h2{font-size:21px;font-weight:500;color:var(--ink);margin-top:38px}.guide li{margin:8px 0}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;border-radius:8px;padding:12px 20px;font-size:13px;box-shadow:0 8px 25px #0002;z-index:10}.skip{position:fixed;top:-60px;background:white;padding:14px;z-index:20}.skip:focus{top:5px}
@media(min-width:1450px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1050px){.shell{padding:0 25px}.workspace{grid-template-columns:155px 1fr;gap:22px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr 250px}.hero-art b{font-size:105px}.detail-layout{grid-template-columns:minmax(0,1fr) 275px}.toolbar-controls{flex-wrap:wrap}}@media(max-width:680px){.shell{padding:0 18px}.topbar{height:78px;gap:12px}.logo{font-size:20px}.logo-mark{width:35px;height:35px;font-size:24px}.topnav{gap:16px;font-size:12px}.topnav .nav-muted,.badge{display:none}.hero{display:block;padding:36px 0 24px}h1{font-size:32px}.hero-art{display:none}.hero p{font-size:12px}.searchbox{margin-bottom:23px}.workspace{display:block;padding-top:20px}.sidebar{padding:0;border:0}.sidebar-title,.sidebar-note{display:none}.categories{flex-direction:row;overflow:auto;gap:8px;padding-bottom:15px;margin-bottom:12px}.category{white-space:nowrap;padding:9px 13px;background:#f0f2ec;font-size:12px}.category .symbol{display:none}.toolbar{gap:14px}.toolbar h2{font-size:16px}.toolbar h2 span{font-size:11px}.toolbar-controls{gap:8px;width:100%}.toolbar select{font-size:11px;max-width:120px}.grid{gap:12px}.card-body{padding:12px}.card h3{font-size:13px}.card-author{font-size:10px}.card-bottom{font-size:10px}.card-bottom .tag{padding:3px 5px}.details-link{font-size:10px}.site-footer{display:block;font-size:10px}.site-footer span{display:block;margin-bottom:8px}.detail-layout{display:flex;flex-direction:column}.detail-side{order:-1}.detail-side .panel{position:static}.detail-head h1{font-size:27px}.panel-pad{padding:20px}.guide{font-size:14px}.searchbox kbd{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
