:root{--font:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--radius:14px;--radius-sm:9px;--sidebar-w:272px;--topbar-h:64px;--ease:cubic-bezier(.2, .7, .2, 1)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f6fb;--bg-accent:radial-gradient(900px 380px at 85% -10%, #6366f124, transparent 60%), radial-gradient(700px 320px at 0% 0%, #a855f71a, transparent 60%);--surface:#fff;--surface-2:#f0f2f9;--surface-hover:#e9ecf7;--border:#e2e5f0;--text:#121626;--muted:#5b6480;--primary:#5b5bf0;--primary-hover:#4a4adb;--primary-soft:#5b5bf01a;--on-primary:#fff;--success:#12935a;--success-soft:#12935a1f;--warn:#b7791f;--warn-soft:#d98c1424;--danger:#d33b3b;--danger-soft:#d33b3b1a;--shadow:0 1px 2px #1418320d, 0 8px 24px -12px #1418321f;--map-sea:#eef1fb;--map-land:#cfd5ea;--map-border:#f5f6fb;--map-grid:#5b64801f}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0e19;--bg-accent:radial-gradient(900px 380px at 85% -10%, #6366f133, transparent 60%), radial-gradient(700px 320px at 0% 0%, #a855f71f, transparent 60%);--surface:#131829;--surface-2:#1a2036;--surface-hover:#222946;--border:#272e4a;--text:#e9ebf7;--muted:#9aa3c0;--primary:#8b8cff;--primary-hover:#a1a2ff;--primary-soft:#8b8cff24;--on-primary:#0b0e19;--success:#3ddc97;--success-soft:#3ddc9721;--warn:#f5b942;--warn-soft:#f5b94224;--danger:#ff6b6b;--danger-soft:#ff6b6b21;--shadow:0 1px 2px #0000004d, 0 12px 28px -14px #0009;--map-sea:#101527;--map-land:#262e4d;--map-border:#131829;--map-grid:#9aa3c017}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--text);background:var(--bg);background-image:var(--bg-accent);transition:background-color .2s var(--ease), color .2s var(--ease);background-repeat:no-repeat;background-attachment:fixed;margin:0;font-size:15px;line-height:1.55}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}code{font-family:var(--mono);font-size:.9em}button,input{font:inherit;color:inherit}button{cursor:pointer}fieldset{border:0;min-width:0;margin:0;padding:0}ul{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:6px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--primary);color:var(--on-primary);border-radius:8px;padding:8px 14px;transition:top .15s;position:absolute;top:-48px;left:12px}.skip-link:focus{top:12px}.muted{color:var(--muted)}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app{grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;gap:18px;height:100vh;padding:18px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.sidebar-head{justify-content:space-between;align-items:center;padding:0 6px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:10px;font-size:18px;font-weight:700;display:inline-flex}.brand img{border-radius:8px}.nav{flex-direction:column;gap:6px;display:flex}.nav-category{border-radius:var(--radius-sm);width:100%;color:var(--text);text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:9px 10px;font-weight:600;display:flex}.nav-category:hover{background:var(--surface-2)}.nav-category.active{color:var(--primary)}.nav-category span{flex:1}.chev{transition:transform .2s var(--ease);color:var(--muted)}.chev.collapsed{transform:rotate(-90deg)}.nav-panel{border-left:1px solid var(--border);margin-left:17px;padding:2px 0 6px 12px}.nav-sub{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:10px 10px 4px;font-size:11px;font-weight:600}.nav-link{border-radius:var(--radius-sm);color:var(--muted);align-items:center;gap:10px;padding:8px 10px;font-weight:500;transition:background .15s,color .15s;display:flex}.nav-link:hover{background:var(--surface-2);color:var(--text)}.nav-link.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.main-col{flex-direction:column;min-width:0;display:flex}.topbar{z-index:20;height:var(--topbar-h);background:color-mix(in srgb, var(--bg) 80%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:0 24px;display:flex;position:sticky;top:0}.content{width:100%;max-width:1180px;margin:0 auto;padding:32px 24px 72px}.menu-btn,.close-btn,.scrim{display:none}@media (width<=900px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:40;width:min(86vw,320px);transition:transform .25s var(--ease);box-shadow:var(--shadow);position:fixed;top:0;left:0;transform:translate(-102%)}.sidebar.open{transform:none}.scrim{z-index:30;background:#05081480;display:block;position:fixed;inset:0}.menu-btn,.close-btn{display:inline-flex}.topbar{padding:0 14px}.content{padding:22px 14px 56px}}.btn{border-radius:var(--radius-sm);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-weight:600;transition:background .15s,transform .1s,box-shadow .15s;display:inline-flex}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.7;cursor:progress}.btn-primary{background:var(--primary);color:var(--on-primary);box-shadow:0 6px 18px -8px var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-ghost{border-color:var(--border);color:var(--text);background:0 0}.btn-ghost:hover{background:var(--surface-2)}.btn-lg{min-height:50px;padding:0 22px;font-size:15px}.icon-btn{border-radius:var(--radius-sm);width:38px;height:38px;color:var(--muted);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn-sm{border-radius:7px;width:26px;height:26px}.segmented{background:var(--surface-2);border:1px solid var(--border);border-radius:11px;gap:2px;padding:3px;display:inline-flex}.segment{width:32px;height:30px;color:var(--muted);background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.segment:hover{color:var(--text)}.segment.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow)}.search{flex:1;max-width:440px;margin-right:auto;position:relative}.search input{border:1px solid var(--border);background:var(--surface);border-radius:11px;outline:none;width:100%;height:40px;padding:0 40px 0 38px;transition:border-color .15s,box-shadow .15s}.search input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.search input::-webkit-search-cancel-button{display:none}.search-icon{color:var(--muted);pointer-events:none;position:absolute;top:12px;left:12px}.search-kbd{font-family:var(--mono);color:var(--muted);border:1px solid var(--border);background:var(--surface-2);border-radius:6px;padding:0 7px;font-size:12px;position:absolute;top:9px;right:10px}.search-results{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:6px;position:absolute;top:46px;left:0;right:0}.search-item{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:10px;padding:9px 10px;display:flex}.search-item.active{background:var(--primary-soft)}.search-name{font-weight:600}.search-path{color:var(--muted);margin-left:auto;font-size:12px}.search-empty{color:var(--muted);padding:12px}.hero{padding:24px 0 36px}.hero h1{letter-spacing:-.03em;font-size:clamp(30px,5vw,46px);font-weight:800;line-height:1.1}.gradient-text{background:linear-gradient(100deg,#6366f1,#a855f7 60%,#ec4899);color:#0000;-webkit-background-clip:text;background-clip:text}.hero p{color:var(--muted);max-width:560px;margin-top:12px;font-size:17px}.category{margin-bottom:36px}.category-head{align-items:center;gap:14px;margin-bottom:14px;display:flex}.category-head h2{letter-spacing:-.01em;font-size:20px}.category-head p{color:var(--muted)}.category-icon,.page-head-icon,.tool-card-icon{background:var(--primary-soft);color:var(--primary);border-radius:12px;flex:none;justify-content:center;align-items:center;display:inline-flex}.category-icon{width:40px;height:40px}.subcategory h3{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:18px 0 10px;font-size:12px;font-weight:600}.card-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;display:grid}.tool-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .2s var(--ease), border-color .2s, box-shadow .2s;align-items:center;gap:14px;padding:16px;display:flex}.tool-card:hover{border-color:var(--primary);transform:translateY(-2px)}.tool-card-icon{width:46px;height:46px}.tool-card-body{flex-direction:column;flex:1;min-width:0;display:flex}.tool-card-body span{color:var(--muted);font-size:13.5px}.tool-card-arrow{color:var(--muted);transition:transform .2s var(--ease), color .2s}.tool-card:hover .tool-card-arrow{color:var(--primary);transform:translate(3px)}.breadcrumb{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px;font-size:13px;display:flex}.breadcrumb a:hover{color:var(--primary)}.page-head{align-items:center;gap:16px;margin-bottom:24px;display:flex}.page-head-icon{width:52px;height:52px}.page-head h1{letter-spacing:-.02em;font-size:26px;line-height:1.2}.page-head p{color:var(--muted)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.panel-head h2{font-size:16px}.skeleton-block{background:linear-gradient(90deg, var(--surface) 0%, var(--surface-2) 50%, var(--surface) 100%);background-size:200% 100%;min-height:220px;animation:1.4s linear infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.fallback{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:10px;padding:64px 20px;display:flex}.fallback h2{color:var(--text)}.fallback-compact{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:36px 20px}
