@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;600;700;800&display=swap');
:root{--green:#264d3e;--ink:#242c27;--muted:#858981;--line:#e5e6df}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fafaf6;color:var(--ink);font-family:'Noto Sans SC','Microsoft YaHei',sans-serif;font-size:14px}button,input,select{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}header{height:96px;max-width:1200px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px;font-size:23px;font-weight:700;letter-spacing:2px}.logo{background:var(--green);color:#fff;width:36px;height:36px;display:grid;place-items:center;border-radius:11px;font-size:20px}.brand small{font-size:9px;letter-spacing:2px;font-weight:500;margin:8px 0 0 5px}nav{display:flex;align-items:center;gap:36px}button{background:none;border:0;color:inherit}nav a,nav button{font-size:13px;padding:12px 0}nav .active{color:var(--green);border-bottom:2px solid var(--green)}.header-note{font-size:11px;color:#737b70}i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#718563;margin-right:8px}main{max-width:1200px;margin:auto}.notice{display:flex;gap:20px;font-size:11px;color:#82867b;margin:24px 0}.notice>span:first-child{color:var(--green);font-weight:600}.notice-end{margin-left:auto}.hero{display:grid;grid-template-columns:1.2fr 1fr;min-height:430px;align-items:center;padding:35px 46px 42px;background:#f0f2e9;border-radius:8px;overflow:hidden}.eyebrow{font-size:10px;letter-spacing:2px;color:#818b76;font-weight:500}h1{font-size:43px;line-height:1.5;letter-spacing:1px;font-weight:600;margin:19px 0 15px}h1 span{color:#5d7556}.hero p{font-size:13px;line-height:2;color:#7b8275}.primary{display:inline-flex;align-items:center;justify-content:space-between;gap:44px;background:var(--green);color:white;padding:15px 22px;border-radius:5px;margin-top:15px;font-size:13px;border:0}.primary:hover{background:#35634e}.hero-perks{display:flex;gap:24px;font-size:10px;color:#7c8574;margin-top:25px}.art{position:relative;height:350px;display:grid;place-items:center}.orbit{width:310px;height:310px;border:1px solid #d9dfcd;border-radius:50%;position:absolute}.orbit:after{content:'';position:absolute;inset:25px;border:1px dashed #d9dfcd;border-radius:50%}.key-card{width:240px;height:295px;border-radius:14px;background:linear-gradient(140deg,#42664d,#193d30);color:#eff2d9;padding:23px;transform:rotate(11deg);box-shadow:20px 25px 35px #35493226;z-index:1}.card-top{font-size:9px;letter-spacing:2px;display:flex;justify-content:space-between}.key-symbol{font-size:100px;line-height:1.35;color:#d3dfab}.card-bottom{font-size:8px;letter-spacing:2px}.card-bottom b{display:block;font-size:16px;letter-spacing:1px;margin:8px 0 17px}.card-bottom span{font-size:9px}.art-tag{position:absolute;bottom:32px;left:0;background:#fffffff0;z-index:2;padding:14px 22px;border-radius:7px;box-shadow:0 8px 25px #22331a0c;font-size:11px;color:#56704b;transform:rotate(-6deg)}.art-index{position:absolute;right:-20px;bottom:0;font-size:8px;letter-spacing:2px;color:#8d967f}.section-head{display:flex;justify-content:space-between;align-items:end;margin-top:57px}h2{font-size:24px;font-weight:600;margin:10px 0 0}h2 span{font-size:12px;font-weight:400;color:#92978b;margin-left:13px}.count{font-size:11px;color:#92978b}.count b{font-weight:500;color:var(--ink)}.toolbar{display:flex;justify-content:space-between;gap:20px;margin:28px 0 24px}.filters{display:flex;gap:8px}.filters button{padding:10px 19px;border-radius:5px;color:#81877d;font-size:12px}.filters button.selected{background:var(--green);color:white}.search{display:flex;align-items:center;border:1px solid var(--line);border-radius:5px;padding:0 12px;gap:8px;background:#fff}.search span{font-size:23px;color:#909789}.search input{width:190px;border:0;outline:0;background:none;font-size:11px;padding:11px 0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.product{background:white;border:1px solid var(--line);border-radius:8px;padding:24px;transition:transform .2s,box-shadow .2s;cursor:pointer}.product:hover{transform:translateY(-4px);box-shadow:0 8px 24px #263b2910}.product-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.product-icon{width:52px;height:52px;border-radius:13px;display:grid;place-items:center;font-size:25px;font-weight:600}.badge{font-size:9px;background:#f4f5ee;color:#7d876f;border-radius:4px;padding:5px 8px}.product h3{font-size:16px;margin:0 0 9px;font-weight:600}.product p{font-size:11px;color:#90948a;margin:0;line-height:1.8}.tags{display:flex;gap:6px;margin:17px 0 23px}.tags span{font-size:9px;color:#93988e;border:1px solid #e9ece4;border-radius:3px;padding:3px 6px}.product-bottom{border-top:1px solid #f0f1eb;padding-top:18px;display:flex;align-items:center;justify-content:space-between}.price{font-size:23px;font-weight:600}.price small{font-size:12px;margin-right:3px}.price em{font-size:10px;font-weight:400;color:#a0a497;font-style:normal;margin-left:5px}.buy{font-size:11px;color:var(--green);padding:8px 12px;border:1px solid #e0e6db;border-radius:4px}.steps{display:grid;grid-template-columns:repeat(3,1fr) .9fr;margin:46px 0 60px;padding:26px 28px;background:#f0f2e9;border-radius:6px}.steps>div{padding-left:39px;position:relative}.steps>div>span{position:absolute;left:0;top:2px;color:#a5af96;font-size:15px}.steps b{font-size:12px;font-weight:500}.steps p{font-size:10px;color:#929888;margin:8px 0 0}.steps>a{border-left:1px solid #dce2d2;padding-left:30px;font-size:10px;color:#8a927f;line-height:2}.steps>a b{color:var(--green)}footer{max-width:1200px;margin:auto;border-top:1px solid var(--line);padding:28px 0 35px;display:flex;align-items:center;gap:30px}footer .brand{font-size:19px}footer>span{font-size:11px;color:#8a9085}footer small{display:block;font-size:9px;margin-top:5px;color:#a2a79c}footer button{margin-left:auto;font-size:11px;color:#7d8674}dialog{width:min(510px,calc(100% - 32px));border:1px solid var(--line);border-radius:14px;padding:35px;color:var(--ink);box-shadow:0 25px 100px #0002}dialog::backdrop{background:#17271f65;backdrop-filter:blur(4px)}.close{position:absolute;right:14px;top:10px;font-size:26px;color:#87917f}dialog h2{margin:8px 0 12px}dialog p{font-size:12px;line-height:1.9;color:#7e8778}dialog label{display:block;font-size:12px;margin-top:16px}dialog input,dialog select{display:block;width:100%;padding:12px;border:1px solid var(--line);border-radius:5px;margin-top:7px;background:#fff;color:var(--ink)}dialog .primary{width:100%;margin-top:23px;justify-content:center}dialog .summary{display:flex;justify-content:space-between;background:#f2f4eb;padding:15px;margin-top:20px;border-radius:5px}.hint{padding:10px;background:#f6f3e8;border-radius:4px;font-size:11px!important}.key-result{overflow-wrap:anywhere;background:#edf2e8;padding:18px;font-family:monospace;font-size:17px;margin:20px 0}.empty{text-align:center;padding:60px;color:#87917f}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#264d3e;color:#fff;padding:12px 24px;border-radius:6px;display:none;z-index:10}:focus-visible{outline:2px solid #668559;outline-offset:4px}@media(min-width:1500px){main,header,footer{max-width:1240px}}@media(max-width:1250px){main,header,footer{margin-left:5%;margin-right:5%}}@media(max-width:760px){header{height:78px}.brand small,.header-note,.notice-end{display:none}nav{gap:18px}nav a,nav button{font-size:11px}.brand{font-size:20px}.notice{font-size:10px;line-height:1.7;gap:12px}.notice>span:first-child{white-space:nowrap}.hero{padding:30px 25px;grid-template-columns:1fr;min-height:0}h1{font-size:33px}.art{height:280px;margin-top:25px}.key-card{width:200px;height:250px;padding:20px}.key-symbol{font-size:78px}.orbit{width:250px;height:250px}.art-tag{left:10px;bottom:15px}.art-index{right:0}.section-head{margin-top:35px}h2{font-size:21px}h2 span{display:none}.toolbar{flex-direction:column;gap:16px}.filters{gap:3px}.filters button{padding:9px 13px}.search input{width:100%}.grid{grid-template-columns:repeat(2,1fr);gap:12px}.product{padding:17px}.product h3{font-size:14px}.product p{min-height:38px}.product-top{margin-bottom:17px}.tags{flex-wrap:wrap;margin:12px 0 17px}.product-bottom{align-items:start;gap:10px;flex-direction:column}.price{font-size:21px}.buy{width:100%;text-align:center}.steps{grid-template-columns:1fr;gap:23px;padding:25px;margin:30px 0}.steps>a{border-left:0;border-top:1px solid #dce2d2;padding:15px 0 0}footer{gap:15px;flex-wrap:wrap}footer>span{font-size:10px}footer button{margin-left:0}.eyebrow{font-size:8px;letter-spacing:1.5px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Compact product cards on phones */
@media(max-width:760px){
.product{padding:14px 12px;display:flex;flex-direction:column}
.product-top{margin-bottom:12px;gap:5px}
.product-icon{width:38px;height:38px;border-radius:10px;font-size:21px;flex-shrink:0}
.badge{font-size:8px;padding:4px 5px;white-space:nowrap}
.product h3{font-size:13px;margin-bottom:6px;line-height:1.6}
.product p{font-size:10px;line-height:1.7;min-height:34px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tags{margin:10px 0 12px;min-height:19px;flex-wrap:nowrap;overflow:hidden}
.tags span{font-size:8px;padding:2px 4px;white-space:nowrap}
.tags span+span{display:none}
.product-bottom{margin-top:auto;padding-top:11px;gap:9px}
.price{font-size:20px;line-height:1.3}
.price small{font-size:10px}
.price em{font-size:9px;margin-left:3px}
.buy{padding:7px 8px;font-size:10px}
}

/* Center product icons within the card header. */
.product-top{justify-content:center}

.buy:disabled,.primary:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:760px){header{height:auto;min-height:78px;padding:15px 0;flex-wrap:wrap;gap:14px}header nav{width:100%;justify-content:space-between;gap:8px}header nav a,header nav button{font-size:11px;padding:8px 0}}
@media(min-width:761px) and (max-width:1100px){header .brand small,header .header-note{display:none}header nav{gap:24px}}
.product-picture{width:64px;height:64px;background:#f3f5ee;overflow:hidden}.product-picture img{display:block;width:100%;height:100%;object-fit:contain}.detail-product-image{display:flex;justify-content:center;margin:15px 0}.detail-product-image img{max-width:100%;width:180px;height:160px;object-fit:contain;border-radius:9px}@media(max-width:760px){.product-picture{width:48px;height:48px}}
