:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0f1215;color:#f6f7f4;font-synthesis:none;text-rendering:geometricPrecision}*{box-sizing:border-box}body{margin:0;min-width:0;min-height:100vh;background:linear-gradient(135deg,rgba(42,60,72,.45),transparent 34%),radial-gradient(circle at 78% 14%,rgba(255,107,98,.13),transparent 32%),#0f1215}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}code{color:#fff;font-size:12px}.app-shell{position:relative;display:grid;grid-template-columns:minmax(292px,332px) minmax(420px,1fr) minmax(292px,340px);gap:18px;height:100vh;padding:18px}.app-shell.is-dragging .panel,.app-shell.is-dragging .preview-column{border-color:#ff6b6257}.global-drop-overlay{position:fixed;top:18px;right:18px;bottom:18px;left:18px;z-index:20;display:grid;place-items:center;align-content:center;gap:12px;border:2px dashed rgba(255,107,98,.78);border-radius:12px;color:#fff;background:#070a0c8f;box-shadow:0 0 0 1px #ffffff0f inset,0 28px 90px #00000061;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.global-drop-overlay span{font-size:20px;font-weight:760}.panel,.preview-column{min-height:0;border:1px solid rgba(255,255,255,.08);background:#13171be0;box-shadow:0 24px 70px #00000047;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.panel{border-radius:8px;padding:18px;overflow:hidden}.brand-row{display:flex;align-items:center;gap:12px;margin-bottom:18px}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border-radius:8px;color:#121416;background:#eff3f1}h1,h2,p{margin:0}.brand-row h1{font-size:18px;font-weight:760;letter-spacing:0}.brand-row p{margin-top:2px;color:#9aa5a8;font-size:13px}.drop-zone{display:grid;width:100%;min-height:172px;place-items:center;gap:8px;border:1px dashed rgba(205,216,226,.34);border-radius:8px;color:#dfe8e8;background:linear-gradient(180deg,#283137eb,#1a2126eb)}.drop-zone input{display:none}.drop-zone.dragging{border-color:#ff6b62;box-shadow:inset 0 0 0 1px #ff6b626b}.drop-zone span{font-size:17px;font-weight:680}.drop-zone small{color:#8e999d;font-size:12px}.queue-header{display:flex;align-items:center;justify-content:space-between;margin:18px 0 10px;color:#9da8ab;font-size:13px}.queue-header button,.batch-actions button,.toolbar-actions button{display:inline-flex;align-items:center;gap:8px;min-height:36px;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#f7f8f5;background:#242b30}.queue-header button{padding:0 12px}.queue-actions{display:flex;gap:8px}.batch-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.batch-actions button{justify-content:center;min-width:0;padding:0 9px;font-size:12px;font-weight:680}.batch-actions button:disabled{cursor:not-allowed;opacity:.48}.image-list{display:grid;gap:8px;max-height:calc(100vh - 356px);overflow:auto;padding-right:2px}.image-row{display:grid;grid-template-columns:24px 46px 1fr 28px;align-items:center;gap:10px;width:100%;min-height:66px;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px;text-align:left;color:#ecf0ee;background:#232b30cc}.image-row.selected{border-color:#ff6b62bf;box-shadow:inset 0 0 0 1px #ff6b6233}.image-row.batch-selected{background:#2a343aeb}.select-check{display:grid;place-items:center;width:24px;height:40px}.select-check input{width:16px;height:16px;accent-color:#ff6b62}.image-row img{width:46px;height:50px;border-radius:6px;object-fit:cover;background:#0a0c0e}.image-meta{display:grid;min-width:0;gap:4px}.image-meta strong{overflow:hidden;font-size:13px;font-weight:690;text-overflow:ellipsis;white-space:nowrap}.image-meta small{color:#95a0a3;font-size:12px}.remove-button{display:grid;width:28px;height:28px;place-items:center;border:0;border-radius:6px;color:#a7b0b2;background:transparent}.remove-button:hover{color:#fff;background:#ffffff14}.preview-column{display:grid;grid-template-rows:auto 1fr auto;border-radius:8px;overflow:hidden}.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.08);background:#101316c7}.preview-toolbar>div:first-child{min-width:0}.eyeline{color:#7fa9be;font-size:12px;font-weight:750;text-transform:uppercase}.preview-toolbar h2{max-width:100%;overflow:hidden;margin-top:2px;font-size:19px;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.toolbar-actions{display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;gap:8px}.toolbar-actions button{padding:0 14px;white-space:nowrap}.toolbar-actions button:disabled{cursor:not-allowed;opacity:.5}.preview-stage{position:relative;display:grid;min-height:0;place-items:center;overflow:auto;padding:28px;background:linear-gradient(45deg,rgba(255,255,255,.025) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.025) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.025) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.025) 75%),#1a1f23;background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.preview-stage canvas{width:min(58vh,78%);max-width:760px;height:auto}.preview-stage.has-preview canvas{cursor:zoom-in}.open-full-preview{position:absolute;top:16px;right:16px;display:inline-flex;align-items:center;gap:8px;min-height:34px;border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#f7f8f5;background:#181d21e0;padding:0 12px;font-size:13px;font-weight:690;box-shadow:0 10px 26px #0000003d}.empty-preview{display:grid;gap:12px;place-items:center;color:#96a2a5;font-size:16px}.preview-error,.asset-warning{display:flex;align-items:center;gap:10px;border:1px solid rgba(255,107,98,.34);border-radius:8px;color:#ffd6d2;background:#501f1fb8}.preview-error{position:absolute;right:24px;bottom:24px;max-width:420px;padding:12px 14px;font-size:13px}.status-strip{display:grid;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:12px;min-height:54px;padding:0 18px;border-top:1px solid rgba(255,255,255,.08);color:#a3afb1;background:#101316c7;font-size:13px}.status-strip span{display:inline-flex;align-items:center;gap:8px;min-width:0}.status-strip .ok{color:#67d6a1}.status-strip .warn{color:#ffbd84}.settings-panel{overflow:auto}.settings-title{display:flex;align-items:center;gap:9px;margin-bottom:16px;font-size:15px;font-weight:760}.asset-warning{padding:12px;margin-bottom:14px;font-size:13px}.download-links{display:grid;grid-template-columns:1fr 1fr;gap:8px}.download-links a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#f7f8f5;background:#242b30;font-size:13px;font-weight:690}.download-links a:hover{border-color:#ff6b6285;background:#2b343a}.setting-group{display:grid;gap:12px;padding:16px 0;border-top:1px solid rgba(255,255,255,.08)}.setting-group h2{color:#dce3e3;font-size:13px;font-weight:760;text-transform:uppercase}.segment{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#0000002e}.segment button{min-height:34px;border:0;border-radius:6px;color:#9fa9ab;background:transparent;font-size:13px;font-weight:650}.segment button.selected{color:#fff;background:#364148;box-shadow:0 1px #ffffff0f inset}.model-segment{grid-template-columns:repeat(2,minmax(0,1fr))}.model-segment button{min-height:38px;padding:0 7px;line-height:1.15}.scale-segment{grid-template-columns:repeat(2,1fr)}.swatch-row{display:grid;gap:8px}.swatch{display:flex;align-items:center;gap:10px;min-height:38px;border:1px solid rgba(255,255,255,.08);border-radius:8px;color:#cdd5d7;background:#232b30c7;padding:0 10px;font-size:13px}.swatch span{display:block;width:18px;height:18px;border:1px solid rgba(255,255,255,.34);border-radius:50%}.swatch.selected{border-color:#ff6b62b3;color:#fff}.field,.range-field,.check-row,.size-note{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#a8b2b4;font-size:13px}.field input[type=color]{width:42px;height:30px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:transparent;padding:0}.field-grid{display:grid;gap:8px}.range-field{display:grid;grid-template-columns:64px 1fr 44px}.range-field input{accent-color:#ff6b62}.check-row{justify-content:flex-start}.check-row input{width:16px;height:16px;accent-color:#ff6b62}.size-note{align-items:baseline;border-radius:8px;padding:12px;background:#232b30b8}.size-note strong{color:#fff;font-size:14px}.spin{animation:spin .9s linear infinite}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:18px;background:#040608c7;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.full-preview-modal{display:grid;grid-template-rows:auto 1fr;width:min(100%,1120px);height:min(100%,92vh);min-height:0;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#11161a;box-shadow:0 30px 120px #00000094}.full-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;border-bottom:1px solid rgba(255,255,255,.08);background:#101316f5}.full-preview-toolbar h2{overflow:hidden;margin-top:2px;max-width:min(62vw,620px);font-size:17px;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.full-preview-toolbar p{margin-top:2px;color:#9aa5a8;font-size:13px}.icon-button{justify-content:center;width:38px;padding:0}.full-preview-stage{display:grid;min-height:0;place-items:center;overflow:auto;padding:22px;background:linear-gradient(45deg,rgba(255,255,255,.026) 25%,transparent 25%),linear-gradient(-45deg,rgba(255,255,255,.026) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(255,255,255,.026) 75%),linear-gradient(-45deg,transparent 75%,rgba(255,255,255,.026) 75%),#171c20;background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.full-preview-stage canvas{width:auto;height:auto;max-width:100%;max-height:calc(92vh - 122px)}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1180px){body{min-width:0}.app-shell{grid-template-columns:1fr;height:auto;min-height:100vh}.upload-panel,.settings-panel{max-height:none}.preview-column{min-height:760px}.preview-toolbar{align-items:stretch;flex-direction:column}.preview-toolbar .toolbar-actions{width:100%}.preview-toolbar .toolbar-actions button{flex:1 1 0;justify-content:center;padding:0 8px}.status-strip{grid-template-columns:1fr;padding:12px 18px}.full-preview-modal{height:calc(100vh - 24px)}.full-preview-toolbar{align-items:flex-start}.full-preview-toolbar .toolbar-actions{width:auto}.full-preview-toolbar .toolbar-actions button{flex:0 0 auto}}
