*{box-sizing:border-box}:root{--g50:#f9fafb;--g100:#f2f4f6;--g200:#e5e8eb;--g300:#d1d6db;--g400:#b0b8c1;--g500:#8b95a1;--g600:#6b7684;--g700:#4e5968;--g800:#333d4b;--g900:#191f28;--bg:var(--g100);--surface:#fff;--line:var(--g200);--text:var(--g900);--muted:var(--g600);--muted-strong:var(--g700);--accent:#5bc683;--accent-hover:#4fbb78;--accent-press:#43ae6c;--accent-deep:#0e2a1b;--accent-ink:#0f7a48;--accent-tint:#edf9f2;--accent-tint-hover:#dcf2e6;--accent-line:#cdeedc;--danger:#f04452;--danger-ink:#c42133;--danger-tint:#fff0f1;--danger-tint-hover:#ffdadd;--danger-line:#ffd4d8;--lift:0 1px 2px #191f280a, 0 4px 14px #191f280d;--lift-hover:0 2px 4px #191f280d, 0 10px 26px #191f2817;--r-card:16px;--r-ctl:10px;--r-sm:8px;--ctl-h:41px;--canvas-dark:#20262f;--canvas-light:var(--g200);--ease:cubic-bezier(.16, 1, .3, 1);color:var(--text);letter-spacing:-.01em;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font:400 15px/1.55 Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Segoe UI,Roboto,sans-serif}body{background:var(--bg);margin:0}h1,h2,h3{letter-spacing:-.025em}button{font:inherit;color:inherit;letter-spacing:inherit;cursor:pointer}button:disabled,select:disabled,input:disabled,textarea:disabled{cursor:not-allowed}:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px;border-radius:6px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus,button:focus-visible,a:focus-visible,summary:focus-visible,[role=button]:focus-visible,[role=checkbox]:focus-visible{outline:none}@keyframes settle{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page,.login-card{animation:settle .32s var(--ease) both}@media (prefers-reduced-motion:reduce){.page,.login-card{animation:none}}input:not([type=checkbox],[type=range]),select,textarea{font:inherit;letter-spacing:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-ctl);padding:8px 12px;transition:border-color .14s ease-out,box-shadow .14s ease-out}textarea{resize:none}input::placeholder,textarea::placeholder{color:var(--muted)}input:not([type=checkbox],[type=range]):focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #5bc68333}select{height:var(--ctl-h);cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%236b7684' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}input[type=checkbox]{font:inherit;accent-color:var(--accent-ink);width:16px;height:16px}.primary-btn{background:var(--accent);height:38px;color:var(--accent-deep);border-radius:var(--r-ctl);border:none;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:14px;font-weight:700;transition:background-color .14s ease-out;display:inline-flex}.primary-btn:hover:not(:disabled){background:var(--accent-hover)}.primary-btn:active:not(:disabled){background:var(--accent-press)}.primary-btn:disabled{opacity:.45}a.primary-btn{text-decoration:none}.ghost-btn{background:var(--g100);height:38px;color:var(--g800);border-radius:var(--r-ctl);border:none;justify-content:center;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:600;transition:background-color .14s ease-out,color .14s ease-out;display:inline-flex}.ghost-btn:hover:not(:disabled){background:var(--g200)}.ghost-btn.on-floor{background:var(--surface);box-shadow:var(--lift)}.ghost-btn.on-floor:hover:not(:disabled){background:var(--g50)}.ghost-btn:disabled{opacity:.45}.ghost-btn.danger{color:var(--danger-ink);background:var(--danger-tint)}.ghost-btn.danger:hover:not(:disabled){background:var(--danger-tint-hover)}.chip-btn{background:var(--g100);height:30px;color:var(--muted-strong);border-radius:var(--r-sm);border:none;align-items:center;gap:4px;padding:0 11px;font-size:13px;font-weight:600;transition:background-color .14s ease-out,color .14s ease-out;display:inline-flex}.chip-btn:hover:not(:disabled){background:var(--g200);color:var(--g900)}.chip-btn.on{background:var(--accent-tint);color:var(--accent-ink)}.chip-btn.on:hover:not(:disabled){background:var(--accent-tint-hover);color:var(--accent-ink)}.chip-btn.danger{color:var(--danger-ink);background:var(--danger-tint)}.chip-btn.danger:hover:not(:disabled){background:var(--danger-tint-hover);color:var(--danger-ink)}.chip-btn:disabled{opacity:.45}a.chip-btn{text-decoration:none}.icon-btn{border-radius:var(--r-sm);width:32px;height:32px;color:var(--muted);background:0 0;border:none;justify-content:center;align-items:center;transition:background-color .14s ease-out,color .14s ease-out;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--g100);color:var(--g900)}.icon-btn:disabled{opacity:.4}.check-label{color:var(--muted-strong);cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.form-error{color:var(--danger-ink);margin:0;font-size:13px;font-weight:500}.form-notice{color:var(--accent-ink);margin:14px 0 0;font-size:13px;font-weight:500}.muted-note{color:var(--muted-strong);margin:12px 0 0;font-size:13px}.clip-line{vertical-align:bottom;white-space:nowrap;text-overflow:ellipsis;max-width:100%;display:inline-block;overflow:hidden}.login-page{flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100dvh;padding:24px 16px;display:flex}.login-card{background:var(--surface);width:100%;max-width:380px;box-shadow:var(--lift);text-align:center;border-radius:20px;padding:44px 32px 28px}.login-logo{height:46px;margin-bottom:18px}.login-card h1{margin:0 0 6px;font-size:22px;font-weight:700}.login-sub{color:var(--muted);margin:0 0 28px;font-size:14px}.login-error{background:var(--danger-tint);color:var(--danger-ink);text-align:left;border-radius:var(--r-ctl);margin:0 0 16px;padding:12px 14px;font-size:13px;font-weight:500}.google-btn{background:var(--g100);width:100%;height:52px;color:var(--g900);border:none;border-radius:14px;justify-content:center;align-items:center;gap:10px;font-size:15px;font-weight:700;text-decoration:none;transition:background-color .14s ease-out;display:flex}.google-btn:hover{background:var(--g200)}.dev-login{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:28px;padding-top:18px;display:flex}.dev-login-label{color:var(--muted);font-size:13px}.dev-login-actions{gap:6px;display:flex}.dev-login-actions button{height:28px;color:var(--muted-strong);background:var(--g100);border-radius:var(--r-sm);border:none;padding:0 10px;font-size:13px;font-weight:600;transition:color .14s ease-out,background-color .14s ease-out}.dev-login-actions button:hover:not(:disabled){color:var(--accent-ink);background:var(--accent-tint)}.dev-login-actions button:disabled{opacity:.45}.dev-error{color:var(--danger-ink);text-align:left;margin:10px 0 0;font-size:13px}.login-foot{color:var(--muted-strong);margin:0;font-size:13px}.app-shell{flex-direction:column;min-height:100dvh;display:flex}.topbar{z-index:20;border-bottom:1px solid var(--line);background:#ffffffe0;flex-shrink:0;justify-content:space-between;align-items:stretch;gap:16px;height:56px;padding:0 24px;display:flex;position:sticky;top:0}.topbar.scrolled{-webkit-backdrop-filter:blur(10px)}@media (prefers-reduced-transparency:reduce){.topbar,.topbar.scrolled{background:var(--surface);-webkit-backdrop-filter:none}}.topbar-left{align-items:stretch;gap:26px;min-width:0;display:flex}.topbar-brand{letter-spacing:-.025em;color:inherit;flex-shrink:0;align-items:center;gap:9px;font-size:16px;font-weight:700;text-decoration:none;display:flex}.topbar-brand img{height:24px}.topbar-nav{align-items:stretch;gap:2px;display:flex}.topbar-nav a{color:var(--muted-strong);align-items:center;padding:0 12px;font-size:15px;font-weight:600;text-decoration:none;transition:color .14s ease-out,box-shadow .14s ease-out;display:flex;box-shadow:inset 0 -2px #0000}.topbar-nav a:hover{color:var(--g800)}.topbar-nav a.active{color:var(--g900);box-shadow:inset 0 -2px 0 var(--accent);font-weight:700}.topbar-nav a.active:hover{box-shadow:inset 0 -2px 0 var(--accent-ink)}.topbar-user{align-items:center;gap:10px;min-width:0;display:flex}.topbar-name{color:var(--muted-strong);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.topbar .ghost-btn{height:32px;padding:0 12px;font-size:13px}.avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:28px;height:28px}.avatar-fallback{background:var(--accent-tint);color:var(--accent-ink);justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.role-badge{background:var(--g100);color:var(--muted-strong);white-space:nowrap;border-radius:6px;padding:4px 9px;font-size:12px;font-weight:700}.app-main{flex:1;padding:32px 24px 64px}.page{max-width:1180px;margin:0 auto}.page.narrow{max-width:660px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.page-head h1{margin:0;font-size:22px;font-weight:700}.page-head-actions{align-items:center;gap:12px;display:flex}.page-sub{color:var(--muted-strong);margin:0 0 20px;font-size:14px}.page:not(.narrow) .page-sub{max-width:68ch}.page-head+.project-grid,.page-head+.browser,.page-head+.user-list,.page-head+.tag-list,.page-head+.trash-list,.page-head+.empty-state{margin-top:20px}.page-loading{min-height:100dvh;color:var(--muted-strong);place-items:center;font-size:14px;display:grid}.empty-state{text-align:center;max-width:440px;margin:72px auto}.empty-state h2{margin:0 0 8px;font-size:17px;font-weight:700}.empty-state p{color:var(--muted-strong);margin:0 0 6px;font-size:14px}.inline-form{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--lift);flex-direction:column;gap:12px;margin-bottom:20px;padding:20px;display:flex}.inline-form-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.offline-notice{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:flex}.offline-notice p{margin:0}.offline-notice button{background:var(--surface);box-shadow:var(--lift);margin-top:12px}.offline-notice button:hover:not(:disabled){background:var(--g50)}.project-grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;display:grid}.project-card,.asset-card{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--lift);color:inherit;transition:box-shadow .18s var(--ease), transform .18s var(--ease);text-decoration:none;display:block;position:relative;overflow:hidden}.asset-pick{z-index:1;border:1px solid var(--g300);background:var(--surface);color:#0000;border-radius:6px;place-items:center;width:22px;height:22px;transition:background-color .12s ease-out,border-color .12s ease-out;display:grid;position:absolute;top:10px;left:10px}.asset-card.picked .asset-pick{border-color:var(--accent-press);background:var(--accent);color:var(--accent-deep)}.asset-card.selecting{cursor:pointer;-webkit-user-select:none;user-select:none}.bulk-bar,.browser-actions{min-height:var(--ctl-h);align-items:center;gap:8px;margin:0 0 12px;display:flex}.browser-actions{justify-content:flex-end}.bulk-count{color:var(--muted-strong);font-size:13px;font-weight:600}.bulk-actions{align-items:center;gap:6px;margin-left:auto;display:flex}.bulk-actions .chip-btn:not(.danger){background:var(--surface);box-shadow:var(--lift)}.bulk-actions .chip-btn:not(.danger):hover:not(:disabled){background:var(--g50)}.bulk-actions .chip-btn:disabled{box-shadow:none}.bulk-notice,.bulk-error{margin:0 0 12px;font-size:13px}.bulk-error{color:var(--danger-ink)}.project-card:hover,.asset-card:hover{box-shadow:var(--lift-hover);transform:translateY(-2px)}.asset-card.picked,.asset-card.picked:hover{box-shadow:var(--lift-hover), 0 0 0 2px var(--accent-press)}@media (prefers-reduced-motion:reduce){.project-card:hover,.asset-card:hover{transform:none}}.project-cover{aspect-ratio:16/9;background:var(--accent-tint);place-items:center;display:grid;position:relative;overflow:hidden}.project-cover img{object-fit:cover;width:100%;height:100%}.project-cover-fallback{color:var(--accent-ink);font-size:32px;font-weight:700}.archived-badge{color:var(--muted-strong);background:#fffffff0;border-radius:6px;padding:3px 9px;font-size:12px;font-weight:700;position:absolute;top:10px;right:10px}.archived-badge.inline{vertical-align:middle;background:var(--g100);margin-left:8px;position:static}.project-card-body{flex-direction:column;gap:4px;min-width:0;padding:14px 16px 16px;display:flex}.project-card-body strong{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.project-card-meta{color:var(--muted);font-size:13px}.project-head{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--lift);align-items:flex-start;gap:20px;margin-bottom:24px;padding:20px;display:flex}.project-head-cover{aspect-ratio:16/9;object-fit:cover;background:var(--accent-tint);border-radius:12px;flex-shrink:0;width:184px}.project-head-info{flex:1;min-width:0}.project-head-info h1{align-items:flex-start;margin:0 0 6px;font-size:22px;font-weight:700;display:flex}.project-head-name{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.project-head-info h1 .archived-badge.inline{flex-shrink:0;margin-top:5px}.project-head-desc{color:var(--muted);align-items:flex-start;gap:5px;margin:0 0 14px;font-size:14px;display:flex}.project-head-desc .clip-line{min-width:0}.project-head-count{flex-shrink:0}.project-edit-btn{height:32px;font-size:13px}.project-head-cover.editable{cursor:pointer;border:none;padding:0;display:block;position:relative;overflow:hidden}.project-head-cover.editable img{object-fit:cover;width:100%;height:100%;display:block}.cover-empty{width:100%;height:100%;color:var(--accent-ink);place-items:center;font-size:32px;font-weight:700;display:grid}.cover-overlay{color:#fff;opacity:0;background:#191f2894;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:600;transition:opacity .14s ease-out;display:flex;position:absolute;inset:0}.project-head-cover.editable:hover .cover-overlay,.project-head-cover.editable:focus-visible .cover-overlay{opacity:1}.project-head-cover.editable:has(.cover-empty):has(.cover-overlay) .cover-empty{display:none}.project-head-cover.editable:has(.cover-empty) .cover-overlay{opacity:1;background:var(--accent-tint);color:var(--accent-ink)}.project-head-cover.editable:disabled{cursor:not-allowed}.project-head-cover.editable:disabled .cover-overlay{opacity:1}.browser-filters{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--lift);margin-bottom:20px;padding:16px}.browser-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.browser-toolbar select,.browser-toolbar .ghost-btn,.browser-toolbar .primary-btn{height:var(--ctl-h)}.browser-toolbar select{text-overflow:ellipsis;min-width:0;max-width:15rem}.search-box{min-width:220px;height:var(--ctl-h);background:var(--g50);border:1px solid var(--line);border-radius:var(--r-ctl);color:var(--muted);flex:1;align-items:center;gap:8px;padding:0 12px;transition:border-color .14s ease-out,box-shadow .14s ease-out,background-color .14s ease-out;display:flex}.search-box input{background:0 0;border:none;flex:1;min-width:0;height:100%;padding:0}.search-box input:focus{box-shadow:none;border:none}.search-box:focus-within{background:var(--surface);border-color:var(--accent);box-shadow:0 0 0 3px #5bc68333}.tag-filter{border-top:1px solid var(--line);flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:14px;display:flex}.tag-chip{background:var(--g100);color:var(--muted-strong);border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:5px 12px;font-size:13px;font-weight:600;transition:background-color .14s ease-out,color .14s ease-out,border-color .14s ease-out;display:inline-flex}button.tag-chip:hover{background:var(--g200)}.tag-chip em{opacity:.75;font-size:12px;font-style:normal;font-weight:500}.tag-chip.on{background:var(--accent-tint);border-color:var(--accent-line);color:var(--accent-ink)}button.tag-chip.on:hover{background:#e2f5ea}.tag-chip.more{color:var(--muted);text-underline-offset:3px;background:0 0;text-decoration:underline}.tag-chip.more:hover{color:var(--g900);background:0 0}.tag-chip button{color:inherit;background:0 0;border:none;padding:0;display:inline-flex}.browser-status{text-align:center;color:var(--muted-strong);padding:64px 0;font-size:14px}.browser-status.error{color:var(--danger-ink)}.asset-grid{grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:16px;display:grid}.asset-thumb[data-bg=light],.version-thumb[data-bg=light],.trash-thumb[data-bg=light],.viewer-canvas[data-bg=light]{background:var(--canvas-light)}.asset-thumb{aspect-ratio:4/3;background:var(--canvas-dark);place-items:center;display:grid;position:relative;overflow:hidden}.asset-thumb img{object-fit:cover;width:100%;height:100%}.asset-thumb-fallback{color:var(--muted);flex-direction:column;align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.asset-card-body{flex-direction:column;gap:8px;padding:13px 14px 15px;display:flex}.asset-card-project+.asset-card-name{margin-top:-6px}.asset-card-name{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.asset-card-project{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:400;display:block;overflow:hidden}.asset-card-tags{flex-wrap:nowrap;gap:4px;min-height:23px;display:flex;overflow:hidden}.asset-card-tags span{background:var(--g100);min-width:0;color:var(--muted-strong);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:2px 7px;font-size:12px;font-weight:500;overflow:hidden}.asset-card-tags .more{flex-shrink:0}.asset-card-tags span:not(.more){min-width:44px}.asset-card-meta{color:var(--muted);font-size:13px}.pagination{justify-content:center;align-items:center;gap:12px;margin-top:24px;display:flex}.pagination .ghost-btn{background:var(--surface);width:38px;box-shadow:var(--lift);padding:0}.pagination .ghost-btn:hover:not(:disabled){background:var(--g50)}.pagination .ghost-btn:disabled{box-shadow:none;background:var(--g200)}.pagination span{color:var(--muted-strong);font-size:13px;font-weight:500}.back-link{color:var(--muted-strong);background:0 0;border:none;align-items:center;gap:4px;margin-bottom:16px;padding:0;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.back-link:hover:not(:disabled){color:var(--g900)}.back-link:disabled{opacity:.5}.asset-detail{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.asset-preview,.viewer,.viewer-canvas,.asset-side{min-width:0}.asset-info{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--lift);padding:24px}.asset-info h1{overflow-wrap:anywhere;margin:0 0 8px;font-size:20px;font-weight:700}.asset-desc{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 14px;font-size:14px}.asset-tags{flex-wrap:wrap;gap:6px;margin-bottom:18px;display:flex}.asset-meta{border-top:1px solid var(--line);flex-direction:column;margin:0 0 20px;display:flex}.asset-meta>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;display:flex}.asset-meta dt{color:var(--muted);flex-shrink:0;font-size:14px}.asset-meta dd{text-align:right;overflow-wrap:anywhere;min-width:0;margin:0;font-size:14px;font-weight:600}.asset-meta a{color:var(--accent-ink);text-decoration:none}.asset-meta a:hover{text-decoration:underline}.asset-actions{flex-wrap:wrap;gap:8px;display:flex}.trashed-banner{background:var(--danger-tint);color:var(--danger-ink);border-radius:var(--r-ctl);justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;padding:12px 14px;font-size:14px;font-weight:500;display:flex}.asset-edit-form{flex-direction:column;gap:14px;margin-bottom:18px;display:flex}.asset-edit-form>label,.asset-edit-form>.field{color:var(--muted-strong);flex-direction:column;gap:6px;font-size:14px;font-weight:600;display:flex}.tag-editor{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-ctl);flex-wrap:wrap;align-items:center;gap:6px;padding:7px;transition:border-color .14s ease-out,box-shadow .14s ease-out;display:flex}.tag-editor:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #5bc68333}.tag-editor input{background:0 0;border:none;flex:1;min-width:130px;padding:4px}.tag-editor input:focus{box-shadow:none;border:none}.file-section,.version-section,.activity-section,.comment-section{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--lift);margin-top:24px;padding:20px}.asset-info h1,.file-section h2,.version-section h2,.activity-section h2,.comment-section h2,.anim-panel h2{align-items:center;gap:9px;display:flex}.asset-info>:not(h1),.file-section>:not(h2),.version-section>:not(h2),.activity-section>:not(h2),.anim-panel>:not(h2){margin-left:4px;margin-right:4px}.file-section h2,.version-section h2,.activity-section h2,.comment-section h2,.anim-panel h2{margin:0 0 14px;font-size:16px;font-weight:700}.section-icon{flex-shrink:0;width:26px;height:26px;display:inline-flex}.section-icon svg{width:100%;height:100%;display:block}.file-row{color:var(--muted);align-items:center;gap:10px;padding:8px 0;display:flex}.file-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;font-weight:500;overflow:hidden}.file-size{font-size:13px}.upload-title{letter-spacing:-.025em;align-items:center;gap:8px;margin:0 0 6px;font-size:22px;font-weight:700;display:flex}.upload-sub{color:var(--muted);margin:0 0 20px;font-size:14px}.version-chip{background:var(--accent-tint);color:var(--accent-ink);letter-spacing:-.01em;border-radius:6px;padding:3px 9px;font-size:13px;font-weight:700}.upload-form{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--lift);flex-direction:column;gap:20px;padding:24px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field>label,.field-label{color:var(--muted-strong);font-size:14px;font-weight:600}.field-label{margin-bottom:8px;display:block}.field-hint{color:var(--muted);font-size:13px}.dropzone{border:1px dashed var(--g300);background:var(--g50);width:100%;color:var(--muted-strong);font:inherit;letter-spacing:inherit;text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:32px 16px;transition:border-color .14s ease-out,background-color .14s ease-out,color .14s ease-out;display:flex}.dropzone:hover:not(:disabled),.dropzone.over{border-color:var(--accent);background:var(--accent-tint);color:var(--accent-ink)}.dropzone:disabled{opacity:.55}.dropzone-main{font-size:15px;font-weight:600}.dropzone-hint{font-size:13px}.glb-picked{background:var(--g50);border:1px solid var(--line);border-radius:var(--r-ctl);align-items:center;gap:12px;padding:12px 14px;display:flex}.glb-picked-main{flex:1;min-width:0}.glb-picked-line{align-items:baseline;gap:8px;min-width:0;display:flex}.glb-picked-name{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.glb-picked-meta{color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:13px}.glb-warn{color:var(--danger-ink);margin:6px 0 0;font-size:13px;font-weight:500}.queue-bar{background:var(--g200);border-radius:999px;height:4px;margin-top:8px;overflow:hidden}.queue-bar span{background:var(--accent);transform-origin:0;width:100%;height:100%;transition:transform .15s linear;display:block}.queue-error{color:var(--danger-ink);margin:8px 0 0;font-size:13px}.prev-file{color:var(--muted);font-size:13px}.scale-choice{flex-direction:column;gap:8px;display:flex}.scale-option{background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;transition:border-color .14s ease-out,background-color .14s ease-out;display:flex}.scale-option:hover{border-color:var(--g300)}.scale-option.on{border-color:var(--accent);background:var(--accent-tint)}.scale-option.on:hover{background:var(--accent-tint-hover)}.scale-option input{margin:0}.scale-body{flex:1;min-width:0}.scale-body strong{font-size:15px;font-weight:700}.scale-body .field-hint{display:block}.scale-num{letter-spacing:-.02em;color:var(--muted);flex-shrink:0;font-size:17px;font-weight:700}.scale-option.on .scale-num{color:var(--accent-ink)}.viewer{flex-direction:column;gap:12px;display:flex}.viewer-canvas{background:var(--canvas-dark);aspect-ratio:4/3;border-radius:var(--r-card);transition:background-color .15s ease-out;position:relative;overflow:hidden}.viewer-canvas canvas{width:100%;height:100%;display:block;touch-action:none!important}.viewer-shell{aspect-ratio:4/3;border-radius:var(--r-card);color:#97a0ae;background:#20262f;place-items:center;font-size:14px;display:grid}.viewer-shell.error{color:#f2a8ad}.viewer-loading{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:12px;transition:opacity .25s ease-out;display:flex;position:absolute;inset:0}.viewer-loading.done{opacity:0}.viewer-loading p{color:#d5dae1;margin:0;font-size:14px;font-weight:500}.viewer-loading span{color:#97a0ae;font-size:13px}.viewer-loading-ring{border:2px solid #d5dae133;border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.7s linear infinite viewer-spin}@keyframes viewer-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.viewer-loading-ring{background:var(--accent);border-top-color:#d5dae133;animation:1.4s ease-in-out infinite viewer-pulse}@keyframes viewer-pulse{0%,to{opacity:.35}50%{opacity:1}}}.viewer-warn{color:#ffe3a3;border-radius:var(--r-sm);background:#191f28c2;margin:0;padding:6px 10px;font-size:13px;position:absolute;bottom:12px;left:12px}.viewer-failed{color:#eceff3;text-align:center;background:#191f28e0;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:24px;display:flex;position:absolute;inset:0}.viewer-failed p{margin:0;font-size:15px;font-weight:600}.viewer-failed span{color:#97a0ae;font-size:13px}.viewer-failed .chip-btn{color:#eceff3;background:#ffffff24;margin-top:10px}.viewer-failed .chip-btn:hover:not(:disabled){color:#fff;background:#ffffff3d}.viewer-bar{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--lift);flex-direction:column;gap:10px;padding:12px 14px;display:flex}.viewer-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.viewer-msg{color:var(--accent-ink);margin:0;font-size:13px;font-weight:500}.viewer-corner{z-index:2;border-radius:var(--r-sm);color:#eceff3;-webkit-backdrop-filter:blur(6px);background:#191f2880;border:none;justify-content:center;align-items:center;width:34px;height:34px;transition:background-color .14s ease-out;display:inline-flex;position:absolute;top:10px;right:10px}.viewer-corner:hover{background:#191f28bd}body.viewer-fullscreen .page{animation:none;transform:none}.viewer.fullscreen{z-index:60;background:#101418;gap:0;position:fixed;inset:0}.viewer.fullscreen .viewer-canvas{aspect-ratio:auto;min-height:0;transition:margin .18s var(--ease);border-radius:0;flex:1}.viewer.fullscreen.clips-open .viewer-canvas{margin-right:300px}.viewer-walk-hint{z-index:2;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#97a0ae;white-space:nowrap;pointer-events:none;background:#101418b8;border-radius:8px;align-items:center;gap:4px;margin:0;padding:7px 11px;font-size:12px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}.viewer-walk-hint kbd{min-width:19px;font:inherit;text-align:center;color:#d5dae1;background:#1b2128;border:1px solid #39424e;border-bottom-width:2px;border-radius:4px;padding:2px 0;font-size:11px;font-weight:600}.viewer-walk-hint kbd.wide{min-width:auto;padding:2px 6px}.viewer-walk-hint span{margin:0 9px 0 3px}.viewer-walk-hint span:last-child{margin-right:0}.explore-touch{z-index:2;pointer-events:none;position:absolute;inset:0}.explore-stick{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:auto;touch-action:none;background:#1014184d;border:1px solid #ffffff38;border-radius:50%;width:116px;height:116px;position:absolute;bottom:32px;left:24px}.explore-stick-knob{background:#ffffffd1;border-radius:50%;width:52px;height:52px;margin:-26px 0 0 -26px;transition:transform .12s ease-out;position:absolute;top:50%;left:50%;box-shadow:0 2px 10px #00000040}.explore-lift{pointer-events:auto;gap:10px;display:flex;position:absolute;bottom:160px;left:24px}.explore-lift button{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#ffffffdb;touch-action:none;background:#1014184d;border:1px solid #ffffff38;border-radius:50%;place-items:center;width:52px;height:52px;display:grid}.explore-lift button:active{background:#ffffff3d}@media (height<=480px){.explore-stick{width:96px;height:96px;bottom:24px}.explore-lift{bottom:132px}}@media (width>=700px) and (height>=600px){.explore-stick{bottom:96px}.explore-lift{bottom:224px}}.viewer.fullscreen .viewer-bar{z-index:2;max-width:calc(100% - 32px);padding:10px 12px;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.viewer.fullscreen .viewer-controls{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.viewer.fullscreen .viewer-controls::-webkit-scrollbar{display:none}.viewer-controls{--fade:26px}.viewer-controls.fade-start{-webkit-mask-image:linear-gradient(to right, transparent 0, #000 var(--fade));-webkit-mask-image:linear-gradient(to right, transparent 0, #000 var(--fade));mask-image:linear-gradient(to right, transparent 0, #000 var(--fade))}.viewer-controls.fade-end{-webkit-mask-image:linear-gradient(to right, #000 calc(100% - var(--fade)), transparent 100%);-webkit-mask-image:linear-gradient(to right, #000 calc(100% - var(--fade)), transparent 100%);mask-image:linear-gradient(to right, #000 calc(100% - var(--fade)), transparent 100%)}.viewer-controls.fade-start.fade-end{-webkit-mask-image:linear-gradient(to right, transparent 0, #000 var(--fade), #000 calc(100% - var(--fade)), transparent 100%);-webkit-mask-image:linear-gradient(to right, transparent 0, #000 var(--fade), #000 calc(100% - var(--fade)), transparent 100%);mask-image:linear-gradient(to right, transparent 0, #000 var(--fade), #000 calc(100% - var(--fade)), transparent 100%)}.viewer.fullscreen .chip-btn{flex-shrink:0}.viewer.fullscreen.clips-open .viewer-bar{width:fit-content;max-width:none;margin:0 auto;left:16px;right:316px;transform:none}.viewer.fullscreen .anim-panel{z-index:2;width:300px;max-width:100%;max-height:none;box-shadow:none;border-left:1px solid var(--line);border-radius:0;flex-direction:column;padding:16px;display:flex;position:absolute;top:0;bottom:0;right:0}.viewer.fullscreen .anim-clips{flex:auto;min-height:0;max-height:none}@media (width<=768px){.viewer.fullscreen{padding-bottom:88px}.viewer.fullscreen .anim-panel{border-radius:var(--r-card);width:auto;max-width:none;max-height:40vh;box-shadow:var(--lift);border-left:none;margin:8px 16px 0;position:static}.viewer.fullscreen.clips-open .viewer-canvas{margin-bottom:0;margin-right:0}.viewer.fullscreen .viewer-bar,.viewer.fullscreen.clips-open .viewer-bar{width:auto;max-width:none;margin:0;left:16px;right:16px;transform:none}}.anim-panel{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--lift);padding:20px}.anim-panel h2{margin:0 0 14px}.viewer-shell.guard{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px 20px;display:flex}.guard-size{color:var(--text);margin:0;font-size:20px;font-weight:700}.viewer-shell.guard p{max-width:30ch;margin:0;line-height:1.55}.guard-note{color:var(--muted);font-size:12px}.anim-skeleton{flex-direction:column;gap:10px;display:flex}.anim-skeleton span{border-radius:var(--r-sm);background:var(--g100);animation:1.4s ease-in-out infinite anim-skeleton-breathe;display:block}.anim-skeleton-bar{height:34px;margin-bottom:4px}.anim-skeleton-row{height:38px}.anim-skeleton-row:nth-child(3){animation-delay:.15s}.anim-skeleton-row:nth-child(4){animation-delay:.3s}@keyframes anim-skeleton-breathe{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.anim-skeleton span{animation:none}}.anim-transport{align-items:center;gap:10px;margin-bottom:14px;display:flex}.anim-play{border-radius:var(--r-sm);background:var(--accent);width:32px;height:32px;color:var(--accent-deep);border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .14s ease-out;display:inline-flex}.anim-play:hover{background:var(--accent-hover)}.anim-play:active:not(:disabled){background:var(--accent-press)}.anim-play:disabled{background:var(--g100);color:var(--g400)}.anim-seek-wrap{flex:1;align-items:center;min-width:0;height:14px;display:flex;position:relative}.anim-seek-track{background:var(--g200);pointer-events:none;border-radius:999px;height:4px;position:absolute;left:7px;right:7px}.anim-seek{appearance:none;cursor:pointer;background:0 0;width:100%;height:14px;margin:0;padding:0;position:relative}.anim-seek::-webkit-slider-runnable-track{background:0 0;height:4px}.anim-seek::-moz-range-track{background:0 0;height:4px}.anim-seek::-webkit-slider-thumb{appearance:none;background:var(--accent-ink);cursor:pointer;border:none;border-radius:50%;width:14px;height:14px;margin-top:-5px}.anim-seek::-moz-range-thumb{background:var(--accent-ink);cursor:pointer;border:none;border-radius:50%;width:14px;height:14px}.anim-seek:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px;border-radius:999px}.anim-seek:disabled,.anim-play:disabled{opacity:1}.anim-seek:disabled::-webkit-slider-thumb{background:var(--g400);cursor:not-allowed}.anim-seek:disabled::-moz-range-thumb{background:var(--g400);cursor:not-allowed}.anim-time{color:var(--muted-strong);white-space:nowrap;text-align:right;flex-shrink:0;font-size:12px;font-weight:600}.anim-time.off{color:var(--g400)}.anim-clips{overscroll-behavior:contain;max-height:308px;margin:0 4px;padding:0;list-style:none;overflow-y:auto}.anim-clips li+li{border-top:1px solid var(--line)}.anim-clip{border-radius:var(--r-sm);text-align:left;background:0 0;border:none;align-items:baseline;gap:12px;width:100%;padding:9px 10px;transition:background-color .14s ease-out,color .14s ease-out;display:flex}.anim-clip:hover{background:var(--g50)}.anim-clip.on{background:var(--accent-tint)}.anim-clip.on:hover{background:var(--accent-tint-hover)}.anim-clip-name{min-width:0;color:var(--g800);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;font-weight:600;overflow:hidden}.anim-clip.on .anim-clip-name{color:var(--accent-ink)}.anim-clip-dur{color:var(--muted-strong);flex-shrink:0;font-size:12px}.anim-clip.on .anim-clip-dur{color:var(--accent-ink)}.version-count{color:var(--muted-strong);background:var(--g100);border-radius:6px;padding:2px 8px;font-size:13px;font-weight:700}.version-list{margin:0;padding:0;list-style:none}.version-row{border-radius:12px;flex-wrap:wrap;align-items:flex-start;gap:12px;padding:12px;transition:background-color .14s ease-out;display:flex}.version-row:hover{background:var(--g50)}.version-row.current,.version-row.current:hover{background:var(--accent-tint)}.version-row.current .version-meta{color:var(--muted-strong)}.version-row.current .chip-btn{background:var(--surface)}.version-row.current .chip-btn:hover:not(:disabled){background:var(--g100)}.version-row.purged{opacity:.6}.version-main{flex:240px;align-items:stretch;gap:12px;min-width:0;display:flex}.version-thumb{border-radius:var(--r-sm);background:var(--canvas-dark);flex-shrink:0;align-self:stretch;width:92px;max-height:92px;overflow:hidden}.version-thumb img{object-fit:cover;width:100%;height:100%;display:block}.version-thumb-empty{background:repeating-linear-gradient(-45deg,#20262f,#20262f 5px,#272e39 5px 10px);width:100%;height:100%;display:block}.version-body{flex:1;min-width:0}.version-head{align-items:center;gap:7px;margin:0 0 3px;font-size:14px;font-weight:600;display:flex}.version-badge{background:var(--accent);color:var(--accent-deep);border-radius:6px;padding:2px 7px;font-size:12px;font-weight:700}.version-badge.gone{background:var(--g100);color:var(--muted-strong)}.version-size{color:var(--muted);flex-shrink:0;margin-left:auto;font-size:13px;font-weight:400}.version-comment{color:var(--text);overflow-wrap:anywhere;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0 0 4px;font-size:14px;display:-webkit-box;overflow:hidden}.version-meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:13px;overflow:hidden}.version-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:5px;display:flex}.activity-list{margin:0;padding:0;list-style:none}.activity-row{align-items:baseline;gap:10px;padding:10px 0;display:flex}.activity-row+.activity-row{border-top:1px solid var(--line)}.activity-dot{background:var(--g300);border-radius:50%;flex-shrink:0;width:5px;height:5px;transform:translateY(-2px)}.activity-text{overflow-wrap:anywhere;flex:1;min-width:0;margin:0;font-size:14px;line-height:1.5}.activity-text strong,.activity-text b{font-weight:700}.activity-text .clip-line{max-width:min(100%,22em)}.activity-text a{color:var(--accent-ink);font-weight:700;text-decoration:none}.activity-text a:hover{text-decoration:underline}.activity-time{color:var(--muted);white-space:nowrap;flex-shrink:0;font-size:13px}.comment-version-pick{height:26px;color:var(--muted-strong);background-position:right 8px center;margin-left:auto;padding:0 26px 0 10px;font-size:13px}.comment-version-note{color:var(--muted-strong);background:var(--g50);border-radius:var(--r-sm);margin:12px 0 0;padding:8px 12px;font-size:13px}.comment-scroll{overscroll-behavior:contain;max-height:340px;overflow-y:auto}.comment-older{width:100%;color:var(--muted);background:0 0;border:none;border-radius:6px;padding:6px;font-size:12px;display:block}.comment-older:hover:not(:disabled){background:var(--g50);color:var(--text)}.comment-form{align-items:flex-end;gap:8px;margin-top:12px;display:flex}.comment-form textarea{flex:1;min-width:0;max-height:148px;padding:7px 12px;line-height:22px;overflow-y:auto}.comment-list{margin:0;padding:0;list-style:none}.comment-row{gap:10px;padding:14px 0 12px;display:flex}.comment-row .avatar{width:26px;height:26px;margin-top:-2px}.comment-main{flex:1;min-width:0}.comment-row+.comment-row{border-top:1px solid var(--g100)}.comment-head{align-items:baseline;gap:8px;min-width:0;display:flex}.comment-head strong{max-width:40%;font-size:14px}.comment-time,.comment-edited{color:var(--muted);white-space:nowrap;font-size:12px}.comment-actions{gap:2px;margin-left:auto;display:flex}.comment-actions button{color:var(--muted);background:0 0;border:none;border-radius:6px;padding:2px 7px;font-size:12px}.comment-actions button:hover:not(:disabled){background:var(--g100);color:var(--text)}.comment-actions button.danger:hover:not(:disabled){background:var(--danger-tint);color:var(--danger-ink)}.comment-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0 0;font-size:14px;line-height:1.6}.comment-body.clamped{max-height:8em;overflow:hidden}.comment-expand{color:var(--muted);background:0 0;border:none;padding:0;font-size:12px;line-height:22.4px}.comment-expand:hover{text-decoration:underline}.comment-clamp{position:relative}.comment-clamp .comment-expand{background:linear-gradient(to right, #fff0, var(--surface) 110px);padding-left:126px;position:absolute;bottom:0;right:0}@media (width<=768px){.comment-clamp .comment-expand{background:linear-gradient(to right, #fff0, var(--surface) 60px);padding-left:72px}}.comment-edit{margin-top:8px}.comment-edit textarea{width:100%}.comment-edit-actions{gap:6px;margin-top:8px;display:flex}.asset-card-comments{align-items:center;gap:3px;margin-left:7px;display:inline-flex}.asset-card-comments svg{flex:none}.activity-more{margin-top:12px}.trash-list,.user-list,.tag-list{border-radius:var(--r-card);box-shadow:var(--lift);background:var(--surface);margin:0;padding:0;list-style:none;overflow:hidden}.user-row,.tag-row{flex-wrap:wrap;align-items:center;gap:14px;padding:14px 18px;transition:background-color .14s ease-out;display:flex}.trash-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 14px;padding:14px 18px;transition:background-color .14s ease-out;display:grid}.trash-row+.trash-row,.user-row+.user-row,.tag-row+.tag-row{border-top:1px solid var(--line)}.trash-row:hover,.tag-row:hover{background:var(--g50)}.trash-lead{grid-row:1/span 2;align-items:center;gap:10px;display:flex}.trash-pick{border:1px solid var(--g300);background:var(--surface);color:#0000;border-radius:6px;flex-shrink:0;place-items:center;width:20px;height:20px;transition:background-color .12s ease-out,border-color .12s ease-out;display:grid}.trash-row.picked .trash-pick{border-color:var(--accent-press);background:var(--accent);color:var(--accent-deep)}.trash-row.selecting{cursor:pointer;-webkit-user-select:none;user-select:none}.trash-row.picked{background:var(--accent-tint)}.trash-list.picking .trash-actions{visibility:hidden}.trash-thumb{border-radius:var(--r-sm);background:var(--canvas-dark);flex-shrink:0;width:60px;height:45px;overflow:hidden}.trash-thumb img{object-fit:cover;width:100%;height:100%;display:block}.trash-name{white-space:nowrap;text-overflow:ellipsis;grid-area:1/2;margin:0;font-size:15px;font-weight:700;overflow:hidden}.trash-name a{color:inherit;text-decoration:none}.trash-name a:hover{text-decoration:underline}.trash-meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;grid-area:2/2;margin:0;font-size:13px;overflow:hidden}.trash-when{text-align:right;white-space:nowrap;color:var(--muted-strong);grid-area:1/3;margin:0;font-size:13px;font-weight:600}.trash-when.soon{color:var(--danger-ink);font-weight:700}.trash-actions{grid-area:2/3;justify-self:end}.trash-row-error{color:var(--danger-ink);grid-column:1/-1;margin:4px 0 0;font-size:13px}.trash-summary{color:var(--muted-strong);margin:0;font-size:13px}.trash-notice{margin:0 0 12px}.trash-bulk-error{color:var(--danger-ink);margin:0 0 12px;font-size:13px}.trash-actions,.user-actions,.tag-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.user-row.off{background:var(--g50)}.user-row.off .user-name,.user-row.off .user-meta{color:var(--muted)}.user-body{flex:1;min-width:0}.user-name{align-items:center;gap:7px;margin:0 0 3px;font-size:15px;font-weight:700;display:flex}.user-badge{background:var(--accent-tint);color:var(--accent-ink);border-radius:6px;padding:2px 7px;font-size:12px;font-weight:700}.user-badge.off{background:var(--danger-tint);color:var(--danger-ink)}.user-meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:13px;overflow:hidden}.user-actions select,.tag-actions select{height:32px;padding:0 28px 0 10px;font-size:13px}.tag-row{min-height:58px}.tag-row.unused .tag-name{color:var(--muted)}.tag-name{color:var(--text);overflow-wrap:anywhere;font-size:15px;font-weight:700}.tag-toolbar{align-items:center;gap:8px;margin-bottom:10px;display:flex}.tag-toolbar .search-box{flex:1;min-width:0}.tag-toolbar select{height:var(--ctl-h);flex-shrink:0}.tag-summary{color:var(--muted-strong);margin:0 0 12px;font-size:13px}.tag-count{color:var(--muted);flex-shrink:0;font-size:13px}.tag-count-link{color:var(--muted-strong);text-decoration:underline;-webkit-text-decoration-color:var(--g300);text-decoration-color:var(--g300);text-underline-offset:3px;transition:color .14s ease-out,text-decoration-color .14s ease-out}.tag-count-link:hover{color:var(--accent-ink);text-decoration-color:currentColor}.tag-notice,.user-notice{margin:0 0 12px}.tag-row-error,.user-row-error,.version-row-error{color:var(--danger-ink);flex-basis:100%;margin:4px 0 0;font-size:13px}.tag-actions{opacity:0;margin-left:auto;transition:opacity .12s ease-out}.tag-row:hover .tag-actions,.tag-row:focus-within .tag-actions,.tag-row.acting .tag-actions{opacity:1}@media (hover:none){.tag-actions{opacity:1}}.tag-edit{flex:1;align-items:center;gap:6px;display:flex}.tag-edit input{flex:1;max-width:280px;height:34px;font-size:14px}@media (width<=768px){.desktop-only{display:none!important}}.mobile-only{display:none}@media (width<=768px){.mobile-only{display:block}}.desktop-hint{color:var(--muted);margin:8px 0 0;font-size:13px}@media (width<=768px){.app-main{padding:20px 16px 48px}.login-card{padding:34px 22px 24px}.page-head h1{font-size:20px}.asset-detail{grid-template-columns:minmax(0,1fr)}.asset-info,.file-section,.version-section,.activity-section,.anim-panel,.upload-form,.browser-filters{padding:16px}.anim-play{width:38px;height:38px}.anim-seek-wrap{height:20px}.anim-seek-track{left:10px;right:10px}.anim-seek{height:20px}.anim-seek::-webkit-slider-thumb{width:20px;height:20px;margin-top:-8px}.anim-seek::-moz-range-thumb{width:20px;height:20px}.anim-clips{max-height:218px}.browser-toolbar .search-box{flex:1 0 100%}.browser-toolbar select{flex:1 1 0;max-width:none}.project-head{flex-direction:column;padding:16px}.project-head-info{align-self:stretch}.project-head-cover{width:100%}.asset-grid,.project-grid{grid-template-columns:repeat(auto-fill,minmax(152px,1fr));gap:12px}.asset-card-meta{font-size:12px}.trash-row,.user-row,.tag-row{padding:12px 14px}.chip-btn{height:34px;padding:0 13px}.back-link{padding:6px 0}.topbar{padding:0 14px}.topbar-left{flex:1;gap:14px;min-width:0}.topbar-nav{scrollbar-width:none;padding-right:12px;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),#0000)}.topbar-nav::-webkit-scrollbar{display:none}.topbar-nav a{white-space:nowrap;padding:0 9px;font-size:14px}.topbar-brand span,.topbar .ghost-btn{white-space:nowrap}.topbar-user{flex-shrink:0;gap:8px}.topbar-name,.topbar .role-badge{display:none}}@media (width<=620px){.user-row,.tag-row{flex-wrap:wrap}.user-actions{width:100%;padding-left:42px}.tag-count{flex:none}}@media (width<=560px){.trash-row{grid-template-columns:auto minmax(0,1fr)}.trash-thumb{grid-row:1/span 3}.trash-when{text-align:left;grid-area:3/2}}@media (width<=480px){.topbar-brand span{display:none}}
