:root{--paper:#f8f8f3;--ink:#292b26;--muted:#787c70;--line:#dedfd4;--lime:#d9f978}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #6c8930;outline-offset:4px}header,main,footer{max-width:1380px;margin:auto}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 54px;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:9px;font-size:19px;font-weight:750;letter-spacing:-.5px}.brand-light{font-weight:450}.mark{font-size:32px;line-height:1}nav{display:flex;align-items:center;gap:28px;font-size:13px}nav button{border:1px solid var(--line);border-radius:7px;background:none;padding:6px 12px}.hero{display:grid;grid-template-columns:1.15fr 1fr;padding:75px 54px 62px;gap:40px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:650;display:flex;align-items:center;gap:8px}.eyebrow span{width:7px;height:7px;background:#739643;border-radius:100%}h1{font-size:64px;line-height:1.2;letter-spacing:-3px;margin:25px 0;font-weight:650}.accent{position:relative;z-index:1}.accent:after{content:'';position:absolute;left:0;bottom:3px;right:0;height:20px;background:var(--lime);z-index:-1}p{color:var(--muted)}.hero-copy>p{font-size:16px;line-height:1.9;margin-bottom:30px}.primary{display:inline-flex;gap:36px;align-items:center;background:var(--ink);color:#fff;padding:13px 21px;border-radius:6px;font-weight:600}.primary span{color:var(--lime)}.subtle{display:inline-block;margin-left:18px;font-size:12px;color:var(--muted)}.hero-art{position:relative;overflow:hidden;border-radius:8px;background:#edf0e5;min-height:380px;display:grid;place-items:center;background-image:radial-gradient(#c9cfbd .8px,transparent .8px);background-size:18px 18px}.starburst{font-size:250px;color:#b7d963;line-height:1;filter:drop-shadow(10px 15px 0 #2d3927);transform:rotate(-14deg);z-index:1}.orbit{position:absolute;width:360px;height:200px;border:1px solid #a5ad99;border-radius:50%;transform:rotate(-32deg)}.two{transform:rotate(47deg)}.orbital-label{position:absolute;background:var(--paper);border:1px solid #d3d8c9;border-radius:5px;padding:7px 15px;font-size:10px;letter-spacing:2px;z-index:2}.a{top:50px;left:37px;transform:rotate(-8deg)}.b{right:27px;top:140px;transform:rotate(8deg)}.c{left:50px;bottom:70px;transform:rotate(5deg)}.art-footer{position:absolute;bottom:18px;font-size:9px;letter-spacing:2px;color:#777f6b}.statline{display:flex;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 54px;padding:22px 0;gap:50px}.statline>div{display:flex;align-items:center;gap:12px}.statline strong{font-size:25px;font-weight:600}.statline span{font-size:11px;color:var(--muted)}.statline p{margin-left:auto;font-size:11px}.directory{display:grid;grid-template-columns:230px 1fr;gap:40px;padding:60px 54px}aside{border-right:1px solid var(--line);padding-right:25px}.aside-title{font-weight:600;margin-bottom:20px;display:flex;justify-content:space-between}.category-button{border:0;background:none;width:100%;text-align:left;display:flex;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:5px;color:#6c7263;font-size:12px;margin-bottom:2px}.category-button.active{background:#e9edda;color:#303929;font-weight:600}.category-button:hover{background:#eff1e8}.category-button span:last-child{font-size:10px;color:#8a907f}.aside-note{border-top:1px solid var(--line);margin-top:24px;padding-top:24px}.aside-note>span{font-size:32px;color:#799a3d}.aside-note p{font-size:12px}.aside-note a{font-size:12px;text-decoration:underline}.section-title{display:flex;align-items:end;justify-content:space-between;margin-bottom:25px}.section-title h2{font-size:29px;letter-spacing:-1px;margin:7px 0 0}.section-title>span{color:var(--muted);font-size:12px}.search{display:flex;align-items:center;background:#fff;border:1px solid var(--line);border-radius:7px;padding:11px 15px;gap:12px}.search>span{font-size:27px;line-height:1;color:#89917b}.search input{width:100%;border:0;background:none;outline:none;color:var(--ink)}kbd{border:1px solid var(--line);padding:0 6px;border-radius:3px;color:#92988a}.filters{display:flex;justify-content:space-between;align-items:center;margin:18px 0 25px;gap:10px}.filters>div{display:flex;gap:5px;flex-wrap:wrap}.filters button{border:1px solid transparent;background:none;border-radius:5px;padding:5px 10px;font-size:11px;color:var(--muted)}.filters button.active{border-color:var(--line);background:white;color:var(--ink)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:19px;display:flex;flex-direction:column;min-height:236px;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #30392b09}.card-top{display:flex;align-items:center;gap:10px}.tool-icon{width:37px;height:37px;background:#eef1e8;border:1px solid #e2e7da;border-radius:10px;display:grid;place-items:center;font-size:17px;font-weight:700;flex-shrink:0}.card:nth-child(5n+2) .tool-icon{background:#f1e9e1}.card:nth-child(5n+3) .tool-icon{background:#e9edf6}.card:nth-child(5n+4) .tool-icon{background:#f0eafa}.card h3{font-size:15px;line-height:1.35;margin:0;overflow-wrap:anywhere}.favorite{margin-left:auto;background:none;border:0;font-size:20px;color:#8a9180;padding:0 3px}.favorite.selected{color:#68882c}.card-category{font-size:10px;color:#818875;margin:12px 0 0}.card-desc{font-size:12px;line-height:1.8;margin:8px 0 18px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}.card-bottom{border-top:1px solid #edf0e7;padding-top:12px;display:flex;align-items:center;gap:10px;font-size:11px}.fee{font-size:9px;background:#eff3e7;padding:2px 6px;border-radius:4px;color:#6e7e59}.detail-button{border:0;background:none;color:var(--muted);font-size:11px;padding:0}.visit{margin-left:auto;font-weight:650}.load-more{display:block;width:100%;background:none;border:1px solid var(--line);border-radius:6px;padding:12px;margin-top:24px;color:#667058}.data-note{font-size:10px;color:#969b8f;margin-top:20px;text-align:center}.community{margin:0 54px 35px;padding:42px;background:#eaf0dc;border:1px solid #d9e1c8;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:30px}.community h2{font-size:30px;line-height:1.4;letter-spacing:-1px;margin:16px 0}.community p{max-width:570px;font-size:13px}.sponsors{margin:28px 54px 0;padding:22px 24px;background:#edf3df;border:1px solid #d3dfb9;border-radius:10px}.sponsor-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.sponsor-heading h2{margin:0;font-size:16px;letter-spacing:.5px}.sponsor-heading>a{font-size:12px;color:#536535;text-decoration:underline;text-underline-offset:3px}.sponsor-cards{display:flex;flex-direction:column;gap:16px}.sponsor-card{display:flex;align-items:center;gap:18px;padding:18px 22px;background:var(--paper);border:1px solid #d3dfb9;border-radius:8px}.sponsor-card:hover{border-color:#799a3d;background:#fff}.sponsor-logo{display:flex;flex-direction:column;align-items:center;gap:10px;flex:0 0 150px;text-align:center}.sponsor-card img{width:80px;height:80px;object-fit:contain;flex-shrink:0}.sponsor-copy{flex:1;min-width:0}.sponsor-card strong{font-size:20px}.sponsor-copy a{text-decoration:underline;text-underline-offset:3px;color:#536535}.sponsor-copy p{margin:0;font-size:13px;line-height:1.8;overflow-wrap:anywhere}.sponsor-card>span{margin-left:auto;font-size:22px;color:#6c8930}footer{border-top:1px solid var(--line);padding:28px 54px;display:flex;align-items:center;justify-content:space-between;gap:20px}footer .brand{font-size:13px}footer .mark{font-size:22px}footer p,footer>a:last-child{font-size:10px}dialog{max-width:650px;width:90%;border:1px solid var(--line);border-radius:12px;padding:35px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#242b2266;backdrop-filter:blur(3px)}#closeDetails{float:right;border:0;background:none;font-size:25px}dialog h2{font-size:30px;margin:10px 0}dialog p{white-space:pre-line;line-height:1.9}dialog .detail-links{display:flex;flex-wrap:wrap;gap:10px}dialog .detail-links a{background:#e8eddc;padding:8px 14px;border-radius:5px}.empty{grid-column:1/-1;padding:65px 20px;text-align:center;color:var(--muted)}@media(min-width:1500px){body{padding:0 50px}}@media(max-width:1100px){h1{font-size:50px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.directory{grid-template-columns:200px 1fr;gap:25px}.statline{gap:25px}}@media(max-width:760px){header{height:76px;padding:0 20px}.brand{font-size:15px;gap:5px}.brand-light{display:none}nav{gap:14px;font-size:11px}nav>a:first-child,nav>a:nth-child(2){display:none}nav button{font-size:10px}.hero{padding:38px 20px;grid-template-columns:1fr;gap:28px}h1{font-size:44px;letter-spacing:-2px}.hero-art{min-height:250px}.starburst{font-size:180px}.orbit{width:290px;height:140px}.hero-copy>p{font-size:14px}.subtle{font-size:11px;margin-left:12px}.statline{margin:0 20px;gap:22px;padding:18px 0}.statline>div{display:block}.statline strong{display:block;font-size:22px}.statline p{display:none}.directory{display:block;padding:35px 20px}aside{border-right:0;padding:0}.aside-title{margin-bottom:10px}#categoryList{display:flex;overflow:auto;gap:6px;padding-bottom:18px;margin-bottom:16px}.category-button{width:auto;white-space:nowrap;border:1px solid var(--line);padding:7px 10px}.category-button span:last-child{display:none}.aside-note{display:none}.section-title h2{font-size:24px}.filters{flex-wrap:wrap}.cards{gap:12px}.card{padding:14px;min-height:235px}.card h3{font-size:13px}.tool-icon{width:30px;height:30px;font-size:14px}.card-top{gap:6px}.card-bottom{gap:6px}.fee{max-width:70px}.community{margin:0 20px 25px;padding:25px;display:block}.community h2{font-size:26px}.community .primary{margin-top:15px}.sponsors{margin:20px 20px 0;padding:18px}.sponsor-cards{grid-template-columns:1fr;gap:10px}.sponsor-card{padding:14px;gap:14px;flex-direction:column;align-items:stretch}.sponsor-logo{flex:auto;flex-direction:row;justify-content:flex-start;text-align:left}.sponsor-card img{width:48px;height:48px}.sponsor-card strong{font-size:18px}.sponsor-heading h2{font-size:14px}footer{padding:24px 20px;flex-wrap:wrap}footer p{order:3;width:100%;margin:0}.data-note{line-height:1.7}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card{transition:none}}
