.model-category-dialog{position:fixed;inset:0;margin:clamp(70px,17vh,180px) auto auto;width:min(580px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 100px);padding:0;overflow:hidden;color:#e8eaf2;border:1px solid #bbc7df40;border-top-color:#e0e6fa65;border-radius:25px;background:linear-gradient(135deg,#29323deb,#151a24ed);box-shadow:inset 0 1px #ffffff18,0 28px 100px #0009;backdrop-filter:blur(32px) saturate(130%);-webkit-backdrop-filter:blur(32px) saturate(130%)}
.model-category-dialog::backdrop{background:#05080d78;backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}
.model-category-dialog[open]{animation:category-appear .18s ease-out}
.model-category-dialog form{display:flex;flex-direction:column;max-height:inherit;min-height:0}
.category-dialog-heading{display:flex;align-items:center;gap:12px;padding:20px 22px 0}
.category-dialog-heading h2{flex:1;min-width:0;margin:0;color:#b6bed0;font-size:13px;line-height:1.4;font-weight:400;overflow-wrap:anywhere}
.model-category-dialog[data-step="2"] .category-dialog-heading h2{font-size:20px;color:#e8eaf2}
.category-icon-button{display:grid;place-items:center;flex-shrink:0;width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:#b0b9ca;font:inherit;font-size:24px;cursor:pointer}
.category-icon-button:hover{background:#ffffff0d;color:#fff}
.category-icon-button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6}
.category-back svg{transform:rotate(180deg)}
.category-name-field{display:flex;align-items:center;gap:17px;padding:15px 26px 23px}
.category-name-field>svg,.category-search-field>svg{width:24px;height:24px;fill:none;stroke:#b8a4d4;stroke-width:1.4;flex-shrink:0}
.model-category-dialog .category-name-field input{width:100%;min-width:0;margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;outline:none;color:#f1eff7;font:inherit;font-size:27px;line-height:1.5}
.model-category-dialog input::placeholder{color:#9aa4b8;opacity:1}
.category-instruction{margin:10px 26px 14px;color:#aeb8cb;font-size:13px}
.category-search-field{display:flex;align-items:center;gap:12px;margin:0 24px 10px;padding:10px 14px;border:1px solid #a9b9d42b;border-radius:14px;background:#0d131c44}
.category-search-field>svg{width:19px;height:19px;color:#a5aec1}
.model-category-dialog .category-search-field input{width:100%;min-width:0;height:24px;min-height:24px;margin:0;padding:0;border:0;outline:none;box-shadow:none;background:transparent;color:#e8eaf2;font:inherit;font-size:15px}
.category-name-field:focus-within>svg{stroke:#d2b5ff}
.category-search-field:focus-within{border-color:#c4adeb80}
.category-model-list{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:0 14px 10px;max-height: min(42vh,360px);min-height:110px}
.category-select-all{display:block;margin:0 10px 6px;padding:7px 2px;border:0;background:transparent;color:#bcacd7;font:inherit;font-size:12px;cursor:pointer}
.category-model{display:flex;align-items:center;gap:13px;min-height:65px;margin:0;padding:9px 12px;border:1px solid transparent;border-radius:14px;cursor:pointer;transition:background .15s,border-color .15s}
.category-model:hover{background:#c2c9f00b;border-color:#acbcea1a}
.category-model:has(input:checked){background:linear-gradient(110deg,#a8baff14,#ba92ef0a);border-color:#b7a6d638}
.category-portrait{display:grid;place-items:center;width:42px;height:46px;flex-shrink:0;border-radius:11px;object-fit:cover;background:#a1adc51b;color:#c5beda;font-size:14px}
.category-model-identity{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}
.category-model-identity strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}
.category-model-identity small{color:#a5aec0;font-size:12px;overflow-wrap:anywhere}
.model-category-dialog .category-model input{appearance:none;flex-shrink:0;width:21px;min-width:21px;height:21px;min-height:21px;max-height:21px;margin:0;padding:0;border:1px solid #a8b5cf66;border-radius:7px;background:#10151e33;box-shadow:none;cursor:pointer}
.model-category-dialog .category-model input:checked{background:#c9b4eb;border-color:#d6c4f1;box-shadow:inset 0 1px #fff5}
.model-category-dialog .category-model input:checked:after{content:'';display:block;width:9px;height:5px;margin:5px 4px;border-left:2px solid #2b2440;border-bottom:2px solid #2b2440;transform:rotate(-45deg)}
.category-dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:16px 24px;border-top:1px solid #bbc7df1e;flex-shrink:0}
.category-selection-count{flex:1;color:#aab4c7;font-size:12px}
.category-submit{display:flex;align-items:center;justify-content:center;gap:15px;min-height:42px;padding:10px 18px;border:1px solid #b4a3d75c;border-radius:23px;background:linear-gradient(135deg,#b6c9f51a,#bba1e30c);box-shadow:inset 0 1px #ffffff13;color:#f0ebfa;font:inherit;font-size:13px;cursor:pointer}
.category-submit:hover:not(:disabled){background:linear-gradient(135deg,#b6c9f52b,#bba1e31b);border-color:#cdb5ef88}
.category-submit svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6}
.model-category-dialog :disabled{opacity:.45;cursor:default}
.category-error{margin:0;padding:0 26px 12px;color:#efa9aa;font-size:13px;line-height:1.5}
.category-error:empty{display:none}
.category-empty{padding:24px;text-align:center;color:#aab4c7;font-size:14px}
.category-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.model-category-dialog button:focus-visible,.model-category-dialog input[type=checkbox]:focus-visible{outline:2px solid #c4adeb;outline-offset:2px}
@keyframes category-appear{from{opacity:0;transform:translateY(-7px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:650px){.model-category-dialog{margin:65px auto auto;max-height:calc(100dvh - 90px);border-radius:22px}.category-dialog-heading{padding:16px 18px 0}.category-name-field{padding:12px 20px 20px;gap:12px}.model-category-dialog .category-name-field input{font-size:23px}.category-search-field{margin-inline:16px}.category-dialog-footer{padding:14px 16px;gap:9px}.category-submit{font-size:12px;padding-inline:14px}.category-model-list{max-height:44dvh;padding-inline:8px}.category-instruction{margin-inline:20px}}
@media(prefers-reduced-motion:reduce){.model-category-dialog[open]{animation:none}.category-model,#view-models .model-heading-actions #add-model-button{transition:none}}
