:root{color-scheme:light dark;--bg:#f6f6f6;--surface:#ffffff;--surface-2:#eeeeee;--surface-3:#e5e5e5;--ink:#111111;--muted:#5f5f5f;--soft:#8a8a8a;--line:#dedede;--line-strong:#bdbdbd;--accent:#111111;--accent-2:#3d3d3d;--accent-ink:#ffffff;--danger:#9f1d1d;--ok:#266447;--warn:#755900;--shadow:0 18px 48px rgba(0,0,0,0.08);--radius:8px;--topbar:72px}@media (prefers-color-scheme:dark){:root{--bg:#0f0f0f;--surface:#171717;--surface-2:#202020;--surface-3:#2a2a2a;--ink:#f4f4f4;--muted:#b8b8b8;--soft:#858585;--line:#2f2f2f;--line-strong:#505050;--accent:#f4f4f4;--accent-2:#d6d6d6;--accent-ink:#101010;--danger:#ff8b8b;--ok:#79c99f;--warn:#d6bd6b;--shadow:0 18px 48px rgba(0,0,0,0.34)}.farnerTeamLogo{filter:invert(1)}}*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}button{min-height:44px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}button:hover:not(:disabled){border-color:var(--line-strong);box-shadow:0 6px 18px rgba(0,0,0,.08);transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(0)}button:disabled{cursor:not-allowed;opacity:.55}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--accent-2) 35%,transparent);outline-offset:2px}.skipLink{position:fixed;left:12px;top:12px;z-index:20;padding:10px 12px;border-radius:var(--radius);background:var(--ink);color:var(--surface);transform:translateY(-140%)}.skipLink:focus{transform:translateY(0)}.shell{display:grid;grid-template-rows:var(--topbar) minmax(0,1fr);min-height:100dvh}.rail{position:sticky;top:0;z-index:30;justify-content:space-between;min-height:var(--topbar);padding:12px 28px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 88%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand,.rail{display:flex;align-items:center;gap:14px}.brand{min-width:0}.projectSelector{width:min(180px,22vw)}.projectSelector select{min-height:38px;font-size:14px}.srOnly{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.loginShell{display:grid;min-height:100dvh;place-items:center;padding:24px}.loginPanel{display:grid;width:min(100%,420px);gap:16px;border:1px solid var(--line);border-radius:var(--radius);padding:22px;background:var(--surface);box-shadow:var(--shadow)}.loginHeader{display:grid;gap:14px}.loginBrand{display:flex;align-items:center;justify-content:space-between;gap:18px}.atelierWordmark{color:var(--ink);font-size:32px;font-weight:800;line-height:.95;letter-spacing:0}.farnerTeamLogo{width:min(44%,150px);height:auto;flex:0 1 auto}.panel h2,.rail h1{margin:0;color:var(--ink);font-size:28px;line-height:1.05;letter-spacing:0}.rail h1{font-size:24px}.eyebrow,.label{margin:0;color:var(--muted);font-size:12px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.lede{max-width:62ch;margin:10px 0 0;color:var(--muted);font-size:15px;line-height:1.5}nav{gap:8px;flex:0 1 auto}.groups button,nav,nav button{display:flex;align-items:center}.groups button,nav button{justify-content:center;gap:10px;text-align:left;text-transform:capitalize}nav button{min-width:auto;padding:0 14px;font-weight:750}.iconOnly{display:inline-grid;place-items:center;width:44px;min-width:44px;padding:0;line-height:0}.icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}nav .navBottom{margin-top:0}.groups small{color:var(--soft);font-size:12px;font-weight:500}.groupTypeIcon{width:16px;height:16px;flex:0 0 auto;stroke-width:2}.accountButton,.groupTypeIcon{color:var(--muted)}.active{border-color:var(--ink);background:var(--ink);color:var(--surface)}.active small{color:color-mix(in srgb,var(--surface) 68%,transparent)}.active .groupTypeIcon{color:currentColor}.busySpinner,.navSpinner{flex:0 0 auto;width:12px;height:12px;border:2px solid;border-right:2px solid transparent;border-radius:999px;animation:busySpin .72s linear infinite}.navSpinner{width:13px;height:13px}@keyframes busySpin{to{transform:rotate(1turn)}}.workspace{padding:28px}.panel{width:100%;max-width:1320px;margin-inline:auto}.sectionHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.heroHead{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.actionBar,.cardActions,.inlineActions,.renameGroup,.row,.split{display:flex;align-items:center;gap:10px}.split{align-items:flex-start;justify-content:space-between;margin:18px 0}.primary,.secondary{padding:0 16px;font-weight:750}.downloadButton,a.secondary{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);text-decoration:none}.primary{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.secondary{background:var(--surface)}.dangerButton{border-color:color-mix(in srgb,var(--danger) 30%,var(--line));padding:0 16px;background:color-mix(in srgb,var(--danger) 8%,var(--surface));color:var(--danger);font-weight:750}.dangerButton.iconOnly{padding:0;justify-content:center}.textButton{display:inline-flex;align-items:center;gap:5px;min-height:auto;border:0;padding:0;background:transparent;color:var(--accent-2);font-weight:750;box-shadow:none}.textButton svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.textButton:hover{box-shadow:none!important;transform:none!important;text-decoration:underline}.dangerText{color:var(--danger)}.iconButton{display:inline-grid;width:34px;min-height:34px;place-items:center;border:1px solid transparent;border-radius:999px;padding:0;background:transparent;color:var(--accent-2);text-decoration:none}.iconButton svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}a.iconButton{align-items:center;justify-content:center}.iconButton:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-2);box-shadow:none;transform:none}.dangerIcon{color:var(--danger)}.dangerIcon:hover:not(:disabled){border-color:color-mix(in srgb,var(--danger) 22%,var(--line));background:color-mix(in srgb,var(--danger) 8%,var(--surface))}.notice{margin-bottom:14px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:0 8px 24px rgba(0,0,0,.05)}.assetError,.notice.error{color:var(--danger)}.inlineBusy{display:inline-flex;align-items:center;gap:8px;min-height:38px;width:fit-content;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);color:var(--muted);padding:0 12px;font-size:13px;font-weight:750}.settingsBusy{margin-bottom:2px}.buttonBusyContent{display:inline-flex;align-items:center;justify-content:center;gap:8px}.readinessNotice{max-width:1180px;margin-inline:auto}.readinessNotice p{margin:0}.readinessNotice p+p{margin-top:6px;color:var(--muted);line-height:1.45}.groups{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.groups button{width:auto;min-width:0;padding:0 16px;font-weight:800;white-space:nowrap}.addReferenceGroupButton{min-width:132px}.renameGroup{max-width:520px;margin:-6px 0 22px}.renameGroup .field{flex:1 1 auto}.renameGroup button{align-self:end;white-space:nowrap}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);transition:border-color .18s ease,box-shadow .18s ease}input:hover,select:hover,textarea:hover{border-color:var(--line-strong)}input,select{min-height:44px;padding:0 12px}select{padding-right:42px}textarea{min-height:230px;padding:14px;resize:vertical;line-height:1.5}.field{display:grid;gap:8px;width:100%;color:var(--muted);font-size:13px;font-weight:750}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.card,.composeMain,.output,.sheetCard{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.card{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.card:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.clickableCard{cursor:pointer}.thumb{position:relative;background:var(--surface-2)}.imageButton{display:block;width:100%;min-height:auto;border:0;border-radius:0;padding:0;background:transparent;box-shadow:none}.imageButton:hover:not(:disabled){box-shadow:none;transform:none}.thumb img{display:block;width:100%;aspect-ratio:4/3;object-fit:contain}.thumb .pill{position:absolute;left:10px;top:10px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.sheetActions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.sheetActionsTitle{margin:0 0 8px}.sectionRule{height:1px;margin:0 0 20px;background:var(--line)}.sheetActionContent{display:inline-flex;align-items:center;gap:8px;min-width:0}.sheetPinnedIcon{width:16px;height:16px;color:var(--ok);flex:0 0 auto}.sheetGrid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.sheetCard,.sheetGrid{display:grid}.sheetImage{position:relative;background:var(--surface-2)}.sheetImage img{display:block;width:100%;aspect-ratio:16/9;object-fit:contain}.sheetImage .pill{position:absolute;left:10px;top:10px}.cardBody,.preview{padding:14px}.card p,.output p,.preview p{color:var(--muted);font-size:14px;line-height:1.45}.card .caption,.cardBody>p:not(.caption):not(.assetError){display:-webkit-box;min-height:40px;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.caption{color:var(--ink)!important;font-weight:750}.assetType{flex:0 0 auto;color:var(--soft);letter-spacing:.06em;text-transform:uppercase}.assetType,.pinToggle{font-size:12px;font-weight:750}.pinToggle{display:inline-flex;align-items:center;gap:6px;min-height:28px;border-radius:999px;padding:0 10px;background:var(--surface-2);color:var(--muted);box-shadow:none}.pinToggle svg{width:15px;height:15px}.pinToggle.pinned{border-color:color-mix(in srgb,var(--ok) 26%,var(--line));background:color-mix(in srgb,var(--ok) 12%,var(--surface));color:var(--ok)}.inlineActions{flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.cardActions{flex-wrap:wrap;margin-top:12px}.pill{border:1px solid var(--line);border-radius:999px;padding:4px 8px;background:color-mix(in srgb,var(--surface) 86%,transparent);color:var(--muted);font-size:12px;font-weight:750}.pill.analyzed,.pill.promoted,.pill.seeded{background:color-mix(in srgb,var(--ok) 14%,var(--surface));color:var(--ok)}.pill.error{background:color-mix(in srgb,var(--danger) 14%,var(--surface));color:var(--danger)}.pill.analyzing,.pill.needs_analysis{background:color-mix(in srgb,var(--warn) 14%,var(--surface));color:var(--warn)}.chips,.tags{display:flex;flex-wrap:wrap;gap:6px}.tags span{border:1px solid var(--line);padding:5px 9px;background:var(--surface-2);font-size:12px}.characterCheck,.tags span{border-radius:999px;color:var(--muted)}.characterCheck{display:inline-flex;align-items:center;gap:8px;max-width:100%;min-height:48px;padding:5px 10px 5px 6px;background:var(--surface)}.characterCheck.selected{border-color:var(--ink);background:var(--ink);color:var(--surface);box-shadow:none}.characterCheck.detected{border-color:#d7a900;box-shadow:inset 0 0 0 1px #d7a900}.characterCheck.selected.detected{box-shadow:inset 0 0 0 2px #ffd84d}.chipType{border-radius:999px;padding:2px 6px;background:color-mix(in srgb,currentColor 12%,transparent);font-size:10px;font-weight:800;line-height:1;text-transform:uppercase}.detectedTrigger{display:inline-flex;align-items:center;min-height:32px;border:1px solid #d7a900;border-radius:999px;background:#fff8d6;color:#5e4500;padding:0 10px;font-size:12px;font-weight:800}.characterThumb{flex:0 0 auto;width:36px;height:36px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);object-fit:cover}.generatePanel{max-width:1180px}.settingsStack{display:grid;gap:18px}.settingsHeader{display:flex;align-items:center;justify-content:space-between;gap:16px}.settingsHeader h2{margin:0;font-size:24px}.settingsTabs{display:inline-flex;flex-wrap:wrap;gap:8px}.settingsTabs button{min-width:132px;padding:0 14px;font-weight:750}.adminPanel{display:grid;gap:12px}.createProjectForm{grid-template-columns:1fr;align-items:stretch}.createProjectForm textarea{min-height:96px}.projectCards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}.projectCard{display:grid;grid-template-columns:minmax(0,1fr) 64px;align-items:center;gap:12px;min-height:92px;border:1px solid var(--line);border-radius:var(--radius);padding:12px;background:var(--surface);text-align:left}.projectCard p{margin:5px 0 0;color:var(--muted);font-size:14px;line-height:1.45}.projectCard .caption{margin:0;font-size:15px}.projectCard:hover:not(:disabled){border-color:var(--line-strong);box-shadow:0 8px 28px rgba(0,0,0,.06)}.projectCreateCard{grid-template-columns:44px minmax(0,1fr);border-style:dashed;color:var(--muted)}.projectCreateCard .caption{display:block;color:var(--ink)}.projectCreateIcon{display:grid;width:44px;height:44px;place-items:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);color:var(--ink);font-size:24px;font-weight:650;line-height:1}.projectCreateHint{display:block;margin-top:5px;font-size:14px;line-height:1.45}.createProjectForm.projectCreateCard{grid-template-columns:1fr;cursor:default}.projectCardText{min-width:0}.projectThumb{width:64px;height:64px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);object-fit:cover}.projectThumbFallback{display:grid;place-items:center;color:var(--muted);font-weight:800}.projectForm{max-width:860px;grid-template-columns:repeat(2,minmax(0,1fr))}.projectForm label:nth-of-type(3),.projectForm label:nth-of-type(4){grid-column:1/-1}.projectSettingsActions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px}.adminGrid,.adminUsers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.adminConsole{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:16px;align-items:start}.adminBlock{display:grid;gap:12px;border:1px solid var(--line);border-radius:var(--radius);padding:14px;background:var(--surface)}.adminBlock textarea{min-height:118px}.newUser{align-self:start}.inviteUserPanel{position:sticky;top:calc(var(--topbar) + 24px)}.accessPanel{min-width:0}.adminPanelHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.adminPanelHead h2{margin:3px 0 0;font-size:22px;line-height:1.1}.adminFormGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.adminFormGrid .field:first-child,.adminFormGrid .field:nth-child(3){grid-column:1/-1}.accessChecks{display:flex;flex-wrap:wrap;gap:8px 14px}.accessChecks label{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px}.accessChecks input{width:auto;min-height:auto}.projectAccessGrid{display:flex;flex-wrap:wrap;gap:8px;min-width:0;border:0;padding:0;margin:0}.projectAccessGrid legend{width:100%;margin-bottom:2px;color:var(--muted);font-size:13px;font-weight:750}.accessChip{display:inline-flex;align-items:center;gap:7px;min-height:34px;border:1px solid var(--line);border-radius:999px;padding:0 11px;background:var(--surface-2);color:var(--ink);font-size:13px;font-weight:650}.accessChip input{width:auto;min-height:auto;margin:0}.userRows{display:grid;gap:12px}.userAccessList{display:grid;gap:10px}.userAccessCard{display:grid;grid-template-columns:minmax(180px,.75fr) minmax(240px,1.25fr) auto;align-items:center;gap:14px;border:1px solid var(--line);border-radius:var(--radius);padding:12px;background:var(--surface)}.userIdentity{min-width:0}.userIdentity p{margin:4px 0 0;color:var(--muted);overflow-wrap:anywhere}.roleBadge{display:inline-flex;align-items:center;min-height:24px;margin-top:10px;border-radius:999px;padding:0 9px;background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:750;text-transform:capitalize}.roleBadge.admin,.roleBadge.superadmin{background:var(--ink);color:var(--surface)}.roleBadge.superadmin{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--surface) 28%,transparent)}.accessActions{display:grid;justify-items:end;gap:8px}.accessNote{color:var(--muted);font-size:13px;font-weight:750}.compactPasswordField{width:min(220px,100%);text-align:left}.compactPasswordField input{min-height:38px}.userRow{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:12px}.composeGrid{display:block}.composeMain{padding:16px}.inlineSettings{display:grid;gap:14px;margin-top:16px}.generationControls,.promptAssistBar,.promptTopBar{display:flex;align-items:center;flex-wrap:wrap;min-width:0}.promptTopBar{gap:10px 12px}.promptAssistBar{flex:1 1 auto;gap:10px 16px}.generationControls{justify-content:flex-start;gap:10px;padding-top:14px}.characterGroup,.objectGroup{display:flex;align-items:center;gap:8px;min-width:0}.toolbarGroup{flex:1 1 260px}.detectedTriggers{flex:1 1 220px}.inlineSettings .field{display:flex;align-items:center;gap:8px;white-space:nowrap}.generationSettingPair{display:flex;align-items:center;gap:12px}.advancedGrid{display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));align-items:start;gap:16px 22px}.advancedGrid .field{display:grid;align-items:start;grid-template-columns:148px minmax(0,1fr);gap:8px 10px}.advancedGrid .field input,.advancedGrid .field select{width:100%}.optionField input,.optionTags{grid-column:2}.optionTags{display:flex;flex-wrap:wrap;gap:6px}.settingTag{min-height:28px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);padding:0 10px;font-size:12px;font-weight:750}.settingTag:hover{border-color:var(--ink);color:var(--ink)}.settingTag.selected{border-color:#d7a900;background:#fff3bd;color:var(--ink)}.constraintsField{grid-column:1/-1;max-width:none}.actionBar{justify-content:flex-end;margin-top:14px}.modelField select,.ratioField select,.resolutionField select{width:fit-content}.inlineSettings select{min-height:38px;padding-left:12px;padding-right:42px}.modelField select{min-width:220px}.ratioField select{min-width:92px}.resolutionField select{min-width:78px}.optimizeInline{min-height:38px;margin-left:auto;border-color:#d7a900;background:#ffd84d;color:#111111;padding:0 16px;font-weight:800}.optimizeInline:not(:disabled):hover{border-color:#c69a00;background:#ffcf24}.promptField textarea{min-height:44px;padding:8px 14px;overflow:hidden;font-size:18px;line-height:1.45}.miniStats{margin-top:10px;color:var(--muted)}.miniStats span{font-size:12px}.advancedSettingsButton{display:inline-grid;place-items:center;min-height:38px;color:var(--muted);font-size:13px;font-weight:750}.advancedSettingsButton[aria-expanded=true]{border-color:var(--ink);color:var(--ink)}.advancedSettingsPanel{padding-top:14px}.advancedSettingsPanel,.preview{border-top:1px solid var(--line)}.preview{display:grid;gap:16px;padding:16px 0 0}.previewPrompt,.previewReferences{min-width:0}.previewPrompt{padding-right:4px}.optimizedPromptField{display:grid;gap:10px}.inlineSettings .optimizedPromptField{display:grid;align-items:stretch;white-space:normal}.optimizedPromptField textarea{min-height:118px;overflow:hidden;color:var(--muted);font-size:14px;line-height:1.5}.previewPrompt p:last-child{margin:14px 0 0;color:var(--muted);font-size:14px;line-height:1.5}.strip{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:8px;margin-top:10px}.strip img{width:100%;aspect-ratio:1;border-radius:6px;object-fit:cover}.generateInline{margin-left:auto}.referenceGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;margin-top:10px}.referenceGrid figure{min-width:0;margin:0}.referenceGrid img{display:block;width:100%;aspect-ratio:1;border-radius:6px;object-fit:cover}.referenceGrid figcaption{display:-webkit-box;margin-top:5px;overflow:hidden;color:var(--muted);font-size:11px;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.history{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.history .emptyState{grid-column:1/-1}.editPanel{display:grid;gap:14px;margin-bottom:18px;padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.editPanel h3{margin:4px 0 0;font-size:20px;line-height:1.2}.editGrid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;align-items:start}.editGrid>img{display:block;width:100%;border-radius:6px;background:var(--surface-2)}.editControls{display:grid;gap:12px}.editControls textarea{min-height:130px}.editOverlay{position:fixed;inset:0;z-index:55;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;padding:18px;background:color-mix(in srgb,var(--bg) 96%,transparent)}.editTopBar{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0}.editTopBar h2{margin:2px 0 0;font-size:24px;line-height:1.1}.editWorkspace{display:grid;grid-template-columns:88px minmax(0,1fr) minmax(320px,380px);gap:14px;min-height:0}.editSidePanel,.editToolRail{min-height:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.editToolRail{display:flex;align-items:stretch;flex-direction:column;gap:8px;padding:10px}.editTool{display:grid;min-height:58px;place-items:center;gap:4px;padding:8px 4px;color:var(--muted);font-size:11px;font-weight:800}.editTool svg{width:20px;height:20px}.editTool.active{border-color:var(--ink);background:var(--ink);color:var(--surface)}.brushSizeControl{display:grid;place-items:center;min-height:86px}.brushSizeControl input{width:74px;min-height:auto;padding:0;transform:rotate(-90deg)}.editCanvasStage{display:grid;min-width:0;min-height:0;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(45deg,color-mix(in srgb,var(--surface-2) 70%,transparent) 25%,transparent 25%),linear-gradient(-45deg,color-mix(in srgb,var(--surface-2) 70%,transparent) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,color-mix(in srgb,var(--surface-2) 70%,transparent) 75%),linear-gradient(-45deg,transparent 75%,color-mix(in srgb,var(--surface-2) 70%,transparent) 75%);background-color:var(--surface);background-position:0 0,0 10px,10px -10px,-10px 0;background-size:20px 20px}.editCanvasFrame{position:relative;display:grid;max-width:100%;max-height:100%;place-items:center}.editCanvasFrame img{display:block;max-width:100%;max-height:calc(100dvh - 138px);border-radius:6px;object-fit:contain;-webkit-user-select:none;user-select:none}.editCanvas,.editNotes{position:absolute;inset:0;width:100%;height:100%}.editCanvas{touch-action:none;cursor:crosshair}.editNotes{pointer-events:none}.editNotePin{position:absolute;display:grid;width:30px;min-height:30px;place-items:center;border:2px solid var(--ink);border-radius:999px;padding:0;background:#ffd84d;color:#111111;font-size:13px;font-weight:900;pointer-events:auto;transform:translate(-50%,-50%)}.editNotePin.active{box-shadow:0 0 0 4px color-mix(in srgb,#ffd84d 42%,transparent)}.editSidePanel{display:grid;align-content:start;gap:14px;overflow:auto;padding:14px}.editSidePanel textarea{min-height:112px}.editNoteList{display:grid;gap:10px}.editNoteList .row{justify-content:space-between}.editNoteField{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2)}.editNoteField.active{border-color:var(--line-strong);background:var(--surface)}.editActionBar{display:grid;grid-template-columns:1fr 1fr;gap:10px}.output{display:grid;gap:10px;padding:12px}.outputImageButton{min-height:auto;border:0;padding:0;background:transparent;box-shadow:none}.outputImageButton:hover:not(:disabled){box-shadow:none;transform:none}.outputImageButton img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:6px}.outputBody{min-width:0}.outputBody,.outputHead{display:grid;gap:8px}.outputHead .caption{margin-top:0}.outputToolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.outputRatingCluster{display:flex;align-items:center;gap:6px;min-width:0}.outputActions{flex:0 0 auto;justify-content:flex-end;gap:6px;margin-left:auto}.outputActions,.ratingGroup{display:flex;flex-wrap:nowrap}.ratingGroup{align-items:center;gap:4px}.ratingButton{display:inline-grid;width:34px;min-height:34px;place-items:center;padding:0;border-color:transparent;border-radius:999px;background:transparent;color:var(--muted)}.ratingButton svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.ratingButton:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-2);box-shadow:none;transform:none}.ratingButton.active{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.ratingIconStack{position:relative;display:block;width:23px;height:18px}.ratingIconStack svg{position:absolute;width:16px;height:16px}.ratingIconStack svg:first-child{left:0;bottom:0}.ratingIconStack svg:last-child{right:0;top:0}.empty,.emptyState{color:var(--muted)}.emptyState{max-width:520px;padding:22px;border:1px dashed var(--line-strong);border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 68%,transparent)}.compactEmpty{max-width:360px;padding:14px}.uploadDropzone{display:grid;min-height:168px;max-width:420px;margin:0 0 16px;align-content:center;gap:10px;cursor:pointer;border-style:dashed;transition:border-color .16s ease,background .16s ease,color .16s ease}.uploadDropzone:focus-within,.uploadDropzone:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--ink)}.compactUploadDropzone{display:flex;min-height:auto;max-width:none;align-items:center;justify-content:space-between;gap:14px;padding:14px}.compactUploadDropzone span:nth-of-type(2){flex:1 1 auto}.dropzoneInput{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.dropzoneAction{justify-self:start;border-radius:999px;background:var(--ink);color:var(--surface);padding:8px 12px;font-size:13px;font-weight:800}.modalLayer{position:fixed;inset:0;z-index:48;display:grid;place-items:center;padding:20px;background:rgba(23,23,23,.34)}.modalPanel{display:grid;gap:16px;width:min(92vw,440px);padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 24px 70px rgba(0,0,0,.22)}.modalActions,.modalHead{display:flex;align-items:center;justify-content:space-between;gap:12px}.modalHead h3{margin:2px 0 0;font-size:22px}.segmentedControl{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2)}.segmentedControl label{display:grid;cursor:pointer}.segmentedControl input{position:absolute;opacity:0;pointer-events:none}.segmentedControl span{display:grid;min-height:38px;place-items:center;border-radius:calc(var(--radius) - 2px);font-weight:800;color:var(--muted)}.segmentedControl input:checked+span{background:var(--ink);color:var(--surface)}.lightbox{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;background:rgba(23,23,23,.78)}.lightboxPanel{display:grid;gap:12px;width:min(96vw,1280px);max-height:94dvh;padding:14px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:var(--surface);box-shadow:0 24px 80px rgba(0,0,0,.38)}.lightboxTop{display:flex;align-items:center;justify-content:space-between;gap:12px}.lightboxActions{display:flex;flex:0 0 auto;gap:10px}.lightboxIconButton{width:44px;min-height:44px;border-color:var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink)}.lightboxTop p{margin:0}.lightboxPanel img{display:block;max-width:100%;max-height:calc(94dvh - 92px);margin:0 auto;border-radius:8px;object-fit:contain}.drawerLayer{position:fixed;inset:0;z-index:45;display:flex;justify-content:flex-end;background:rgba(23,23,23,.28)}.detailDrawer{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:14px;width:min(92vw,560px);height:100dvh;padding:18px;border-left:1px solid var(--line);background:var(--surface);box-shadow:-24px 0 70px rgba(0,0,0,.18);overflow:auto}.drawerActions,.drawerTop{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.drawerTop h2{margin:4px 0 0;font-size:22px;line-height:1.15}.drawerImage{min-height:auto;overflow:hidden;border:1px solid var(--line);padding:0;background:var(--surface-2)}.drawerImage img{display:block;width:100%;max-height:380px;object-fit:contain}.drawerForm{display:grid;gap:14px;align-content:start}.drawerForm textarea{min-height:150px}.drawerForm .tagEditor{min-height:96px}.detailMeta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.detailMeta span{min-width:0;overflow-wrap:anywhere;border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px;background:var(--surface-2);color:var(--muted);font-size:12px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.busySpinner,.navSpinner{border-right-color:currentColor}}@media (min-width:1600px){.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width:980px){.shell{grid-template-rows:auto minmax(0,1fr)}.rail{position:static;height:auto;align-items:flex-start;flex-direction:column;padding:16px 20px}.brand{width:100%;justify-content:space-between}.projectSelector{width:min(100%,240px)}nav{width:100%;flex-wrap:wrap}.workspace{padding:20px}.preview{min-height:auto}.composeGrid{grid-template-columns:1fr}.settingsHeader{align-items:flex-start;flex-direction:column}.history{grid-template-columns:repeat(2,minmax(0,1fr))}.editWorkspace{grid-template-columns:74px minmax(0,1fr)}.editSidePanel{grid-column:1/-1;max-height:36dvh}.editGrid,.output{grid-template-columns:1fr}.outputHead{display:grid}.outputActions{justify-content:flex-start}.adminConsole,.adminFormGrid,.adminGrid,.adminUsers,.userAccessCard{grid-template-columns:1fr}.inviteUserPanel{position:static}.accessActions{justify-items:stretch}}@media (max-width:640px){.rail,.workspace{padding:14px}.brand{align-items:flex-start;flex-direction:column;gap:8px}.projectSelector{width:100%}.panel h2,.rail h1{font-size:24px}.actionBar,.cardActions,.inlineActions,.output,.renameGroup,.sectionHead,nav{display:grid;grid-template-columns:1fr}.heroHead{padding:0}.advancedGrid,.advancedGrid .field{grid-template-columns:1fr}.optionField input,.optionTags{grid-column:1}.constraintsField{max-width:none}.generationControls,.generationSettingPair,.promptAssistBar,.promptTopBar{align-items:stretch;flex-direction:column}.characterGroup,.inlineSettings .field,.objectGroup{display:grid;align-items:stretch}.history{grid-template-columns:1fr}.editOverlay{padding:12px}.editTopBar{display:grid;grid-template-columns:1fr auto}.editWorkspace{grid-template-columns:1fr;overflow:auto}.editToolRail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.brushSizeControl{min-height:44px}.brushSizeControl input{width:100%;transform:none}.editCanvasStage{min-height:44dvh}.editCanvasFrame img{max-height:48dvh}.editSidePanel{max-height:none}.editActionBar{grid-template-columns:1fr}.advancedSettingsButton,.iconOnly{width:100%}.optimizeInline{width:100%;margin-left:0}.groups button,.renameGroup,.settingsTabs,.settingsTabs button{width:100%}.grid,.sheetGrid{grid-template-columns:1fr}.detailDrawer{width:100vw;padding:14px}.detailMeta,.drawerActions,.drawerTop{grid-template-columns:1fr}.drawerActions,.drawerTop{display:grid}}