:root{color-scheme:dark;--bg: #0f1217;--bg-2: #151a21;--panel: #1a2029;--panel-2: #212835;--border: #2a3240;--border-2: #364052;--text: #e6eaf0;--text-2: #a4adbb;--muted: #7b8596;--accent: #5eaaff;--accent-2: #3d8ff0;--accent-ink: #0b1320;--warn: #f0b44c;--warn-bg: #3a2e16;--danger: #ff6b6b;--danger-bg: #3a1d1f;--ok: #4cd193;--info-bg: #17293f;--link-c: #b48cff;--link-bg: #2a2240;--fork-c: #4cd1c4;--fork-bg: #15322f;--checker-a: #2b313b;--checker-b: #232831;--wave-played: #5eaaff;--wave-rest: #3a4352;--radius: 10px;--shadow: 0 10px 30px rgba(0, 0, 0, .35);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.45}@media(prefers-color-scheme:light){:root{color-scheme:light;--bg: #f4f6f9;--bg-2: #eef1f5;--panel: #ffffff;--panel-2: #f3f5f8;--border: #dfe3ea;--border-2: #cdd3dd;--text: #18202b;--text-2: #4a5464;--muted: #6b7584;--accent: #2f7de1;--accent-2: #1f6bcc;--accent-ink: #ffffff;--warn: #9a6400;--warn-bg: #fff3dc;--danger: #c93636;--danger-bg: #fde8e8;--info-bg: #e5f0fd;--link-c: #6b42c8;--link-bg: #efe8fd;--fork-c: #13877b;--fork-bg: #e2f6f3;--checker-a: #e7eaef;--checker-b: #f8f9fb;--wave-played: #2f7de1;--wave-rest: #c9d0db;--shadow: 0 10px 30px rgba(20, 30, 50, .15)}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{font-size:22px;margin:0;font-weight:650;display:flex;align-items:center;gap:8px}h2{font-size:17px;margin:0}h3{font-size:15px;margin:0 0 10px;display:flex;align-items:center;gap:8px}h4{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:18px 0 8px}code,.mono{font-family:ui-monospace,JetBrains Mono,Menlo,Consolas,monospace;font-size:12px}input,select,textarea,button{font:inherit;color:inherit}input:not([type=checkbox]):not([type=radio]),select,textarea{background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:7px 10px;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}textarea{resize:vertical;width:100%}.icon{flex:none}.muted{color:var(--muted)}.small{font-size:12px}.center{text-align:center}.pad{padding:16px}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.break{word-break:break-all}.nowrap{white-space:nowrap}.min0{min-width:0}.row{display:flex;align-items:center}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.gap{gap:12px}.gap-sm{gap:6px}.spacer{flex:1}.dim{opacity:.55}.error-text{color:var(--danger)}.boot{display:grid;place-items:center;height:100%;color:var(--muted)}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:8px;border:1px solid var(--border-2);background:var(--panel-2);cursor:pointer;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--accent-2)}.btn-danger{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:600}.btn-danger-ghost{color:var(--danger)}.btn-danger-ghost:hover:not(:disabled){border-color:var(--danger);background:var(--danger-bg)}.btn-on{border-color:var(--accent);color:var(--accent)}.btn-sm{padding:4px 9px;font-size:12px}.btn-block{width:100%;justify-content:center;padding:10px}.btn.round{border-radius:50%;width:42px;height:42px;justify-content:center;padding:0}.icon-btn{background:none;border:0;padding:6px;border-radius:6px;cursor:pointer;color:var(--text-2);display:inline-flex}.icon-btn:hover{background:var(--panel-2);color:var(--text)}.link-btn{background:none;border:0;padding:0;color:var(--accent);cursor:pointer;font-size:12px}.link-btn:hover{text-decoration:underline}.link-btn.danger{color:var(--danger)}.seg{display:inline-flex;border:1px solid var(--border-2);border-radius:8px;overflow:hidden}.seg button{background:var(--panel-2);border:0;padding:6px 10px;cursor:pointer;color:var(--text-2);display:inline-flex;align-items:center;text-transform:capitalize}.seg button+button{border-left:1px solid var(--border-2)}.seg button.on{background:var(--accent);color:var(--accent-ink)}.seg.inline{margin-left:8px;vertical-align:middle}.seg.inline button{padding:2px 8px;font-size:12px;text-transform:none}.app{display:grid;grid-template-columns:264px 1fr;height:100%}.sidebar{background:var(--bg-2);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0}.sidebar nav{flex:1;overflow-y:auto;padding:6px 10px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px;padding:18px 18px 12px}.brand-lg{font-size:20px;padding:0 0 18px;justify-content:center}.brand-mark{width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,var(--accent),var(--link-c))}.nav-item{display:flex;align-items:center;gap:9px;padding:7px 10px;border-radius:8px;color:var(--text-2)}.nav-item:hover{background:var(--panel);color:var(--text);text-decoration:none}.nav-item.active{background:var(--panel-2);color:var(--text)}.nav-sub{padding-left:18px;font-size:13px}.nav-section{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:16px 10px 6px}.nav-empty{color:var(--muted);font-size:12px;padding:4px 10px}.sidebar-foot{border-top:1px solid var(--border);padding:10px;display:flex;align-items:center;gap:4px}.sidebar-foot .nav-item{flex:1;min-width:0}.avatar{width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-weight:700;font-size:12px;flex:none}.role-chip{margin-left:auto;flex:none;font-size:9.5px;padding:1px 5px;border-radius:99px;background:var(--panel-2);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.role-lead{color:var(--warn)}.role-contributor{color:var(--accent)}.role-admin{color:var(--link-c)}.main{overflow-y:auto;min-width:0}.page{padding:22px 28px 60px;max-width:1600px;position:relative;min-height:100%}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.page-head .muted{display:flex;gap:8px;align-items:center;margin-top:4px}.crumbs{font-size:12px;color:var(--muted);margin-bottom:4px;display:flex;gap:4px;align-items:center;flex-wrap:wrap}.actions{display:flex;gap:8px;flex-wrap:wrap}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;margin-bottom:16px}.card.narrow{max-width:560px}.backup-facts{display:grid;grid-template-columns:max-content 1fr;gap:6px 16px;margin:16px 0 0}.backup-facts dt{color:var(--muted)}.backup-facts dd{margin:0;overflow-wrap:anywhere}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.storage-card .meta-list{margin:12px 0}.table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:600;background:var(--panel-2)}.table th,.table td{padding:8px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.table tr:last-child td{border-bottom:0}.details-cell{max-width:420px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2)}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:16px}.tile{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px}.tile-label{color:var(--muted);font-size:12px}.tile-value{font-size:24px;font-weight:650;margin-top:4px}.meta-list{display:grid;grid-template-columns:max-content 1fr;gap:5px 14px;margin:0;font-size:13px}.meta-list dt{color:var(--muted)}.meta-list dd{margin:0;min-width:0}.code-block{background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:10px 12px;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 12px}.setup-steps{display:block;padding-left:20px;margin:8px 0 12px}.setup-steps li{margin-bottom:8px}.reg-code{font-size:22px;letter-spacing:.08em;font-weight:600;margin:4px 0 14px;-webkit-user-select:all;user-select:all}.subnav{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:18px;overflow-x:auto}.subnav-item{display:flex;align-items:center;gap:6px;padding:8px 12px;color:var(--text-2);border-bottom:2px solid transparent;white-space:nowrap}.subnav-item:hover{color:var(--text);text-decoration:none}.subnav-item.active{color:var(--text);border-bottom-color:var(--accent)}.log{background:var(--bg-2);border-radius:8px;padding:10px;font-size:12px;max-height:200px;overflow:auto}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.field-label{font-size:12px;color:var(--text-2);font-weight:550}.field-hint{font-size:12px;color:var(--muted)}.field input,.field select{width:100%}.check{display:flex;align-items:center;gap:8px;margin:8px 0;cursor:pointer;flex-wrap:wrap}.check .num{width:64px}.form-error{color:var(--danger);background:var(--danger-bg);border-radius:8px;padding:8px 10px;margin-bottom:12px;font-size:13px}.tag-input{display:flex;flex-wrap:wrap;gap:5px;padding:5px;border:1px solid var(--border);border-radius:8px;background:var(--bg-2)}.tag-input input{border:0!important;background:transparent!important;flex:1;min-width:90px;padding:3px 4px!important;outline:none!important}.chip{display:inline-flex;align-items:center;gap:4px;background:var(--panel-2);border:1px solid var(--border-2);border-radius:99px;padding:1px 4px 1px 9px;font-size:12px}.chip button{background:none;border:0;cursor:pointer;color:var(--muted);padding:0 4px;font-size:14px;line-height:1}.login-wrap{min-height:100%;display:grid;place-items:center;padding:20px;background:radial-gradient(ellipse at top,var(--panel-2),var(--bg))}.login-card{width:100%;max-width:380px;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:28px;box-shadow:var(--shadow)}.login-card h2{margin-bottom:8px}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:6px;background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:0 10px;flex:1;min-width:220px;max-width:480px;color:var(--muted)}.search-box input{border:0!important;background:transparent!important;flex:1;outline:none!important;padding:8px 0!important;color:var(--text)}.filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:4px 18px;align-items:end;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px 6px;margin-bottom:14px}.filters .btn{justify-self:start;margin-bottom:12px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.asset-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;color:var(--text);display:flex;flex-direction:column;transition:border-color .12s,transform .12s}.asset-card:hover{border-color:var(--accent);text-decoration:none;transform:translateY(-1px)}.asset-card-body{padding:9px 11px 11px;display:flex;flex-direction:column;gap:4px;min-width:0}.asset-name{font-weight:600}.asset-sub{display:flex;gap:8px;font-size:12px;color:var(--muted);flex-wrap:wrap}.thumb{position:relative;background:repeating-conic-gradient(var(--checker-a) 0 25%,var(--checker-b) 0 50%) 0 0 / 16px 16px;display:grid;place-items:center;overflow:hidden}.thumb-md{aspect-ratio:4 / 3}.thumb-sm{width:44px;height:44px;border-radius:6px;flex:none}.thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.thumb-type-audio img{object-fit:cover}.thumb-icon{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--text-2)}.thumb-sm .thumb-icon .ext{display:none}.thumb-icon .ext{font-size:11px;font-weight:700;letter-spacing:.06em;background:var(--panel-2);padding:1px 7px;border-radius:4px}.thumb-type-model,.thumb-type-other,.thumb-type-document{background:var(--panel-2)}.badges{display:flex;flex-wrap:wrap;gap:4px}.badge{display:inline-flex;align-items:center;gap:3px;font-size:11px;padding:1px 7px;border-radius:99px;background:var(--panel-2);color:var(--text-2);border:1px solid var(--border);margin-left:4px}.badges .badge{margin-left:0}.badge-warn{color:var(--warn);background:var(--warn-bg);border-color:transparent}.badge-info{color:var(--accent);background:var(--info-bg);border-color:transparent}.badge-link{color:var(--link-c);background:var(--link-bg);border-color:transparent}.badge-fork{color:var(--fork-c);background:var(--fork-bg);border-color:transparent}.badge-pin{color:var(--warn);border-color:transparent}.asset-table td{padding:5px 12px}.empty{text-align:center;padding:80px 20px;color:var(--muted);border:2px dashed var(--border);border-radius:14px}.empty h3{justify-content:center;color:var(--text);margin:12px 0 6px;font-size:17px}.drop-overlay{position:fixed;inset:0 0 0 264px;background:color-mix(in srgb,var(--accent) 18%,transparent);border:3px dashed var(--accent);display:grid;place-items:center;z-index:30;pointer-events:none;font-size:18px}.drop-overlay>div{display:flex;flex-direction:column;align-items:center;gap:10px;background:var(--panel);padding:28px 36px;border-radius:14px;box-shadow:var(--shadow)}.upload-panel{position:fixed;right:20px;bottom:20px;width:380px;max-height:50vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--border-2);border-radius:12px;box-shadow:var(--shadow);z-index:20}.upload-panel-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;border-bottom:1px solid var(--border)}.upload-panel ul{list-style:none;margin:0;padding:4px 0;overflow-y:auto}.upload-item{display:grid;grid-template-columns:1fr auto 130px;gap:8px;align-items:center;padding:5px 12px;font-size:13px}.upload-status{display:flex;align-items:center;gap:4px;justify-content:flex-end;font-size:12px;color:var(--text-2)}.upload-status progress{width:100%}.st-created .upload-status,.st-resolved .upload-status{color:var(--ok)}.st-duplicate .upload-status{color:var(--warn)}.modal-backdrop{position:fixed;inset:0;background:#05080c99;display:grid;place-items:center;z-index:50;padding:20px}.modal{background:var(--panel);border:1px solid var(--border-2);border-radius:14px;width:100%;max-width:520px;max-height:calc(100vh - 40px);display:flex;flex-direction:column;box-shadow:var(--shadow)}.modal-wide{max-width:760px}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border)}.modal-body{padding:16px 18px;overflow-y:auto}.modal-foot{display:flex;gap:8px;justify-content:flex-end;padding:12px 18px;border-top:1px solid var(--border);flex-wrap:wrap}.match-list{display:flex;flex-direction:column;gap:6px;margin:12px 0}.match{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--border);border-radius:8px;cursor:pointer}.match.sel{border-color:var(--accent);background:var(--info-bg)}.match input{margin-top:3px}.explain{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;font-size:13px;background:var(--bg-2);border-radius:8px;padding:12px;margin:0}.explain dt{font-weight:600;display:flex;align-items:center;gap:4px}.explain dd{margin:0;color:var(--text-2)}.dropzone{display:flex;flex-direction:column;align-items:center;gap:8px;border:2px dashed var(--border-2);border-radius:10px;padding:28px;cursor:pointer;color:var(--text-2);margin-bottom:14px;text-align:center}.dropzone.over,.dropzone:hover{border-color:var(--accent);color:var(--text)}.add-member{margin-top:12px}.add-member select:first-child{flex:1}.banner{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;margin-bottom:12px;flex-wrap:wrap;font-size:13px}.banner>span:first-of-type{flex:1;min-width:240px}.banner-info{background:var(--info-bg);color:var(--text)}.banner-info .icon{color:var(--accent)}.banner-warn{background:var(--warn-bg)}.banner-warn .icon{color:var(--warn)}.banner-link{background:var(--link-bg)}.banner-link .icon{color:var(--link-c)}.banner-fork{background:var(--fork-bg)}.banner-fork .icon{color:var(--fork-c)}.toasts{position:fixed;top:16px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:100;max-width:420px}.toast{padding:10px 14px;border-radius:10px;background:var(--panel-2);border:1px solid var(--border-2);box-shadow:var(--shadow);cursor:pointer;animation:slide .18s ease-out}.toast-success{border-left:4px solid var(--ok)}.toast-error{border-left:4px solid var(--danger)}@keyframes slide{0%{transform:translateY(-6px);opacity:0}}.asset-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px;align-items:start}.asset-preview{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.preview-note{padding:8px 14px;background:var(--warn-bg);font-size:13px}.asset-side{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;position:sticky;top:16px;max-height:calc(100vh - 32px);display:flex;flex-direction:column}.tabs{display:flex;border-bottom:1px solid var(--border)}.tabs button{flex:1;background:none;border:0;padding:11px;cursor:pointer;color:var(--text-2);border-bottom:2px solid transparent}.tabs button.on{color:var(--text);border-bottom-color:var(--accent)}.side-body{padding:14px 16px 18px;overflow-y:auto}.side-body h4:first-child{margin-top:0}.desc{white-space:pre-wrap;margin-top:0}.history{list-style:none;margin:0;padding:6px;overflow-y:auto}.hist{display:flex;gap:10px;padding:9px;border-radius:8px;cursor:pointer;border:1px solid transparent}.hist:hover{background:var(--panel-2)}.hist.sel{border-color:var(--accent);background:var(--info-bg)}.hist-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.hist-top{display:flex;align-items:center;gap:6px}.hist-top .muted{margin-left:auto}.hist-actions{display:flex;gap:12px;margin-top:4px;flex-wrap:wrap;align-items:center}.viewer{display:flex;flex-direction:column}.image-stage{min-height:420px;height:62vh;position:relative;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.image-stage img{position:absolute;left:50%;top:50%;max-width:none;transform-origin:center}.image-stage.is-fit{cursor:zoom-in}.image-stage.is-zoomed{cursor:grab}.image-stage.is-dragging{cursor:grabbing}.image-stage .viewer-placeholder{position:absolute;inset:0;display:grid;place-content:center;justify-items:center}.image-stage.bg-checker{background:repeating-conic-gradient(var(--checker-a) 0 25%,var(--checker-b) 0 50%) 0 0 / 20px 20px}.image-stage.bg-dark{background:#111}.image-stage.bg-light{background:#f5f5f5}.viewer-toolbar{display:flex;gap:10px;align-items:center;padding:10px 14px;border-top:1px solid var(--border);flex-wrap:wrap}.parts-menu>summary{list-style:none;cursor:pointer;display:inline-flex}.parts-menu>summary::-webkit-details-marker{display:none}.parts-menu[open]{flex-basis:100%;order:10}.parts-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 16px;margin-top:10px;padding:10px 12px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px}.parts-list>.muted{grid-column:1 / -1}.parts-list label{overflow-wrap:anywhere}.viewer-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--text-2);min-height:360px;padding:30px;text-align:center}.viewer-placeholder.big{min-height:460px}.ext-badge{font-weight:700;letter-spacing:.08em;background:var(--panel-2);border:1px solid var(--border-2);padding:2px 10px;border-radius:6px}.audio-viewer{padding:30px 24px 18px;gap:16px}.waveform{width:100%;height:180px;cursor:pointer;background:var(--bg-2);border-radius:10px}.audio-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.pdf-frame{width:100%;height:72vh;border:0;background:#fff}.video{width:100%;max-height:72vh;background:#000}.rule-grid{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.scope-row .field{min-width:180px}.rule-summary{color:var(--accent)}details summary{cursor:pointer;color:var(--text-2);margin:10px 0}@media(max-width:1100px){.asset-layout{grid-template-columns:1fr}.asset-side{position:static;max-height:none}}@media(max-width:760px){.app{grid-template-columns:1fr;grid-template-rows:auto 1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border);max-height:40vh}.page{padding:16px}.drop-overlay{inset:0}.upload-panel{left:16px;right:16px;width:auto}}.page-head .role-chip{margin-left:0}.steps{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 14px}.steps li{flex:1;padding:6px 10px;border-radius:8px;background:var(--bg-2);color:var(--muted);font-size:12px;font-weight:600}.steps li.on{background:var(--accent);color:var(--accent-ink)}.steps li.done{color:var(--text)}.mount-list{display:flex;flex-direction:column;gap:8px}.mount{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 14px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);cursor:pointer}.mount:hover:not(:disabled){border-color:var(--accent)}.mount:disabled{opacity:.5;cursor:not-allowed}.mount-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.mount .badge{margin-left:0}.space{display:flex;align-items:center;gap:10px}.space-bar{width:160px;height:6px;border-radius:99px;background:var(--border);overflow:hidden}.space-bar>div{height:100%;background:var(--accent)}.space-bar>div.hot{background:var(--danger)}.browser{border:1px solid var(--border);border-radius:10px;overflow:hidden}.crumbbar{display:flex;flex-wrap:wrap;gap:4px;align-items:center;padding:8px 12px;background:var(--bg-2);border-bottom:1px solid var(--border);font-size:13px}.crumb{font-size:13px;display:inline-flex;align-items:center;gap:4px}.folder-list{list-style:none;margin:0;padding:4px;max-height:320px;min-height:160px;overflow-y:auto}.folder{display:flex;align-items:center;gap:8px;width:100%;background:none;border:0;padding:7px 10px;border-radius:6px;cursor:pointer;text-align:left}.folder:hover{background:var(--panel-2)}.folder .badge{margin-left:auto}.pad-sm{padding:8px 10px}.browser-foot{display:flex;align-items:center;gap:10px;padding:10px 12px;border-top:1px solid var(--border);background:var(--bg-2);flex-wrap:wrap}.chosen{display:flex;gap:10px;align-items:center;padding:10px 12px;background:var(--bg-2);border-radius:8px;margin-bottom:14px}.help summary{color:var(--text)}.help ul{padding-left:18px}.help li{margin:4px 0}.upload-item.st-ignored .upload-status{color:var(--muted)}.folder-crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:-4px 0 12px}.crumb-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:1px dashed transparent;border-radius:6px;padding:3px 8px;cursor:pointer;color:var(--accent)}.crumb-btn.current{color:var(--text);font-weight:600}.crumb-btn:hover{background:var(--panel-2)}.search-note{margin:-6px 0 12px}.folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-bottom:16px}.folder-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;position:relative;color:var(--warn)}.folder-card:hover{border-color:var(--accent)}.folder-card .folder-name{color:var(--text);font-weight:600}.folder-actions{margin-left:auto;display:none;gap:2px}.folder-card:hover .folder-actions,.folder-card:focus-within .folder-actions{display:inline-flex}.drop-over{outline:2px solid var(--accent)!important;outline-offset:-2px;background:var(--info-bg)!important;border-color:var(--accent)!important}.is-dragging .sidebar .nav-item{border:1px dashed var(--border-2);margin-bottom:2px}.drop-hint{text-transform:none;letter-spacing:0;color:var(--accent)}.asset-card{position:relative}.asset-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.select-box{position:absolute;top:8px;left:8px;z-index:2;width:22px;height:22px;border-radius:6px;border:2px solid #fff;background:#00000059;color:#fff;display:grid;place-items:center;padding:0;cursor:pointer;opacity:0;transition:opacity .1s}.asset-card:hover .select-box,.asset-card.selected .select-box,.select-box:focus-visible{opacity:1}.asset-card.selected .select-box{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.asset-table tr.selected td{background:var(--info-bg)}.selection-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;margin-bottom:12px;background:var(--panel);border:1px solid var(--accent);border-radius:10px;box-shadow:var(--shadow)}.drag-ghost{position:fixed;top:-100px;left:-100px;padding:6px 12px;border-radius:8px;background:var(--accent);color:var(--accent-ink);font-weight:700}.folder-pick{list-style:none;margin:0;padding:4px;border:1px solid var(--border);border-radius:8px;max-height:280px;overflow-y:auto}.folder-pick button{display:flex;align-items:center;gap:6px;width:100%;background:none;border:0;padding:6px 10px;border-radius:6px;cursor:pointer;text-align:left}.folder-pick button:hover{background:var(--panel-2)}.folder-pick button.on{background:var(--accent);color:var(--accent-ink)}.asset-card,.folder-card,.asset-table tr{-webkit-user-select:none;user-select:none}.asset-card img,.thumb img{-webkit-user-drag:none}.asset-card.selecting{cursor:copy}.asset-card.selecting .select-box{opacity:1}.select-band{position:fixed;z-index:40;pointer-events:none;border:1px solid var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);border-radius:3px}.selection-bar{position:fixed;top:auto;bottom:20px;left:calc(264px + (100vw - 264px)/2);transform:translate(-50%);margin:0;z-index:25;max-width:calc(100vw - 304px)}@media(max-width:760px){.selection-bar{left:50%;max-width:calc(100vw - 32px)}}.page{padding-bottom:90px}.selection-bar{flex-wrap:nowrap;white-space:nowrap}.bulk-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}.bulk-tag{display:inline-flex;align-items:center;gap:6px;padding:3px 4px 3px 10px;border-radius:99px;border:1px solid var(--border-2);background:var(--panel-2);font-size:13px}.bulk-tag.some{border-style:dashed}.bulk-tag.removing{opacity:.55;text-decoration:line-through;border-color:var(--danger)}.bulk-tag-count{font-size:11px;color:var(--muted)}.bulk-tag button{background:var(--bg-2);border:0;border-radius:99px;padding:1px 8px;cursor:pointer;color:var(--text-2);font-size:12px;text-decoration:none}.bulk-tag button:hover{color:var(--accent)}.bulk-desc{margin-top:10px}.modal-body h4:first-child{margin-top:0}.seg.plain button{text-transform:none}.plain-list{margin:8px 0;padding-left:18px}.plain-list li{margin:3px 0}.font-stage{min-height:420px;height:62vh;overflow:auto;padding:40px 44px;background:#f6f3ec;color:#181c24}.font-stage.dark{background:#15181e;color:#eef0f3}.font-sample{line-height:1.15;word-break:break-word}.font-sample.small-lines{font-size:28px;margin-top:36px;opacity:.85;display:flex;flex-direction:column;gap:6px}.font-text{flex:1;min-width:200px}.upload-name{display:flex;min-width:0}.upload-dir{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:0 1 auto;min-width:0}.upload-file{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 0 auto;max-width:100%}.asset-project{font-size:12px;color:var(--accent);display:flex;align-items:center;gap:4px}.three-stage{position:relative;height:62vh;min-height:420px;background:#2b2f37;overflow:hidden}.three-stage canvas{display:block;width:100%;height:100%;touch-action:none}.three-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#c9ced8;text-align:center;padding:20px;pointer-events:none}.fallback-preview{max-width:70%;max-height:60%;border-radius:8px;margin-top:10px}.dot-warn{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--warn);margin-left:6px;vertical-align:middle}.tex-list{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-direction:column;gap:10px}.tex-row{display:flex;gap:10px;padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2)}.tex-thumb{width:52px;height:52px;border-radius:6px;flex:none;display:grid;place-items:center;overflow:hidden;color:var(--muted);background:repeating-conic-gradient(var(--checker-a) 0 25%,var(--checker-b) 0 50%) 0 0 / 12px 12px}.tex-thumb img{width:100%;height:100%;object-fit:cover}.tex-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.tex-head{display:flex;align-items:center;gap:6px;min-width:0}.tex-head .badge{margin-left:auto}.tex-actions{display:flex;gap:12px;margin-top:2px}.tex-suggest{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:4px}.sugg{display:inline-flex;align-items:center;gap:6px;max-width:100%;border:1px dashed var(--border-2);background:var(--panel);border-radius:8px;padding:3px 8px 3px 3px;cursor:pointer;font-size:12px}.sugg:hover{border-color:var(--accent);border-style:solid}.sugg img{width:24px;height:24px;border-radius:4px;object-fit:cover}.pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;max-height:50vh;overflow-y:auto}.pick{display:flex;flex-direction:column;gap:4px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:6px;cursor:pointer;text-align:left;min-width:0}.pick:hover{border-color:var(--accent)}.pick .thumb{border-radius:5px}.model-still{max-width:min(560px,90%);max-height:46vh;border-radius:8px;object-fit:contain}.export-form .check{display:flex;gap:8px;align-items:baseline;margin-bottom:12px}.upload-auto{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;color:var(--text-2);cursor:pointer}.upload-panel .upload-auto{border-bottom:1px solid var(--border)}.modal .upload-auto{padding:12px 0 0}.thumb-refresh{position:fixed;left:50%;bottom:84px;transform:translate(-50%);z-index:40;display:flex;align-items:center;gap:10px;max-width:min(560px,calc(100vw - 32px));padding:8px 12px;background:var(--panel);border:1px solid var(--border-2);border-radius:10px;box-shadow:var(--shadow)}.thumb-refresh-stage{position:fixed;left:-10000px;top:0;width:640px;height:520px;pointer-events:none}.bulk-tex-pick{display:flex;align-items:center;gap:10px;min-width:0}.upload-auto select{font-size:12px;padding:2px 6px}
