@font-face{font-family:D-DIN;src:url(/assets/d-din-400-qCGfKCIl.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:D-DIN;src:url(/assets/d-din-700-BwRH26e6.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--brand-black:#2a2929;--brand-orange:#c25939;--brand-teal:#18726e;--brand-red:#a53b3f;--brand-navy:#263e5a;--gray-0:var(--lightningcss-light,#fff)var(--lightningcss-dark,#333131);--gray-50:var(--lightningcss-light,#f6f5f4)var(--lightningcss-dark,#262525);--gray-100:var(--lightningcss-light,#efedeb)var(--lightningcss-dark,#2e2c2c);--gray-150:var(--lightningcss-light,#e8e5e3)var(--lightningcss-dark,#363434);--gray-200:var(--lightningcss-light,#e4e1df)var(--lightningcss-dark,#3a3838);--gray-300:var(--lightningcss-light,#c9c5c2)var(--lightningcss-dark,#4f4c4b);--gray-400:var(--lightningcss-light,#a8a3a0)var(--lightningcss-dark,#6e6a68);--gray-500:var(--lightningcss-light,#847f7c)var(--lightningcss-dark,#918c89);--gray-600:var(--lightningcss-light,#6e6a68)var(--lightningcss-dark,#a8a3a0);--gray-700:var(--lightningcss-light,#5b5858)var(--lightningcss-dark,#c9c5c3);--gray-800:var(--lightningcss-light,#3a3737)var(--lightningcss-dark,#e4e1df);--gray-900:var(--lightningcss-light,#2a2929)var(--lightningcss-dark,#f3f1f0);--bg:var(--lightningcss-light,#f6f5f4)var(--lightningcss-dark,#1e1d1d);--surface:var(--lightningcss-light,#fff)var(--lightningcss-dark,#2a2929);--surface-raised:var(--lightningcss-light,#fff)var(--lightningcss-dark,#333131);--border:var(--lightningcss-light,#e4e1df)var(--lightningcss-dark,#3a3838);--border-strong:var(--lightningcss-light,#c9c5c2)var(--lightningcss-dark,#4f4c4b);--text:var(--lightningcss-light,#2a2929)var(--lightningcss-dark,#f3f1f0);--text-muted:var(--lightningcss-light,#5b5858)var(--lightningcss-dark,#c9c5c3);--text-faint:var(--lightningcss-light,#6e6a68)var(--lightningcss-dark,#a8a3a0);--text-on-accent:var(--accent-contrast);--accent:var(--lightningcss-light,#18726e)var(--lightningcss-dark,#5fb3ac);--accent-hover:var(--lightningcss-light,#135f5b)var(--lightningcss-dark,#74c2bb);--accent-active:var(--lightningcss-light,#0f4f4c)var(--lightningcss-dark,#4fa39c);--accent-contrast:var(--lightningcss-light,#fff)var(--lightningcss-dark,#1e1d1d);--accent-soft:var(--lightningcss-light,#18726e14)var(--lightningcss-dark,#5fb3ac24);--accent-soft-strong:var(--lightningcss-light,#18726e24)var(--lightningcss-dark,#5fb3ac38);--accent-border:var(--lightningcss-light,#18726e59)var(--lightningcss-dark,#5fb3ac66);--danger:var(--lightningcss-light,#a53b3f)var(--lightningcss-dark,#e07a7e);--danger-hover:var(--lightningcss-light,#8a3134)var(--lightningcss-dark,#e8969a);--danger-soft:var(--lightningcss-light,#a53b3f14)var(--lightningcss-dark,#e07a7e24);--success:var(--lightningcss-light,#2f6b4f)var(--lightningcss-dark,#6cbb92);--success-soft:var(--lightningcss-light,#2f6b4f1a)var(--lightningcss-dark,#6cbb9224);--warning:var(--lightningcss-light,#9a4a2e)var(--lightningcss-dark,#e39a7e);--warning-soft:var(--lightningcss-light,#9a4a2e1a)var(--lightningcss-dark,#e39a7e24);--btn-primary-bg:var(--lightningcss-light,#2a2929)var(--lightningcss-dark,#f3f1f0);--btn-primary-ink:var(--lightningcss-light,#fff)var(--lightningcss-dark,#2a2929);--btn-primary-hover:var(--lightningcss-light,#444141)var(--lightningcss-dark,#fff);--sym-black:var(--lightningcss-light,#2a2929)var(--lightningcss-dark,#f3f1f0);--sym-orange:#c25939;--sym-teal:#18726e;--sym-red:#a53b3f;--sym-navy:#263e5a;--shadow-soft:var(--lightningcss-light,#2a292914)var(--lightningcss-dark,#0000004d);--shadow-mid:var(--lightningcss-light,#2a29291a)var(--lightningcss-dark,#00000059);--shadow-deep:var(--lightningcss-light,#2a292929)var(--lightningcss-dark,#00000080);--shadow-sm:0 1px 2px var(--shadow-soft);--shadow-md:0 4px 12px var(--shadow-mid), 0 1px 3px var(--shadow-soft);--shadow-lg:0 14px 36px var(--shadow-deep), 0 2px 8px var(--shadow-soft);--radius-sm:6px;--radius-md:10px;--radius-input:12px;--radius-lg:16px;--radius-full:999px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:28px;--space-7:40px;--sans:"D-DIN", "DIN Alternate", "Bahnschrift", "Roboto Condensed", Arial, sans-serif;--mono:ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:15px;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0}h1,h2,h3,h4{color:var(--text);letter-spacing:-.01em;margin:0;font-weight:700}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--brand-teal);color:#fff}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:38px;padding:0 var(--space-4);border-radius:var(--radius-full);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;white-space:nowrap;font-size:14px;font-weight:700;text-decoration:none;transition:background-color .12s,border-color .12s,color .12s,opacity .12s;display:inline-flex}.btn:hover:not(:disabled){background:var(--gray-100)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn-primary{background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:var(--btn-primary-ink)}.btn-primary:hover:not(:disabled){background:var(--btn-primary-hover);border-color:var(--btn-primary-hover)}.btn-primary:active:not(:disabled){background:var(--btn-primary-hover)}.btn-danger{color:var(--danger);background:0 0;border-color:#0000}.btn-danger:hover:not(:disabled){background:var(--danger-soft)}.btn-danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.btn-danger-solid:hover:not(:disabled){background:var(--danger-hover);border-color:var(--danger-hover)}.btn-ghost{color:var(--text-muted);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--gray-100);color:var(--text)}.btn-sm{height:32px;padding:0 var(--space-3);font-size:13px}.btn-icon{border-radius:var(--radius-full);width:32px;height:32px;padding:0}.btn-block{width:100%}.field{gap:var(--space-1);flex-direction:column;display:flex}.field-label{color:var(--text-faint);text-transform:uppercase;letter-spacing:.08em;font-size:12.5px;font-weight:700}.field-hint{color:var(--text-faint);font-size:12.5px}.input,.select,.textarea{border:1px solid var(--border-strong);background:var(--surface);width:100%;color:var(--text);border-radius:var(--radius-input);padding:7px var(--space-3);font-size:14px;font-family:var(--sans);transition:border-color .12s,box-shadow .12s}.textarea{resize:vertical;line-height:1.5}.input:focus,.select:focus,.textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.input::placeholder,.textarea::placeholder{color:var(--text-faint)}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%), linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);padding-right:var(--space-6);background-position:calc(100% - 16px) calc(50% - 2px),calc(100% - 11px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px}.select:disabled,.input:disabled,.textarea:disabled{opacity:.5;cursor:not-allowed}.checkbox-row{align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:14px;display:flex}.checkbox-row input{width:15px;height:15px;accent-color:var(--accent)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.panel-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.panel-title{color:var(--text);font-size:16px;font-weight:700}.panel-subtitle{color:var(--text-faint);margin-top:2px;font-size:12.5px}.panel-body{padding:var(--space-5);gap:var(--space-4);flex-direction:column;display:flex}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-full);letter-spacing:.02em;background:var(--gray-100);color:var(--text-muted);font-size:11.5px;font-weight:700;display:inline-flex}.badge-accent{background:var(--accent-soft);color:var(--accent)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.empty-state{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);text-align:center;color:var(--text-faint);border:1px dashed var(--border-strong);border-radius:var(--radius-md);flex-direction:column;font-size:14px;display:flex}.empty-state-mark{width:29px;height:33px;color:var(--text-faint);opacity:.7}.empty-state strong{color:var(--text-muted);font-size:14px;font-weight:700}.error-banner{align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--danger-soft);color:var(--danger);border:1px solid #0000;font-size:14px;line-height:1.5;display:flex}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.divider{background:var(--border);border:none;height:1px;margin:0}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.modal-backdrop{padding:var(--space-5);z-index:100;background:#2a292973;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{width:100%;max-width:440px;max-height:calc(100vh - var(--space-7));background:var(--surface-raised);box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.modal-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border)}.modal-title{font-size:15px}.modal-body{padding:var(--space-5);gap:var(--space-4);flex-direction:column;display:flex;overflow-y:auto}.modal-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.modal-wide{max-width:720px}.admin-search{gap:var(--space-2);max-width:420px;display:flex}.admin-table-body{padding:0;overflow-x:auto}.admin-users-table td,.admin-users-table th{white-space:nowrap}.admin-user-cell{white-space:normal;flex-direction:column;gap:2px;display:flex}.admin-user-name{color:var(--text);font-weight:600}.admin-user-email{color:var(--text-faint);font-size:11px}.admin-row-actions{gap:var(--space-2);justify-content:flex-end;display:flex}.admin-pagination{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.admin-pagination-buttons{gap:var(--space-2);display:flex}.admin-grant-form{gap:var(--space-4);flex-direction:column;display:flex}.admin-notice{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--success-soft);color:var(--success);font-size:14px;line-height:1.5}.admin-confirm-value{color:var(--text);overflow-wrap:anywhere;font-weight:600}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-topbar{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:60px;padding:var(--space-2) var(--space-6);border-bottom:1px solid var(--border);background:var(--surface);z-index:10;display:flex;position:sticky;top:0}.app-topbar-left{align-items:center;gap:var(--space-3);min-width:0;display:flex}.app-brand{letter-spacing:-.01em;color:var(--text);white-space:nowrap;font-size:14px;font-weight:700}.brand-mark-link{color:var(--text);flex:none;align-items:center;gap:8px;text-decoration:none;display:inline-flex}.brand-symbol{flex:none;width:24px;height:27px;display:block}.brand-name{letter-spacing:.06em;font-size:21px;font-weight:400;line-height:1}.brand-name b{letter-spacing:-.04em;-webkit-text-stroke:.035em currentColor;margin-left:.1em;font-weight:700}.app-project-name{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.app-switch-project{white-space:nowrap;flex:none}.app-project-name:before{content:"/";margin-right:var(--space-3);color:var(--text-faint)}.app-topbar-right{align-items:center;gap:var(--space-3);display:flex}.theme-toggle{flex:none}.theme-icon{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}@media (width<=720px){.app-topbar{padding:var(--space-2) var(--space-4);flex-wrap:wrap}.app-topbar-left{flex:100%}.app-topbar-right{flex-wrap:wrap;flex:100%;justify-content:flex-end;gap:6px}.app-topbar-right .btn-sm{padding:0 var(--space-2)}.lang-switcher .segmented-btn{padding:0 9px}}.app-layout{gap:var(--space-5);padding:var(--space-5) var(--space-6);flex:1;grid-template-columns:320px 1fr;align-items:start;width:100%;max-width:1600px;margin:0 auto;display:grid}.app-sidebar{gap:var(--space-5);flex-direction:column;display:flex;position:sticky;top:68px}.app-main{gap:var(--space-5);flex-direction:column;min-width:0;display:flex}.app-main-empty{padding:var(--space-7)}.view-workspace{gap:var(--space-5);flex-direction:column;display:flex}@media (width<=1100px){.app-layout{grid-template-columns:1fr}.app-sidebar{position:static}}.create-project-screen{min-height:100vh;padding:var(--space-5);justify-content:center;align-items:center;display:flex}.create-project-card{width:100%;max-width:380px;padding:var(--space-6);gap:var(--space-3);flex-direction:column;display:flex}.create-project-brand{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:700}.create-project-heading{font-size:20px}.auth-screen{justify-content:center;align-items:center;gap:var(--space-5);min-height:100vh;padding:var(--space-5);background:var(--bg);flex-direction:column;display:flex;position:relative;overflow:hidden}.auth-screen-texture{background:url(/assets/texture-2ihP9BEY.svg) 50%/cover no-repeat;height:clamp(48px,8vw,72px);position:absolute;top:0;left:0;right:0}.auth-screen-toggle{top:calc(clamp(48px, 8vw, 72px) + var(--space-4));right:var(--space-4);position:absolute}.auth-screen-brand{margin-top:var(--space-5)}.not-authorized-card{width:100%;max-width:380px;padding:var(--space-6);gap:var(--space-3);text-align:center;flex-direction:column;align-items:center;display:flex}.not-authorized-heading{font-size:20px}.not-authorized-email{color:var(--text-muted);font-size:13px}.not-authorized-email strong{color:var(--text);font-weight:600}.not-authorized-actions{margin-top:var(--space-2);justify-content:center;align-items:center;display:flex}.clerk-missing-screen{min-height:100vh;padding:var(--space-5);text-align:center;color:var(--text-muted);background:var(--bg);justify-content:center;align-items:center;font-size:13px;display:flex}.segmented{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-full);gap:2px;width:fit-content;padding:3px;display:inline-flex}.segmented-btn{height:30px;padding:0 var(--space-4);border-radius:var(--radius-full);color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:13px;font-weight:700;transition:background-color .12s,color .12s}.segmented-btn:hover:not(:disabled){background:var(--gray-100);color:var(--text)}.segmented-btn-active,.segmented-btn-active:hover:not(:disabled){background:var(--accent);color:var(--accent-contrast)}.segmented-btn:disabled{opacity:.4;cursor:not-allowed}.lang-switcher .segmented-btn{height:26px;padding:0 var(--space-3)}.segmented-fluid{width:100%;display:flex}.segmented-fluid .segmented-btn{min-width:0;padding:0 var(--space-2);text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.credits-chip{justify-content:center;align-items:center;gap:var(--space-1);height:32px;line-height:1;font:inherit;padding:0 var(--space-3);border-radius:var(--radius-full);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);cursor:pointer;transition:background-color .12s,border-color .12s;display:inline-flex}.credits-chip:hover{background:var(--accent-soft);border-color:var(--accent-border)}.credits-chip-value{font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.credits-chip-label{color:var(--text-faint);font-size:11px}.credits-ledger-balance{color:var(--text);font-size:13px;font-weight:600}.credits-ledger-body{max-height:360px;overflow-y:auto}.render-cost-preview-insufficient{color:var(--danger)}.asset-color-field{align-items:center;gap:var(--space-3);flex-direction:row}.color-input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);cursor:pointer;background:0 0;width:36px;height:30px;padding:0}.color-input::-webkit-color-swatch-wrapper{padding:2px}.color-input::-webkit-color-swatch{border:none;border-radius:4px}.asset-add-form{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--gray-50);flex-direction:column;display:flex}.asset-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.asset-card{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);display:flex}.asset-card:not(.asset-card-editing){column-gap:var(--space-3);grid-template-rows:auto 1fr;grid-template-columns:56px minmax(0,1fr);align-items:start;row-gap:2px;display:grid}.asset-card:not(.asset-card-editing) .asset-card-body{display:contents}.asset-card:not(.asset-card-editing) .asset-card-thumb{grid-area:1/1/span 2}.asset-card:not(.asset-card-editing) .asset-card-name,.asset-card:not(.asset-card-editing) .asset-card-desc{grid-column:2}.asset-card:not(.asset-card-editing) .asset-card-error,.asset-card:not(.asset-card-editing) .asset-card-actions{grid-column:1/-1}.asset-card-editing{gap:var(--space-3);background:var(--gray-50);flex-direction:column;display:flex}.asset-card-thumb{border-radius:var(--radius-sm);border:2px solid var(--border-strong);background:var(--gray-100);flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:relative;overflow:hidden}.asset-card-thumb img{object-fit:cover;width:100%;height:100%}.asset-card-thumb-empty{color:var(--text-faint);text-align:center;padding:0 4px;font-size:9px}.asset-card-swatch{width:12px;height:12px;position:absolute;bottom:3px;right:3px}.asset-card-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.asset-card-name{color:var(--text);font-size:13px;font-weight:600}.asset-card-desc{color:var(--text-faint);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;display:-webkit-box;overflow:hidden}.asset-card-error{margin:var(--space-1) 0}.asset-card-actions{margin-top:var(--space-1);flex-wrap:wrap;justify-content:flex-end;gap:2px;display:flex}.asset-card-actions .btn-sm{padding:0 var(--space-2)}.asset-card-editing .asset-card-actions{margin-top:0}.views-bar{gap:var(--space-2);flex-direction:column;display:flex}.views-bar-tabs{gap:var(--space-2);padding-bottom:2px;display:flex;overflow-x:auto}.view-tab{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);cursor:pointer;flex-shrink:0;max-width:220px;transition:border-color .12s,box-shadow .12s,background-color .12s;display:flex}.view-tab:hover{background:var(--gray-100)}.view-tab-active{box-shadow:inset 0 0 0 2px var(--accent);border-color:#0000}.view-tab-thumb{border-radius:var(--radius-sm);background:var(--gray-150);flex-shrink:0;width:32px;height:32px;overflow:hidden}.view-tab-thumb img{object-fit:cover;width:100%;height:100%}.view-tab-text{text-align:left;flex-direction:column;min-width:0;display:flex}.view-tab-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.view-tab-meta{color:var(--text-faint);font-size:11px}.view-tab-delete{width:18px;height:18px;color:var(--text-faint);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;line-height:1;display:inline-flex}.view-tab-delete:hover{background:var(--danger-soft);color:var(--danger)}.view-tab-add{color:var(--text-muted);border-style:dashed;font-size:12.5px;font-weight:500}.views-bar-form{align-items:center;gap:var(--space-2);padding:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--gray-50);display:flex}.views-bar-form .input{max-width:220px}.views-bar-error{align-self:flex-start}.render-controls-grid{gap:var(--space-6);flex-wrap:wrap;display:flex}.render-history-body{padding:0;overflow-x:auto}.render-history-table{border-collapse:collapse;width:100%;font-size:12.5px}.render-history-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--text-faint);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);white-space:nowrap;font-size:11px;font-weight:600}.render-history-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);color:var(--text-muted);white-space:nowrap}.render-history-table tbody tr{cursor:pointer;transition:background-color .12s}.render-history-table tbody tr:hover{background:var(--gray-50)}.render-history-table tbody tr:last-child td{border-bottom:none}.render-row-created{align-items:flex-start;gap:var(--space-2);display:flex}.render-row-created-text{flex-direction:column;min-width:0;display:flex}.render-row-arrow{color:var(--accent);font-weight:600;line-height:1.25}.render-row-edit-note{text-overflow:ellipsis;max-width:260px;color:var(--text-faint);font-size:11.5px;overflow:hidden}.render-row-selected{background:var(--accent-soft)}.render-row-selected td{color:var(--text)}.render-row-selected td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.inventory-textarea{min-height:160px}.notif-root{position:relative}.notif-bell{border-radius:var(--radius-full);border:1px solid var(--border-strong);background:var(--surface);width:32px;height:32px;color:var(--text);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:background-color .12s,border-color .12s;display:inline-flex;position:relative}.notif-bell:hover,.notif-bell[aria-expanded=true]{background:var(--accent-soft);border-color:var(--accent-border)}.notif-bell:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.notif-bell-active{border-color:var(--accent-border);color:var(--accent)}.notif-bell-active:after{content:"";border-radius:var(--radius-full);border:2px solid var(--accent);opacity:0;pointer-events:none;animation:1.8s ease-out infinite notif-pulse;position:absolute;inset:-4px}@keyframes notif-pulse{0%{opacity:.45;transform:scale(.85)}to{opacity:0;transform:scale(1.15)}}.notif-badge{box-sizing:border-box;border-radius:var(--radius-full);background:var(--accent);min-width:18px;height:18px;color:var(--text-on-accent);border:2px solid var(--surface);text-align:center;font-variant-numeric:tabular-nums;padding:0 3px;font-size:10px;font-weight:700;line-height:14px;position:absolute;top:-6px;right:-6px}.notif-panel{top:calc(100% + var(--space-2));z-index:30;width:min(380px, calc(100vw - 2 * var(--space-4)));background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-lg);max-height:min(520px,100vh - 80px);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:absolute;right:0;overflow:hidden}.notif-panel-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);display:flex}.notif-panel-body{flex:1;min-height:0;overflow-y:auto}.notif-section{padding:var(--space-3) var(--space-4) var(--space-1);letter-spacing:.04em;text-transform:uppercase;color:var(--text-faint);margin:0;font-size:11px;font-weight:600}.notif-list{padding:var(--space-1) 0;margin:0;list-style:none}.notif-row{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);color:inherit;text-decoration:none;display:flex}.notif-row:hover{background:var(--accent-soft)}.notif-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.notif-row-unread .notif-row-title{font-weight:700}.notif-row-icon{flex:none;width:16px;height:16px;display:inline-flex}.notif-row-icon-done{color:var(--success)}.notif-row-icon-failed{color:var(--danger)}.notif-row-text{flex-direction:column;flex:1;min-width:0;display:flex}.notif-row-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.notif-row-meta{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.notif-row-side{align-items:center;gap:var(--space-2);flex:none;display:flex}.notif-row-time{color:var(--text-faint);white-space:nowrap;font-size:11px}.notif-dot{border-radius:var(--radius-full);background:var(--accent);width:8px;height:8px}.notif-empty{align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-4);color:var(--text-muted);display:flex}.notif-empty-stack{align-items:flex-start;gap:var(--space-1);flex-direction:column}.notif-empty-stack strong{color:var(--text)}.notif-desktop{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);background:var(--bg);color:var(--text-muted);font-size:12px;display:flex}@media (width<=720px){.notif-root{position:static}.notif-panel{left:var(--space-4);right:var(--space-4);width:auto}}.notif-toasts{right:var(--space-5);bottom:var(--space-5);z-index:40;gap:var(--space-2);width:min(340px, calc(100vw - 2 * var(--space-4)));pointer-events:none;flex-direction:column;display:flex;position:fixed}.notif-toast{pointer-events:auto;background:var(--surface-raised);border:1px solid var(--border);border-left:3px solid var(--success);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);align-items:stretch;animation:.18s ease-out notif-toast-in;display:flex}.notif-toast-failed{border-left-color:var(--danger)}.notif-toast-done .notif-row-icon{color:var(--success)}.notif-toast-failed .notif-row-icon{color:var(--danger)}.notif-toast-main{align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-3) var(--space-4);font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-md);background:0 0;border:0;flex:1;display:flex}.notif-toast-main:hover{background:var(--accent-soft)}.notif-toast-main:focus-visible,.notif-toast-close:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.notif-toast-close{width:28px;height:28px;margin:var(--space-1);border-radius:var(--radius-sm);color:var(--text-faint);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-self:flex-start;align-items:center;display:inline-flex}.notif-toast-close:hover{background:var(--accent-soft);color:var(--text)}@keyframes notif-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.notif-bell-active:after{opacity:.35;animation:none;transform:none}.notif-toast{animation:none}}.picker-screen{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.picker-topbar{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:60px;padding:var(--space-2) var(--space-6);border-bottom:1px solid var(--border);background:var(--surface);display:flex;position:relative}@media (width<=720px){.picker-topbar{padding:var(--space-2) var(--space-4);flex-wrap:wrap}}.picker-main{width:100%;max-width:900px;padding:var(--space-7) var(--space-6);gap:var(--space-5);flex-direction:column;margin:0 auto;display:flex}.picker-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.picker-tabs{align-self:flex-start}.picker-heading{margin-bottom:var(--space-1);font-size:30px;font-weight:400;line-height:1.15}.picker-create-card{padding:var(--space-5);gap:var(--space-4);flex-direction:column;max-width:460px;display:flex}.picker-create-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.picker-status{align-items:center;gap:var(--space-3);padding:var(--space-5);color:var(--text-muted);display:flex}.picker-status-error{color:var(--text)}.picker-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.picker-card{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;flex-direction:column;padding:0;transition:border-color .12s,box-shadow .12s,transform .12s;display:flex;position:relative;overflow:hidden}.picker-card:hover:not(:disabled){border-color:var(--border-strong);box-shadow:var(--shadow-sm,0 2px 8px #00000014);transform:translateY(-1px)}.picker-card:disabled{cursor:default;opacity:.7}.picker-card-thumb{aspect-ratio:16/10;background:var(--gray-100);border-bottom:1px solid var(--border);display:block;overflow:hidden}.picker-card-thumb img{object-fit:cover;width:100%;height:100%;display:block}.picker-card-thumb-empty{width:100%;height:100%;color:var(--text-faint);justify-content:center;align-items:center;font-size:12px;display:flex}.picker-card-body{gap:var(--space-1);padding:var(--space-4);flex-direction:column;display:flex}.picker-card-name{color:var(--text);font-weight:600}.picker-card-meta{color:var(--text-muted);font-size:12px}.picker-card-time{color:var(--text-faint);font-size:12px}.picker-card-spinner{top:var(--space-3);right:var(--space-3);position:absolute}.picker-card-delete{top:var(--space-2);right:var(--space-2);background:var(--surface);border:1px solid var(--border);width:24px;height:24px;color:var(--text-faint);z-index:1;border-radius:50%;justify-content:center;align-items:center;font-size:16px;line-height:1;display:inline-flex;position:absolute}.picker-card-delete:hover{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}.tour-ring{z-index:90;pointer-events:none;border:2px solid var(--accent);border-radius:var(--radius-md);box-shadow:0 0 0 4px var(--accent-soft-strong);transition:top .22s,left .22s,width .22s,height .22s;position:fixed}.tour-card{z-index:91;width:min(320px,100vw - 32px);padding:var(--space-4);background:var(--surface-raised);border:1px solid var(--border-strong);box-shadow:var(--shadow-lg);gap:var(--space-2);flex-direction:column;transition:top .22s,left .22s;display:flex;position:fixed}.tour-card-step{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:700}.tour-card-title{color:var(--text);font-size:16px;font-weight:700}.tour-card-body{color:var(--text-muted);margin:0;font-size:14px}.tour-card-footer{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-2);display:flex}.tour-card-actions{gap:var(--space-1);display:flex}.tour-dots{gap:5px;display:flex}.tour-dot{border-radius:var(--radius-full);background:var(--border-strong);width:6px;height:6px;transition:width .22s,background .22s}.tour-dot-active{background:var(--accent);width:16px}.tour-arrow{background:var(--surface-raised);border:1px solid var(--border-strong);width:12px;height:12px;position:absolute;transform:translate(-50%,-50%)rotate(45deg)}.tour-card-bottom .tour-arrow{border-bottom:none;border-right:none;top:0}.tour-card-top .tour-arrow{border-top:none;border-left:none;top:100%}.tour-card-right .tour-arrow{border-top:none;border-right:none;left:0}.tour-card-left .tour-arrow{border-bottom:none;border-left:none;left:100%}.tour-welcome-mark{width:36px;height:41px}.tour-welcome-body{color:var(--text-muted);margin:0}@media (prefers-reduced-motion:reduce){.tour-ring,.tour-card,.tour-dot{transition:none}}.tour-card-footer-end{justify-content:flex-end}.mask-editor{flex-direction:column;display:flex;overflow:hidden}.mask-toolbar{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border);background:var(--gray-50);flex-wrap:wrap;display:flex}.mask-toolbar-group{align-items:center;gap:var(--space-2);display:flex}.mask-toolbar-slider{gap:var(--space-2)}.mask-toolbar-slider input[type=range]{width:100px;accent-color:var(--accent)}.mask-toolbar-label{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:500}.mask-toolbar-value{color:var(--text-faint);font-variant-numeric:tabular-nums;min-width:34px;font-size:12px}.mask-toolbar-spacer{flex:1}.mask-toolbar-saving{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:12px;display:inline-flex}.tool-btn{align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-3);border-radius:var(--radius-full);border:1px solid var(--border-strong);background:var(--surface);color:var(--text-muted);cursor:pointer;font-size:12.5px;font-weight:500;transition:all .12s;display:inline-flex}.tool-btn:hover:not(:disabled){color:var(--text);background:var(--gray-100)}.tool-btn-active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent)}.tool-btn:disabled{opacity:.45;cursor:not-allowed}.mask-editor-error{margin:var(--space-3) var(--space-5) 0;justify-content:space-between;align-items:center}.mask-editor-body{gap:var(--space-5);padding:var(--space-5);align-items:flex-start;display:flex}.mask-editor-canvas-col{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.mask-canvas-viewport{border:1px solid var(--border);border-radius:var(--radius-md);background:repeating-conic-gradient(var(--gray-100) 0% 25%, var(--gray-50) 0% 50%) 50% / 20px 20px;height:min(60vh,620px);min-height:360px;display:flex;position:relative;overflow:auto}.mask-canvas-scroll{flex-shrink:0;margin:auto;display:flex}.mask-stage{box-shadow:var(--shadow-md);cursor:crosshair;border-radius:2px}.mask-stage.tool-disabled{cursor:default}.mask-canvas-status{justify-content:center;align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:13px;display:flex;position:absolute;inset:0}.mask-canvas-status-error{color:var(--danger)}.mask-editor-hint{text-align:center}.mask-editor-list-col{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--gray-50);flex-shrink:0;width:280px;max-height:min(60vh,620px);overflow-y:auto}.masks-empty{margin:var(--space-3);border:none}.masks-list{padding:var(--space-2);gap:var(--space-1);flex-direction:column;margin:0;list-style:none;display:flex}.mask-row{align-items:center;column-gap:var(--space-2);row-gap:var(--space-2);text-align:left;width:100%;padding:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #0000;grid-template-columns:14px 1fr auto;grid-template-areas:"swatch text actions""swatch select select";transition:background-color .12s,border-color .12s;display:grid}.mask-row:hover{background:var(--gray-100)}.mask-row-selected{background:var(--accent-soft);border-color:var(--accent-border)}.mask-swatch{border-radius:3px;grid-area:swatch;align-self:start;width:12px;height:12px;margin-top:3px;box-shadow:0 0 0 1px #0000001f}.mask-row-text{flex-direction:column;grid-area:text;min-width:0;display:flex}.mask-row-title{color:var(--text);font-size:12.5px;font-weight:600}.mask-row-subtitle{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.mask-row-actions{grid-area:actions;gap:2px;display:flex}.mask-row-select{height:26px;padding:2px var(--space-6) 2px var(--space-2);background-position:calc(100% - 10px) calc(50% - 1px),calc(100% - 6px) calc(50% - 1px);grid-area:select;font-size:11.5px}@media (width<=900px){.mask-editor-body{flex-direction:column}.mask-editor-list-col{width:100%;max-height:260px}}.edit-region-editor .mask-editor-list-col{width:320px}.edit-region-row{gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;flex-direction:column;transition:background-color .12s,border-color .12s;display:flex}.edit-region-row:hover{background:var(--gray-100)}.edit-region-row.mask-row-selected{background:var(--accent-soft);border-color:var(--accent-border)}.edit-region-row-head{align-items:center;gap:var(--space-2);display:flex}.edit-region-row-head .mask-swatch{flex-shrink:0;margin-top:0}.edit-region-row-head .btn{margin-left:auto}.edit-region-hint,.edit-region-ok{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11.5px;overflow:hidden}.edit-region-hint{color:var(--warning)}.edit-region-ok{color:var(--success)}.edit-region-textarea{resize:vertical;min-height:72px;font-size:12.5px}.edit-footer{gap:var(--space-3);padding:var(--space-4) var(--space-5) var(--space-5);border-top:1px solid var(--border);flex-direction:column;display:flex}@media (width<=900px){.edit-region-editor .mask-editor-list-col{width:100%}}.result-header{gap:var(--space-3);flex-wrap:wrap}.result-header-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.compare-frame{border-radius:var(--radius-md);background:var(--gray-100);border:1px solid var(--border);cursor:ew-resize;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;max-height:70vh;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.compare-layer{position:absolute;inset:0}.compare-layer img{object-fit:contain;background:var(--gray-900);pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.compare-tag{top:var(--space-3);padding:3px var(--space-3);border-radius:var(--radius-full);color:#fff;letter-spacing:.04em;text-transform:uppercase;pointer-events:none;background:#2a2929a6;font-size:11px;font-weight:600;transition:opacity .15s;position:absolute}.compare-tag-before{left:var(--space-3)}.compare-tag-after{right:var(--space-3)}.compare-divider{pointer-events:none;background:#fff;width:2px;position:absolute;top:0;bottom:0;transform:translate(-1px);box-shadow:0 0 0 1px #00000040}.compare-handle{width:32px;height:32px;color:var(--gray-800);box-shadow:var(--shadow-md);pointer-events:auto;cursor:ew-resize;background:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.compare-handle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.metrics-panel{gap:var(--space-4);flex-direction:column;display:flex}.metrics-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:0;display:grid}.metric-item{padding:var(--space-3);background:var(--gray-50);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;gap:2px;display:flex}.metric-item dt{text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint);font-size:11px;font-weight:600}.metric-item dd{color:var(--text);font-variant-numeric:tabular-nums;margin:0;font-size:14px;font-weight:600}.preservation-report{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--gray-50);flex-direction:column;display:flex}.preservation-header{justify-content:space-between;align-items:center;display:flex}.asset-colors{gap:var(--space-2);flex-direction:column;display:flex}.asset-colors ul{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.asset-colors li{color:var(--text);justify-content:space-between;font-size:14px;display:flex}.asset-color-distance{font-variant-numeric:tabular-nums;font-weight:600}
