:root{color:#1c1c20;background:#f6f7f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}.shell{min-height:100vh}.topbar{background:#fff;border-bottom:1px solid #dedfe4;justify-content:space-between;align-items:center;gap:18px;min-height:64px;padding:0 28px;display:flex}.nav-actions{align-items:center;gap:12px;min-width:0;display:flex}.nav-toggle{background:#fff;border-color:#cfd2d9;flex-direction:column;gap:4px;width:40px;min-height:40px;padding:0;display:none}.nav-toggle span{background:#1c1c20;border-radius:999px;width:18px;height:2px}.language-picker{margin:0}.language-picker select{width:auto;min-height:36px;padding:0 34px 0 12px;font-size:13px;font-weight:700}.brand{cursor:pointer;background:0 0;border:0;font-size:18px;font-weight:700}.small-button{white-space:nowrap;min-height:36px;padding:0 12px}.status-dot{background:#19a974;border-radius:50%;width:10px;height:10px}.workspace{width:min(1180px,100vw - 32px);margin:32px auto}.input-panel{background:#fff;border:1px solid #dedfe4;border-radius:8px;padding:28px}.mode-banner{background:#f8faf9;border:1px solid #cfd2d9;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding:12px 14px;display:flex}.mode-banner span{color:#555963}.settings-panel{gap:20px;display:grid}.settings-panel h1{margin:0}.beach-prompt-page{max-width:980px;margin:0 auto}.large-prompt{min-height:360px;line-height:1.55}.setting-row{border:1px solid #dedfe4;border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:18px;padding:16px;display:grid}.setting-row p{color:#555963;margin:6px 0 0}.prompt-editor{border:1px solid #dedfe4;border-radius:8px;gap:12px;padding:16px;display:grid}.prompt-editor-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.prompt-editor-head p{color:#555963;margin:6px 0 0}.checkbox-stack{gap:8px;display:grid}.checkbox-stack label{color:#1c1c20;align-items:center;gap:8px;margin:0;font-size:14px;display:flex}.checkbox-stack input{width:auto}.beach-panel{gap:18px;display:grid}.beach-builder{grid-template-columns:minmax(240px,320px) 1fr;align-items:start;gap:18px;display:grid}.beach-sidebar,.beach-upload-area{gap:14px;display:grid}.beach-sidebar{position:sticky;top:84px}.beach-actions,.section-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.section-head h1,.section-head p{margin:0}.section-head p{color:#6c707a;font-size:13px}.view-list,.selected-files{flex-wrap:wrap;gap:8px;display:flex}.view-list strong{flex-basis:100%}.view-list{max-height:420px;padding-right:4px;overflow:auto}.view-list span,.selected-files span{color:#555963;background:#fafbfc;border:1px solid #dedfe4;border-radius:6px;padding:8px 10px;font-size:12px}.image-files{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.image-files article{background:#fafbfc;border:1px solid #dedfe4;border-radius:8px;grid-template-rows:auto 1fr;display:grid;overflow:hidden}.image-tile-media{aspect-ratio:4/5;background:#fff;position:relative}.image-files img,.beach-result-media img{object-fit:cover;border:0;border-radius:0;width:100%;height:100%;max-height:none}.image-index{color:#fff;background:#1c1c20c7;border-radius:999px;justify-content:center;align-items:center;min-width:28px;height:28px;padding:0 8px;font-size:12px;font-weight:800;display:inline-flex;position:absolute;top:8px;left:8px}.image-tile-body{gap:8px;padding:10px;display:grid}.image-tile-body strong{overflow-wrap:anywhere;min-height:36px;font-size:13px;line-height:1.35}.beach-paste-zone{min-height:120px;margin:0}.file-input-hidden{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.file-button{color:#1c1c20;margin:0}.empty-state{text-align:center;color:#6c707a;background:#fafbfc;border:1px dashed #cfd2d9;border-radius:8px;align-content:center;place-items:center;gap:8px;min-height:180px;display:grid}.empty-state strong{color:#1c1c20}.beach-results{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.beach-result{background:#fafbfc;border:1px solid #dedfe4;border-radius:8px;grid-template-rows:auto 1fr auto;display:grid;overflow:hidden}.beach-result-media{aspect-ratio:9/13;background:#fff;position:relative}.beach-result-body{gap:6px;padding:12px;display:grid}.beach-result .button-row{padding:0 12px 12px}.beach-result span{color:#555963;font-size:12px}.switch{margin:0;display:inline-flex}.switch input{opacity:0;pointer-events:none;position:absolute}.switch span{background:#cfd2d9;border-radius:999px;width:54px;height:30px;transition:background .18s;position:relative}.switch span:after{content:"";background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #00000038}.switch input:checked+span{background:#146c5f}.switch input:checked+span:after{transform:translate(24px)}label{color:#555963;margin-bottom:8px;font-size:13px;font-weight:700;display:block}.run-row{grid-template-columns:1fr auto;gap:12px;display:grid}.single-action{grid-template-columns:auto;justify-content:start;margin-top:14px}.upload-box{margin-bottom:18px}.paste-zone{text-align:center;background:#fafbfc;border:1px dashed #9aa0ab;border-radius:8px;outline:none;place-items:center;gap:8px;min-height:170px;margin-bottom:14px;padding:18px;display:grid}.paste-zone span{color:#6c707a}.paste-zone img{object-fit:contain;max-height:220px}.meta-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;display:grid}input,select,textarea{color:#1c1c20;background:#fff;border:1px solid #cfd2d9;border-radius:6px;width:100%;padding:12px 14px}select{min-height:44px}textarea{resize:vertical;min-height:120px}button,.link-button{cursor:pointer;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;min-height:44px;padding:0 16px;text-decoration:none;display:inline-flex}button:disabled{opacity:.55;cursor:not-allowed}.primary{color:#fff;background:#146c5f}.primary:disabled{cursor:not-allowed;background:#8fa5a0}.secondary{color:#1c1c20;background:#fff;border-color:#cfd2d9}.danger{color:#fff;background:#b42318}.timeline{grid-template-columns:repeat(5,1fr);gap:10px;margin-top:20px;display:grid}.history-panel{background:#fff;border:1px solid #dedfe4;border-radius:8px;gap:14px;margin-top:20px;padding:16px;display:grid}.history-list{gap:8px;display:grid}.history-item{color:#1c1c20;background:#fafbfc;border:1px solid #dedfe4;justify-content:space-between;gap:12px;min-height:0;padding:12px}.history-item strong,.history-item span{display:block}.history-item span{color:#6c707a;font-size:12px}.history-detail{border:0;padding:0}.library-head{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.library-head h1{margin:0}.library-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;display:grid}.library-card{background:#fff;border:1px solid #dedfe4;border-radius:8px;overflow:hidden}.library-media{aspect-ratio:9/12;background:#f6f7f9;place-items:center;display:grid}.library-media img,.library-media video{object-fit:contain;border:0;border-radius:0;width:100%;height:100%;max-height:none}.library-body{gap:10px;padding:14px;display:grid}.library-body h2{margin:0;font-size:18px}.library-body p{color:#6c707a;margin:0}.library-body details{gap:8px;display:grid}.timeline div,.progress,.copy-panel{background:#fff;border:1px solid #dedfe4;border-radius:8px;padding:16px}.job-grid,.publish-grid{grid-template-columns:280px 1fr 360px;align-items:start;gap:18px;display:grid}.beach-job-grid{grid-template-columns:300px minmax(0,1fr)}.beach-job-grid .media-column{display:none}.beach-job-grid .copy-panel{min-width:0}.publish-grid{grid-template-columns:minmax(280px,420px) 1fr}.progress h1,.copy-panel h1{margin:14px 0;font-size:24px;line-height:1.2}.pill{color:#146c5f;background:#e9f4f1;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.secret-pill{color:#744585;background:#f5eef9}.warning-pill{color:#8a5a00;background:#fff3db}.progress-meter{background:#e7e9ee;border-radius:999px;height:10px;margin:16px 0;overflow:hidden}@media (width<=920px){.run-row,.job-grid,.beach-builder,.beach-job-grid,.publish-grid,.timeline,.meta-grid,.setting-row{grid-template-columns:1fr}.beach-sidebar{position:static}.beach-actions,.section-head{flex-direction:column}}.brand-lockup{flex:none;align-items:center;gap:8px;display:flex}.build-version{color:#6b7280;white-space:nowrap;font-size:11px;font-weight:700;line-height:1}.progress-meter div{background:#146c5f;height:100%;transition:width .24s}.progress-summary{color:#555963;justify-content:space-between;align-items:center;margin:-6px 0 14px;display:flex}.progress-summary strong{color:#146c5f;font-size:22px}.retry-all-panel{color:#9d1c1c;background:#fff6f6;border:1px solid #e3a4a4;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;margin:0 0 14px;padding:10px;font-size:13px;font-weight:700;display:flex}.step-list{gap:10px;margin:12px 0 18px;display:grid}.step-row{background:#fafbfc;border:1px solid #e1e3e8;border-radius:6px;grid-template-columns:28px 1fr;gap:10px;padding:10px;display:grid}.step-row.clickable-step:hover{background:#f1f3f5;border-color:#ced4da}.step-row strong,.step-row small{display:block}.step-row small,.step-detail{color:#6c707a;font-size:12px}.step-mark{color:#555963;border:1px solid #cfd2d9;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-weight:800;display:inline-flex}.step-row.completed .step-mark{color:#fff;background:#146c5f;border-color:#146c5f}.step-row.processing .step-mark{color:#8a6500;background:#fff4d8;border-color:#e2b54f}.step-row.failed{background:#fff6f6;border-color:#e3a4a4}.step-row.failed .step-mark{color:#fff;background:#b42318;border-color:#b42318}.step-error{color:#9d1c1c;margin:6px 0 0;font-size:12px}.artifact-path{color:#555963;overflow-wrap:anywhere;background:#f6f7f9;border-radius:6px;margin:0;padding:9px 10px;font-size:12px}.media-column{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}img,video{object-fit:contain;background:#fff;border:1px solid #dedfe4;border-radius:8px;width:100%;max-height:720px}.copy-panel{gap:12px;display:grid}.button-row{flex-wrap:wrap;gap:10px;display:flex}.script-box{min-height:280px;line-height:1.55}.error{color:#9d1c1c;white-space:pre-wrap;background:#fff0f0;border:1px solid #e3a4a4;border-radius:6px;padding:12px 14px}.success{color:#146c5f;background:#effbf5;border:1px solid #9bd6b9;border-radius:6px;padding:12px 14px}.checklist{gap:8px;display:grid}.checklist span{background:#f6f7f9;border-radius:6px;padding:10px 12px}@media (width<=920px){.run-row,.job-grid,.beach-builder,.beach-job-grid,.publish-grid,.timeline,.meta-grid,.setting-row{grid-template-columns:1fr}.beach-sidebar{position:static}.beach-actions,.section-head{flex-direction:column}.history-item,.mode-banner{flex-direction:column;align-items:flex-start}}.tiktok-input-group{gap:8px;margin-bottom:20px;display:grid}.tiktok-fetch-row{gap:12px;display:flex}.tiktok-fetch-row input{flex:1}.tiktok-details-section{border-top:1px solid #dedfe4;gap:20px;margin-top:24px;padding-top:24px;display:grid}.tiktok-image-selection{gap:8px;display:grid}.section-desc{color:#555963;margin:0 0 8px;font-size:13px}.tiktok-image-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;display:grid}.tiktok-image-card{cursor:pointer;aspect-ratio:1;background:#f6f7f9;border:2px solid #dedfe4;border-radius:8px;transition:all .2s;position:relative;overflow:hidden}.tiktok-image-card img{object-fit:contain;background:#fff;border:0;border-radius:0;width:100%;height:100%}.tiktok-image-card:hover{border-color:#555963;transform:translateY(-2px)}.tiktok-image-card.selected{border-color:#146c5f;box-shadow:0 0 0 2px #146c5f33}.tiktok-image-card .select-badge{color:#fff;opacity:0;background:#146c5f;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;transition:all .2s;display:flex;position:absolute;top:8px;right:8px;transform:scale(.8)}.tiktok-image-card.selected .select-badge{opacity:1;transform:scale(1)}.no-candidates{color:#9d1c1c;margin:8px 0 0;font-size:13px}.tiktok-settings-row{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:10px;display:grid}.tiktok-panel{position:relative}.loading-overlay{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffffbf;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.spinner{border:3px solid #0052cc1a;border-top-color:#146c5f;border-radius:50%;width:32px;height:32px;margin-bottom:12px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.assistant-modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#0f172a73;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.assistant-modal{background:#fff;border:1px solid #dedfe4;border-radius:12px;flex-direction:column;width:90%;max-width:600px;max-height:85vh;display:flex;overflow-y:auto;box-shadow:0 10px 40px #00000026}.assistant-modal-header{border-bottom:1px solid #dedfe4;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.assistant-modal-header h2{color:#1c1c20;margin:0;font-size:16px;font-weight:700}.assistant-close-btn{cursor:pointer;color:#8c8d99;background:0 0;border:none;font-size:20px;line-height:1}.assistant-close-btn:hover{color:#1c1c20}.assistant-modal-body{flex-direction:column;gap:12px;padding:20px;display:flex}.assistant-modal-footer{border-top:1px solid #dedfe4;justify-content:flex-end;gap:12px;padding:16px 20px;display:flex}.assistant-textarea{resize:vertical;width:100%;min-height:160px}@media (width<=920px){.topbar{flex-wrap:wrap;align-items:center;height:auto;padding:12px 16px}.nav-toggle{display:inline-flex}.nav-actions{flex-direction:column;order:3;align-items:stretch;width:100%;padding:10px 0 2px;display:none;overflow:visible}.nav-actions.is-open{display:flex}.nav-actions>*,.nav-actions .small-button,.nav-actions .language-picker,.nav-actions .language-picker select{width:100%;margin-left:0!important}.language-picker select{min-width:112px}}@media (width<=560px){.topbar{gap:10px;padding:10px 12px}.brand-lockup{flex:auto;width:auto;min-width:0}.brand{padding-left:0;font-size:17px}.nav-actions{gap:8px}.small-button{min-height:34px;padding:0 10px;font-size:13px}.user-greeting,.status-dot{display:none}.workspace{width:min(100% - 20px,1180px);margin:18px auto}}
