.dropzone{border:2px dashed var(--border);text-align:center;cursor:pointer;border-radius:14px;flex-direction:column;align-items:center;padding:40px 16px;transition:border-color .15s,background .15s;display:flex}.dropzone.over{border-color:var(--accent);background:var(--surface-2)}.field-label{color:var(--text-dim);font-size:14px}.preview-grid{aspect-ratio:16/10;gap:6px;width:100%;display:grid}.preview-cell{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;min-width:0;min-height:0;position:relative;overflow:hidden}.preview-cell.error{border-color:var(--danger)}.preview-cell img{object-fit:cover;width:100%;height:100%;display:block}.preview-skeleton{background:var(--surface);width:100%;height:100%;animation:1.2s ease-in-out infinite heic-pulse}@keyframes heic-pulse{0%,to{opacity:.45}50%{opacity:.9}}.preview-remove{cursor:pointer;color:#fff;background:#0000008c;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:15px;line-height:1;display:flex;position:absolute;top:4px;right:4px}.preview-badge{color:#fff;background:#0000008c;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:12px;display:flex;position:absolute;bottom:4px;left:4px}.preview-badge.done{background:var(--accent);color:var(--on-accent)}.preview-badge.error{background:var(--danger);color:#fff}.preview-loc{background:#0000008c;border-radius:10px;align-items:center;height:20px;padding:0 4px;font-size:11px;display:flex;position:absolute;top:4px;left:4px}.link-btn{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}:root{--radius:12px;--bg:#0e0f1a;--surface:#1a1b2e;--surface-2:#232544;--border:#2a2c44;--accent:#7c6cf6;--accent-2:#22d3ee;--text:#e8e8f0;--text-dim:#8c8ca8;--danger:#ff5d6c;--on-accent:#0b0b12;--glow:#7c6cf673}[data-theme=lime][data-mode=dark]{--bg:#121210;--surface:#1a1a17;--surface-2:#24241d;--border:#2f2f26;--accent:#c6ff3d;--accent-2:#d9ff7a;--text:#edece4;--text-dim:#918f83;--danger:#ff6a5c;--on-accent:#171700;--glow:#c6ff3d66}[data-theme=lime][data-mode=light]{--bg:#f4f2e9;--surface:#fff;--surface-2:#eae7db;--border:#ddd8c8;--accent:#c6ff3d;--accent-2:#b5e838;--text:#141310;--text-dim:#55524a;--danger:#c02626;--on-accent:#1a2200;--glow:#c6ff3d40}[data-theme=studio][data-mode=light]{--bg:#f7f7fb;--surface:#fff;--surface-2:#eeeef5;--border:#e2e2ec;--accent:#6c5ce7;--accent-2:#0ea5c4;--text:#1a1b2e;--text-dim:#6b6b80;--on-accent:#fff;--glow:#6c5ce740}[data-theme=noir][data-mode=dark]{--bg:#0a0a0f;--surface:#14141c;--surface-2:#1e1e2a;--border:#2a2a38;--accent:#ff2e97;--accent-2:#14f1d9;--text:#f5f5fa;--text-dim:#8a8a9a;--on-accent:#0a0a0f;--glow:#ff2e9780}[data-theme=noir][data-mode=light]{--bg:#fafafc;--surface:#fff;--surface-2:#f0f0f4;--border:#e4e4ec;--accent:#e01080;--accent-2:#08b0a0;--text:#14141c;--text-dim:#6a6a7a;--on-accent:#fff;--glow:#e0108038}[data-theme=sunset][data-mode=dark]{--bg:#14101a;--surface:#211a28;--surface-2:#2c2235;--border:#3a2e42;--accent:#ff8a4c;--accent-2:#f25c9a;--text:#f3ecec;--text-dim:#9a8a92;--on-accent:#1a1208;--glow:#ff8a4c66}[data-theme=sunset][data-mode=light]{--bg:#fbf6f2;--surface:#fff;--surface-2:#f4ece6;--border:#ece0d8;--accent:#e8702c;--accent-2:#d6437e;--text:#211a28;--text-dim:#7a6a72;--on-accent:#fff;--glow:#e8702c38}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,sans-serif;transition:background .25s,color .25s}button{background:var(--surface-2);color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;border-radius:8px;padding:7px 13px;transition:border-color .15s,box-shadow .15s,transform 50ms}button:hover{border-color:var(--accent);box-shadow:0 0 0 3px var(--glow)}button.primary{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:var(--on-accent);box-shadow:0 4px 18px var(--glow);border:none;font-weight:500}input,select{background:var(--surface-2);color:var(--text);border:1px solid var(--border);font:inherit;border-radius:8px;padding:6px 9px}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--glow);outline:none}.panel{background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.muted{color:var(--text-dim)}.accent-text{color:var(--accent)}body{font-size:15px;line-height:1.5}button{border-radius:10px;padding:8px 14px;font-weight:500;transition:background .15s,border-color .15s,transform 50ms}button:hover{background:color-mix(in srgb, var(--surface-2) 78%, var(--accent) 16%);border-color:var(--accent);box-shadow:none}button:active{transform:scale(.97)}button:disabled{opacity:.5;cursor:default}button.primary:hover{filter:brightness(1.08);background:linear-gradient(135deg, var(--accent), var(--accent-2))}input:not([type=checkbox]):not([type=range]),select{border-radius:10px;height:36px;padding:0 10px}label{color:var(--text);align-items:center;gap:8px;font-size:14px;display:inline-flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:20px}.segmented{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.segmented button{background:0 0;border:1px solid #0000;border-radius:9px;padding:7px 14px}.segmented button:hover{background:color-mix(in srgb, var(--surface) 55%, transparent);border-color:#0000}.dropzone{border:2px dashed var(--border);text-align:center;cursor:pointer;background:color-mix(in srgb, var(--surface) 40%, transparent);border-radius:16px;padding:2.5rem;transition:border-color .15s,background .15s}.dropzone:hover{border-color:var(--accent);background:color-mix(in srgb, var(--surface) 70%, transparent)}body{letter-spacing:-.01em;-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.55}.card{border-radius:18px;padding:24px;box-shadow:inset 0 1px #ffffff12}.section-label{letter-spacing:.07em;text-transform:uppercase;color:var(--text-dim);font-size:12px;font-weight:600}button{letter-spacing:-.01em}button.primary{letter-spacing:0}body{font-size:14px}h1{font-size:22px}button{border-radius:9px;padding:6px 12px;font-size:13px;font-weight:500}button:not(.primary){border:1px solid var(--border);background:0 0}button:not(.primary):hover{background:var(--surface-2);border-color:var(--accent);box-shadow:none}button.primary{box-shadow:0 4px 14px var(--glow);padding:8px 16px}.segmented{border-radius:11px;padding:3px}.segmented button{padding:6px 13px}.segmented button:not(.primary){border-color:#0000}.segmented button.primary{box-shadow:none}input:not([type=checkbox]):not([type=range]),select{border-radius:8px;height:32px;padding:0 9px;font-size:13px}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}select{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:calc(100% - 10px);background-repeat:no-repeat;background-size:12px;padding-right:28px}.card{border-radius:14px;padding:18px}label{gap:8px;font-size:13px}input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px}button.toggle-on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}button.toggle-on:hover{background:var(--accent);filter:brightness(1.08);border-color:var(--accent)}.controls{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 14px;display:flex}.controls label{gap:6px}select{padding-right:10px;background-image:none!important}.select-wrap{vertical-align:middle;display:inline-flex;position:relative}.select-wrap>select{width:100%;padding-right:30px}.select-chev{pointer-events:none;color:var(--text-dim);position:absolute;top:50%;right:10px;transform:translateY(-50%)}input[type=range]{accent-color:var(--accent);vertical-align:middle;height:auto}.field{flex-direction:column;gap:6px;width:100%;display:flex}.field-label{color:var(--text-dim);font-size:12px;font-weight:500}.field .select-wrap,.field>input{width:100%}button.switch{color:var(--text);cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:4px 2px;font-weight:500;display:inline-flex}button.switch:hover{box-shadow:none;background:0 0;border:none}button.switch:active{transform:none}.switch-track{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;flex:none;width:46px;height:26px;transition:background .18s,border-color .18s;position:relative}button.switch.on .switch-track{background:var(--accent);border-color:var(--accent)}.switch-knob{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .18s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000059}button.switch.on .switch-knob{transform:translate(22px)}.segmented{background:var(--surface);border:1.5px solid var(--accent);border-radius:999px;gap:0;width:100%;padding:4px;display:flex}.segmented button{color:var(--accent);background:0 0;border:1px solid #0000;border-radius:999px;flex:1;padding:9px 16px;font-weight:600}.segmented button:hover{background:color-mix(in srgb, var(--accent) 12%, transparent);box-shadow:none;border-color:#0000}.segmented button.primary{background:var(--accent);color:var(--on-accent);box-shadow:none;background-image:none}.segmented button.primary:hover{background:var(--accent);filter:brightness(1.05);background-image:none}.segmented{width:auto;display:inline-flex}.segmented button{flex:none;padding:6px 14px}.segmented.full{width:100%;display:flex}.segmented.full button{flex:1}.segmented:not(.full) button{flex:1 1 0;min-width:7.5em}.controls select,.controls input[type=number],.controls button:not(.primary):not(.toggle-on):not(.switch){background-color:var(--surface)}[data-theme=forest][data-mode=dark]{--bg:#0d1410;--surface:#16201a;--surface-2:#1e2c24;--border:#2a3a30;--accent:#22c55e;--accent-2:#14b8a6;--text:#e8f0ea;--text-dim:#8aa394;--on-accent:#04140a;--glow:#22c55e66}[data-theme=forest][data-mode=light]{--bg:#f5faf6;--surface:#fff;--surface-2:#e9f3ec;--border:#dceadf;--accent:#16a34a;--accent-2:#0d9488;--text:#14201a;--text-dim:#5a7064;--on-accent:#fff;--glow:#16a34a38}[data-theme=ocean][data-mode=dark]{--bg:#0b1018;--surface:#14202e;--surface-2:#1c2c3e;--border:#2a3c50;--accent:#3b82f6;--accent-2:#06b6d4;--text:#e6eef7;--text-dim:#8499ab;--on-accent:#04101c;--glow:#3b82f673}[data-theme=ocean][data-mode=light]{--bg:#f4f8fc;--surface:#fff;--surface-2:#e8f1f9;--border:#d9e6f2;--accent:#2563eb;--accent-2:#0891b2;--text:#14202e;--text-dim:#5a6b7c;--on-accent:#fff;--glow:#2563eb38}[data-theme=rose][data-mode=dark]{--bg:#160d10;--surface:#221319;--surface-2:#2e1c24;--border:#3e2a32;--accent:#f43f5e;--accent-2:#ec4899;--text:#f7eaed;--text-dim:#a3838c;--on-accent:#1a0a0d;--glow:#f43f5e66}[data-theme=rose][data-mode=light]{--bg:#fdf5f7;--surface:#fff;--surface-2:#f8e9ee;--border:#f0dce2;--accent:#e11d48;--accent-2:#db2777;--text:#221319;--text-dim:#7a6a70;--on-accent:#fff;--glow:#e11d4838}[data-theme=custom][data-mode=dark]{--bg:#0e0f14;--surface:#181a22;--surface-2:#20232e;--border:#2a2e3a;--accent:#7c6cf6;--accent-2:#9d8cff;--text:#e8e8f0;--text-dim:#8c8c9c;--on-accent:#fff;--glow:#7c6cf666}[data-theme=custom][data-mode=light]{--bg:#f7f7f9;--surface:#fff;--surface-2:#eeeef2;--border:#e2e2e8;--accent:#7c6cf6;--accent-2:#9d8cff;--text:#1a1b22;--text-dim:#6b6b78;--on-accent:#fff;--glow:#7c6cf638}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/space-grotesk-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/space-grotesk-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--radius:0;--border-w:2.5px;--shadow-off:5px}body{letter-spacing:0;font-family:Space Grotesk,system-ui,sans-serif}h1{letter-spacing:-1px;font-weight:700}.section-label{text-transform:uppercase}.card,.panel{background:var(--surface);border:var(--border-w) solid var(--text);box-shadow:var(--shadow-off) var(--shadow-off) 0 var(--text);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0}button:not(.link-btn):not(.switch){border:var(--border-w) solid var(--text);border-radius:0;font-family:inherit;font-weight:700}button:not(.primary):not(.link-btn):not(.switch){background:var(--surface);color:var(--text);box-shadow:var(--shadow-off) var(--shadow-off) 0 var(--text)}button:not(.primary):not(.link-btn):not(.switch):hover{background:var(--surface-2);border-color:var(--text);filter:none;box-shadow:var(--shadow-off) var(--shadow-off) 0 var(--text)}button.primary,button.primary:hover{background:var(--accent);color:var(--on-accent);border:var(--border-w) solid var(--text);filter:none;box-shadow:var(--shadow-off) var(--shadow-off) 0 var(--text);background-image:none}button:not(.switch):active{transform:translate(var(--shadow-off), var(--shadow-off));box-shadow:none}button:disabled{opacity:.45;box-shadow:none}.segmented{background:var(--surface);border:var(--border-w) solid var(--text);box-shadow:var(--shadow-off) var(--shadow-off) 0 var(--text);border-radius:0;padding:4px}.segmented button,.segmented button:hover{border:var(--border-w) solid transparent;box-shadow:none}.segmented button:active{transform:none}.segmented button.primary,.segmented button.primary:hover{background:var(--accent);color:var(--on-accent);border-color:var(--text);box-shadow:none}.dropzone,.dropzone:hover,.dropzone.over{background:var(--surface);border:var(--border-w) solid var(--text);box-shadow:7px 7px 0 var(--text);-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0}.dropzone.over{background:var(--surface-2)}input:not([type=checkbox]):not([type=range]),select{background:var(--surface);color:var(--text);border:var(--border-w) solid var(--text);border-radius:0;font-family:inherit}input[type=checkbox],input[type=range]{accent-color:var(--accent)}.controls{background:var(--surface-2);border:var(--border-w) solid var(--text);box-shadow:4px 4px 0 var(--text);border-radius:0}button.toggle-on{background:var(--accent);color:var(--on-accent);border-color:var(--text)}.preview-cell,.preview-remove,.preview-badge,.preview-loc{border-radius:0}.link-btn{box-shadow:none;background:0 0;border:none}.suite-footer{border-top:var(--border-w,2px) solid var(--line,currentColor);margin-top:28px;padding-top:16px;font-size:.9rem}.suite-offline{border:var(--border-w,2px) solid var(--line,currentColor);background:var(--surface,transparent);margin:0 0 10px;padding:8px 12px;font-weight:700}.suite-install{color:var(--muted,#8c8ca8);margin:0 0 10px}.suite-install a{color:inherit;font-weight:700;text-decoration:underline;text-decoration-thickness:2px}.suite-more{color:var(--muted,#8c8ca8);margin:0 0 6px}.suite-list{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px 20px;margin:0 0 8px;padding:0;list-style:none;display:grid}.suite-list li{color:var(--muted,#8c8ca8);align-items:baseline;gap:6px;display:flex}.suite-list a{color:inherit;white-space:nowrap;font-weight:700;text-decoration:underline;text-decoration-thickness:2px}.suite-list span{opacity:.7;font-size:.85em}.suite-nudge{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:50;background:var(--surface,#fff);max-width:min(360px,100vw - 32px);color:var(--text,inherit);border:var(--border-w,2px) solid var(--line,currentColor);padding:14px 16px;font-size:.92rem;line-height:1.45;position:fixed;box-shadow:0 10px 30px #00000040}.suite-nudge p{margin:0 0 10px}.suite-nudge-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.suite-nudge-rate{color:inherit;font-weight:700;text-decoration:underline;text-decoration-thickness:2px}
