:root{--bg:#f2f2f7;--sidebar:#e8e8ed;--panel:#fffffff0;--line:#1d1d1f1a;--line-strong:#1d1d1f29;--text:#1d1d1f;--muted:#6e6e73;--accent:#c8965a;--accent-soft:#fdf4ea;--accent-dark:#1d1d1f;--success-soft:#eef8f1;--shadow:0 24px 60px #1f232914;--font-sans:"Aptos Narrow", "Bahnschrift SemiCondensed", "Arial Narrow", "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--text);font-family:var(--font-sans);background:radial-gradient(circle at 0 0,#c8965a1f,#0000 22%),radial-gradient(circle at 100% 0,#0000000a,#0000 26%),linear-gradient(#f5f5f8 0%,#eff0f4 100%)}button,input,select,textarea{font:inherit}.coming-soon{text-align:center;align-content:center;justify-items:center;min-height:100vh;padding:28px;display:grid}.coming-mark{color:#fff;letter-spacing:.08em;background:#1d1d1f;border-radius:8px;place-items:center;width:62px;height:62px;margin-bottom:24px;font-size:20px;font-weight:800;display:grid;box-shadow:0 20px 48px #1d1d1f29}.coming-soon h1{letter-spacing:0;margin:0;font-size:clamp(52px,9vw,112px);line-height:.92}.coming-copy{max-width:560px;color:var(--muted);margin:22px 0 34px;font-size:17px;line-height:1.45}.referral-link{color:var(--muted);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;font-size:12px;text-decoration:underline}.referral-link:hover{color:var(--text)}.shell{grid-template-columns:300px 1fr;min-height:100vh;display:grid}.sidebar{background:linear-gradient(#ededf2 0%,#e5e5eb 100%);border-right:1px solid #d1d1d6;flex-direction:column;gap:18px;padding:30px 18px 22px;display:flex}.brand{align-items:center;gap:14px;padding:2px 10px 14px;display:flex}.brand-mark{color:#fff;letter-spacing:.08em;background:linear-gradient(135deg,#1d1d1f,#3a3a3c);border-radius:16px;place-items:center;width:58px;height:58px;font-size:20px;font-weight:800;display:grid;box-shadow:0 16px 32px #1d1d1f29}.brand h1{letter-spacing:.22em;text-transform:uppercase;margin:0;font-size:14px}.eyebrow{color:#8e8e93;letter-spacing:.18em;text-transform:uppercase;margin:0 0 6px;font-size:10px;font-weight:800}h2,h3,p{letter-spacing:0;margin-top:0}.nav-list{gap:4px;display:grid}.nav-item{color:#3c3c43;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;width:100%;padding:11px 14px;font-size:13px}.nav-item.active{color:var(--text);background:#fff;box-shadow:inset 0 0 0 1px #1d1d1f0f}.main{padding:28px}.topbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.topbar h2{margin:0;font-size:32px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.inner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.inner-grid.two-thirds{grid-template-columns:minmax(0,2fr) minmax(180px,1fr)}.panel,.login-panel{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:8px;padding:22px}.login-panel{max-width:560px}.panel-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.wide{grid-column:1/-1}.studio-panel{border-color:#c8965a3d}.workflow-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:14px;display:grid}.workflow-step{border:1px solid var(--line);background:#fff;border-radius:8px;align-content:center;gap:3px;min-height:82px;padding:12px;display:grid}.workflow-step strong{color:#fff;background:var(--accent-dark);border-radius:999px;place-items:center;width:24px;height:24px;font-size:12px;display:grid}.workflow-step span{font-weight:800}.workflow-step small{color:var(--muted);overflow-wrap:anywhere}.workflow-step.complete{background:var(--accent-soft);border-color:#c8965a4d}.field-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:12px 0 7px;font-size:11px;font-weight:800;display:block}.input,.textarea,.select{border:1px solid var(--line-strong);width:100%;min-height:42px;color:var(--text);background:#fff;border-radius:8px;outline:none;padding:10px 12px}.input::placeholder,.textarea::placeholder{color:#a6a6ad}.textarea{resize:vertical}.input:focus,.textarea:focus,.select:focus{border-color:#c8965acc;box-shadow:0 0 0 3px #c8965a24}.fixed-option{align-self:end;min-height:42px}.fixed-option strong{border:1px solid var(--line);background:#f8f8fa;border-radius:8px;align-items:center;min-height:42px;padding:10px 12px;font-size:14px;display:flex}.button-row{flex-wrap:wrap;gap:10px;display:flex}.code-input{letter-spacing:.08em}.button{color:#fff;background:var(--accent-dark);cursor:pointer;border:0;border-radius:8px;min-height:40px;margin-top:16px;padding:10px 14px;transition:all .16s}.button:disabled{cursor:wait;opacity:.86;transform:none}.button:hover{transform:translateY(-1px)}.button:disabled:hover{transform:none}.generating-button{justify-content:center;align-items:center;gap:8px;display:inline-flex}.button.secondary{background:var(--accent)}.button.ghost{width:100%;color:var(--text);border:1px solid var(--line);background:#ffffffb3}.role-toggle{border:1px solid var(--line);background:#f4f4f7;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:18px 0 6px;padding:4px;display:grid}.role-button{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px}.role-button.active{color:var(--text);background:#fff;box-shadow:0 8px 20px #1f232914}.notice{color:var(--muted);font-size:13px;line-height:1.45}.generation-status{color:var(--text);background:var(--accent-soft);border:1px solid #c8965a42;border-radius:8px;align-items:center;gap:9px;margin-top:14px;padding:10px 12px;font-size:13px;font-weight:800;display:flex}.spinner{border:2px solid #1d1d1f2e;border-top-color:var(--accent-dark);border-radius:999px;flex:none;width:16px;height:16px;animation:.78s linear infinite spin}.spinner.light{border-color:#fff #ffffff57 #ffffff57;width:14px;height:14px}@keyframes spin{to{transform:rotate(360deg)}}.check-row{color:#3c3c43;align-items:flex-start;gap:9px;margin:12px 0;font-size:14px;line-height:1.35;display:flex}.check-row input{margin-top:2px}.chip-grid{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);min-height:34px;color:var(--muted);cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:7px;padding:7px 10px;font-size:12px;display:inline-flex}.chip.checked{color:var(--text);background:var(--accent-soft);border-color:#c8965a85}.status{color:#3c3c43;background:var(--success-soft);text-transform:uppercase;border-radius:999px;align-items:center;min-height:28px;padding:5px 10px;font-size:11px;font-weight:800;display:inline-flex}.asset-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;display:grid}.asset-card{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}.asset-card.selectable{cursor:pointer}.asset-card.selected{border-color:var(--accent-dark);box-shadow:0 0 0 3px #c8965a38}.asset-card img{aspect-ratio:3/4;object-fit:cover;width:100%;display:block}.asset-card p{color:var(--muted);overflow-wrap:anywhere;margin:0;padding:10px;font-size:12px}.asset-card small{color:#8e8e93;overflow-wrap:anywhere;padding:0 10px 10px;font-size:11px;display:block}.job-list{gap:10px;display:grid}.job-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(120px,1fr) auto auto;align-items:center;gap:12px;padding:12px;display:grid}.job-row.job-failed{background:#fff7f5;border-color:#b03a2e61}.job-row span{text-transform:capitalize;font-weight:700}.job-row strong{color:var(--accent-dark);text-transform:uppercase;font-size:12px}.job-row.job-failed strong{color:#b03a2e}.job-title{gap:2px;display:grid}.job-title small{color:#8e8e93;text-transform:uppercase;font-size:10px}.job-row small,.job-row p{color:var(--muted)}.job-row p{grid-column:1/-1;margin:0}.job-progress{background:#ececf1;border-radius:999px;grid-column:1/-1;height:9px;overflow:hidden}.job-progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-dark));height:100%;transition:width .22s}.job-row.job-failed .job-progress-fill{background:#b03a2e}.job-progress-text{font-size:12px;font-weight:700}.job-alert,.job-error{color:#8f2e25}.job-alert{margin:8px 0 16px;font-size:13px;font-weight:700}.job-error{overflow-wrap:anywhere}@media (max-width:960px){.shell,.grid,.inner-grid,.inner-grid.two-thirds,.workflow-strip{grid-template-columns:1fr}.sidebar,.main{padding:20px}.topbar{flex-direction:column;align-items:flex-start}.job-row{grid-template-columns:1fr}}
