:root{--bg-darkest:#07090d;--bg-main:#0c0e14;--bg-subtle:#12151d;--card-bg:#151821;--card-bg-hover:#1a1e2a;--card-bg-expanded:#181d28;--border-subtle:#ffffff0f;--border-light:#ffffff1f;--border-hover:#ffffff38;--red-primary:#f34;--red-hover:#ff4757;--red-glow:#ff334440;--red-glow-subtle:#ff33441f;--red-border:#ff334459;--green-accent:#10b981;--green-glow:#10b98126;--amber-accent:#f59e0b;--blue-accent:#3b82f6;--text-main:#f1f4f9;--text-muted:#9ba3b2;--text-dim:#646d7e;--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:9999px;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 8px 24px #00000073;--shadow-glow:0 0 20px #f343}*{box-sizing:border-box;margin:0;padding:0}html{scrollbar-color:var(--border-light) var(--bg-darkest);scroll-behavior:smooth}body{background-color:var(--bg-darkest);background-image:radial-gradient(1200px 500px at 85% -10%, #ff334414, transparent 65%), radial-gradient(1000px 600px at 10% 5%, #10b9810a, transparent 60%), linear-gradient(180deg, var(--bg-darkest) 0%, var(--bg-main) 100%);color:var(--text-main);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;min-height:100vh;font-size:14px;line-height:1.5;display:flex}body.no-scroll{overflow:hidden}::selection{background:var(--red-glow);color:#fff}a{color:var(--red-primary);text-decoration:none;transition:color .15s}a:hover{color:var(--red-hover);text-decoration:underline}kbd{font-family:var(--font-mono);background:var(--bg-subtle);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-muted);white-space:nowrap;border-bottom-width:2px;padding:2px 6px;font-size:11px;font-weight:600}mark.hl{background:var(--red-glow-subtle);color:#ffcdd2;border-radius:2px;padding:0 2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.topbar{border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(12px);z-index:40;background:#07090dbf;justify-content:space-between;align-items:center;gap:20px;padding:16px 28px;display:flex;position:relative}.brand-wrapper{align-items:center;gap:14px;display:flex}.brand-logo{width:44px;height:44px;font-family:var(--font-mono);color:#fff;background:linear-gradient(135deg, var(--red-primary), #9e0e18);border-radius:var(--radius-md);box-shadow:0 0 0 1px #ffffff26 inset, 0 8px 20px var(--red-glow);place-items:center;font-size:24px;font-weight:900;display:grid;position:relative;overflow:hidden}.brand-logo:after{content:"";background:linear-gradient(#fff3,#0000);height:50%;position:absolute;top:0;left:0;right:0}.brand-title{letter-spacing:-.3px;font-size:21px;font-weight:800;line-height:1.15}.brand-title span{color:var(--red-primary);text-shadow:0 0 16px var(--red-glow)}.brand-subtitle{color:var(--text-dim);letter-spacing:.1px;font-size:12px;font-weight:500}.topbar-right{align-items:center;gap:20px;display:flex}.stats-bar{align-items:center;gap:12px;display:flex}.stat-pill{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-full);align-items:baseline;gap:6px;padding:4px 12px;font-size:12px;display:flex}.stat-val{font-family:var(--font-mono);color:var(--text-main);font-weight:700}.stat-val.highlight{color:var(--red-primary)}.stat-lbl{color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-size:11px}.auth-bar{align-items:center;gap:10px;display:flex}.nav-btn{font-family:var(--font-sans);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.nav-btn.primary{background:var(--red-primary);border:1px solid var(--red-primary);color:#fff;box-shadow:0 4px 12px var(--red-glow)}.nav-btn.primary:hover{background:var(--red-hover);box-shadow:0 6px 16px var(--red-glow);transform:translateY(-1px)}.nav-btn.ghost{background:var(--bg-subtle);border:1px solid var(--border-light);color:var(--text-muted)}.nav-btn.ghost:hover{background:var(--card-bg);color:var(--text-main);border-color:var(--border-hover)}.user-badge{background:var(--green-glow);border-radius:var(--radius-full);font-family:var(--font-mono);color:var(--green-accent);border:1px solid #10b9814d;align-items:center;gap:7px;padding:5px 12px;font-size:12px;display:flex}.user-status-dot{background:var(--green-accent);width:6px;height:6px;box-shadow:0 0 6px var(--green-accent);border-radius:50%}.tabs-bar{background:var(--bg-darkest);border-bottom:1px solid var(--border-subtle);scrollbar-width:none;gap:8px;padding:8px 28px;display:flex;overflow-x:auto}.tabs-bar::-webkit-scrollbar{display:none}.nav-tab{border-radius:var(--radius-md);color:var(--text-muted);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:9px;padding:8px 16px;font-size:13.5px;font-weight:600;transition:all .15s;display:inline-flex}.nav-tab:hover{color:var(--text-main);background:var(--bg-subtle)}.nav-tab.active{color:#fff;background:var(--card-bg);border-color:var(--border-light);box-shadow:var(--shadow-sm)}.nav-tab .tab-icon{color:var(--text-dim);place-items:center;transition:color .15s;display:grid}.nav-tab.active .tab-icon{color:var(--red-primary)}.tab-badge{font-family:var(--font-mono);background:var(--bg-darkest);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-dim);padding:1px 7px;font-size:11px}.nav-tab.active .tab-badge{background:var(--red-glow-subtle);border-color:var(--red-border);color:#ffccd0}.app-layout{flex:1;grid-template-columns:240px minmax(0,1fr);gap:24px;width:100%;max-width:1720px;margin:0 auto;padding:20px 28px 40px;display:grid}.app-footer{border-top:1px solid var(--border-subtle);background:var(--bg-darkest);color:var(--text-dim);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:auto;padding:20px 28px;font-size:12px;display:flex}.footer-copy a{color:var(--text-muted)}.footer-copy a:hover{color:var(--red-primary)}.footer-brand{font-family:var(--font-mono);color:var(--text-dim);align-items:center;gap:6px;font-size:12px;display:flex}.footer-brand:before{content:"";background:var(--red-primary);width:8px;height:8px;box-shadow:0 0 6px var(--red-glow);border-radius:2px;display:inline-block}@media (width<=1024px){.app-layout{grid-template-columns:1fr;gap:16px;padding:16px}}@media (width<=768px){.topbar{flex-direction:column;align-items:flex-start;padding:14px 16px}.topbar-right{justify-content:space-between;width:100%}.tabs-bar{padding:6px 16px}.stats-bar{display:none}}.search-toolbar{z-index:30;background:linear-gradient(180deg, var(--bg-darkest) 80%, transparent 100%);flex-direction:column;gap:14px;margin-bottom:20px;padding:12px 0 16px;display:flex;position:sticky;top:0}.search-main-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.search-input-wrap{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-md);min-width:280px;box-shadow:var(--shadow-sm);flex:1;align-items:center;gap:10px;padding:0 14px;transition:all .15s;display:flex}.search-input-wrap:focus-within{border-color:var(--red-primary);box-shadow:0 0 0 3px var(--red-glow-subtle), var(--shadow-glow)}.search-lead-icon{color:var(--text-dim);place-items:center;display:grid}#search{color:var(--text-main);font-family:var(--font-mono);background:0 0;border:none;outline:none;flex:1;padding:12px 0;font-size:13.5px}#search::placeholder{color:var(--text-dim);font-family:var(--font-sans)}.search-clear-btn{color:var(--text-dim);cursor:pointer;background:0 0;border:none;place-items:center;padding:4px;display:grid}.search-clear-btn:hover{color:var(--red-primary)}.search-clear-btn.hidden{display:none}.search-key-hint{pointer-events:none}.view-controls{align-items:center;gap:10px;display:flex}.sort-select-wrap{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-md);align-items:center;padding:0 10px 0 32px;display:flex;position:relative}.sort-icon{color:var(--text-dim);pointer-events:none;place-items:center;display:grid;position:absolute;left:10px}.sort-select{color:var(--text-muted);font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;outline:none;padding:10px 6px;font-size:12.5px;font-weight:500}.sort-select option{background:var(--bg-main);color:var(--text-main)}.view-mode-toggle{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:3px;display:flex}.view-btn{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;place-items:center;padding:6px 9px;transition:all .15s;display:grid}.view-btn:hover{color:var(--text-main)}.view-btn.active{background:var(--bg-subtle);color:var(--red-primary)}.filter-chips-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.filter-pills{scrollbar-width:none;align-items:center;gap:6px;display:flex;overflow-x:auto}.filter-pill{background:var(--bg-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-muted);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:5px 12px;font-size:12px;font-weight:500;transition:all .15s;display:inline-flex}.filter-pill:hover{color:var(--text-main);border-color:var(--border-light)}.filter-pill.active{background:var(--red-glow-subtle);border-color:var(--red-border);color:#ffccd0}.meta-status{color:var(--text-dim);align-items:center;gap:12px;font-size:12.5px;display:flex}.meta-count b{color:var(--text-main);font-family:var(--font-mono)}.active-cat-tag{color:var(--red-primary);font-weight:600}.reset-link{color:var(--red-primary);cursor:pointer;background:0 0;border:none;font-size:12px;font-weight:500;text-decoration:underline}.toggle-expand-btn{background:var(--card-bg);border:1px solid var(--border-light);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;padding:4px 10px;font-size:11.5px;transition:all .15s}.toggle-expand-btn:hover{border-color:var(--red-border);color:var(--red-primary)}.sidebar-container{background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);max-height:calc(100vh - 100px);box-shadow:var(--shadow-sm);flex-direction:column;padding:14px 12px;display:flex;position:sticky;top:80px}.sidebar-head{flex-direction:column;gap:10px;margin-bottom:8px;display:flex}.sidebar-title{letter-spacing:1px;color:var(--text-dim);justify-content:space-between;align-items:center;padding:0 4px;font-size:11px;font-weight:700;display:flex}.cat-total-badge{font-family:var(--font-mono);background:var(--bg-darkest);border-radius:var(--radius-full);padding:1px 6px;font-size:10px}.cat-search-box{background:var(--bg-darkest);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:0 10px;display:flex}.cat-search-box:focus-within{border-color:var(--border-hover)}.cat-search-icon{color:var(--text-dim);place-items:center;display:grid}#cat-search-input{color:var(--text-main);background:0 0;border:none;outline:none;flex:1;padding:6px 0;font-size:12px}#cat-search-input::placeholder{color:var(--text-dim)}.cat-search-clear{color:var(--text-dim);cursor:pointer;background:0 0;border:none}.cat-scroll-list{flex-direction:column;flex:1;gap:2px;padding-right:4px;display:flex;overflow-y:auto}.cat-item{border-radius:var(--radius-sm);color:var(--text-muted);font-family:var(--font-sans);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:12.5px;transition:all .12s;display:flex}.cat-item:hover{background:var(--bg-subtle);color:var(--text-main)}.cat-item.active{background:var(--red-glow-subtle);border-color:var(--red-border);color:#ffccd0;font-weight:600}.cat-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cat-count{font-family:var(--font-mono);color:var(--text-dim);background:var(--bg-darkest);border-radius:var(--radius-full);flex:none;padding:1px 6px;font-size:10.5px}.cat-item.active .cat-count{color:var(--red-primary);background:#ff33441a}.cat-empty-notice{color:var(--text-dim);text-align:center;padding:12px 6px;font-size:11.5px}.sidebar-divider{background:var(--border-subtle);height:1px;margin:10px 0}.shortcuts-panel{flex-direction:column;gap:6px;padding:4px;display:flex}.shortcuts-title{letter-spacing:1px;color:var(--text-dim);font-size:10px;font-weight:700}.shortcut-item{color:var(--text-dim);justify-content:space-between;align-items:center;font-size:11px;display:flex}.tools-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px;display:grid}.tools-grid.compact{grid-template-columns:1fr;gap:8px}.tool-card{background:var(--card-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-sm);outline:none;flex-direction:column;gap:10px;padding:14px 16px;transition:all .15s;display:flex;position:relative}.tool-card:hover{background:var(--card-bg-hover);border-color:var(--border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.tool-card:focus-visible,.tool-card.focused{border-color:var(--red-primary);box-shadow:0 0 0 3px var(--red-glow-subtle)}.tool-card.expanded{background:var(--card-bg-expanded);border-color:var(--border-light);grid-column:1/-1}.card-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.card-title-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card-title{font-family:var(--font-mono);color:var(--text-main);letter-spacing:-.2px;font-size:14px;font-weight:700}.badge-chip{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;font-size:10px;font-weight:600}.badge-community{background:var(--green-glow);color:var(--green-accent);border:1px solid #10b9814d}.badge-stars{color:var(--amber-accent);font-family:var(--font-mono);background:#f59e0b1f;border:1px solid #f59e0b4d;font-size:11px}.badge-tip{color:var(--amber-accent);background:#f59e0b1f;border:1px solid #f59e0b4d}.card-quick-actions{align-items:center;gap:4px;display:flex}.quick-copy-btn{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;place-items:center;padding:4px;transition:all .15s;display:grid}.quick-copy-btn:hover{color:var(--text-main);background:var(--bg-subtle)}.card-desc{color:var(--text-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.5;display:-webkit-box;overflow:hidden}.card-footer{justify-content:space-between;align-items:center;gap:10px;margin-top:auto;padding-top:4px;display:flex}.cat-pill{color:var(--text-dim);background:var(--bg-darkest);border:1px solid var(--border-subtle);border-radius:var(--radius-full);white-space:nowrap;text-overflow:ellipsis;max-width:170px;padding:2px 10px;font-size:11px;font-weight:500;overflow:hidden}.card-btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:4px 10px;font-size:11.5px;font-weight:600;transition:all .15s;display:inline-flex}.btn-github{background:var(--red-glow-subtle);border:1px solid var(--red-border);color:#ffccd0}.btn-github:hover{background:var(--red-glow);color:#fff;text-decoration:none}.btn-external{background:var(--bg-darkest);border:1px solid var(--border-light);color:var(--text-muted)}.btn-external:hover{border-color:var(--border-hover);color:var(--text-main);text-decoration:none}.badge-guide{color:var(--green-accent);background:var(--green-glow);border-radius:var(--radius-sm);border:1px solid #10b98140;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-flex}.badge-dot{background:var(--green-accent);border-radius:50%;width:5px;height:5px}.card-detail{border-top:1px solid var(--border-subtle);flex-direction:column;gap:12px;margin-top:6px;padding-top:12px;display:none}.tool-card.expanded .card-detail{display:flex}.tool-card.expanded .card-desc{-webkit-line-clamp:unset}.detail-text{color:var(--text-muted);max-width:900px;font-size:13px;line-height:1.6}.detail-code-wrap{background:var(--bg-darkest);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);overflow:hidden}.code-head{border-bottom:1px solid var(--border-subtle);background:#ffffff05;justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.code-lang{font-family:var(--font-mono);color:var(--text-dim);text-transform:uppercase;font-size:10.5px}.btn-copy-code{color:var(--text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:11px;display:inline-flex}.btn-copy-code:hover{background:var(--bg-subtle);color:var(--text-main)}.detail-snippet{font-family:var(--font-mono);color:#cfd8e3;white-space:pre;padding:12px;font-size:12px;line-height:1.5;overflow-x:auto}.detail-bar{align-items:center;gap:10px;display:flex}.detail-action-btn{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:7px;padding:7px 14px;font-size:12px;font-weight:600;transition:all .15s;display:inline-flex}.detail-action-btn.primary{background:var(--red-primary);border:1px solid var(--red-primary);color:#fff}.detail-action-btn.primary:hover{background:var(--red-hover);text-decoration:none}.detail-action-btn.ghost{border:1px solid var(--border-light);color:var(--text-muted);background:0 0}.detail-action-btn.ghost:hover{background:var(--bg-subtle);color:var(--text-main)}.tool-card.compact{flex-flow:wrap;align-items:center;padding:10px 14px}.tool-card.compact .card-header{min-width:200px}.tool-card.compact .card-desc{-webkit-line-clamp:1;flex:1;min-width:250px}.tool-card.compact .card-footer{margin-top:0;padding-top:0}.tool-card.compact.expanded{flex-direction:column;align-items:stretch}.empty-state{text-align:center;background:var(--card-bg);border:1px dashed var(--border-light);border-radius:var(--radius-lg);grid-column:1/-1;padding:80px 20px}.empty-icon{color:var(--text-dim);margin-bottom:12px;font-size:44px}.empty-title{color:var(--text-main);margin-bottom:6px;font-size:17px;font-weight:700}.empty-desc{color:var(--text-dim);margin-bottom:18px;font-size:13px}.btn-reset-empty{background:var(--red-glow-subtle);border:1px solid var(--red-border);color:#ffccd0;border-radius:var(--radius-sm);cursor:pointer;padding:8px 16px;font-size:12px;font-weight:600}.btn-reset-empty:hover{background:var(--red-glow);color:#fff}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(8px);background:#04060ac7;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-backdrop[hidden]{display:none}.modal-window{background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-lg);width:100%;max-width:460px;animation:.2s cubic-bezier(.16,1,.3,1) modalEnter;overflow:hidden;box-shadow:0 24px 60px #0009,0 0 0 1px #ff334414}@keyframes modalEnter{0%{opacity:0;transform:scale(.96)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.modal-head{border-bottom:1px solid var(--border-subtle);background:#ffffff05;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title{color:var(--text-main);font-size:16px;font-weight:700}.modal-close-btn{color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;place-items:center;padding:4px;display:grid}.modal-close-btn:hover{color:var(--red-primary);background:var(--bg-subtle)}.modal-body{flex-direction:column;gap:14px;padding:20px;display:flex}.form-field{flex-direction:column;flex:1;gap:6px;display:flex}.form-label{letter-spacing:.8px;text-transform:uppercase;color:var(--text-dim);font-size:11px;font-weight:700}.form-input,.form-select,.form-textarea{background:var(--bg-darkest);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-main);font-family:var(--font-mono);resize:vertical;outline:none;padding:10px 12px;font-size:13px;transition:all .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--red-primary);box-shadow:0 0 0 3px var(--red-glow-subtle)}.form-row{gap:12px;display:flex}.form-err{color:#ff8a92;background:var(--red-glow-subtle);border:1px solid var(--red-border);border-radius:var(--radius-sm);padding:10px 14px;font-size:12px}.form-note{color:var(--text-dim);font-size:11.5px;line-height:1.5}.btn-submit{background:var(--red-primary);border:1px solid var(--red-primary);color:#fff;font-family:var(--font-sans);border-radius:var(--radius-sm);cursor:pointer;margin-top:4px;padding:10px 16px;font-size:13.5px;font-weight:600;transition:all .15s}.btn-submit:hover{background:var(--red-hover);box-shadow:0 4px 14px var(--red-glow)}.btn-submit:disabled{opacity:.55;cursor:wait}.toast-container{z-index:200;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{pointer-events:auto;background:var(--card-bg);border:1px solid var(--border-light);border-radius:var(--radius-md);color:var(--text-main);opacity:0;align-items:center;gap:10px;padding:10px 16px;font-size:13px;font-weight:500;transition:all .25s cubic-bezier(.16,1,.3,1);display:flex;transform:translateY(12px)scale(.95);box-shadow:0 10px 30px #00000080,0 0 0 1px #ffffff0d}.toast.visible{opacity:1;transform:translateY(0)scale(1)}.toast-icon{place-items:center;display:grid}.toast-success{border-color:#10b98166}.toast-success .toast-icon{color:var(--green-accent)}.toast-error{border-color:var(--red-border)}.toast-error .toast-icon{color:var(--red-primary)}.toast-info .toast-icon{color:var(--amber-accent)}
