:root{--bg:#f7f4ed;--fg:#1c1c1c;--muted:#5f5f5d;--border:#eceae4;--border-strong:#1c1c1c66;--dark:#1c1c1c;--on-dark:#fcfbf8;--subtle:#1c1c1c0a;--subtle-2:#1c1c1c05;--ring:#3b82f659;--ring-border:#3b82f680;--error:#9a3b2e;--radius:6px;--radius-lg:12px;--max:1200px;--font:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"SF Mono", Menlo, Consolas, monospace}[data-theme=dark]{--bg:#1a1813;--fg:#f2efe6;--muted:#a5a096;--border:#332f28;--border-strong:#f2efe673;--dark:#f2efe6;--on-dark:#1a1813;--subtle:#f2efe60f;--subtle-2:#f2efe608;--error:#e0745e}:root{color-scheme:light}[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{background:var(--bg);color:var(--fg);font-family:var(--font);margin:0}a{color:inherit}.shell{flex-direction:column;min-height:100vh;display:flex}.wrap{max-width:var(--max);width:100%;margin:0 auto}.pad-x{padding-left:clamp(20px,5vw,40px);padding-right:clamp(20px,5vw,40px)}.btn{border-radius:var(--radius);cursor:pointer;white-space:nowrap;border:1px solid var(--border-strong);color:var(--fg);background:0 0;align-items:center;gap:6px;padding:8px 16px;font-size:14px;text-decoration:none;transition:opacity .15s,border-color .15s;display:inline-flex}.btn:hover{opacity:.8}.btn-primary{background:var(--dark);color:var(--on-dark);border:none;box-shadow:inset 0 .5px #fff3,inset 0 0 0 .5px #0003,0 1px 2px #0000000d}.btn-ghost{border:1px solid var(--border);background:var(--bg)}.btn-copy{background:var(--subtle);border:1px solid var(--border-strong);color:var(--fg)}.btn-copy:hover{background:var(--border);opacity:1}.header{z-index:50;background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;display:flex}.brand{color:var(--fg);align-items:center;gap:8px;text-decoration:none;display:flex}.brand-badge{background:var(--dark);width:24px;height:24px;color:var(--on-dark);border-radius:8px;flex:none;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.brand-name{letter-spacing:-.02em;font-size:18px;font-weight:600}.header-right{align-items:center;gap:16px;display:flex}.theme-toggle{border-radius:var(--radius);width:36px;height:36px;color:var(--fg);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;transition:background .15s;display:inline-flex}.theme-toggle:hover{background:var(--subtle)}.theme-toggle .icon-sun{display:none}[data-theme=dark] .theme-toggle .icon-sun{display:inline-flex}[data-theme=dark] .theme-toggle .icon-moon{display:none}.nav-desktop{align-items:center;gap:28px;display:flex}.nav-link{color:var(--muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:4px 0;font-size:14px;text-decoration:none;transition:color .15s,border-color .15s}.nav-link:hover{color:var(--fg)}.nav-link[aria-current=page]{color:var(--fg);border-bottom-color:var(--fg);font-weight:600}.hamburger{border-radius:var(--radius);border:1px solid var(--border-strong);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:36px;height:36px;display:none}.nav-mobile{border-top:1px solid var(--border);flex-direction:column;gap:4px;padding:12px 24px;display:none}.nav-mobile.open{display:flex}.nav-mobile a,.nav-mobile .nav-link{text-align:left;padding:10px 4px;font-size:15px}@media (width<=767px){.nav-desktop{display:none}.hamburger{display:flex}}.hero{text-align:center;max-width:800px;margin:0 auto;padding:clamp(48px,8vw,88px) clamp(20px,5vw,40px) clamp(32px,5vw,48px)}.eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:0 0 16px;font-size:13px}.hero h1{letter-spacing:-.025em;text-wrap:pretty;margin:0 0 16px;font-size:clamp(32px,6vw,56px);font-weight:600;line-height:1.08}.hero p{color:var(--muted);text-wrap:pretty;margin:0 0 32px;font-size:18px;line-height:1.5}.search{max-width:560px;margin:0 auto;position:relative}.search svg{pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.field,.search input{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);width:100%;color:var(--fg);padding:10px 12px;font-family:inherit;font-size:15px}.search input{padding-left:42px}.field:focus,.search input:focus{box-shadow:0 0 0 3px var(--ring);border-color:var(--ring-border);outline:none}.field.mono{font-family:var(--mono);font-size:13px;line-height:1.6}textarea.field{resize:vertical}.chips{max-width:var(--max);flex-wrap:wrap;gap:8px;margin:0 auto;padding:0 clamp(20px,5vw,40px) 16px;display:flex}.input-clear{position:relative}.input-clear input{padding-right:32px}.clear-btn{cursor:pointer;background:var(--subtle);width:20px;height:20px;color:var(--muted);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:15px;line-height:1;display:none;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.clear-btn.show{display:inline-flex}.clear-btn:hover{color:var(--fg);background:var(--border)}.chip{white-space:nowrap;border:1px solid var(--border);background:var(--bg);color:var(--fg);cursor:pointer;border-radius:9999px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;display:inline-flex}.chip:not([aria-pressed=true]):hover{border-color:var(--border-strong);background:var(--subtle)}.chip[aria-pressed=true]{background:var(--dark);color:var(--on-dark);border-color:var(--dark)}.chip-fav .chip-heart{color:#e0245e;display:inline-flex}.chip-fav .chip-heart svg{width:14px;height:14px}.chip-fav[aria-pressed=true] .chip-heart{color:#fff}.group-icon-fav{color:#e0245e}.groups{max-width:var(--max);margin:0 auto;padding:16px clamp(20px,5vw,40px) 80px}.group{margin-bottom:44px}.group-head{align-items:center;gap:10px;margin-bottom:16px;display:flex}.group-icon{background:var(--subtle);border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.group-head h2{letter-spacing:-.01em;margin:0;font-size:20px;font-weight:600}.group-count{color:var(--muted);font-size:13px}.card-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;display:grid}.card{text-align:left;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--fg);flex-direction:column;gap:10px;padding:20px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.card-top-right{align-items:center;gap:8px;display:flex}.fav-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:6px;margin:-2px;padding:2px;line-height:0;transition:color .15s,background .15s;display:inline-flex}.fav-btn:hover{color:#e0245e;background:var(--subtle)}.fav-btn[aria-pressed=true]{color:#e0245e}.fav-btn[aria-pressed=true] svg{fill:#e0245e}.card-icon{background:var(--subtle);border-radius:9px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.ti-fav{justify-content:center;align-items:center;display:inline-flex}.ti-fav img{border-radius:4px}.ti-fav .ti-fallback,.ti-fav.failed img{display:none}.ti-fav.failed .ti-fallback{display:inline-flex}[data-theme=dark] .ti-invert-dark img{filter:invert()}.card-title{align-items:center;gap:8px;display:flex}.card-title .name{font-size:18px;font-weight:400}.card-desc{color:var(--muted);font-size:14px;line-height:1.5}.badge{color:var(--muted);background:var(--subtle);border:1px solid var(--border);border-radius:9999px;padding:2px 8px;font-size:11px}.badge-ext{color:var(--fg);border-color:var(--border-strong);background:0 0}.empty{text-align:center;color:var(--muted);padding:64px 24px}.tool-page{max-width:var(--max);margin:0 auto;padding:32px clamp(20px,5vw,40px) 80px}.breadcrumb{color:var(--muted);margin:0 0 16px;font-size:13px}.breadcrumb a{color:var(--muted);text-decoration:underline}.tool-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:28px;display:flex}.tool-body{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.tool-main{flex:2 480px;min-width:0}.tool-side{flex-direction:column;flex:260px;gap:16px;min-width:240px;display:flex}.panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);padding:20px}.panel h3{margin:0 0 8px;font-size:15px;font-weight:600}.panel p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.placeholder{border:1px dashed var(--border-strong);border-radius:var(--radius-lg);text-align:center;background:var(--subtle-2);padding:48px 24px}.placeholder h3{margin:0 0 8px;font-size:20px;font-weight:600}.placeholder p{color:var(--muted);margin:0 0 24px;font-size:14px}.related-list{flex-direction:column;gap:4px;display:flex}.related-item{text-align:left;color:var(--fg);border-radius:var(--radius);align-items:center;gap:10px;padding:8px 4px;font-size:14px;text-decoration:none;display:flex}.related-item:hover{background:var(--subtle)}.mini-icon{background:var(--subtle);border-radius:6px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.about{max-width:680px;margin:0 auto;padding:clamp(48px,8vw,88px) clamp(20px,5vw,40px) 80px}.about h1{letter-spacing:-.02em;margin:0 0 20px;font-size:clamp(28px,4vw,40px);font-weight:600}.about h2{margin:0 0 12px;font-size:20px;font-weight:600}.about p{color:var(--muted);margin:0 0 16px;font-size:15px;line-height:1.6}.about .lead{margin-bottom:32px;font-size:17px}.about .rows p{color:var(--fg);margin-bottom:12px}.footer{border-top:1px solid var(--border);margin-top:auto;padding:32px clamp(20px,5vw,40px)}.footer-inner{max-width:var(--max);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 auto;display:flex}.footer-brand{align-items:center;gap:8px;display:flex}.footer-brand .brand-badge{border-radius:6px;width:16px;height:16px;font-size:12px}.footer-brand span:last-child{color:var(--muted);font-size:14px}.footer-links{gap:20px;display:flex}.footer-links a{color:var(--muted);font-size:14px;text-decoration:underline}.footer p{color:var(--muted);margin:0;font-size:13px}[hidden]{display:none!important}
