/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}body{background:var(--vh-background);color:var(--vh-foreground)}button{font-family:var(--vh-font-sans)}}@layer components;@layer utilities{.visible{visibility:visible}.block{display:block}.grid{display:grid}.hidden{display:none}.table{display:table}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--vh-bg:#fafafa;--vh-surface:#fff;--vh-surface-2:#f4f4f5;--vh-line:#e4e4e7;--vh-line-strong:#a1a1aa;--vh-ink:#3f3f46;--vh-ink-strong:#18181b;--vh-ink-faint:#a1a1aa;--vh-hi:#2563eb;--vh-hi-soft:#eff6ff;--vh-danger:#b91c1c;--vh-shadow-1:0 1px 2px #0000000a;--vh-shadow-md:0 2px 8px #0000000f;--vh-shadow-float:0 8px 24px #0000001a;--vh-shadow-lg:0 24px 64px #00000029;--vh-radius-sm:4px;--vh-radius-md:8px;--vh-radius-lg:12px;--vh-radius-xl:16px;--vh-font-sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Segoe UI",sans-serif;--vh-font-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--vh-fs-title:22px;--vh-fs-cat:14px;--vh-fs-body:13px;--vh-fs-btn:12px;--vh-fs-cap:11px;--vh-fs-micro:10px;--vh-k1bg:#eef2ff;--vh-k1fg:#4f46e5;--vh-k2bg:#ecfdf5;--vh-k2fg:#059669;--vh-k3bg:#fff7ed;--vh-k3fg:#ea580c;--vh-k4bg:#fdf2f8;--vh-k4fg:#db2777;--vh-k5bg:#eff6ff;--vh-k5fg:#2563eb;--vh-k6bg:#f7fee7;--vh-k6fg:#65a30d;--vh-gap:8px;--vh-card-pad:8px 10px;--vh-card-min-h:44px;--vh-fav-h:34px;--vh-name-size:13px;--vh-domain-size:11px;--vh-cat-gap:30px;--vh-background:var(--vh-bg);--vh-foreground:var(--vh-ink);--vh-card:var(--vh-surface);--vh-card-foreground:var(--vh-ink-strong);--vh-popover:var(--vh-surface);--vh-popover-foreground:var(--vh-ink-strong);--vh-primary:var(--vh-hi);--vh-primary-foreground:#fff;--vh-muted:var(--vh-surface-2);--vh-muted-foreground:var(--vh-ink-faint);--vh-border:var(--vh-line);--vh-input:var(--vh-line-strong);--vh-ring:var(--vh-hi);--vh-destructive:var(--vh-danger);--vh-destructive-foreground:#fff}:root[data-theme=dark]{--vh-bg:#0c0c0e;--vh-surface:#161619;--vh-surface-2:#1f1f23;--vh-line:#27272a;--vh-line-strong:#52525b;--vh-ink:#a1a1aa;--vh-ink-strong:#f4f4f5;--vh-ink-faint:#71717a;--vh-hi:#60a5fa;--vh-hi-soft:#1e293b;--vh-danger:#f87171;--vh-shadow-1:0 1px 2px #0000004d;--vh-shadow-md:0 2px 8px #0006;--vh-shadow-float:0 8px 24px #00000080;--vh-shadow-lg:0 24px 64px #00000080;--vh-k1bg:#1e1b4b;--vh-k1fg:#a5b4fc;--vh-k2bg:#022c22;--vh-k2fg:#6ee7b7;--vh-k3bg:#431407;--vh-k3fg:#fdba74;--vh-k4bg:#500724;--vh-k4fg:#f9a8d4;--vh-k5bg:#172554;--vh-k5fg:#93c5fd;--vh-k6bg:#1a2e05;--vh-k6fg:#bef264;--vh-primary-foreground:#0c0c0e;--vh-destructive-foreground:#0c0c0e}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--vh-bg:#0c0c0e;--vh-surface:#161619;--vh-surface-2:#1f1f23;--vh-line:#27272a;--vh-line-strong:#52525b;--vh-ink:#a1a1aa;--vh-ink-strong:#f4f4f5;--vh-ink-faint:#71717a;--vh-hi:#60a5fa;--vh-hi-soft:#1e293b;--vh-danger:#f87171;--vh-shadow-1:0 1px 2px #0000004d;--vh-shadow-md:0 2px 8px #0006;--vh-shadow-float:0 8px 24px #00000080;--vh-shadow-lg:0 24px 64px #00000080;--vh-k1bg:#1e1b4b;--vh-k1fg:#a5b4fc;--vh-k2bg:#022c22;--vh-k2fg:#6ee7b7;--vh-k3bg:#431407;--vh-k3fg:#fdba74;--vh-k4bg:#500724;--vh-k4fg:#f9a8d4;--vh-k5bg:#172554;--vh-k5fg:#93c5fd;--vh-k6bg:#1a2e05;--vh-k6fg:#bef264;--vh-primary-foreground:#0c0c0e;--vh-destructive-foreground:#0c0c0e}}body[data-density=compact]{--vh-gap:6px;--vh-card-pad:5px 9px;--vh-card-min-h:34px;--vh-fav-h:28px;--vh-name-size:12.5px;--vh-domain-size:10.5px;--vh-cat-gap:22px}body{font-family:var(--vh-font-sans);font-size:var(--vh-fs-body);background:var(--vh-bg);color:var(--vh-ink);-webkit-font-smoothing:antialiased;line-height:1.5}:focus-visible{outline:1px solid var(--vh-ring);outline-offset:0;box-shadow:0 0 0 3px var(--vh-hi-soft);border-radius:var(--vh-radius-sm)}::selection{background:var(--vh-hi-soft);color:var(--vh-ink-strong)}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.topbar{z-index:20;background:var(--vh-surface);border-bottom:1px solid var(--vh-line);align-items:center;gap:14px;height:54px;padding:0 28px;display:flex;position:sticky;top:0}.brand{font-size:var(--vh-fs-cat);color:var(--vh-ink-strong);letter-spacing:.2px;white-space:nowrap;align-items:baseline;gap:6px;font-weight:650;display:inline-flex}.brand-tag{font-size:var(--vh-fs-cap);color:var(--vh-ink-faint);font-weight:400}.search{border:1px solid var(--vh-line);border-radius:var(--vh-radius-md);background:var(--vh-bg);min-width:0;max-width:520px;height:34px;color:var(--vh-ink-faint);font-family:var(--vh-font-sans);font-size:var(--vh-fs-body);text-align:left;cursor:pointer;flex:1;align-items:center;gap:8px;padding:0 10px;transition:border-color .14s cubic-bezier(.2,.8,.2,1);display:flex}.search:hover{border-color:var(--vh-line-strong)}.search svg{flex:none}.search .label{text-align:left;min-width:0;color:var(--vh-ink-faint);font-size:var(--vh-fs-body);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.kbd{font-family:var(--vh-font-mono);font-size:var(--vh-fs-micro);color:var(--vh-ink-faint);background:var(--vh-surface);border:1px solid var(--vh-line);border-radius:var(--vh-radius-sm);white-space:nowrap;flex:none;margin-left:auto;padding:3px 5px;line-height:1}.actions{align-items:center;gap:8px;margin-left:auto;display:flex;position:relative}.btn{border:1px solid var(--vh-line-strong);border-radius:var(--vh-radius-md);background:var(--vh-surface);height:32px;color:var(--vh-ink);font-size:var(--vh-fs-btn);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:400;transition:border-color .14s cubic-bezier(.2,.8,.2,1),background-color .14s cubic-bezier(.2,.8,.2,1),color .14s cubic-bezier(.2,.8,.2,1),opacity .14s cubic-bezier(.2,.8,.2,1);display:inline-flex}.btn:hover{background:var(--vh-surface-2)}.btn.primary{background:var(--vh-ink-strong);border-color:var(--vh-ink-strong);color:var(--vh-surface);font-weight:600}.btn.primary:hover{background:var(--vh-ink-strong);opacity:.9}.btn:disabled{opacity:.5;pointer-events:none}.btn.icon{width:32px;padding:0}.btn.icon svg{display:block}.btn svg{flex:none}.avatar{background:var(--vh-surface-2);border:1px solid var(--vh-line);width:28px;height:28px;color:var(--vh-ink);line-height:1;font-size:var(--vh-fs-btn);cursor:pointer;border-radius:999px;place-items:center;padding:0;font-weight:600;transition:border-color .14s cubic-bezier(.2,.8,.2,1);display:grid}.avatar:hover{border-color:var(--vh-line-strong)}.pop{z-index:30;background:var(--vh-surface);border:1px solid var(--vh-line-strong);border-radius:var(--vh-radius-lg);width:220px;box-shadow:var(--vh-shadow-lg);padding:12px;position:absolute;top:40px;right:0}.pop .lab{font-size:var(--vh-fs-cap);color:var(--vh-ink-faint);margin:2px 0 6px}.pop .lab+.lab{margin-top:12px}.pop .divider{background:var(--vh-line);height:1px;margin:12px -12px 6px}.pop .ci{padding:7px 8px}.pop .ci:hover{background:var(--vh-surface-2)}.pop .ci .ci-note{font-size:var(--vh-fs-micro)}.seg{background:var(--vh-surface-2);border-radius:var(--vh-radius-md);gap:2px;padding:2px;display:flex}.seg.w220{flex:none;width:220px}.seg button{min-width:0;height:26px;font-size:var(--vh-fs-btn);color:var(--vh-ink);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;font-weight:400;transition:background-color .14s cubic-bezier(.2,.8,.2,1),color .14s cubic-bezier(.2,.8,.2,1),box-shadow .14s cubic-bezier(.2,.8,.2,1)}.seg button:hover{color:var(--vh-ink-strong)}.seg button.on{background:var(--vh-surface);color:var(--vh-ink-strong);box-shadow:var(--vh-shadow-1);font-weight:600}.page{padding:0 28px 80px}.screen.boot{place-items:center;min-height:100vh;display:grid}.boot-in{flex-direction:column;align-items:center;gap:14px;display:flex}.boot .mark{border-radius:var(--vh-radius-lg);background:var(--vh-ink-strong);width:40px;height:40px;color:var(--vh-surface);place-items:center;font-size:18px;font-weight:650;line-height:1;display:grid}.boot .bar{background:var(--vh-line);border-radius:999px;width:120px;height:2px;overflow:hidden}.boot .bar i{border-radius:inherit;background:var(--vh-hi);width:40%;height:100%;animation:1.1s cubic-bezier(.4,0,.2,1) infinite boot-slide;display:block}.boot .tip{font-size:var(--vh-fs-cap);color:var(--vh-ink-faint)}@keyframes boot-slide{0%{transform:translate(-100%)}to{transform:translate(250%)}}.spacer{margin-left:auto}.favorites{background:var(--vh-surface-2);border-radius:var(--vh-radius-lg);margin-top:18px;padding:12px 14px}.zone-head{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:10px;display:flex}.zone-title{font-size:var(--vh-fs-btn);color:var(--vh-ink-strong);letter-spacing:.4px;font-weight:650}.zone-note{font-size:var(--vh-fs-cap);color:var(--vh-ink-faint)}.fav-track{gap:var(--vh-gap);padding-bottom:2px;display:flex;overflow-x:auto}.fav{height:var(--vh-fav-h);white-space:nowrap;border:1px solid var(--vh-line);background:var(--vh-surface);border-radius:999px;align-items:center;gap:7px;padding:0 12px 0 9px;text-decoration:none;transition:border-color .14s cubic-bezier(.2,.8,.2,1),box-shadow .14s cubic-bezier(.2,.8,.2,1),height .24s cubic-bezier(.2,.8,.2,1),padding .24s cubic-bezier(.2,.8,.2,1),background-color .24s linear;display:flex;position:relative}.fav:hover{border-color:var(--vh-line-strong)}.fav-name{font-size:var(--vh-name-size);color:var(--vh-ink-strong)}.fav-empty{font-size:var(--vh-fs-cap);color:var(--vh-ink-faint);white-space:nowrap;align-items:center;gap:6px;padding:0 4px;display:inline-flex}.fav.dragging{opacity:.4}.fav.drop-before:before,.fav.drop-after:after{content:"";background:var(--vh-hi);border-radius:2px;width:2px;position:absolute;top:3px;bottom:3px}.fav.drop-before:before{left:-4px}.fav.drop-after:after{right:-4px}.cat{margin-top:var(--vh-cat-gap)}.cat-head{align-items:center;gap:8px;margin-bottom:10px;display:flex;position:relative}.cat-handle{color:var(--vh-ink-faint);cursor:grab;padding:0 2px;display:none}.cat-handle svg{display:block}.cat-name{font-size:var(--vh-fs-cat);color:var(--vh-ink-strong);white-space:nowrap;font-weight:650}.cat-count{font-size:var(--vh-fs-cap);color:var(--vh-ink-faint);font-variant-numeric:tabular-nums}.cat-vis{border:1px solid var(--vh-line);height:20px;color:var(--vh-ink-faint);font-size:var(--vh-fs-micro);white-space:nowrap;cursor:pointer;background:0 0;border-radius:999px;flex:none;align-items:center;gap:4px;padding:0 8px;transition:color .14s cubic-bezier(.2,.8,.2,1),border-color .14s cubic-bezier(.2,.8,.2,1),background-color .14s cubic-bezier(.2,.8,.2,1);display:none}body.organize .cat-vis{display:inline-flex}.cat-vis svg{flex:none}.cat-vis:hover{border-color:var(--vh-line-strong);background:var(--vh-surface-2);color:var(--vh-ink)}.cat-vis.locked{border:1px dotted var(--vh-hi);color:var(--vh-hi)}.cat-vis.locked:hover{background:var(--vh-hi-soft);border-color:var(--vh-hi)}.cat-menu{border-radius:var(--vh-radius-md);width:22px;height:22px;color:var(--vh-ink-faint);cursor:pointer;background:0 0;border:1px solid #0000;place-items:center;padding:0;transition:border-color .14s cubic-bezier(.2,.8,.2,1),background-color .14s cubic-bezier(.2,.8,.2,1),color .14s cubic-bezier(.2,.8,.2,1);display:grid}.cat-menu svg{display:block}.cat-menu:hover,.cat-menu.on{border-color:var(--vh-line-strong);background:var(--vh-surface-2);color:var(--vh-ink-strong)}.cat-all{border:1px solid var(--vh-line-strong);border-radius:var(--vh-radius-md);background:var(--vh-surface);height:22px;color:var(--vh-ink);font-size:var(--vh-fs-cap);white-space:nowrap;cursor:pointer;align-items:center;padding:0 8px;transition:border-color .14s cubic-bezier(.2,.8,.2,1),background-color .14s cubic-bezier(.2,.8,.2,1),color .14s cubic-bezier(.2,.8,.2,1);display:none}body.organize .cat-all{display:inline-flex}.cat-all:hover{background:var(--vh-surface-2);color:var(--vh-ink-strong)}.cat-head.dragging{opacity:.4}.cat-head.drop-before:before,.cat-head.drop-after:after{content:"";background:var(--vh-hi);border-radius:2px;height:2px;position:absolute;left:0;right:0}.cat-head.drop-before:before{top:-6px}.cat-head.drop-after:after{bottom:-6px}.grid{gap:var(--vh-gap);grid-template-columns:repeat(auto-fill,minmax(172px,1fr));display:grid}.card{min-width:0;padding:var(--vh-card-pad);min-height:var(--vh-card-min-h);border:1px solid var(--vh-line);border-radius:var(--vh-radius-md);background:var(--vh-surface);align-items:center;gap:9px;text-decoration:none;transition:border-color .14s cubic-bezier(.2,.8,.2,1),box-shadow .14s cubic-bezier(.2,.8,.2,1),transform .14s cubic-bezier(.2,.8,.2,1),min-height .24s cubic-bezier(.2,.8,.2,1),padding .24s cubic-bezier(.2,.8,.2,1),background-color .24s linear;display:flex;position:relative}.card:hover{border-color:var(--vh-line-strong);box-shadow:var(--vh-shadow-md);z-index:20;transform:translateY(-1px)}.cbx{border:1.5px solid var(--vh-line-strong);border-radius:var(--vh-radius-sm);background:var(--vh-surface);flex:none;width:15px;height:15px;display:none}.text{flex:1;min-width:0}.name-row{align-items:center;gap:4px;min-width:0;display:flex}.name-row .name{flex:1;min-width:0}.name{font-size:var(--vh-name-size);color:var(--vh-ink-strong);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.privtag{color:var(--vh-hi);flex:none}.domain{font-size:var(--vh-domain-size);color:var(--vh-ink-faint);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.favtag{font-size:var(--vh-fs-micro);color:var(--vh-hi);margin-left:5px}.handle{color:var(--vh-ink-faint);cursor:grab;margin-left:auto;padding:0 2px;display:none}.handle svg{display:block}.card .tip{z-index:1;border-radius:var(--vh-radius-md);background:var(--vh-ink-strong);color:var(--vh-surface);font-size:var(--vh-fs-cap);white-space:normal;overflow-wrap:anywhere;opacity:0;pointer-events:none;padding:6px 9px;line-height:1.55;transition:opacity .14s cubic-bezier(.2,.8,.2,1),transform .14s cubic-bezier(.2,.8,.2,1);position:absolute;top:calc(100% + 6px);left:0;right:0;transform:translateY(-4px)}.card:hover .tip{opacity:1;transform:none}.card.dragging{opacity:.4}.card.drop-before:before,.card.drop-after:after{content:"";background:var(--vh-hi);border-radius:2px;width:2px;position:absolute;top:3px;bottom:3px}.card.drop-before:before{left:-5px}.card.drop-after:after{right:-5px}.card-menu{border-radius:var(--vh-radius-sm);width:20px;height:20px;color:var(--vh-ink-faint);cursor:pointer;opacity:0;background:0 0;border:none;flex:none;place-items:center;padding:0;transition:opacity .17s cubic-bezier(.2,.8,.2,1),transform .17s cubic-bezier(.2,.8,.2,1),background-color .14s cubic-bezier(.2,.8,.2,1),color .14s cubic-bezier(.2,.8,.2,1);display:grid;transform:translate(4px)}.card:hover .card-menu,.card:focus-within .card-menu,.card-menu.on{opacity:1;transform:none}.card-menu:hover{background:var(--vh-surface-2);color:var(--vh-ink-strong)}.card.menu-open{z-index:25}.card-pop{z-index:30;background:var(--vh-surface);border:1px solid var(--vh-line-strong);border-radius:var(--vh-radius-lg);width:196px;box-shadow:var(--vh-shadow-lg);padding:4px;position:absolute;top:calc(100% + 6px);right:0}.tile{border-radius:var(--vh-radius-sm);width:20px;height:20px;font-size:var(--vh-fs-micro);flex:none;place-items:center;font-weight:600;line-height:1;transition:background-color .2s cubic-bezier(.2,.8,.2,1);display:grid;position:relative;overflow:hidden}.tile .ch{line-height:1;transition:opacity .2s cubic-bezier(.2,.8,.2,1);display:block}.tile .ico{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .2s cubic-bezier(.2,.8,.2,1);position:absolute;top:0;right:0;bottom:0;left:0}.tile .ico.on{opacity:1}.tile.sm{width:18px;height:18px}.tile.k1{background:var(--vh-k1bg);color:var(--vh-k1fg)}.tile.k2{background:var(--vh-k2bg);color:var(--vh-k2fg)}.tile.k3{background:var(--vh-k3bg);color:var(--vh-k3fg)}.tile.k4{background:var(--vh-k4bg);color:var(--vh-k4fg)}.tile.k5{background:var(--vh-k5bg);color:var(--vh-k5fg)}.tile.k6{background:var(--vh-k6bg);color:var(--vh-k6fg)}.tile.done{background:0 0}.tile.done .ch{opacity:0}.wall-foot{border-top:1px solid var(--vh-line);font-size:var(--vh-fs-cap);color:var(--vh-ink-faint);margin-top:40px;padding-top:16px}body.organize .handle,body.organize .cbx{display:block}body.organize .cat-handle{display:inline-flex}body.organize .card:hover{box-shadow:none;transform:none}body.organize .cbx.on{background:var(--vh-ink-strong);border-color:var(--vh-ink-strong);position:relative}body.organize .cbx.on:after{content:"✓";color:var(--vh-surface);place-items:center;font-size:10px;display:grid;position:absolute;top:0;right:0;bottom:0;left:0}.batchbar{z-index:15;background:var(--vh-surface);border-bottom:1px solid var(--vh-line-strong);align-items:center;gap:10px;height:46px;padding:0 28px;font-size:13px;display:flex;position:sticky;top:54px}.batchbar .sel{color:var(--vh-ink-strong);font-weight:650}.batchbar .bb{border:1px solid var(--vh-line-strong);background:var(--vh-surface);height:28px;color:var(--vh-ink);cursor:pointer;border-radius:6px;align-items:center;padding:0 10px;font-size:12px;display:inline-flex;position:relative}.batchbar .bb.danger{color:var(--vh-danger);border-color:var(--vh-danger)}.batchbar .hint{color:var(--vh-ink-faint);margin-left:auto;font-size:11px}.search-root{z-index:60;position:fixed;top:0;right:0;bottom:0;left:0}.scrim{background:#00000038;position:absolute;top:0;right:0;bottom:0;left:0}.spot{z-index:1;background:var(--vh-surface);border:1px solid var(--vh-line-strong);border-radius:var(--vh-radius-lg);width:min(560px,92vw);box-shadow:var(--vh-shadow-lg);flex-direction:column;animation:.19s cubic-bezier(.2,.8,.2,1) spot-in;display:flex;position:absolute;top:16vh;left:50%;overflow:hidden;transform:translate(-50%)}.spot .q{color:var(--vh-ink-strong);border:none;border-bottom:1px solid var(--vh-line);background:0 0;outline:none;padding:15px 18px;font-size:15px}.spot .q::placeholder{color:var(--vh-ink-faint)}.spot .results{max-height:46vh;padding:6px;overflow-y:auto}.spot .row{border-radius:var(--vh-radius-md);cursor:default;align-items:center;gap:10px;padding:8px 12px;display:flex;position:relative}.spot .row.sel{background:var(--vh-surface-2)}.spot .row.sel:before{content:"";background:var(--vh-hi);border-radius:2px;width:3px;position:absolute;top:8px;bottom:8px;left:0}.spot .row .t{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.spot .row .n{color:var(--vh-ink-strong);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.spot .row .n .favtag{color:var(--vh-hi);border:1px solid var(--vh-hi);vertical-align:1px;border-radius:999px;margin-left:6px;padding:0 5px;font-size:10px;font-weight:400}.spot .row .d{color:var(--vh-ink-faint);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.spot .row .c{color:var(--vh-ink-faint);flex:none;font-size:11px}.spot mark{color:var(--vh-hi);background:0 0;font-weight:700}.spot .empty{color:var(--vh-ink-faint);padding:22px 16px;font-size:13px}.spot .foot{border-top:1px solid var(--vh-line);color:var(--vh-ink-faint);align-items:center;gap:14px;padding:9px 16px;font-size:11px;display:flex}.empty-state{text-align:center;max-width:420px;margin:80px auto 0}.empty-state .es-icon{width:48px;height:48px;color:var(--vh-line-strong);margin:0 auto 20px}.empty-state .es-icon svg{width:48px;height:48px}.empty-state h2{font-size:var(--vh-fs-cat);color:var(--vh-ink-strong);font-weight:600}.empty-state p{font-size:var(--vh-fs-body);color:var(--vh-ink-faint);margin:8px 0 24px}.empty-state .es-acts{justify-content:center;gap:8px;display:flex}.mask{z-index:70;background:#0006;place-items:center;padding:24px;display:grid;position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto}.dialog{background:var(--vh-surface);border:1px solid var(--vh-line);border-radius:var(--vh-radius-lg);width:min(440px,92vw);box-shadow:var(--vh-shadow-lg);padding:24px;animation:.2s cubic-bezier(.2,.8,.2,1) dlg-in}.dialog h3{font-size:var(--vh-fs-cat);color:var(--vh-ink-strong);margin:0 0 16px;font-weight:600}.dialog label{font-size:var(--vh-fs-btn);color:var(--vh-ink);margin:0 0 6px;display:block}.dialog input{border:1px solid var(--vh-line);border-radius:var(--vh-radius-md);width:100%;height:36px;font-size:var(--vh-fs-body);background:var(--vh-bg);color:var(--vh-ink-strong);margin-bottom:14px;padding:0 10px;transition:border-color .2s cubic-bezier(.22,.61,.36,1),box-shadow .2s cubic-bezier(.22,.61,.36,1),background-color .2s cubic-bezier(.22,.61,.36,1)}.dialog input::placeholder{color:var(--vh-ink-faint);transition:color .2s cubic-bezier(.22,.61,.36,1)}.dialog input:hover{border-color:var(--vh-line-strong)}.dialog input:focus,.dialog input:focus-visible{border-color:var(--vh-hi);background:var(--vh-surface);box-shadow:0 0 0 3px var(--vh-hi-soft);outline:none}.dialog .row{font-size:var(--vh-fs-body);color:var(--vh-ink);align-items:center;gap:8px;margin-bottom:14px;display:flex}.dialog .dialog-msg{font-size:var(--vh-fs-body);color:var(--vh-ink);margin:0 0 4px;line-height:1.65}.btn.danger{background:var(--vh-danger);border-color:var(--vh-danger);color:var(--vh-surface);font-weight:600}.btn.danger:hover{background:var(--vh-danger);opacity:.9}.dialog .row input{width:auto;height:auto;margin:0}.combo{position:relative}.combo-list{z-index:5;background:var(--vh-surface);border:1px solid var(--vh-line-strong);border-radius:var(--vh-radius-md);box-shadow:var(--vh-shadow-lg);padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0}.ci{border-radius:var(--vh-radius-sm);width:100%;font-size:var(--vh-fs-body);color:var(--vh-ink);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.ci:hover{background:var(--vh-surface-2)}.ci.sel{background:var(--vh-surface-2);color:var(--vh-ink-strong);font-weight:600}.ci.danger{color:var(--vh-danger)}.ci:disabled{opacity:.45;cursor:not-allowed}.ci:disabled:hover{background:0 0}.ci .ci-note{font-size:var(--vh-fs-cap);color:var(--vh-ink-faint);font-weight:400}.ci.new{color:var(--vh-hi)}.cat-pop{z-index:30;background:var(--vh-surface);border:1px solid var(--vh-line-strong);border-radius:var(--vh-radius-lg);width:212px;box-shadow:var(--vh-shadow-lg);padding:4px;position:absolute;top:28px;right:0}.cat-pop input{border:1px solid var(--vh-line);border-radius:var(--vh-radius-sm);background:var(--vh-bg);width:100%;height:30px;color:var(--vh-ink-strong);font-size:var(--vh-fs-body);margin-bottom:4px;padding:0 8px}.dlg-acts{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.btn-add{display:none}.btn-add svg{display:block}body.organize .btn-add{background:var(--vh-ink-strong);border-color:var(--vh-ink-strong);color:var(--vh-surface);display:inline-flex}body.organize .btn-add:hover{opacity:.9;background:var(--vh-ink-strong)}body.organize #btn-organize{background:var(--vh-surface);color:var(--vh-ink);border-color:var(--vh-line-strong)}.set-wrap{max-width:720px;margin:28px auto 0}.set-wrap h1{font-size:var(--vh-fs-title);color:var(--vh-ink-strong);letter-spacing:.2px;margin:0 0 4px;font-weight:600}.set-wrap .crumb{font-size:var(--vh-fs-btn);color:var(--vh-ink-faint);margin:4px 0 24px}.set-card{background:var(--vh-surface);border:1px solid var(--vh-line);border-radius:var(--vh-radius-lg);margin-bottom:16px;padding:20px 22px}.set-card h2{font-size:var(--vh-fs-cat);color:var(--vh-ink-strong);margin:0 0 14px;font-weight:650}.set-foot{font-size:var(--vh-fs-cap);color:var(--vh-ink-faint);margin-top:24px}.set-row{border-top:1px solid var(--vh-line);align-items:center;gap:14px;padding:10px 0;display:flex}.set-card .set-row:first-of-type{border-top:none}.set-row .k{flex:1;min-width:0}.set-row .k .t{font-size:var(--vh-fs-body);color:var(--vh-ink-strong);font-weight:400}.set-row .k .d{font-size:var(--vh-fs-cap);color:var(--vh-ink-faint);margin-top:2px;line-height:1.5}.pw{gap:8px;margin-top:10px;padding-bottom:6px;display:flex}.pw input{border:1px solid var(--vh-line);border-radius:var(--vh-radius-md);min-width:0;height:32px;font-family:var(--vh-font-sans);font-size:var(--vh-fs-body);background:var(--vh-bg);color:var(--vh-ink-strong);flex:1;padding:0 10px;transition:border-color .2s cubic-bezier(.22,.61,.36,1),box-shadow .2s cubic-bezier(.22,.61,.36,1),background-color .2s cubic-bezier(.22,.61,.36,1)}.pw input::placeholder{color:var(--vh-ink-faint)}.pw input:hover{border-color:var(--vh-line-strong)}.pw input:focus,.pw input:focus-visible{border-color:var(--vh-hi);background:var(--vh-surface);box-shadow:0 0 0 3px var(--vh-hi-soft);outline:none}.dialog input[type=checkbox],.row input[type=checkbox]{border-radius:var(--vh-radius-sm);width:auto;height:auto;margin:0;padding:0}.dev{border-top:1px solid var(--vh-line);align-items:center;gap:10px;padding:10px 0;display:flex}.set-card .dev:first-of-type{border-top:none}.dev .ico{border-radius:var(--vh-radius-md);background:var(--vh-surface-2);width:28px;height:28px;color:var(--vh-ink);flex:none;place-items:center;display:grid}.dev .who{flex:1;min-width:0}.dev .who .ua{font-size:var(--vh-fs-body);color:var(--vh-ink-strong);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.dev .who .time{font-size:var(--vh-fs-cap);color:var(--vh-ink-faint);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;overflow:hidden}.dev .now{font-size:var(--vh-fs-cap);color:var(--vh-hi);border:1px solid var(--vh-hi);white-space:nowrap;border-radius:999px;padding:2px 8px}.kick{border:1px solid var(--vh-danger);border-radius:var(--vh-radius-md);color:var(--vh-danger);font-family:var(--vh-font-sans);font-size:var(--vh-fs-btn);white-space:nowrap;cursor:pointer;background:0 0;padding:4px 10px;font-weight:400;transition:opacity .14s cubic-bezier(.2,.8,.2,1)}.kick:hover{opacity:.85}.duo{flex:none;gap:8px;display:flex}.imp-wrap{max-width:860px;margin:28px auto 0}.imp-head{align-items:center;gap:12px;margin-bottom:16px;display:flex}.imp-head h1{color:var(--vh-ink-strong);font-size:20px;font-weight:600;line-height:1.3}.imp-head .file{color:var(--vh-ink-faint);font-size:12px;font-weight:400}.imp-sum{background:var(--vh-hi-soft);border:1px solid var(--vh-hi);border-radius:var(--vh-radius-lg);color:var(--vh-ink-strong);align-items:center;gap:10px;margin-bottom:16px;padding:12px 16px;font-size:13px;display:flex}.imp-sum .ic-sum{width:16px;height:16px;color:var(--vh-hi);flex:none}.imp-sum b{color:var(--vh-hi);font-weight:600}.imp-map{background:var(--vh-surface);border:1px solid var(--vh-line);border-radius:var(--vh-radius-lg);margin-bottom:16px;padding:16px 20px}.imp-map h2{color:var(--vh-ink-strong);margin-bottom:10px;font-size:13px;font-weight:650}.imp-map .m{border-top:1px dashed var(--vh-line);align-items:center;gap:8px;padding:6px 0;font-size:12px;display:flex}.imp-map .m:first-of-type{border-top:none}.imp-map .m .from{color:var(--vh-ink-strong);min-width:180px}.imp-map .m .arrow{color:var(--vh-ink-faint)}.imp-map .m .to{color:var(--vh-ink)}.imp-map .m .tag{color:var(--vh-ink-faint);border:1px solid var(--vh-line-strong);border-radius:999px;margin-left:auto;padding:1px 7px;font-size:10px;font-weight:400}.imp-list{background:var(--vh-surface);border:1px solid var(--vh-line);border-radius:var(--vh-radius-lg);margin-bottom:16px;overflow:hidden}.imp-list .r{border-top:1px solid var(--vh-line);align-items:center;gap:10px;padding:9px 16px;font-size:13px;display:flex}.imp-list .r:first-child{border-top:none}.imp-list .r.dup{color:var(--vh-ink-faint)}.imp-list .r .cbx{background:var(--vh-surface);border:1.5px solid var(--vh-line-strong);border-radius:var(--vh-radius-sm);cursor:pointer;flex:none;width:15px;height:15px;display:block}.imp-list .r .cbx.on{background:var(--vh-ink-strong);border-color:var(--vh-ink-strong)}.imp-list .r .cbx.on:after{content:"✓";color:var(--vh-surface);place-items:center;font-size:10px;display:grid}.imp-list .r .tile{border-radius:var(--vh-radius-sm);flex:none;place-items:center;width:16px;height:16px;font-size:9px;font-weight:600;display:grid}.imp-list .r .n{min-width:0;color:var(--vh-ink-strong);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.imp-list .r.dup .n{color:var(--vh-ink-faint)}.imp-list .r .d{color:var(--vh-ink-faint);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:11px;font-weight:400;overflow:hidden}.imp-list .r .st{white-space:nowrap;flex:none;font-size:11px;font-weight:400}.imp-list .r .st.new{color:var(--vh-hi)}.imp-list .r .st.dup{color:var(--vh-ink-faint)}.imp-foot{background:var(--vh-surface);border:1px solid var(--vh-line-strong);border-radius:var(--vh-radius-lg);box-shadow:var(--vh-shadow-lg);align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;bottom:0}.imp-foot .cnt{color:var(--vh-ink-strong);white-space:nowrap;flex:1;font-size:13px;font-weight:400}.imp-foot .prog{background:var(--vh-surface-2);border-radius:3px;flex:none;width:220px;height:6px;overflow:hidden}.imp-foot .prog i{background:var(--vh-hi);border-radius:3px;width:0;height:100%;transition:width .2s cubic-bezier(.22,.61,.36,1);display:block}.imp-drop{border:1.5px dashed var(--vh-line-strong);border-radius:var(--vh-radius-lg);background:var(--vh-surface);text-align:center;cursor:pointer;margin-bottom:16px;padding:40px 24px;display:block}.imp-drop:hover{border-color:var(--vh-hi);background:var(--vh-surface-2)}.imp-drop .t{font-size:var(--vh-fs-body);color:var(--vh-ink-strong)}.imp-drop .d{font-size:var(--vh-fs-cap);color:var(--vh-ink-faint);margin-top:6px}.imp-fail{max-height:200px;overflow-y:auto}.gate{background:radial-gradient(1200px 500px at 50% -10%,var(--vh-hi-soft),transparent 60%),var(--vh-bg);place-items:center;min-height:100vh;padding:24px;display:grid}.gate .box{background:var(--vh-surface);border:1px solid var(--vh-line);border-radius:var(--vh-radius-xl);width:min(400px,92vw);box-shadow:var(--vh-shadow-lg);padding:36px 32px}.gate .logo{border-radius:var(--vh-radius-lg);background:var(--vh-ink-strong);width:40px;height:40px;color:var(--vh-surface);place-items:center;margin:0 auto 18px;font-size:18px;font-weight:650;line-height:1;display:grid}.gate h1{font-size:var(--vh-fs-title);color:var(--vh-ink-strong);text-align:center;letter-spacing:.2px;margin:0 0 6px;font-weight:650}.gate .sub{font-size:var(--vh-fs-body);color:var(--vh-ink-faint);text-align:center;margin:0 0 26px}.gate label{font-size:var(--vh-fs-btn);color:var(--vh-ink);margin:0 0 6px;display:block}.gate input{width:100%;height:40px;font-family:var(--vh-font-sans);font-size:var(--vh-fs-body);color:var(--vh-ink-strong);background:var(--vh-bg);border:1px solid var(--vh-line);border-radius:var(--vh-radius-md);padding:0 12px;transition:border-color .2s cubic-bezier(.22,.61,.36,1),box-shadow .2s cubic-bezier(.22,.61,.36,1),background-color .2s cubic-bezier(.22,.61,.36,1)}.gate input::placeholder{color:var(--vh-ink-faint)}.gate input:hover{border-color:var(--vh-line-strong)}.gate input:focus,.gate input:focus-visible{border-color:var(--vh-hi);background:var(--vh-surface);box-shadow:0 0 0 3px var(--vh-hi-soft);outline:none}.gate .hint{font-size:var(--vh-fs-btn);color:var(--vh-ink-faint);margin:2px 0 10px}.gate .go{border-radius:var(--vh-radius-md);background:var(--vh-ink-strong);width:100%;height:40px;color:var(--vh-surface);font-family:var(--vh-font-sans);font-size:var(--vh-fs-btn);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;margin:16px 0 0;font-weight:600;transition:opacity .14s cubic-bezier(.2,.8,.2,1),transform .14s cubic-bezier(.2,.8,.2,1);display:inline-flex}.gate .go svg{flex:none;width:16px;height:16px}.gate .go:hover{opacity:.9}.gate .go:active{transform:translateY(1px)}.gate .go:disabled{opacity:.6;cursor:default;transform:none}.gate .foot{border-top:1px solid var(--vh-line);font-size:var(--vh-fs-cap);color:var(--vh-ink-faint);text-align:center;margin:22px 0 0;padding:16px 0 0;line-height:1.7}.gate.setup .logo{margin-bottom:16px;font-weight:600}.gate.setup h1{margin:0;font-weight:600}.gate.setup .sub{margin:6px 0 24px}.gate.setup input{margin-bottom:8px;font-size:14px}.gate.setup .go{margin-top:4px;font-size:14px}.gate.setup .foot{text-align:left;margin-top:18px;padding-top:14px}.toasts{z-index:90;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--vh-surface);border:1px solid var(--vh-line);border-radius:var(--vh-radius-lg);max-width:min(380px,100vw - 32px);min-height:40px;box-shadow:var(--vh-shadow-float);color:var(--vh-ink-strong);font-size:var(--vh-fs-body);align-items:center;gap:9px;padding:10px 14px;transition:opacity .2s cubic-bezier(.22,.61,.36,1),transform .2s cubic-bezier(.22,.61,.36,1);animation:.24s cubic-bezier(.3,0,0,1) toast-in;display:flex;position:relative;overflow:hidden}.toast .badge{color:var(--vh-hi);flex:none;place-items:center;display:grid}.toast .badge svg{width:15px;height:15px}.toast .msg{min-width:0}.toast.error{border-color:var(--vh-danger)}@supports (color:color-mix(in lab,red,red)){.toast.error{border-color:color-mix(in srgb,var(--vh-danger) 40%,var(--vh-line))}}.toast.error .badge{color:var(--vh-danger)}.toast .prog{background:var(--vh-ink);height:2px;position:absolute;bottom:0;left:0;right:0}@supports (color:color-mix(in lab,red,red)){.toast .prog{background:color-mix(in srgb,var(--vh-ink) 12%,transparent)}}.toast .prog i{background:var(--vh-ink-faint);height:100%;transition:width .1s linear;display:block}.toast.leaving{opacity:0;transform:translate(16px)}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.96)}to{opacity:1;transform:none}}*{scrollbar-width:none}::-webkit-scrollbar{width:0;height:0}body{transition:background-color .24s linear,color .24s linear}.grid{transition:gap .24s cubic-bezier(.2,.8,.2,1)}.cat{transition:margin-top .24s cubic-bezier(.2,.8,.2,1)}.name,.domain,.fav-name{transition:font-size .24s cubic-bezier(.2,.8,.2,1),color .24s linear}.topbar,.favorites,.batchbar,.set-card,.dialog,.spot,.imp-list,.imp-map,.imp-sum,.empty-state,.tile,.kbd,.cat-vis,.imp-drop,.imp-foot{transition:background-color .24s linear,border-color .24s linear,color .24s linear}.band-enter-active,.band-leave-active{transition:max-height .26s cubic-bezier(.2,.8,.2,1),opacity .2s linear;overflow:hidden}.band-enter-from,.band-leave-to{opacity:0;max-height:0}.band-enter-to,.band-leave-from{max-height:var(--band-max,120px);opacity:1}.drop-enter-active,.drop-leave-active{transform-origin:100% 0;transition:opacity .17s cubic-bezier(.2,.8,.2,1),transform .17s cubic-bezier(.2,.8,.2,1)}.drop-enter-from,.drop-leave-to{opacity:0;transform:translateY(-6px)scale(.97)}.view-enter-active{transition:opacity .24s cubic-bezier(.22,.61,.36,1),transform .24s cubic-bezier(.22,.61,.36,1)}.view-leave-active{transition:opacity .16s cubic-bezier(.22,.61,.36,1),transform .16s cubic-bezier(.22,.61,.36,1)}.view-enter-from{opacity:0;transform:translateY(10px)}.view-leave-to{opacity:0;transform:translateY(-8px)}.fade-enter-active{transition:opacity .22s cubic-bezier(.22,.61,.36,1),transform .22s cubic-bezier(.22,.61,.36,1)}.fade-leave-active{transition:opacity .14s linear}.fade-enter-from{opacity:0;transform:translateY(8px)}.fade-leave-to{opacity:0}.mask-enter-active,.mask-leave-active{transition:opacity .19s linear}.mask-enter-from,.mask-leave-to{opacity:0}.row-enter-active,.row-leave-active{transition:opacity .14s linear,transform .14s cubic-bezier(.2,.8,.2,1)}.row-enter-from,.row-leave-to{opacity:0;transform:translateY(-4px)}@keyframes dlg-in{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@keyframes spot-in{0%{opacity:0;transform:translate(-50%)translateY(-10px)scale(.98)}to{opacity:1;transform:translate(-50%)}}.batchbar{--band-max:46px}.pw{--band-max:56px}@media(max-width:767px){.batchbar{--band-max:110px}.pw{--band-max:230px}}body.organize .cbx,body.organize .handle,body.organize .cat-handle,body.organize .cat-all,body.organize .cat-vis{animation:.26s cubic-bezier(.2,.8,.2,1) organize-in}@keyframes organize-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}@media(max-width:1023px){.topbar{padding:0 20px}.page{padding:0 20px 64px}}@media(max-width:767px){.topbar{gap:10px;padding:0 14px}.page{padding:0 14px 56px}.brand-tag{display:none}.actions{gap:6px}.grid{grid-template-columns:1fr}.search .kbd{display:none}.zone-note{width:100%}.batchbar{flex-wrap:wrap;gap:8px;height:auto;padding:8px 14px}.batchbar .hint{display:none}.pw{flex-direction:column}.pw input,.pw .btn{width:100%}.set-row{flex-wrap:wrap}.set-row .k{flex:100%}.set-row .seg{width:100%}.toasts{align-items:stretch;bottom:12px;left:12px;right:12px}.toast .msg{white-space:normal}.imp-map .m .from{min-width:0}.imp-map .m{flex-wrap:wrap}}@media(max-width:640px){.imp-foot{flex-wrap:wrap}.imp-foot .prog{flex:120px;width:auto;min-width:120px}}@media(max-width:380px){.gate{padding:16px}.gate .box{padding:28px 22px}}.wall{--sb-w:0px}.wall.has-sb{--sb-w:52px}.wall.has-sb.sb-open{--sb-w:236px}.wall .page{padding-left:calc(28px + var(--sb-w));transition:padding-left .22s cubic-bezier(.2,.8,.2,1)}body.organize .wall .batchbar{padding-left:calc(28px + var(--sb-w))}.cat{scroll-margin-top:70px}body.organize .cat{scroll-margin-top:116px}.sb{z-index:15;width:var(--sb-w);background:var(--vh-surface);border-right:1px solid var(--vh-line);flex-direction:column;transition:width .22s cubic-bezier(.2,.8,.2,1);display:flex;position:fixed;top:54px;bottom:0;left:0;overflow:hidden}.sb-top{border-bottom:1px solid var(--vh-line);flex:none}.sb-toggle{width:100%;height:40px;color:var(--vh-ink-faint);cursor:pointer;font-family:var(--vh-font-sans);font-size:var(--vh-fs-btn);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:0 16px;transition:color .14s cubic-bezier(.2,.8,.2,1),background-color .14s cubic-bezier(.2,.8,.2,1);display:flex}.sb-toggle:hover{background:var(--vh-surface-2);color:var(--vh-ink-strong)}.sb-toggle svg{flex:none;transition:transform .22s cubic-bezier(.2,.8,.2,1)}.sb-toggle svg.flip{transform:rotate(180deg)}.sb-title{color:var(--vh-ink-strong);white-space:nowrap;font-weight:600}.sb-list{flex:1;min-height:0;margin:0;padding:6px 0;list-style:none;overflow:hidden auto}.sb-item{cursor:pointer;text-align:left;width:100%;height:32px;font-family:var(--vh-font-sans);font-size:var(--vh-fs-btn);color:var(--vh-ink);background:0 0;border:none;align-items:center;gap:8px;padding:0 16px;transition:background-color .14s cubic-bezier(.2,.8,.2,1),color .14s cubic-bezier(.2,.8,.2,1);display:flex}.sb-item:hover{background:var(--vh-surface-2);color:var(--vh-ink-strong)}.sb-chip{border-radius:var(--vh-radius-sm)}.sb-name{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.sb-count{font-size:var(--vh-fs-cap);color:var(--vh-ink-faint);font-variant-numeric:tabular-nums;flex:none}.wall:not(.sb-open) .sb-title,.wall:not(.sb-open) .sb-name,.wall:not(.sb-open) .sb-count{opacity:0}.sb-scrim{display:none}@media(max-width:767px){.wall .page,body.organize .wall .batchbar{padding-left:calc(14px + var(--sb-w))}.wall.has-sb,.wall.has-sb.sb-open{--sb-w:44px}.wall.sb-open .sb{width:236px;box-shadow:var(--vh-shadow-lg)}.sb-scrim{z-index:14;background:#00000052;display:block;position:fixed;top:54px;right:0;bottom:0;left:0}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
