/* built file - edit the source and run make_assets.py */
:root{--bg:#fff5f5;--panel:#fff;--text:#2a1a1c;--muted:#8a7276;--line:#f0dfe0;--purple:#a80d1a;--blue:#e0303c;--soft:#fff0f0;--danger:#b42030}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 Arial,sans-serif}main{width:min(760px,calc(100% - 32px));margin:48px auto 80px}.title{margin-bottom:28px}.title h1{font-size:28px;margin:0 0 6px}.title p{color:var(--muted);margin:0}.steps{display:flex;gap:8px;margin-bottom:16px}.steps span{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:13px}.steps span:not(:last-child):after{content:"";width:35px;height:1px;background:var(--line);margin-left:8px}.steps i{font-style:normal;width:24px;height:24px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}.steps .active{color:var(--red);font-weight:700}.steps .active i,.steps .done i{background:var(--red);border-color:var(--red);color:#fff}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:24px;margin-bottom:16px;box-shadow:0 2px 8px #3322220a}.panel h2{font-size:18px;margin:0 0 20px}.drop{display:flex;min-height:150px;border:2px dashed #ead0d0;border-radius:8px;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;background:#fffafa;transition:.15s}.drop:hover,.drop.dragging{border-color:var(--red);background:var(--soft)}.drop input{position:absolute;opacity:0;width:1px;height:1px}.drop strong{color:var(--red)}.drop small,label small,.file-card small,.scanning small{display:block;color:var(--muted);margin-top:4px}.file-card,.scanning{display:flex;align-items:center;gap:12px;background:#fdf8f8;border:1px solid var(--line);border-radius:7px;padding:12px;margin-top:12px}.file-card>b{font-size:11px;color:var(--red);background:var(--soft);border-radius:4px;padding:7px}.file-card p,.scanning p{margin:0;flex:1}.file-card button{border:0;background:none;color:var(--red);cursor:pointer}.scanning>i{width:20px;height:20px;border:2px solid var(--line);border-top-color:var(--red);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#candidate-area{margin-top:18px}.candidate-head{display:flex;justify-content:space-between;margin-bottom:8px}.candidate-head span{color:var(--muted);font-size:12px}.candidate{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:7px;padding:11px;margin-top:7px;cursor:pointer}.candidate:has(input:checked){border-color:var(--red);background:var(--soft)}.candidate input{width:auto;accent-color:var(--red)}.candidate p{margin:0;flex:1}.candidate small{display:block;color:var(--muted)}.candidate>span{font-size:11px;color:var(--red)}.locked{opacity:.5;pointer-events:none}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.grid label>span{display:block;font-weight:700;margin-bottom:6px}.grid label b{font-size:10px;text-transform:uppercase;color:var(--muted);margin-left:4px}input,select,textarea,.field-button{width:100%;background:#fff;border:1px solid #e3d2d2;border-radius:6px;color:var(--text);font:inherit;padding:10px 11px;outline:none}input:focus,select:focus,textarea:focus,.field-button:focus{border-color:var(--red);box-shadow:0 0 0 3px #a80d1a18}details{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}summary{font-weight:700;cursor:pointer}.toggles{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:16px 0 4px}.toggles label{display:flex;align-items:center;gap:9px}.toggles input{display:none}.toggles label>i{width:34px;height:19px;flex:0 0 auto;border-radius:12px;background:#d7c8c9;position:relative}.toggles label>i:after{content:"";position:absolute;width:13px;height:13px;border-radius:50%;background:#fff;left:3px;top:3px;transition:.15s}.toggles input:checked+i{background:linear-gradient(90deg,var(--red),var(--red))}.toggles input:checked+i:after{left:18px}.toggles p{margin:0}.toggles small{margin:0}.primary{margin-top:24px;border:0;border-radius:6px;background:linear-gradient(90deg,var(--red),var(--red));color:#fff;font-weight:700;padding:11px 18px;cursor:pointer}.primary:hover{filter:brightness(1.08)}.primary:disabled{background:#d2c3c4;cursor:not-allowed}.result p{color:var(--muted)}.stats{display:flex;gap:18px;background:#fdf8f8;border:1px solid var(--line);border-radius:6px;padding:12px;margin:18px 0}.stats b{color:var(--red)}.result .primary{margin:0}.secondary{border:0;background:none;color:var(--red);margin-left:10px;cursor:pointer}.toast{position:fixed;right:20px;bottom:20px;background:#fff0f1;border:1px solid #e8a4a8;color:var(--danger);border-radius:7px;padding:12px 15px;max-width:380px;box-shadow:0 5px 20px #0002}[hidden]{display:none!important}@media(max-width:600px){main{margin-top:28px}.grid,.toggles{grid-template-columns:1fr}.steps span{font-size:0}.steps i{font-size:12px}.panel{padding:18px}.stats{flex-wrap:wrap}.secondary{display:block;margin:12px 0 0}}.combo{position:relative}.combo input[type=text]{width:100%}.combo-list{position:absolute;top:calc(100% - 18px);left:0;right:0;z-index:30;max-height:280px;overflow-y:auto;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.18);padding:4px}.combo-item{display:grid;grid-template-columns:1fr auto;grid-template-areas:"label group" "hash group";gap:0 10px;width:100%;text-align:left;background:none;border:0;border-radius:7px;padding:7px 10px;cursor:pointer;font:inherit;color:var(--text)}.combo-item strong{grid-area:label;font-size:13px;font-weight:600}.combo-item span{grid-area:hash;font-size:11px;color:var(--muted);font-family:ui-monospace,Consolas,monospace}.combo-item em{grid-area:group;align-self:center;font-style:normal;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--soft);border-radius:20px;padding:2px 8px}.combo-item:hover,.combo-item.active{background:var(--soft)}.combo-item.active{outline:1px solid var(--red)}.combo-empty{margin:0;padding:12px;color:var(--muted);font-size:13px;text-align:center}.overrides{border-top:1px dashed var(--line);margin-top:22px;padding-top:16px}.overrides h3{margin:0 0 4px;font-size:14px}.overrides p{margin:0 0 16px;color:var(--muted);font-size:12.5px;max-width:60ch}.overrides input::placeholder{font-style:italic;opacity:.75}.customer-preview{grid-column:1/-1;margin:0;font-size:12.5px;color:var(--muted);font-family:ui-monospace,Consolas,monospace}.customer-preview b{color:var(--red);font-weight:600}.derived{margin:14px 0 0;font-size:12.5px;color:var(--muted)}.derived:empty{display:none}.derived b{color:var(--red);font-weight:600}.console{margin:18px 0 4px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--soft)}.console-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid var(--line);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.console-bar button{background:none;border:1px solid var(--line);border-radius:6px;padding:3px 10px;font:inherit;font-size:11px;color:var(--muted);cursor:pointer}.console-bar button:hover{color:var(--text);border-color:var(--red)}.console ol{list-style:none;counter-reset:line;margin:0;padding:8px 0;max-height:320px;overflow-y:auto;font-family:ui-monospace,Consolas,monospace;font-size:12px;line-height:1.65}.console li{counter-increment:line;display:grid;grid-template-columns:38px 1fr;gap:8px;padding:1px 12px}.console li:before{content:counter(line);color:var(--muted);opacity:.55;text-align:right}.console li.err span{color:var(--danger)}.console li.warn span{color:#c98a1a}.console li.ok span{color:var(--text)}.console li span{white-space:pre-wrap;word-break:break-word}.modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:rgba(14,8,9,.55);padding:20px}.modal-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:24px;width:min(520px,100%);box-shadow:0 24px 60px rgba(0,0,0,.3)}.modal-card h2{margin:0 0 8px;font-size:18px}.modal-card>p{margin:0 0 14px;color:var(--muted);font-size:13.5px}.modal-card ul{margin:0 0 14px;padding:0;list-style:none;font-family:ui-monospace,Consolas,monospace;font-size:12.5px}.modal-card li{display:flex;justify-content:space-between;gap:12px;padding:6px 10px;background:var(--soft);border-radius:7px;margin-bottom:5px}.modal-card li b{color:var(--danger);font-weight:600}.modal-note{font-size:12px;color:var(--muted);margin:0 0 18px}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.modal-actions button{width:auto;padding:9px 18px}.activity{position:fixed;right:18px;bottom:18px;z-index:50;display:flex;flex-direction:column;gap:8px;align-items:flex-end;pointer-events:none;max-width:min(380px,calc(100vw - 36px))}.activity div{background:var(--panel);border:1px solid color-mix(in srgb,var(--red) 45%,var(--line));border-radius:9px;padding:9px 13px;font-size:12.5px;animation:slide .22s ease-out;max-width:100%}.activity div.done{border-left-color:#2fa36b}.activity div b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:700;margin-bottom:2px}.activity div span{display:block;color:var(--text);word-break:break-word}@keyframes slide{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.activity div{animation:none}}.toggles label.plain{display:block}.toggles label.plain>span{display:block;font-weight:700;margin-bottom:6px}.toggles label.plain select{width:100%}.toggles label.plain small{display:block;color:var(--muted);margin-top:5px}.tabs{display:flex;gap:4px;margin:0 0 14px;border-bottom:1px solid var(--line)}.tabs button{border:0;background:transparent;color:var(--muted);font:inherit;font-weight:700;font-size:13.5px;padding:9px 16px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button:hover{color:var(--text)}.tabs button.active{color:var(--red);border-bottom-color:var(--red)}.livery-intro{margin:0 0 16px;font-size:12.5px;color:var(--muted)}#livery-preview{margin-top:16px}#livery-preview .preview-stage{height:420px;min-height:200px;max-height:85vh;resize:vertical;overflow:auto}.livery-watch{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.livery-watch button{border:1px solid var(--line);background:transparent;color:var(--text);border-radius:6px;font:inherit;font-size:12.5px;font-weight:600;padding:6px 12px;cursor:pointer}.livery-watch button:hover{border-color:var(--red);color:var(--red)}.livery-watch button[disabled]{opacity:.5;cursor:not-allowed}.livery-watch .watching{color:var(--red);border-color:var(--red)}.watch-state{font-size:12px;color:var(--muted)}.watch-state b{color:var(--red);font-weight:600}.watch-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:6px;vertical-align:middle;animation:watch-pulse 1.6s ease-in-out infinite}@keyframes watch-pulse{0%,100%{opacity:1}50%{opacity:.25}}#livery-uv{margin-top:14px}.preview{margin:14px 0 0;border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:var(--soft)}.preview-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.preview-head strong{font-size:13px}.preview-head span{flex:1;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.preview-head button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:6px;font:inherit;font-size:12px;padding:3px 10px;cursor:pointer}.preview-head button:hover{color:var(--text)}.preview-stage{position:relative;height:280px;border-radius:8px;overflow:hidden;background:radial-gradient(circle at 50% 42%,rgba(190,135,138,.16),transparent 68%)}.preview-stage canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}.preview-stage canvas:active{cursor:grabbing}.preview-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;margin:0;font-size:12.5px;color:var(--muted);text-align:center;padding:0 16px}.preview-status[hidden]{display:none}.preview>small{display:block;margin-top:8px;color:var(--muted);font-size:11.5px}.progress{margin:14px 0 0}.progress-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;font-size:12.5px}.progress-head strong{font-weight:700}.progress-head span{color:var(--muted);font-variant-numeric:tabular-nums}.progress-track{height:6px;border-radius:99px;background:var(--soft);overflow:hidden}.progress-track>i{display:block;height:100%;width:0;border-radius:99px;background:var(--red);transition:width .35s ease}.progress-track.indeterminate>i{width:35%;animation:progress-slide 1.1s ease-in-out infinite}@keyframes progress-slide{0%{margin-left:-35%}100%{margin-left:100%}}.weapons{margin:18px 0 0;border:1px solid color-mix(in srgb,var(--red) 45%,var(--line));border-radius:10px;padding:14px 16px;background:var(--soft)}.weapons-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:6px}.weapons-head h3{margin:0;font-size:14px}.weapons-tier{flex:0 0 200px}.weapons-tier>span{display:block;font-weight:700;margin-bottom:4px;font-size:12.5px}.weapons-copy{margin:0 0 12px;font-size:12.5px;color:var(--muted)}.weapon-slot{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px;align-items:center}.weapon-slot>b{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}.weapon-slot small{display:block;color:var(--muted);font-family:ui-monospace,Consolas,monospace;font-size:11.5px;margin-top:2px;word-break:break-all}.weapons-empty{margin:8px 0 0;font-size:12.5px;color:var(--muted);font-style:italic}@media(max-width:600px){.weapons-head{flex-direction:column;align-items:stretch}.weapons-tier{flex:1}.weapon-slot{grid-template-columns:1fr}}.advisory{margin:18px 0 0;border:1px solid color-mix(in srgb,#c98a1a 50%,var(--line));border-radius:10px;padding:14px 16px;background:var(--soft)}.advisory h3{margin:0 0 4px;font-size:14px;display:flex;align-items:center;gap:8px}.advisory h3 span{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#c98a1a;color:#fff;font-size:12px;font-weight:700;flex:none}.advisory>p{margin:0 0 10px;font-size:12.5px;color:var(--muted)}.advisory ul{margin:0;padding:0;list-style:none;font-size:12.5px;line-height:1.6}.advisory li{padding:3px 0 3px 14px;position:relative;word-break:break-word}.advisory li:before{content:"";position:absolute;left:2px;top:11px;width:4px;height:4px;border-radius:50%;background:#c98a1a}.advisory li b{font-family:ui-monospace,Consolas,monospace;font-weight:600}.upload-divider{display:flex;align-items:center;gap:10px;margin:15px 0;color:var(--muted);font-size:11px;text-transform:uppercase}.upload-divider:before,.upload-divider:after{content:"";height:1px;background:var(--line);flex:1}.url-import>label{display:block;font-weight:700;margin-bottom:6px}.url-import>div{display:flex;gap:8px}.url-import textarea{flex:1;min-width:0;resize:none;white-space:pre;overflow-x:auto;overflow-y:hidden}.url-import>div{align-items:flex-start}.url-import button{align-self:stretch}.url-import button{flex:none;border:0;border-radius:6px;background:var(--soft);color:var(--red);font:inherit;font-weight:700;padding:0 16px;cursor:pointer}.url-import button:hover{filter:brightness(1.08)}.url-import button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:600px){.url-import button{padding:0 12px}}.app-shell{width:min(1180px,calc(100% - 40px));margin:32px auto 72px;display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start}.sidebar{position:sticky;top:24px;display:flex;flex-direction:column;min-height:calc(100vh - 48px);padding:18px 14px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:none}.sidebar .title{margin:2px 8px 24px}.sidebar .title h1{font-size:17px;line-height:1.25}.sidebar .title p{font-size:11.5px;margin-top:5px}.portal-content{min-width:0}.tabs{display:flex;flex-direction:column;gap:5px;margin:0;border:0}.tabs button{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;margin:0;padding:10px 12px;border:0;border-left:3px solid transparent;border-radius:8px;text-align:left}.tabs button span{font-size:13.5px}.tabs button small{font-size:10.5px;font-weight:400;color:var(--muted)}.tabs button:hover{background:var(--soft)}.tabs button.active{color:var(--red);border-left-color:var(--red);background:var(--soft)}.tabs button.active small{color:var(--text);opacity:.72}.side-user{display:grid;grid-template-columns:34px minmax(0,1fr);gap:9px;align-items:center;margin-top:auto;padding:15px 7px 2px;border-top:1px solid var(--line)}.side-user img{width:34px;height:34px;border-radius:50%;object-fit:cover;background:var(--soft)}.side-user>div{min-width:0}.side-user strong,.side-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-user strong{font-size:12.5px}.side-user small{font-size:10px;color:var(--muted)}.side-user:has(img[hidden]){grid-template-columns:minmax(0,1fr)}.side-user button{grid-column:1/-1;width:100%;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--muted);font:inherit;font-size:11px;padding:6px 8px;cursor:pointer}.side-user button:hover{color:var(--text);border-color:var(--red)}.auth-pending .tabs,.auth-pending .side-user,.auth-pending .portal-content{visibility:hidden}.admin-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:4px}.admin-heading h2{margin-bottom:5px}.admin-heading .livery-intro{margin-bottom:0}.admin-refresh{border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--red);font:inherit;font-weight:700;font-size:12px;padding:7px 12px;cursor:pointer}.admin-refresh:hover{border-color:var(--red);background:var(--soft)}#admin-state{margin:14px 0}.admin-user{border:1px solid var(--line);border-radius:10px;padding:15px;margin-top:12px;background:color-mix(in srgb,var(--soft) 46%,transparent)}.admin-user-head{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center}.admin-user-head img,.admin-avatar-fallback{width:38px;height:38px;border-radius:50%;background:var(--soft)}.admin-avatar-fallback{display:grid;place-items:center;color:var(--red);font-weight:800}.admin-user-name strong,.admin-user-name small{display:block}.admin-user-name strong{font-size:13.5px}.admin-user-name small{font-size:10.5px;color:var(--muted);font-family:ui-monospace,Consolas,monospace}.admin-save-state{font-size:11px;color:var(--muted)}.permission-templates{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0}.permission-templates button{border:1px solid var(--line);border-radius:99px;background:transparent;color:var(--text);font:inherit;font-size:11px;font-weight:700;padding:5px 10px;cursor:pointer}.permission-templates button:hover{border-color:var(--red);background:var(--soft)}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.permission-option{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:start;border:1px solid var(--line);border-radius:8px;padding:9px;background:var(--panel);cursor:pointer}.permission-option:hover{border-color:var(--red)}.permission-option input{width:15px;height:15px;margin:2px 0 0;accent-color:var(--red)}.permission-option strong,.permission-option small{display:block}.permission-option strong{font-size:11.5px;font-family:ui-monospace,Consolas,monospace}.permission-option small{margin:2px 0 0;font-size:10.5px;line-height:1.35;color:var(--muted)}.permission-option:has(input:checked){border-color:color-mix(in srgb,var(--red) 62%,var(--line));background:var(--soft)}.permission-option.is-protected{opacity:.65;cursor:not-allowed}.permission-option.is-protected input{cursor:not-allowed}.access-empty{margin:14px 0 0;padding:12px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:12px;background:var(--soft)}@media(max-width:880px){.app-shell{display:block;width:min(760px,calc(100% - 28px));margin-top:20px}.sidebar{position:static;min-height:0;margin-bottom:18px;padding:14px}.sidebar .title{margin:0 4px 13px}.tabs{flex-direction:row;overflow-x:auto;padding-bottom:2px}.tabs button{min-width:145px;border-left:0;border-bottom:3px solid transparent}.tabs button.active{border-left:0;border-bottom-color:var(--red)}.side-user{grid-template-columns:30px minmax(0,1fr) auto;margin-top:12px;padding:12px 4px 0}.side-user img{width:30px;height:30px}.side-user button{grid-column:auto;width:auto}.permission-grid{grid-template-columns:1fr}}.gate{display:flex;align-items:center;justify-content:center;width:100%;min-height:100vh;margin:0;padding:32px 16px}.gate-card{width:min(520px,100%);background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:32px;box-shadow:0 8px 32px #33222214}.gate-login-only .gate-card{width:min(420px,100%)}.gate-login-only .gate-btn{display:block;width:max-content;margin:0 auto;padding:12px 22px}.gate-wide .gate-card{width:min(640px,100%)}.gate-card .title{margin-bottom:24px}.gate-card .title h1{font-size:22px}.gate-card h2{font-size:17px;margin:0 0 8px}.gate-card>p{color:var(--muted);font-size:13.5px;margin:0 0 20px}.gate-btn{display:inline-block;text-decoration:none;text-align:center;margin:0}.discord-btn{background:linear-gradient(90deg,#a80d1a,#e01d2b)}.gate-note{margin:18px 0 0;font-size:12px;color:var(--muted)}.gate-note a{color:var(--red)}.setup-steps{margin:0 0 24px;padding-left:20px;font-size:13px;color:var(--muted);line-height:1.7}.setup-steps b{color:var(--text)}.setup-steps a{color:var(--red)}.setup-redirect{display:block;margin-top:6px;padding:8px 10px;background:var(--soft);border-radius:6px;color:var(--red);font-family:ui-monospace,Consolas,monospace;font-size:12px;word-break:break-all}.setup-form{display:flex;flex-direction:column;gap:18px}.setup-form>label>span{display:block;font-weight:700;margin-bottom:6px}.setup-form textarea{resize:vertical;font-family:ui-monospace,Consolas,monospace;font-size:12.5px}.setup-form input:disabled,.setup-form textarea:disabled{background:var(--soft);color:var(--muted);cursor:not-allowed}.setup-form .primary{margin-top:4px}.setup-state{margin:0;font-size:12.5px;color:var(--muted);min-height:1.2em}.setup-state.ok{color:var(--red)}.setup-state.err{color:var(--danger)}.admin-actions{display:flex;gap:8px;align-items:center}.admin-actions a.admin-refresh{text-decoration:none;display:inline-flex;align-items:center}.owner-badge{display:inline-block;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#fff;background:linear-gradient(90deg,var(--red),var(--red));border-radius:20px;padding:2px 8px;vertical-align:middle}.admin-user.is-owner{border-color:var(--red)}.owner-defaults{border:1px solid color-mix(in srgb,var(--red) 45%,var(--line));border-radius:10px;padding:14px 16px;margin-bottom:18px;background:var(--soft)}.owner-defaults h3{margin:0 0 4px;font-size:14px;display:flex;align-items:center;gap:8px}.owner-defaults>p{margin:0 0 12px;font-size:12.5px;color:var(--muted)}.setup-vars{margin:0 0 18px;padding-left:20px;font-size:13px;line-height:1.9}.setup-vars code{background:var(--soft);color:var(--red);border-radius:4px;padding:2px 7px;font-family:ui-monospace,Consolas,monospace;font-size:12px}#livery-artwork-label .watch-state{margin-top:6px}.field-button{text-align:left;cursor:pointer}.field-button:not(.has-value){color:var(--muted)}.field-button:hover{border-color:var(--red)}.field-button:hover:not(.has-value){color:var(--text)}#livery-model-pick{margin-top:8px}.prop-source{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.prop-source label{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:8px;padding:13px;background:var(--surface);cursor:pointer}.prop-source label:has(input:checked){border-color:var(--red);box-shadow:0 0 0 1px color-mix(in srgb,var(--red) 35%,transparent)}.prop-source input{margin-top:3px;accent-color:var(--red)}.prop-source span{display:grid;gap:3px}.prop-source small,.prop-license{color:var(--muted);font-size:12px;line-height:1.45}.prop-input{margin:14px 0 18px}.prop-input>label:not(.drop){display:grid;gap:7px}.prop-input>label>input{width:100%}.prop-drop{min-height:150px}.prop-settings{margin-top:14px}.sketchfab-connect{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 7px}.sketchfab-connect .secondary{width:auto;margin:0;text-decoration:none}.sketchfab-connect span{color:var(--muted);font-size:12px}.prop-result{margin-top:0}.prop-result .stats{margin-bottom:16px}@media(max-width:720px){.prop-source{grid-template-columns:1fr}}.prop-drop{position:relative;overflow:hidden}#prop-image-preview{max-width:100%;max-height:220px;border-radius:6px;margin-bottom:10px;object-fit:contain}.prop-image-clear{margin-top:8px}.poly-field>span{display:flex;justify-content:space-between;align-items:baseline}.poly-field>span>b{color:var(--red);font-variant-numeric:tabular-nums;font-size:15px}.poly-field input[type=range]{width:100%;padding:0;height:6px;border:0;background:var(--soft);border-radius:99px;appearance:none;cursor:pointer}.poly-field input[type=range]::-webkit-slider-thumb{appearance:none;width:16px;height:16px;border-radius:50%;background:var(--red);border:2px solid var(--panel);cursor:pointer}.poly-field input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--red);border:2px solid var(--panel);cursor:pointer}.poly-scale{display:flex;justify-content:space-between;margin-top:2px}.poly-scale small{margin:0}.poly-warning{color:#c98a1a;margin-top:8px}#prop-progress{margin-top:18px}.prop-editor .editor-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,1fr);gap:22px;margin-top:4px}.editor-stage .preview-stage{height:380px;min-height:220px;max-height:80vh;resize:vertical;overflow:auto}.viewer-buttons{display:flex;align-items:center;gap:10px;margin-top:8px}.viewer-buttons small{flex:1;margin:0;color:var(--muted)}.viewer-buttons .secondary{margin:0}.editor-controls h3{margin:20px 0 10px;font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.editor-controls h3:first-of-type{margin-top:16px}.prop-editor-stats{margin:0}.axis-field{display:block;margin-bottom:12px}.axis-field>span{display:flex;justify-content:space-between;align-items:baseline;font-weight:700;margin-bottom:6px}.axis-field>span>b{color:var(--red);font-weight:600;font-variant-numeric:tabular-nums}.axis-field input[type=range]{width:100%;padding:0;height:6px;border:0;background:var(--soft);border-radius:99px;appearance:none;cursor:pointer}.axis-field input[type=range]::-webkit-slider-thumb{appearance:none;width:16px;height:16px;border-radius:50%;background:var(--red);border:2px solid var(--panel);cursor:pointer}.axis-field input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--red);border:2px solid var(--panel);cursor:pointer}.axis-buttons{display:flex;gap:10px;flex-wrap:wrap}.axis-buttons .secondary{margin:0}.texture-list{display:flex;flex-direction:column;gap:8px}.texture-row{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:8px;padding:9px}.texture-row img{width:44px;height:44px;flex:0 0 auto;border-radius:6px;object-fit:cover;background:var(--soft)}.texture-row>div{flex:1;min-width:0}.texture-row strong{display:block;font-size:12.5px;word-break:break-all}.texture-row small{display:block;color:var(--muted);margin:0}.texture-replace{flex:0 0 auto;cursor:pointer;font-size:12px;margin:0}#prop-export-progress{margin-top:14px}@media(max-width:820px){.prop-editor .editor-layout{grid-template-columns:1fr}}#stream-modal-list{max-height:min(38vh,260px);overflow-y:auto}#stream-modal-list li b{color:var(--muted);font-weight:600}.texture-row img.missing{opacity:.35;border:1px dashed var(--line)}.conv-verdict{margin:0 0 8px;font-size:13px;padding:9px 12px;border-radius:8px}.conv-verdict:last-child{margin-bottom:0}.conv-good{background:rgba(64,160,110,.14);color:#3f9a6e}.conv-warn{background:rgba(201,138,26,.14);color:#c98a1a}.conv-bad{background:rgba(180,30,40,.14);color:var(--danger)}.conv-row{display:grid;grid-template-columns:1fr auto minmax(150px,190px);gap:12px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:9px 12px;margin-top:7px}.conv-row>div{min-width:0}.conv-row strong{display:block;font-size:13px;word-break:break-all}.conv-row small{display:block;color:var(--muted);margin:0;font-size:11.5px}.conv-row select{padding:7px 9px;font-size:12.5px}.conv-role{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--soft);border-radius:20px;padding:3px 9px;white-space:nowrap}.conv-row.needs-review{border-color:#c98a1a;background:rgba(201,138,26,.06)}.conv-row.clash{border-color:var(--danger);background:rgba(180,30,40,.06)}@media(max-width:640px){.conv-row{grid-template-columns:1fr;gap:7px}}#conv-result-warnings{margin:0 0 16px;padding:0;list-style:none}#conv-result-warnings:empty{display:none}#conv-result-warnings li{font-size:12.5px;color:#c98a1a;background:rgba(201,138,26,.1);border-radius:6px;padding:7px 11px;margin-bottom:5px}#conv-export-note{margin-bottom:16px}.tpl-steps{display:flex;gap:8px;margin-bottom:16px}.tpl-steps button{display:flex;align-items:center;gap:7px;background:none;border:0;padding:0;font:inherit;font-size:13px;color:var(--muted);cursor:pointer}.tpl-steps button i{font-style:normal;width:24px;height:24px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-size:12px}.tpl-steps button.active{color:var(--red);font-weight:700}.tpl-steps button.active i{background:var(--red);border-color:var(--red);color:#fff}.tpl-steps button:not(:last-child):after{content:"";width:28px;height:1px;background:var(--line);margin-left:8px}.tpl-preview{margin:16px 0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:repeating-conic-gradient(rgba(190,135,138,.12) 0% 25%,transparent 0% 50%) 50%/18px 18px}.tpl-preview img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain}#tpl-slot-field{display:block;margin-top:16px}#tpl-slot-field>span{display:block;font-weight:700;margin-bottom:6px}#tpl-sign-field{display:block;margin-top:16px}#tpl-sign-field>span{display:block;font-weight:700;margin-bottom:6px}input.locked{opacity:.6;cursor:not-allowed;background:var(--soft)}.mesh-list{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto;margin:12px 0}.mesh-row{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:8px;padding:8px 11px;cursor:pointer}.mesh-row input{width:auto;accent-color:var(--red);flex:0 0 auto}.mesh-row strong{display:block;font-size:12.5px;word-break:break-all}.mesh-row small{display:block;color:var(--muted);margin:0;font-size:11.5px}.mesh-row.picked{border-color:var(--red);background:var(--soft)}.chart-stage{position:relative;aspect-ratio:1;width:100%;max-width:620px;margin:12px 0;border:1px solid var(--line);border-radius:10px;background:repeating-conic-gradient(rgba(190,135,138,.10) 0% 25%,transparent 0% 50%) 50%/24px 24px,var(--soft);overflow:hidden;outline:none;touch-action:none}.chart-stage:focus-visible{border-color:var(--red);box-shadow:0 0 0 3px #a80d1a22}.chart-sprite{position:absolute;border:1px solid;border-radius:3px;cursor:grab;user-select:none}.chart-sprite:active{cursor:grabbing}.chart-sprite img{width:100%;height:100%;display:block;pointer-events:none}.chart-sprite span{position:absolute;top:2px;left:2px;font-size:9px;line-height:1;padding:2px 5px;border-radius:3px;color:#120b0c;font-weight:700;text-transform:uppercase;letter-spacing:.04em;pointer-events:none}.chart-sprite.active{box-shadow:0 0 0 2px var(--red);z-index:5}.tpl-pick-stage{height:340px;margin:12px 0}.template-row{border:1px solid var(--line);border-radius:9px;padding:11px 13px;margin-bottom:9px;background:var(--panel)}.template-row>summary{display:flex;align-items:center;gap:10px;font-weight:400;list-style:none}.template-row>summary::-webkit-details-marker{display:none}.template-row>summary strong{font-size:12px;font-family:ui-monospace,Consolas,monospace}.template-row>summary small{flex:1;color:var(--muted);font-size:10.5px}.template-row .permission-grid{margin-top:11px}.template-drop{border:1px solid var(--line);background:none;border-radius:7px;color:var(--muted);cursor:pointer;font:inherit;font-size:11px;padding:3px 9px}.template-drop:hover{border-color:var(--danger);color:var(--danger)}.template-new{display:flex;gap:8px;margin-top:4px}.template-new input{flex:1}.template-new button{border:1px solid var(--line);background:var(--panel);border-radius:6px;color:var(--text);cursor:pointer;font:inherit;padding:0 14px;white-space:nowrap}.template-new button:hover{border-color:var(--red);color:var(--red)}.finder-controls{display:flex;gap:8px;margin-bottom:10px}.finder-controls input[type=search]{flex:1;min-width:0}.finder-controls select{flex:0 0 auto;width:auto}.finder-folder{border:1px solid var(--line);border-radius:9px;padding:9px 12px;margin-bottom:8px;background:var(--panel)}.finder-folder>summary{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none}.finder-folder>summary::-webkit-details-marker{display:none}.finder-folder>summary strong{font-size:11.5px;font-family:ui-monospace,Consolas,monospace;word-break:break-all}.finder-folder>summary small{margin-left:auto;color:var(--muted);font-size:10.5px;white-space:nowrap}.finder-row{display:flex;align-items:center;gap:10px;padding:5px 0;border-top:1px solid var(--line)}.finder-row:first-of-type{margin-top:8px}.finder-name{flex:1;min-width:0;font-size:12px;font-family:ui-monospace,Consolas,monospace;overflow-wrap:anywhere}.finder-row small{color:var(--muted);font-size:10.5px;white-space:nowrap}.finder-row button{padding:2px 12px;font-size:11px}.finder-flat{opacity:.55}.finder-copy{display:flex;gap:4px;flex:0 0 auto}.finder-copy button{border:1px solid var(--line);background:none;border-radius:6px;color:var(--muted);cursor:pointer;font:inherit;font-size:10.5px;padding:2px 8px;white-space:nowrap}.finder-copy button:hover{border-color:var(--red);color:var(--red)}@media(max-width:700px){.finder-copy{display:none}}.ai-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}@media(max-width:700px){.ai-inputs{grid-template-columns:1fr}}.ai-label{display:block;font-size:11px;margin:14px 0 6px;color:var(--text)}.ai-label small{color:var(--muted);font-size:10.5px;margin-left:6px}.ai-references{margin:6px 0 12px}#tpl-ai-reference-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.ai-reference{position:relative;width:78px;height:78px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--panel)}.ai-reference img{width:100%;height:100%;object-fit:cover;display:block}.ai-reference button{position:absolute;top:2px;right:2px;width:18px;height:18px;line-height:1;border:none;border-radius:50%;background:rgba(0,0,0,.72);color:#fff;cursor:pointer;font-size:13px;padding:0}.ai-reference button:hover{background:var(--danger,#c0392b)}#tpl-ai-image{max-width:100%;border:1px solid var(--line);border-radius:9px;margin-top:8px;display:block;background:repeating-conic-gradient(#1a1a1a 0% 25%,#222 0% 50%) 50%/18px 18px}#emb-image,#chev-image{max-width:100%;border:1px solid var(--line);border-radius:9px;margin-top:8px;display:block;background:repeating-conic-gradient(#1a1a1a 0% 25%,#222 0% 50%) 50%/18px 18px}#emb-border-colour{font-family:ui-monospace,Consolas,monospace}input[type=color]{padding:2px;height:34px;cursor:pointer}.tool-preview{border:1px solid var(--line);border-radius:9px;padding:10px 12px;margin:14px 0;background:var(--panel)}.tool-preview img{max-width:100%;max-height:340px;display:block;margin:8px auto 6px;border-radius:6px;background:repeating-conic-gradient(#1a1a1a 0% 25%,#222 0% 50%) 50%/18px 18px}.tool-preview small{color:var(--muted);font-size:10.5px;display:block;text-align:center}.surface-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:640px){.surface-pair{grid-template-columns:1fr}}.surface-pair figure{margin:0}.surface-pair img{width:100%;display:block;border-radius:6px;border:1px solid var(--line)}.surface-pair figcaption{color:var(--muted);font-size:10.5px;text-align:center;margin-top:4px}.checkline input[type=checkbox]{width:auto;margin-right:8px}.tpl-subhead{font-size:12px;margin:16px 0 6px;color:var(--muted)}.show-stage{width:100%;max-width:640px;aspect-ratio:16/9;display:block;margin:10px auto;border:1px solid var(--line);border-radius:9px}.show-angles{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:6px}.show-angle{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--text)}.show-angle input{width:auto;margin:0}.show-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin-top:14px}@media(max-width:640px){.show-results{grid-template-columns:1fr}}.show-shot{margin:0;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--panel)}.show-shot img{width:100%;display:block;background:repeating-conic-gradient(#1a1a1a 0% 25%,#222 0% 50%) 50%/18px 18px}.show-shot figcaption{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;font-size:11px;color:var(--muted)}.show-shot figcaption button{border:1px solid var(--line);background:none;border-radius:6px;color:var(--muted);cursor:pointer;font:inherit;font-size:10.5px;padding:2px 10px}.show-shot figcaption button:hover{border-color:var(--red);color:var(--red)}.draggable-text{cursor:crosshair;touch-action:none;user-select:none}.show-backdrops{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.show-backdrop{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10.5px;color:var(--muted);cursor:pointer}.show-backdrop input{position:absolute;opacity:0;pointer-events:none}.show-swatch{border:2px solid transparent;border-radius:7px;display:block}.show-backdrop input:checked+.show-swatch{border-color:var(--red)}.show-backdrop input:checked~span{color:var(--text)}video.show-stage{background:#000}.texfix-list{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.texfix-row{display:flex;align-items:center;gap:8px;padding:3px 0;border-top:1px solid var(--line);font-size:11.5px}.texfix-row input{width:auto;margin:0}.texfix-row code{font-family:ui-monospace,Consolas,monospace;overflow-wrap:anywhere}.texfix-row small{margin-left:auto;color:var(--muted);font-size:10.5px;white-space:nowrap}#eup-ai-image,#weapon-ai-image{max-width:100%;max-height:340px;display:block;margin:10px auto 0;border:1px solid var(--line);border-radius:8px;background:repeating-conic-gradient(#1a1a1a 0% 25%,#222 0% 50%) 50%/18px 18px}.wpn-pick{margin-bottom:10px}.wpn-or{display:flex;align-items:center;gap:10px;margin:14px 0 10px;color:var(--muted);font-size:11px;text-transform:lowercase}.wpn-or::before,.wpn-or::after{content:"";flex:1;height:1px;background:var(--line)}.wpn-source{margin:14px 0;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}.wpn-source .tpl-subhead{margin-top:0}.wpn-piece{margin:8px 0;padding:8px 11px;border:1px solid color-mix(in srgb,var(--accent,#c0392b) 45%,var(--line));border-radius:7px;background:var(--panel);font-size:12px;color:var(--text)}.wpn-matched{list-style:none;margin:8px 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.wpn-matched li{font-size:11px;padding:3px 9px;border:1px solid var(--line);border-radius:20px;background:var(--panel);color:var(--muted)}.wpn-matched li.is-matched{color:var(--text);border-color:var(--accent,#c0392b)}.admin-tools{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;margin:12px 0 6px}.admin-search{flex:1 1 240px;display:flex;flex-direction:column;gap:5px}.admin-search span,.admin-add span{font-size:11px;color:var(--muted)}.admin-search input{width:100%}.admin-add{display:flex;gap:8px;align-items:flex-end;flex:1 1 300px}.admin-add label{flex:1;display:flex;flex-direction:column;gap:5px}.admin-add input{width:100%}.admin-add .secondary{margin:0;white-space:nowrap}.permission-fold{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}.permission-fold>summary{cursor:pointer;font-size:12px;color:var(--muted);list-style:none;display:flex;align-items:center;gap:7px;padding:3px 0;user-select:none}.permission-fold>summary::-webkit-details-marker{display:none}.permission-fold>summary::before{content:"\25b8";display:inline-block;transition:transform .12s ease;color:var(--muted)}.permission-fold[open]>summary::before{transform:rotate(90deg)}.permission-fold>summary:hover{color:var(--text)}.permission-fold .permission-grid{margin-top:10px}.gp-missing{margin:10px 0;padding:11px 13px;border:1px solid color-mix(in srgb,var(--accent,#c0392b) 45%,var(--line));border-radius:8px;background:var(--panel);font-size:12px;color:var(--text)}.gp-list{display:grid;gap:12px}.gp-texture{border:1px solid var(--line);border-radius:9px;padding:12px;background:var(--panel)}.gp-texture.is-changed{border-color:var(--accent,#c0392b)}.gp-texture.is-locked{opacity:.55}.gp-texture-head{display:flex;flex-direction:column;gap:3px;margin-bottom:9px}.gp-texture-head strong{font-size:13px}.gp-texture-head small{color:var(--muted);font-size:11px}.gp-upload{display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin:0}.gp-ai{display:flex;gap:8px;margin-top:9px;flex-wrap:wrap}.gp-ai input{flex:1 1 240px}.gp-ai button{margin:0;white-space:nowrap}.gp-chosen{margin:8px 0 0}.gp-design{margin-bottom:14px}.gp-design .field{display:block;margin-bottom:9px}.gp-preview{max-width:320px;border:1px solid var(--line);border-radius:8px;margin-top:10px;display:block;background:repeating-conic-gradient(#1a1a1a 0% 25%,#222 0% 50%) 50%/16px 16px}.gp-fine{margin-top:6px;border-top:1px solid var(--line);padding-top:10px}.gp-fine>summary{cursor:pointer;font-size:12px;color:var(--muted);list-style:none;display:flex;align-items:center;gap:7px;padding:3px 0;user-select:none}.gp-fine>summary::-webkit-details-marker{display:none}.gp-fine>summary::before{content:"\25b8";display:inline-block;transition:transform .12s ease}.gp-fine[open]>summary::before{transform:rotate(90deg)}.gp-fine>summary:hover{color:var(--text)}.gp-install{margin:8px 0 0;padding:9px 12px;border:1px solid color-mix(in srgb,var(--accent,#c0392b) 45%,var(--line));border-radius:7px;background:var(--panel);font-size:11.5px;color:var(--text)}.sound-list{display:grid;gap:8px;margin-top:10px;max-height:520px;overflow-y:auto}.snd-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--panel)}.snd-row.is-replaced{border-color:var(--accent,#c0392b)}.snd-id{font-family:ui-monospace,Consolas,monospace;font-size:11.5px;min-width:96px}.snd-meta{color:var(--muted);font-size:11px;flex:1 1 130px}.snd-row audio{height:30px;flex:1 1 200px;min-width:170px}.snd-row .snd-swap{margin:0;cursor:pointer}.snd-row .template-drop{margin:0}.gp-group{border:1px solid var(--line);border-radius:9px;margin-bottom:9px;background:var(--panel)}.gp-group>summary{cursor:pointer;font-size:12.5px;padding:10px 12px;list-style:none;display:flex;align-items:center;gap:8px;user-select:none}.gp-group>summary::-webkit-details-marker{display:none}.gp-group>summary::before{content:"\25b8";display:inline-block;transition:transform .12s ease;color:var(--muted)}.gp-group[open]>summary::before{transform:rotate(90deg)}.gp-group .gp-texture{margin:0 10px 10px}.gp-swatches{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:9px}.gp-swatch-note{font-size:11px;color:var(--muted);margin-right:2px}.gp-swatch{width:22px;height:22px;border-radius:50%;border:1px solid var(--line);cursor:pointer;padding:0}.gp-swatch:hover{transform:scale(1.12)}.gp-swatch-custom{width:26px;height:24px;padding:0;border:1px solid var(--line);border-radius:6px;background:none;cursor:pointer}.history-again{font-size:11px;color:var(--accent,#c0392b);text-decoration:none;white-space:nowrap}.history-again:hover{text-decoration:underline}.palette{position:fixed;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;z-index:80}.palette-card{width:min(560px,92vw);background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 24px 60px rgba(0,0,0,.5);overflow:hidden}.palette-card>input{width:100%;border:none;border-bottom:1px solid var(--line);background:none;color:var(--text);font-size:15px;padding:14px 16px;outline:none}#palette-list{max-height:52vh;overflow-y:auto;padding:6px}.palette-row{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;background:none;border:none;border-radius:8px;padding:9px 11px;cursor:pointer;color:var(--text);margin:0}.palette-row strong{font-size:13px}.palette-row small{font-size:11px;color:var(--muted)}.palette-row:hover,.palette-row.is-active{background:rgba(255,255,255,.07)}.palette-hint{margin:0;padding:9px 14px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:10px 0}.health-card{border:1px solid var(--line);border-radius:9px;padding:11px 13px;background:var(--panel)}.health-card b{display:block;font-size:20px;line-height:1.2}.health-card small{color:var(--muted);font-size:11px}.health-card.is-busy{border-color:var(--accent,#c0392b)}.audit-list{display:grid;gap:6px;margin-top:10px;max-height:460px;overflow-y:auto}.audit-row{display:flex;gap:10px;flex-wrap:wrap;align-items:baseline;padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:var(--panel);font-size:11.5px}.audit-row em{font-style:normal;color:var(--accent,#c0392b);min-width:104px}.audit-row b{font-weight:600}.audit-row span{color:var(--muted);flex:1}.audit-row time{color:var(--muted);white-space:nowrap}.tool-row.is-off{border-color:var(--accent,#c0392b);opacity:.85}.tool-kill{margin-left:4px}.owner-defaults>summary{cursor:pointer;font-size:13px;font-weight:600;list-style:none;display:flex;align-items:center;gap:8px;padding:4px 0;user-select:none}.owner-defaults>summary::-webkit-details-marker{display:none}.owner-defaults>summary::before{content:"\25b8";display:inline-block;transition:transform .12s ease;color:var(--muted)}.owner-defaults[open]>summary::before{transform:rotate(90deg)}.owner-defaults>summary:hover{color:var(--accent,#c0392b)}.gp-texture-top{display:flex;gap:11px;align-items:flex-start;margin-bottom:9px}.gp-thumb{flex:0 0 auto;width:66px;height:66px;padding:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:repeating-conic-gradient(#3a3a3e 0% 25%,#4e4e54 0% 50%) 50%/14px 14px;cursor:zoom-in}.gp-thumb img{width:100%;height:100%;object-fit:contain;display:block}.gp-thumb:hover{border-color:var(--accent,#c0392b)}.gp-texture-head{flex:1;min-width:0}.gp-texture-head strong{overflow-wrap:anywhere}.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.78);display:flex;align-items:center;justify-content:center;padding:24px;z-index:90}.lightbox-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;max-width:min(1100px,94vw);max-height:92vh;display:flex;flex-direction:column;overflow:hidden}.lightbox-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:13px 16px;border-bottom:1px solid var(--line)}.lightbox-head h2{margin:0;font-size:15px;overflow-wrap:anywhere}.lightbox-head .secondary{margin:0;white-space:nowrap}.lightbox-stage{flex:1;overflow:auto;padding:16px;display:flex;align-items:center;justify-content:center;background:repeating-conic-gradient(#2e2e32 0% 25%,#3c3c42 0% 50%) 50%/22px 22px}.lightbox-stage img{max-width:100%;max-height:74vh;object-fit:contain;display:block;image-rendering:pixelated}.btn-icon{width:15px;height:15px;flex:0 0 auto;fill:currentColor;opacity:.75}.has-icon{display:inline-flex;align-items:center;gap:7px}.has-icon:hover .btn-icon{opacity:1}button.primary .btn-icon{opacity:.9}.gp-swatch.has-icon,.palette-row.has-icon{display:block}.workspace{max-width:1180px;margin-left:auto;margin-right:auto}.livery-intro,.limit-note,.panel>p,.watch-state{max-width:88ch}.drop-icon{width:26px;height:26px;fill:currentColor;opacity:.32;display:block;margin:0 auto 8px}.drop:hover .drop-icon{opacity:.55}.panel>h2{display:flex;align-items:center;gap:9px}.panel>h2::before{content:"";width:3px;height:1em;border-radius:2px;background:var(--accent,#c0392b);opacity:.8;flex:0 0 auto}.gp-open{margin-top:16px}.gp-open-drop{min-height:0;padding:14px 16px;text-align:center}.gp-open-drop .drop-icon{margin-bottom:4px}.gp-open-drop.is-loaded{border-style:solid;border-color:var(--red);background:var(--soft)}.eup-pickers{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}.eup-own{margin-top:18px}.eup-own .drop{margin-top:12px}@media(max-width:820px){.eup-pickers{grid-template-columns:1fr 1fr}}.eup-variant{display:block;margin-bottom:10px}.eup-variant>span{display:block;font-weight:700;margin-bottom:6px}#eup-texture-block{margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line)}#eup-texture-block .secondary{margin-left:0;margin-right:12px}.debadge-editor{padding:14px}.debadge-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:14px;align-items:stretch}@media(max-width:980px){.debadge-layout{grid-template-columns:1fr}.debadge-side{height:auto}}.debadge-stage{position:relative;height:640px;margin:0;border-radius:10px;overflow:hidden}.debadge-stage canvas{cursor:crosshair}.debadge-stage.painting canvas{cursor:none}.debadge-toolbar{position:absolute;top:10px;left:10px;right:10px;display:flex;flex-wrap:wrap;gap:6px;pointer-events:none;z-index:2}.debadge-group{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:9px;background:var(--panel,#121218);pointer-events:auto}.debadge-tool,.debadge-icon{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--muted);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.debadge-icon{padding:0 8px}.debadge-tool svg,.debadge-icon svg{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.debadge-tool:hover,.debadge-icon:hover{color:var(--text,inherit);background:var(--soft)}.debadge-tool.active,.debadge-icon[aria-pressed=true]{color:var(--red);background:var(--soft)}.debadge-tool:disabled,.debadge-icon:disabled{opacity:.35;cursor:default;background:transparent}.debadge-brushbar{position:absolute;top:54px;left:10px;display:flex;align-items:center;gap:14px;padding:6px 12px;border:1px solid var(--line);border-radius:9px;background:var(--panel,#121218);font-size:12px;color:var(--muted);z-index:2}.debadge-brushbar label{display:inline-flex;align-items:center;gap:7px;cursor:pointer}.debadge-brushbar input[type=range]{width:120px}.debadge-cursor{position:absolute;border:1.5px solid var(--red);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 0 1px rgba(0,0,0,.35);z-index:1}.debadge-cursor.erase{border-style:dashed;border-color:var(--muted)}.debadge-hover{position:absolute;right:10px;bottom:10px;max-width:55%;padding:8px 11px;border:1px solid var(--line);border-radius:8px;background:var(--panel,#121218);font-size:12px;pointer-events:none;z-index:2}.debadge-hover b{display:block;margin-bottom:2px}.debadge-hover span{color:var(--muted)}.debadge-help{position:absolute;left:12px;bottom:12px;max-width:42%;margin:0;font-size:11.5px;color:var(--muted);pointer-events:none;z-index:2}.debadge-side{display:flex;flex-direction:column;gap:10px;height:640px;min-width:0}.debadge-card{border:1px solid var(--line);border-radius:10px;padding:12px 12px 10px}.debadge-card h3{margin:0;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.debadge-card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.debadge-link{padding:0;border:0;background:none;color:var(--red);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.debadge-link:disabled{color:var(--muted);opacity:.5;cursor:default}.debadge-selection{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.debadge-summary{margin:0 0 8px;font-size:13px}.debadge-summary b{color:var(--red)}.debadge-pieces{flex:1 1 auto;min-height:0;margin:0 -4px;padding:0;list-style:none;overflow-y:auto}.debadge-piece{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:6px 8px;border-radius:7px;font-size:12px;cursor:pointer}.debadge-piece:hover{background:var(--soft)}.debadge-piece strong{display:block;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debadge-piece small{display:block;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debadge-piece em{font-style:normal;font-size:11px;color:var(--muted)}.debadge-unmark{padding:2px 6px;border:0;border-radius:5px;background:none;color:var(--muted);font:inherit;font-size:15px;line-height:1;cursor:pointer}.debadge-unmark:hover{color:var(--danger);background:var(--soft)}.debadge-empty{margin:2px 4px 0;font-size:12px;color:var(--muted)}.debadge-browse{flex:0 0 auto}.debadge-browse summary{display:flex;align-items:center;justify-content:space-between;list-style:none;cursor:pointer}.debadge-browse summary::-webkit-details-marker{display:none}.debadge-browse summary small{font-size:11px;color:var(--muted)}.debadge-browse[open] summary{margin-bottom:8px}.debadge-search{width:100%;box-sizing:border-box;margin-bottom:6px}.debadge-parts{max-height:190px;overflow-y:auto}.debadge-part{border-top:1px solid var(--line)}.debadge-part summary{display:flex;justify-content:space-between;gap:8px;padding:7px 2px;font-size:12.5px;font-weight:600;cursor:pointer}.debadge-mesh{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 2px 5px 14px;font-size:12px;cursor:pointer}.debadge-mesh:hover{background:var(--soft)}.debadge-mesh span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.debadge-count{font-size:11px;font-weight:400;color:var(--muted)}.debadge-count.marked{color:var(--red);font-weight:700}.debadge-tag{margin-left:6px;font-style:normal;font-size:10px;letter-spacing:.04em;text-transform:uppercase;opacity:.75}.debadge-options label{display:block;margin-bottom:8px}.debadge-options select{width:100%}.debadge-options small{display:block;margin-top:6px;font-size:11.5px;color:var(--muted)}.debadge-footer{position:sticky;bottom:0;display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:2px}button.primary.debadge-apply{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;margin-top:0;padding:11px 14px}.debadge-apply small{font-size:11px;font-weight:500;opacity:.8}.debadge-result{padding:9px 11px;border:1px solid var(--line);border-radius:9px;font-size:12px}.debadge-result.error{border-color:var(--danger);color:var(--danger)}.debadge-warning{margin-top:4px;color:var(--danger)}
