:root{--ink:#10151F;--ink-soft:#1A222F;--ink-line:rgba(255,255,255,0.08);--paper:#F7F5F0;--paper-soft:#EFEBE2;--paper-line:rgba(16,21,31,0.09);--amber:#E8A23D;--amber-deep:#C9821F;--green:#3DDC84;--green-deep:#1F9D5C;--red:#E25555;--text-onlight:#1A1F29;--text-onlight-mute:#5B6372;--text-ondark:#EDEFF3;--text-ondark-mute:#9AA3B2;--bg:var(--paper);--bg-soft:var(--paper-soft);--line:var(--paper-line);--surface:#FFFFFF;--text:var(--text-onlight);--text-mute:var(--text-onlight-mute);--radius-s:10px;--radius-m:16px;--radius-l:24px;--shadow-sm:0 1px 2px rgba(16,21,31,0.06), 0 1px 1px rgba(16,21,31,0.04);--shadow-md:0 8px 24px rgba(16,21,31,0.08), 0 2px 6px rgba(16,21,31,0.04);--shadow-lg:0 24px 60px rgba(16,21,31,0.16), 0 6px 16px rgba(16,21,31,0.08);--font-display:'Space Grotesk', sans-serif;--font-body:'Inter', sans-serif;--font-mono:'JetBrains Mono', monospace}*,.soft-icon img{box-sizing:border-box}*{margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);font-family:var(--font-body);transition:background .4s ease,color .4s ease;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.search-box input,button{border:0;font-family:inherit}button{cursor:pointer;background:0 0}ul{list-style:none}.cat-banner-sub b,.mono{font-family:var(--font-mono)}.wrap{max-width:1240px;margin:0 auto;padding:0 28px}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}header.site-header{position:sticky;top:0;z-index:100;background:#fff0;transition:background .35s ease,box-shadow .35s ease,padding .35s ease;padding:22px 0}.header-inner,.logo{display:flex;align-items:center}.header-inner{justify-content:space-between;gap:24px}.logo{gap:12px;font-family:var(--font-display);font-weight:700;font-size:25px;letter-spacing:-.01em}.logo-mark,.nav-home-btn{align-items:center;font-weight:600}.logo-mark{width:42px;height:42px;border-radius:10px;background:linear-gradient(135deg,var(--amber) 0%,var(--green) 130%);display:flex;justify-content:center;font-family:var(--font-mono);font-size:16px;color:var(--ink);flex-shrink:0}nav.main-nav,nav.main-nav ul{display:flex;align-items:center;gap:30px}nav.main-nav a{font-size:14.5px;font-weight:500;color:var(--text-mute);transition:color .2s;position:relative}.crumb a:hover,body,nav.main-nav a:hover{color:var(--text)}.nav-home-btn{display:inline-flex;gap:7px;padding:9px 18px;border-radius:30px;background:var(--bg-soft);border:1px solid var(--line);font-size:14px;color:var(--text)!important;transition:transform .2s,box-shadow .2s,background .2s,border-color .2s}.nav-home-btn svg{transition:transform .2s}.nav-home-btn:hover{background:linear-gradient(135deg,var(--amber) 0%,var(--amber-deep) 100%);border-color:#fff0;color:#3a2606!important;transform:translateY(-2px);box-shadow:0 8px 20px -6px rgb(232 162 61/.5)}.nav-home-btn:hover svg{transform:translateY(-1px) scale(1.05)}.header-actions{display:flex;gap:14px}.btn,.header-actions,.icon-btn{align-items:center}.icon-btn{width:46px;height:46px;border-radius:50%;display:flex;justify-content:center;color:var(--text-mute);transition:background .2s,color .2s;flex-shrink:0;font-size:20px}.icon-btn:hover,.search-suggest a:hover{background:var(--bg-soft);color:var(--text)}.btn{display:inline-flex;gap:8px;padding:11px 20px;border-radius:30px;font-weight:600;font-size:14px;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease,background .25s ease}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.btn-stamp,.btn-stamp:link,.btn-stamp:visited{background:linear-gradient(135deg,var(--green) 0%,var(--green-deep) 100%);color:#06251a!important}.btn-stamp:hover{transform:translateY(-2px);box-shadow:0 10px 24px -6px rgb(61 220 132/.55);color:#06251a!important}.btn-ghost,.btn-ghost:link,.btn-ghost:visited{background:var(--bg-soft);color:var(--text)!important}.btn-ghost:hover{background:var(--line)}.nav-toggle{display:none}@media (max-width:920px){nav.main-nav{position:fixed;inset:0;top:0;background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:0;transform:translateY(-100%);transition:transform .4s cubic-bezier(.2,.8,.2,1);z-index:90}nav.main-nav ul{flex-direction:column;gap:28px}nav.main-nav a{font-size:22px}.nav-toggle{display:flex}.header-actions .btn-primary{display:none}}.soft-card{width:220px;min-width:220px;max-width:220px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:16px;position:relative;overflow:hidden;box-sizing:border-box;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,opacity .5s ease}.soft-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.soft-card.grid-card{width:auto;min-width:0;max-width:none}.soft-top{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}.cat-banner h1,.soft-icon{font-family:var(--font-display);font-weight:700}.soft-icon{width:42px;height:42px;border-radius:12px;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:15px;color:#fff;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.soft-icon img{width:100%;height:100%;object-fit:contain;padding:5px}.soft-card:hover .soft-icon{transform:rotate(-6deg)}.soft-top>div{min-width:0;flex:1;padding-top:1px}.soft-name{font-weight:600;font-size:13.5px;line-height:1.4;display:block;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.8em;word-break:break-word}.soft-cat-tag{font-size:11px;color:var(--text-mute);margin-top:4px}.soft-meta-row,.verify-seal{display:flex;align-items:center}.verify-seal{position:absolute;top:16px;right:16px;width:22px;height:22px;border-radius:50%;border:1.5px dashed var(--green-deep);justify-content:center;color:var(--green-deep);font-size:10px;transform:rotate(6deg);flex-shrink:0;z-index:2;background:var(--surface);display:none}.soft-meta-row{gap:6px;margin:0 0 14px;font-family:var(--font-mono);font-size:10.5px;color:var(--text-mute);flex-wrap:wrap}.stars{color:var(--amber-deep);font-size:11px;letter-spacing:1px}.soft-actions{display:flex;flex-direction:column;gap:8px}.soft-actions .btn{width:100%;justify-content:center;padding:9px 10px;font-size:13px;white-space:nowrap;box-sizing:border-box}.dl-arrow{display:inline-block;vertical-align:-2px;flex-shrink:0}.cat-banner{position:relative;overflow:hidden;padding:54px 0 38px;text-align:center;background:radial-gradient(ellipse 60% 80%at 85%0,rgb(232 162 61/.14),transparent 60%),radial-gradient(ellipse 50% 60%at 5% 100%,rgb(61 220 132/.1),transparent 60%)}.crumb{font-size:13px;color:var(--text-mute);margin-bottom:18px}.cat-banner-icon,.cat-banner-row{display:flex;align-items:center;justify-content:center}.cat-banner-row{gap:20px;flex-wrap:wrap}.cat-banner-icon{width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,#5b8def,#3a66c4);font-size:28px;box-shadow:var(--shadow-md);flex-shrink:0;overflow:hidden}.cat-banner h1{font-size:clamp(26px,4vw,38px);letter-spacing:-.015em}.cat-banner-sub{color:var(--text-mute);font-size:14.5px;margin-top:6px;gap:16px;justify-content:center}.cat-banner-sub b{color:var(--text);font-weight:500}.cat-banner-sub,.filter-bar,.pill-row{display:flex;flex-wrap:wrap}.filter-bar{align-items:center;justify-content:space-between;gap:16px;padding:18px 0;margin-bottom:28px;border-bottom:1px solid var(--line);position:sticky;top:71px;background:var(--bg);z-index:50}.pill-row{gap:8px}.pill,.result-count{color:var(--text-mute)}.pill{padding:8px 16px;border-radius:20px;font-size:13.5px;font-weight:600;background:var(--surface);border:1px solid var(--line);transition:background .2s,color .2s,border-color .2s}.pill:hover{color:var(--text)}.pill.active{background:var(--ink);color:#fff;border-color:var(--ink)}.result-count{font-size:13px;font-family:var(--font-mono)}.soft-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;padding-bottom:24px}@media (max-width:1080px){.soft-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:760px){.soft-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.soft-grid{grid-template-columns:1fr}}.load-more-wrap{display:flex;justify-content:center;padding:24px 0 64px}.search-overlay{position:fixed;inset:0;background:rgb(8 10 14/.5);z-index:180;display:none;align-items:flex-start;justify-content:center;padding-top:14vh}.search-box{width:min(600px,90vw);background:var(--surface);border-radius:var(--radius-l);box-shadow:var(--shadow-lg);padding:8px}.search-box input{width:100%;padding:16px 18px;background:#fff0;color:var(--text);font-size:17px}.search-box input:focus{outline:0}.search-suggest{padding:0 8px 8px}.search-suggest a{display:block;padding:10px 12px;border-radius:10px;font-size:14px;color:var(--text-mute)}footer.site-footer{background:var(--ink);color:var(--text-ondark);padding:64px 0 28px;margin-top:40px}.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgb(255 255 255/.08)}.footer-col a,.footer-logo{display:flex;align-items:center;gap:10px}.footer-logo{font-family:var(--font-display);font-weight:700;font-size:22px;color:#fff!important;margin-bottom:6px}.footer-logo .logo-mark{width:38px;height:38px;font-size:14px}.footer-brand p{color:rgb(255 255 255/.5);font-size:14px;line-height:1.6;margin:12px 0 0;max-width:280px}.footer-col h4{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:rgb(255 255 255/.4);margin-bottom:18px;font-weight:600}.footer-col a{font-size:14px;margin-bottom:14px;transition:color .2s,transform .2s;text-decoration:none}.footer-col a,.footer-col a:link,.footer-col a:visited{color:rgb(255 255 255/.75)!important}.footer-col a:hover{color:#fff!important;transform:translateX(3px)}.footer-col a svg{opacity:.5;flex-shrink:0;transition:opacity .2s}.footer-col a:hover svg{opacity:1}.footer-cat-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.footer-bottom{display:flex;justify-content:space-between;padding-top:24px;font-size:13px;color:rgb(255 255 255/.35);flex-wrap:wrap;gap:10px}@media (max-width:880px){.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.footer-grid{grid-template-columns:1fr}}.reveal{opacity:0;transform:translateY(20px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.8,.2,1)}a:focus-visible,button:focus-visible{outline:2px solid var(--amber);outline-offset:2px;border-radius:6px}