:root{--bg: #09090b;--bg-elev: #0f0f12;--bg-elev2: #16161a;--bg-inset: #0c0c0e;--border: #1f1f23;--border-strong: #2c2c31;--text: #f4f4f5;--text-dim: #a1a1aa;--text-faint: #6f6f78;--accent: #8b96ff;--accent-strong: #5b6ce0;--accent-soft: rgba(112, 124, 246, .13);--ok: #34d399;--ok-glow: rgba(52, 211, 153, .4);--local: #60a5fa;--local-glow: rgba(96, 165, 250, .4);--checking: #fb923c;--checking-glow: rgba(251, 146, 60, .42);--warn: #e0b34c;--danger: #e5756f;--radius-s: 7px;--radius: 10px;--radius-l: 14px;--shadow: 0 24px 64px rgba(0, 0, 0, .55), 0 2px 8px rgba(0, 0, 0, .4);--shadow-s: 0 1px 3px rgba(0, 0, 0, .4), 0 4px 16px rgba(0, 0, 0, .22);--focus: 0 0 0 2px var(--bg), 0 0 0 4px color-mix(in srgb, var(--accent) 65%, transparent);--ease: cubic-bezier(.23, .68, .32, .99);--ease-out: cubic-bezier(.16, 1, .3, 1);color-scheme:dark}[data-theme=light]{--bg: #fafafa;--bg-elev: #ffffff;--bg-elev2: #f3f4f6;--bg-inset: #f0f0f2;--border: #e8e8ec;--border-strong: #d6d6dd;--text: #17171b;--text-dim: #55555e;--text-faint: #8a8a94;--accent: #4f5ee8;--accent-strong: #3f4fd4;--accent-soft: rgba(79, 94, 232, .09);--shadow: 0 24px 64px rgba(20, 22, 40, .14), 0 2px 8px rgba(20, 22, 40, .07);--shadow-s: 0 1px 2px rgba(20, 22, 40, .06), 0 4px 16px rgba(20, 22, 40, .07);color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Segoe UI Variable Text,Inter,Segoe UI,system-ui,-apple-system,Roboto,Helvetica Neue,sans-serif;background:radial-gradient(1200px 500px at 85% -220px,rgba(112,124,246,.055),transparent 62%),radial-gradient(900px 420px at -10% -160px,rgba(52,211,153,.03),transparent 60%),var(--bg);background-attachment:fixed;color:var(--text);font-size:14px;line-height:1.5;letter-spacing:.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background .3s var(--ease),color .3s var(--ease)}.app{display:flex;flex-direction:column;height:100%}::selection{background:color-mix(in srgb,var(--accent) 32%,transparent)}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:8px;border:2.5px solid transparent;background-clip:content-box}*::-webkit-scrollbar-track{background:transparent}:focus-visible{outline:none;box-shadow:var(--focus);border-radius:var(--radius-s)}kbd{font-family:ui-monospace,Consolas,monospace;font-size:10.5px;padding:1.5px 5px;border:1px solid var(--border-strong);border-bottom-width:2px;border-radius:4px;background:var(--bg-elev2);color:var(--text-dim);white-space:nowrap}kbd.inline{padding:0 4px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.topbar{display:flex;align-items:center;gap:10px;padding:0 14px;height:52px;background:color-mix(in srgb,var(--bg-elev) 78%,transparent);backdrop-filter:blur(14px) saturate(1.5);-webkit-backdrop-filter:blur(14px) saturate(1.5);border-bottom:1px solid var(--border);flex-wrap:nowrap;position:sticky;top:0;z-index:20}.brand{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 26%,transparent),color-mix(in srgb,var(--accent-strong) 20%,transparent));border:1px solid color-mix(in srgb,var(--accent) 34%,transparent);color:var(--accent);flex-shrink:0;box-shadow:0 0 18px color-mix(in srgb,var(--accent) 16%,transparent)}.topbar h1{font-size:14.5px;margin:0;font-weight:620;letter-spacing:-.012em;white-space:nowrap}.topbar h1 span{background:linear-gradient(90deg,var(--accent),var(--ok));-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:540}.toolbar{display:flex;align-items:center;gap:6px;flex:1;min-width:0;margin-left:10px;overflow-x:auto;scrollbar-width:none}.toolbar::-webkit-scrollbar{display:none}.tabs{display:flex;background:color-mix(in srgb,var(--bg-elev2) 82%,transparent);border:1px solid var(--border);border-radius:var(--radius);padding:2px;flex-shrink:0}.tabs button{border:0;background:transparent;color:var(--text-dim);padding:5px 12px;border-radius:7px;cursor:pointer;font-size:13px;transition:color .18s var(--ease),background .18s var(--ease),box-shadow .18s var(--ease)}.tabs button:hover{color:var(--text)}.tabs button.active{background:var(--bg-elev);color:var(--text);font-weight:560;box-shadow:var(--shadow-s),inset 0 0 0 1px var(--border)}.search-wrap{position:relative;flex:1;min-width:140px;max-width:460px}.search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--text-faint);pointer-events:none}.search{width:100%;padding:7px 12px 7px 31px;border-radius:var(--radius);border:1px solid var(--border);background:color-mix(in srgb,var(--bg) 72%,transparent);color:var(--text);font-size:13.5px;transition:border-color .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease)}.search::placeholder{color:var(--text-faint)}.search:focus{outline:none;border-color:color-mix(in srgb,var(--accent) 62%,var(--border));box-shadow:0 0 0 3px var(--accent-soft);background:var(--bg)}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-elev) 88%,transparent);color:var(--text);padding:6.5px 12px;border-radius:var(--radius);cursor:pointer;font-size:13px;font-weight:520;white-space:nowrap;transition:border-color .16s var(--ease),background .16s var(--ease),transform .1s var(--ease),color .16s var(--ease),box-shadow .16s var(--ease)}.btn:hover{border-color:var(--border-strong);background:var(--bg-elev2);box-shadow:var(--shadow-s)}.btn:active{transform:scale(.972)}.btn.primary{background:linear-gradient(180deg,color-mix(in srgb,var(--accent-strong) 92%,#fff),var(--accent-strong));border-color:color-mix(in srgb,var(--accent-strong) 80%,#000 8%);color:#fff;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-strong) 30%,transparent),0 4px 18px color-mix(in srgb,var(--accent-strong) 26%,transparent)}.btn.primary:hover{filter:brightness(1.08);border-color:transparent;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-strong) 36%,transparent),0 6px 24px color-mix(in srgb,var(--accent-strong) 34%,transparent)}.btn.small{padding:4px 9px;font-size:12.5px;border-radius:var(--radius-s)}.btn.icon{padding:7px 8px;color:var(--text-dim)}.btn.icon:hover{color:var(--text)}.btn.danger{color:var(--danger)}.btn.danger:hover{border-color:var(--danger)}.btn:disabled{opacity:.5;cursor:default;transform:none}.btn.recording{border-color:var(--accent);color:var(--accent);animation:pulse 1.2s infinite}.link-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:inherit;padding:0}.link-btn:hover{text-decoration:underline}.small-link{font-size:12px;margin-top:4px}.layout{display:flex;flex:1;min-height:0}.sidebar{width:272px;min-width:240px;background:color-mix(in srgb,var(--bg-elev) 55%,transparent);border-right:1px solid var(--border);overflow-y:auto;padding:10px}.sidebar-nav{display:flex;flex-direction:column;gap:14px}.side-section h3{font-size:10.5px;font-weight:640;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint);margin:0 0 5px 7px}.side-section.grow{flex:1}.side-item{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:transparent;border:0;color:var(--text-dim);padding:6px 7px;border-radius:var(--radius-s);cursor:pointer;font-size:13.5px;position:relative;transition:color .14s var(--ease),background .14s var(--ease)}.side-item:hover{background:color-mix(in srgb,var(--bg-elev2) 70%,transparent);color:var(--text);box-shadow:inset 0 0 0 1px var(--border)}.side-item.active{background:var(--accent-soft);color:var(--accent);font-weight:580}.side-item.active:before{content:"";position:absolute;left:-1px;top:6px;bottom:6px;width:2px;border-radius:2px;background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 40%,transparent))}.side-item .icon{flex-shrink:0;opacity:.85}.side-item .side-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-item .count{margin-left:auto;color:var(--text-faint);font-size:11px;font-variant-numeric:tabular-nums;background:color-mix(in srgb,var(--bg-elev2) 80%,transparent);border-radius:20px;padding:.5px 7px;flex-shrink:0}.side-item.drag-over{border:1px dashed var(--accent);background:var(--accent-soft);color:var(--accent)}.side-item-row{display:flex;align-items:center;gap:2px}.side-item-row .side-item{flex:1;min-width:0}.side-del{background:none;border:none;color:var(--text-faint);cursor:pointer;padding:4px;border-radius:var(--radius-s);opacity:0;transition:opacity .12s var(--ease),color .12s var(--ease)}.side-item-row:hover .side-del,.side-del:focus-visible{opacity:1}.side-del:hover{color:var(--danger)}.side-input-row input{width:100%;padding:6px 9px;border-radius:var(--radius-s);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:13px;margin-top:3px}.side-input-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.cat-tree,.cat-tree ul{list-style:none;margin:0;padding:0}.cat-node{position:relative}.cat-row{display:flex;align-items:center}.cat-row .side-item{flex:1;min-width:0}.fav-toggle{background:none;border:none;color:var(--text-faint);cursor:pointer;padding:4px;border-radius:var(--radius-s);opacity:0;transition:opacity .12s var(--ease),color .12s var(--ease)}.cat-row:hover .fav-toggle,.fav-toggle:focus-visible{opacity:1}.fav-toggle.on{opacity:1;color:var(--warn)}.fav-toggle.on svg{fill:currentColor}.tag-cloud{display:flex;flex-wrap:wrap;gap:5px;padding:0 4px}.tag-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg-elev) 70%,transparent);color:var(--text-dim);border-radius:20px;padding:2.5px 9px;font-size:11.5px;cursor:pointer;font-variant-numeric:tabular-nums;transition:color .14s var(--ease),border-color .14s var(--ease),background .14s var(--ease),transform .1s var(--ease)}.tag-chip span{color:var(--text-faint);font-size:10.5px}.tag-chip:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));transform:translateY(-1px)}.tag-chip.active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.export-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.version{color:var(--text-faint);font-size:11px;margin:10px 0 0 4px;font-variant-numeric:tabular-nums}.hint{color:var(--text-dim);font-size:13px;line-height:1.5;margin:4px 0}.main{flex:1;overflow-y:auto;padding:16px 20px 40px;min-width:0}.list-meta{color:var(--text-faint);font-size:12.5px;margin-bottom:10px;font-variant-numeric:tabular-nums}.bm-list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}.bm-card{display:flex;gap:11px;align-items:flex-start;background:linear-gradient(180deg,color-mix(in srgb,var(--bg-elev) 92%,transparent),color-mix(in srgb,var(--bg-elev) 60%,transparent));border:1px solid var(--border);border-radius:var(--radius-l);padding:11px 13px;animation:rise .34s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 22ms);transition:border-color .16s var(--ease),transform .16s var(--ease),box-shadow .16s var(--ease),background .16s var(--ease)}.bm-card:hover{border-color:var(--border-strong);transform:translateY(-1.5px);box-shadow:var(--shadow-s)}.bm-card.pinned{border-left:2px solid var(--accent)}.bm-card.is-cross{border-style:dashed;border-color:color-mix(in srgb,var(--accent) 40%,var(--border));background:color-mix(in srgb,var(--bg-elev) 55%,transparent)}.bm-card.compact{padding:7px 10px;animation-delay:0s;border-radius:var(--radius)}.bm-card[draggable=true]{cursor:grab}.bm-card:active{cursor:grabbing}.fav-wrap,.fav-avatar{width:32px;height:32px;min-width:32px;border-radius:8px;display:grid;place-items:center;overflow:hidden}.fav-wrap img{width:100%;height:100%;object-fit:contain;padding:3.5px;border-radius:8px;background:color-mix(in srgb,var(--bg-elev2) 72%,transparent);box-shadow:inset 0 0 0 1px var(--border)}.fav-avatar{background:linear-gradient(135deg,color-mix(in srgb,var(--av, #5b6b8c) 30%,transparent),color-mix(in srgb,var(--av, #5b6b8c) 12%,transparent));color:color-mix(in srgb,var(--av, #5b6b8c) 78%,#fff);font-weight:640;font-size:13.5px;letter-spacing:.01em;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--av, #5b6b8c) 32%,transparent)}.bm-body{flex:1;min-width:0}.bm-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.bm-title{color:var(--text);font-weight:570;text-decoration:none;font-size:13.5px;letter-spacing:-.006em;overflow-wrap:anywhere;transition:color .13s var(--ease)}.bm-title:hover{color:var(--accent)}.clicker-badge{display:inline-flex;align-items:center;gap:6px;padding:2.5px 9px 2.5px 7.5px;border-radius:999px;border:1px solid transparent;font-size:10.5px;font-weight:620;letter-spacing:.06em;text-transform:uppercase;cursor:default;line-height:1.35;transition:transform .14s var(--ease),box-shadow .2s var(--ease),border-color .2s var(--ease)}.clicker-badge .clicker-dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor;flex-shrink:0}.clicker-badge.online,.clicker-badge.local{cursor:pointer}.clicker-badge.online{color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,transparent);border-color:color-mix(in srgb,var(--ok) 38%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--ok) 22%,transparent),inset 0 0 10px color-mix(in srgb,var(--ok) 8%,transparent)}.clicker-badge.local{color:var(--local);background:color-mix(in srgb,var(--local) 10%,transparent);border-color:color-mix(in srgb,var(--local) 38%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--local) 22%,transparent),inset 0 0 10px color-mix(in srgb,var(--local) 8%,transparent)}.clicker-badge.online:hover,.clicker-badge.local:hover{transform:translateY(-1px) scale(1.04);box-shadow:0 0 22px var(--ok-glow),inset 0 0 12px color-mix(in srgb,var(--ok) 12%,transparent)}.clicker-badge.local:hover{box-shadow:0 0 22px var(--local-glow),inset 0 0 12px color-mix(in srgb,var(--local) 12%,transparent)}.clicker-badge.checking{color:var(--checking);background:color-mix(in srgb,var(--checking) 9%,transparent);border-color:color-mix(in srgb,var(--checking) 32%,transparent);animation:clicker-blink 1.5s var(--ease) infinite}@keyframes clicker-blink{0%,to{opacity:1;box-shadow:0 0 12px color-mix(in srgb,var(--checking) 26%,transparent)}50%{opacity:.55;box-shadow:0 0 3px color-mix(in srgb,var(--checking) 8%,transparent)}}.clicker-badge.dot-only{padding:4px 6.5px}.clicker-badge.dialog-badge{cursor:default;flex-shrink:0}.bm-sub{color:var(--text-faint);font-size:12px;margin-top:2px;display:flex;align-items:center;flex-wrap:wrap;gap:4px}.bm-host{font-family:ui-monospace,Consolas,monospace;font-size:11px}.bm-date{font-variant-numeric:tabular-nums}.bm-tags{display:inline-flex;flex-wrap:wrap;gap:3px}.tag-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-size:11.5px;padding:0;opacity:.85}.tag-btn:hover{opacity:1;text-decoration:underline}.bm-cats{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.chip{border:1px solid var(--border);background:color-mix(in srgb,var(--bg-elev2) 72%,transparent);color:var(--text-dim);border-radius:20px;padding:1.5px 9px;font-size:11px;cursor:pointer;transition:color .12s var(--ease),border-color .12s var(--ease),transform .1s var(--ease)}.chip:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));transform:translateY(-1px)}.bm-crossline{display:flex;align-items:center;gap:5px;margin-top:5px;color:var(--accent);font-size:11.5px;opacity:.85}.cross-head{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--text-dim);margin:18px 0 8px}.bm-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s var(--ease)}.bm-card:hover .bm-actions,.bm-card:focus-within .bm-actions{opacity:1}.bm-actions .btn{background:transparent;border-color:transparent;color:var(--text-faint)}.bm-actions .btn:hover{background:var(--bg-elev2);color:var(--text)}.bm-actions .btn.danger:hover{color:var(--danger)}.pin-on{color:var(--accent)}.empty{max-width:520px;margin:10vh auto;text-align:center;background:color-mix(in srgb,var(--bg-elev) 80%,transparent);border:1px dashed var(--border-strong);border-radius:var(--radius-l);padding:34px 28px;animation:fade .3s var(--ease)}.empty h2{margin-top:0;font-size:17px;letter-spacing:-.015em}.curated h2{margin-top:0;display:flex;align-items:center;gap:8px;font-size:16px;letter-spacing:-.015em}.curated-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}.curated-card{background:linear-gradient(180deg,color-mix(in srgb,var(--bg-elev) 92%,transparent),color-mix(in srgb,var(--bg-elev) 58%,transparent));border:1px solid var(--border);border-radius:var(--radius-l);padding:12px 14px;display:flex;flex-direction:column;gap:7px;animation:rise .34s var(--ease-out) both;animation-delay:calc(var(--i, 0) * 22ms);transition:border-color .16s var(--ease),transform .16s var(--ease),box-shadow .16s var(--ease)}.curated-card:hover{border-color:var(--border-strong);transform:translateY(-1.5px);box-shadow:var(--shadow-s)}.curated-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.curated-head a{color:var(--text);font-weight:570;text-decoration:none}.curated-head a:hover{color:var(--accent)}.curated-card p{margin:0;color:var(--text-dim);font-size:12.5px;flex:1}.curated-foot{display:flex;justify-content:space-between;align-items:center;gap:8px}.modal-backdrop{position:fixed;inset:0;background:#0606099e;backdrop-filter:blur(10px) saturate(1.2);-webkit-backdrop-filter:blur(10px) saturate(1.2);display:grid;place-items:center;z-index:50;padding:16px;animation:fade .16s var(--ease)}.modal{background:color-mix(in srgb,var(--bg-elev) 94%,transparent);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border:1px solid var(--border-strong);border-radius:16px;box-shadow:var(--shadow);padding:20px 22px;width:min(560px,100%);max-height:90vh;overflow-y:auto;display:flex;flex-direction:column;gap:11px;animation:pop .22s var(--ease-out)}.modal.wide{width:min(760px,100%)}.modal h2{margin:0;font-size:15.5px;letter-spacing:-.015em;display:flex;align-items:center;gap:8px}.modal h2 .icon{color:var(--accent)}.modal label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:var(--text-dim)}.modal input[type=text],.modal input[type=search],.modal input[type=password],.modal select{padding:8px 10px;border-radius:var(--radius-s);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:13.5px;transition:border-color .14s var(--ease),box-shadow .14s var(--ease)}.modal input:focus,.modal select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.check-row{flex-direction:row!important;align-items:flex-start;gap:9px!important;color:var(--text)!important;cursor:pointer}.check-row input[type=checkbox],.check-row input[type=radio]{margin-top:2px;accent-color:var(--accent)}.suggest{display:flex;align-items:center;flex-wrap:wrap;gap:6px;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 28%,transparent);border-radius:var(--radius-s);padding:8px 11px;font-size:13px;margin:0;color:var(--text)}.suggest .icon{color:var(--accent);flex-shrink:0}.suggest-row{align-items:flex-start}.cat-select{border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px;display:flex;flex-direction:column;gap:8px}.cat-select legend{font-size:11.5px;color:var(--text-faint);padding:0 6px}.cat-options{display:flex;flex-wrap:wrap;gap:6px;max-height:170px;overflow-y:auto}.chip-option{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:6px;border:1px solid var(--border);border-radius:20px;padding:3.5px 10px;font-size:12px;cursor:pointer;color:var(--text);transition:border-color .13s var(--ease),background .13s var(--ease),color .13s var(--ease)}.chip-option input{accent-color:var(--accent)}.chip-option.on{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.new-cat-row{margin-top:4px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.import-choices{display:flex;gap:8px}.dropzone{border:1.5px dashed var(--border-strong);border-radius:var(--radius);padding:30px;text-align:center;color:var(--text-dim);cursor:pointer;transition:border-color .16s var(--ease),background .16s var(--ease),transform .16s var(--ease)}.dropzone:hover,.dropzone:active{border-color:var(--accent);background:var(--accent-soft);transform:scale(1.005)}.import-result{border-radius:var(--radius-s);padding:10px 12px;background:var(--bg-elev2);border:1px solid var(--border);font-size:13px;margin:0}.busy-row{display:flex;align-items:center;gap:8px;color:var(--text-dim);font-size:13px}.spinner{width:14px;height:14px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.deploy-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.deploy-step{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);padding:10px 12px;display:flex;flex-direction:column;gap:7px;animation:rise .26s var(--ease-out) both}.deploy-step-label{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:560;color:var(--text)}.deploy-step-num{display:grid;place-items:center;width:20px;height:20px;min-width:20px;border-radius:50%;background:color-mix(in srgb,var(--local) 14%,transparent);border:1px solid color-mix(in srgb,var(--local) 40%,transparent);color:var(--local);font-size:11px;font-weight:640}.deploy-cmd{display:flex;align-items:center;gap:8px}.deploy-cmd code{flex:1;font-family:ui-monospace,Consolas,monospace;font-size:11.5px;color:var(--text-dim);background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius-s);padding:7px 9px;overflow-x:auto;white-space:nowrap}.deploy-link{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:12.5px;text-decoration:none}.deploy-link:hover{text-decoration:underline}.vs-controls{display:flex;flex-direction:column;gap:10px}.vs-row{display:flex;gap:12px;flex-wrap:wrap}.vs-row label{flex:1;min-width:180px;gap:6px}.vs-row input[type=range]{accent-color:var(--accent);width:100%}.vs-stage{border:1px solid var(--border);border-radius:var(--radius-l);background:var(--bg-inset);padding:10px;display:grid;place-items:center;animation:fade .25s var(--ease)}.vs-stage.wide{aspect-ratio:16 / 9;max-height:46vh}.vs-stage.tall{aspect-ratio:9 / 16;max-height:56vh;width:min(100%,320px);margin:0 auto}.backup-list{display:flex;flex-direction:column;gap:5px;max-height:180px;overflow-y:auto}.backup-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--radius-s);background:var(--bg);font-size:12.5px;animation:rise .22s var(--ease-out) both}.backup-date{color:var(--text-dim);font-variant-numeric:tabular-nums}.backup-actions{display:flex;gap:4px}.rule-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:5px;max-height:320px;overflow-y:auto}.rule-row{display:flex;align-items:center;gap:6px}.rule-row input,.rule-row select{padding:5.5px 8px;border-radius:var(--radius-s);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:12.5px}.rule-pattern{width:170px}.rule-cats{flex:1}.arrow{color:var(--text-faint)}.rule-new{display:flex;gap:6px;align-items:center}.rule-new input{padding:6.5px 9px;border-radius:var(--radius-s);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:12.5px}.switch input{accent-color:var(--accent)}.glossary-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}.glossary-row{display:flex;align-items:flex-start;gap:8px;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);animation:fade .2s var(--ease)}.glossary-row.editing{flex-wrap:wrap}.glossary-row.editing input{flex:1;min-width:120px;padding:5.5px 8px;border-radius:var(--radius-s);border:1px solid var(--border);background:var(--bg-elev);color:var(--text);font-size:12.5px}.glossary-main{flex:1;min-width:0}.glossary-def{color:var(--text-dim)}.glossary-related{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.glossary-shared{display:flex;align-items:center;gap:5px;margin-top:5px;color:var(--accent);font-size:11.5px;opacity:.9}.glossary-row-actions{display:flex;gap:2px}.glossary-new{display:flex;flex-direction:column;gap:7px;border:1px dashed var(--border-strong);border-radius:var(--radius);padding:11px}.glossary-new input{padding:7.5px 10px;border-radius:var(--radius-s);border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:13px}.learn-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;max-height:380px;overflow-y:auto}.learn-row{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);animation:rise .28s var(--ease-out) both}.learn-term{width:168px;flex-shrink:0;display:flex;flex-direction:column;gap:2px;min-width:0}.learn-term strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.learn-term .count{font-size:10.5px;color:var(--text-faint);font-variant-numeric:tabular-nums}.learn-example{font-size:11px;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.learn-inputs{flex:1;display:flex;gap:6px;min-width:0}.learn-inputs input{flex:1;min-width:0;padding:6.5px 9px;border-radius:var(--radius-s);border:1px solid var(--border);background:var(--bg-elev);color:var(--text);font-size:12.5px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.setting-label{color:var(--text-dim);font-size:13px}.ai-api-fields{display:flex;flex-direction:column;gap:8px}.palette-backdrop{align-items:start;padding-top:12vh}.palette{width:min(600px,100%);background:color-mix(in srgb,var(--bg-elev) 92%,transparent);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border:1px solid var(--border-strong);border-radius:var(--radius-l);box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;animation:palette-in .2s var(--ease-out)}.palette-head{display:flex;align-items:center;gap:9px;padding:11px 14px;border-bottom:1px solid var(--border);color:var(--text-faint)}.palette-title{flex:0 1 auto;max-width:55%;font-size:13px;color:var(--text);display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-head input{flex:1;border:none;background:transparent;color:var(--text);font-size:14.5px;outline:none}.palette-head input::placeholder{color:var(--text-faint)}.palette-rows{max-height:320px;overflow-y:auto;padding:6px}.palette-empty{color:var(--text-faint);text-align:center;padding:18px 0;margin:0;font-size:13px}.palette-row{display:flex;align-items:center;gap:9px;width:100%;text-align:left;background:transparent;border:0;color:var(--text);padding:8px 10px;border-radius:var(--radius-s);cursor:pointer;font-size:13.5px;transition:background .1s var(--ease)}.palette-row .icon{color:var(--text-faint);flex-shrink:0}.palette-row.active{background:var(--accent-soft)}.palette-row.active .icon{color:var(--accent)}.palette-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-hint{color:var(--text-faint);font-size:11.5px;white-space:nowrap;display:flex;align-items:center;gap:4px}.palette-foot{display:flex;gap:14px;padding:8px 14px;border-top:1px solid var(--border);color:var(--text-faint);font-size:11.5px}.palette-foot span{display:flex;align-items:center;gap:4px}.toasts{position:fixed;bottom:18px;right:18px;display:flex;flex-direction:column;gap:8px;z-index:90;max-width:min(420px,calc(100vw - 36px))}.toast{display:flex;align-items:flex-start;gap:9px;background:color-mix(in srgb,var(--bg-elev) 90%,transparent);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:var(--shadow);padding:10px 13px;font-size:13px;animation:toast-in .24s var(--ease-out)}.toast .icon{margin-top:1px;flex-shrink:0}.toast.ok .icon{color:var(--ok)}.toast.info .icon{color:var(--accent)}.toast.warn .icon{color:var(--warn)}.toast-body{display:flex;flex-direction:column;gap:2px;min-width:0}.toast-detail{color:var(--text-dim);font-size:12px;overflow-wrap:anywhere}.compact-app{justify-content:flex-start}.quickbar{display:flex;align-items:center;gap:8px;padding:7px 12px;background:color-mix(in srgb,var(--bg-elev) 78%,transparent);backdrop-filter:blur(14px) saturate(1.5);-webkit-backdrop-filter:blur(14px) saturate(1.5);border-bottom:1px solid var(--border);flex-wrap:nowrap}.quick-favs{display:flex;align-items:center;gap:5px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.quick-favs::-webkit-scrollbar{display:none}.quick-favs .hint{font-size:12px;white-space:nowrap}.quick-chip{border:1px solid var(--border);background:color-mix(in srgb,var(--bg-elev2) 82%,transparent);color:var(--text-dim);border-radius:20px;padding:4px 12px;font-size:12.5px;cursor:pointer;white-space:nowrap;transition:color .13s var(--ease),border-color .13s var(--ease),background .13s var(--ease),transform .1s var(--ease)}.quick-chip:hover{color:var(--text);border-color:var(--border-strong)}.quick-chip:active{transform:scale(.96)}.quick-chip.active{color:var(--accent);border-color:var(--accent);background:var(--accent-soft);font-weight:570}.quick-search{max-width:300px;flex:0 1 300px}.quick-panel{overflow-y:auto;padding:10px 12px 30px}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:scale(.97) translateY(6px)}to{opacity:1;transform:none}}@keyframes palette-in{0%{opacity:0;transform:scale(.985) translateY(-8px)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{box-shadow:0 0 0 0 var(--accent-soft)}50%{box-shadow:0 0 0 5px var(--accent-soft)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(max-width:860px){.layout{flex-direction:column}.sidebar{width:auto;border-right:0;border-bottom:1px solid var(--border);max-height:42vh}.topbar{height:auto;flex-wrap:wrap;padding:8px 12px}.toolbar{margin-left:0;flex-wrap:wrap}.search-wrap{min-width:130px}.learn-row{flex-wrap:wrap}.learn-term,.learn-inputs{width:100%}}
