:root{color:#1f1f1f;font-synthesis:none;text-rendering:optimizelegibility;background:#f7f7f4;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html{background:#f7f7f4}body{color:#1f1f1f;background:#f7f7f4;min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}*{box-sizing:border-box}body{color:#20201e;background:#f7f7f4;margin:0}button,input,textarea,select{font:inherit}.app{width:min(1180px,100% - 40px);margin:0 auto;padding:56px 0 100px}.header{text-align:center;margin-bottom:40px}.eyebrow,.step{color:#3d3d39;text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:700}.header h1{color:#20201e;letter-spacing:-2px;margin:14px 0 18px;font-size:clamp(38px,5vw,62px);line-height:1.05}.header p{color:#686863;max-width:700px;margin:0 auto;font-size:18px;line-height:1.6}.panel,.card,.warning-card{background:#fff;border:1px solid #e2e2dd;border-radius:18px}.form-panel{padding:34px}.section-heading{text-align:center;margin-bottom:30px}.section-heading h2,.result-header h2{color:#20201e;margin:8px 0 0}.section-heading h2{font-size:28px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px;display:grid}label{color:#292927;flex-direction:column;gap:9px;font-size:14px;font-weight:600;display:flex}input,textarea{color:#20201e;background:#fff;border:1px solid #d7d7d1;border-radius:11px;outline:none;width:100%;padding:14px 15px;transition:border-color .2s,box-shadow .2s}input::placeholder,textarea::placeholder{color:#999993;opacity:1}input:focus,textarea:focus{border-color:#55554f;box-shadow:0 0 0 3px #20201e14}textarea{resize:vertical;min-height:110px}.platform-section{margin:28px 0}.label-title{color:#292927;margin-bottom:12px;font-size:14px;font-weight:600;display:block}.platforms{flex-wrap:wrap;gap:10px;display:flex}.platform{appearance:none;cursor:pointer;color:#292927;background:#fff;border:1px solid #d8d8d2;border-radius:999px;padding:10px 16px;font-size:14px;font-weight:500;transition:background .2s,color .2s,border-color .2s,transform .2s}.platform:hover{border-color:#777770;transform:translateY(-1px)}.platform.active{color:#fff;background:#20201e;border-color:#20201e}.generate-button{color:#fff;cursor:pointer;background:#20201e;border:none;border-radius:12px;width:100%;margin-top:24px;padding:16px 20px;font-size:15px;font-weight:700;transition:opacity .2s,transform .2s}.generate-button:hover:not(:disabled){transform:translateY(-1px)}.generate-button:disabled{opacity:.55;cursor:wait}.loading-note{text-align:center;color:#70706b;margin-top:14px;font-size:13px}.error{color:#8c2525;background:#fff1f1;border:1px solid #f2cccc;border-radius:10px;margin-top:18px;padding:13px 15px}.results{margin-top:64px}.result-header{margin-bottom:26px}.result-header h2{max-width:900px;font-size:30px;line-height:1.3}.strategy-grid,.platform-content{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.card{color:#20201e;padding:25px}.card h3{color:#20201e;margin:0 0 16px;font-size:20px}.card h4{color:#343431;margin:22px 0 8px;font-size:14px}.card p,.card li{color:#5c5c57;line-height:1.7}.card p{margin-top:0}.card ul{margin-bottom:0;padding-left:20px}.card li{margin-bottom:7px}.content-title{color:#20201e;margin:50px 0 18px;font-size:26px}.content-copy{white-space:pre-line}.tags{flex-wrap:wrap;gap:8px;display:flex}.tags span{color:#44443f;background:#f0f0ec;border-radius:999px;padding:7px 11px;font-size:13px}.warning-card{background:#fffbed;border-color:#ebe2ae;padding:24px}.warning-card ul{margin:0;padding-left:20px}.warning-card li{color:#625c38;margin-bottom:8px;line-height:1.6}a{color:#4a3478;word-break:break-word;text-decoration:underline}@media (width<=800px){.app{width:min(100% - 24px,1180px);padding-top:32px}.header h1{letter-spacing:-1px}.form-grid,.strategy-grid,.platform-content{grid-template-columns:1fr}.form-panel{padding:22px}}@media (width<=500px){.platform{flex:auto}.header p{font-size:16px}}.result-actions{gap:10px;margin-top:18px;display:flex}.secondary-button,.copy-button{color:#292927;cursor:pointer;background:#fff;border:1px solid #d8d8d2;border-radius:10px;padding:10px 14px;font-weight:600;transition:background .2s,border-color .2s,transform .2s}.secondary-button:hover,.copy-button:hover{background:#f4f4f0;border-color:#999990;transform:translateY(-1px)}.secondary-button:disabled{opacity:.5;cursor:wait}.copy-button{margin-top:22px}.primary-action-button{color:#fff;cursor:pointer;background:#20201e;border:none;border-radius:10px;padding:10px 16px;font-weight:650}.primary-action-button:disabled{opacity:.55;cursor:default}.history-section{margin-top:70px}.history-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:20px;display:flex}.history-header h2{color:#20201e;margin:7px 0 0;font-size:30px}.campaign-list{flex-direction:column;gap:14px;display:flex}.campaign-item{background:#fff;border:1px solid #e2e2dd;border-radius:16px;justify-content:space-between;align-items:center;gap:30px;padding:22px 24px;display:flex}.campaign-main{flex:1}.campaign-main h3{color:#20201e;margin:10px 0 8px}.campaign-main p{color:#666660;max-width:750px;margin:0 0 14px;line-height:1.5}.campaign-meta{color:#85857f;align-items:center;gap:12px;font-size:12px;display:flex}.status{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700;display:inline-flex}.status-draft{color:#555550;background:#f0f0ed}.status-approved{color:#276436;background:#edf8ef}.status-rejected{color:#9a3333;background:#fff0f0}.campaign-actions{flex-wrap:wrap;gap:8px;display:flex}.approve-button,.reject-button{cursor:pointer;border-radius:9px;padding:9px 13px;font-weight:650}.approve-button{color:#276436;background:#edf8ef;border:1px solid #c9e9d0}.reject-button{color:#943535;background:#fff2f2;border:1px solid #f1cccc}.empty-state{text-align:center;background:#fff;border:1px dashed #d6d6cf;border-radius:16px;padding:45px 25px}.empty-state h3{margin-top:0}.empty-state p{color:#70706a;margin-bottom:0}@media (width<=750px){.campaign-item{flex-direction:column;align-items:flex-start}.campaign-actions{width:100%}}.recommend-button{color:#20201e;cursor:pointer;background:#fff;border:1px solid #20201e;border-radius:10px;width:100%;margin-top:12px;padding:13px 18px;font-weight:700;transition:background .2s,transform .2s}.recommend-button:hover{background:#f1f1ed;transform:translateY(-1px)}.recommend-button:disabled{opacity:.55;cursor:wait}.recommendation-banner{background:#f5f5ef;border:1px solid #ddddcf;border-radius:14px;margin:24px 0;padding:20px 22px}.recommendation-banner strong{margin-bottom:8px;font-size:15px;display:block}.recommendation-banner p{color:#55554f;margin:0;line-height:1.6}.evidence-panel{margin-top:35px}.evidence-heading{margin-bottom:20px}.evidence-heading h2{margin:7px 0}.evidence-heading p{color:#6f6f68;margin:0}.evidence-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.evidence-card{background:#fff;border:1px solid #e0e0da;border-radius:16px;padding:22px}.evidence-card h3{margin-top:0}.evidence-card>p{color:#686862}.evidence-row{align-items:flex-start;gap:9px;margin:12px 0;display:flex}.evidence-row a{line-height:1.45;text-decoration:none}.evidence-row a:hover{text-decoration:underline}.history-evidence-row{border-bottom:1px solid #eeeeea;justify-content:space-between;gap:15px;padding:10px 0;display:flex}.history-evidence-row span{color:#767670}.analytics-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.metric{background:#f7f7f3;border-radius:12px;padding:16px}.metric strong{margin-bottom:4px;font-size:25px;display:block}.metric span{color:#777770;font-size:13px}.muted{color:#777770;line-height:1.6}.hypothesis-box{background:#fff;border:1px dashed #d7d5c9;border-radius:16px;margin:16px 0;padding:22px}.hypothesis-box h3{margin-top:0}@media (width<=800px){.evidence-grid{grid-template-columns:1fr}}.schedule-overlay{z-index:1000;background:#00000059;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.schedule-modal{background:#fff;border:1px solid #deded8;border-radius:18px;width:min(520px,100%);padding:24px}.schedule-modal h2{margin-top:0}.schedule-modal label{flex-direction:column;gap:7px;margin-top:16px;font-weight:600;display:flex}.schedule-modal input,.schedule-modal select{font:inherit;border:1px solid #d8d8d2;border-radius:10px;padding:11px 12px}.schedule-platforms{gap:25px;margin-top:20px;display:flex}.schedule-platforms label{flex-direction:row;align-items:center;margin:0}.schedule-actions{justify-content:flex-end;gap:10px;margin-top:25px;display:flex}.schedule-status{margin-top:10px;font-size:13px}.schedule-info{color:#666;margin-top:8px;font-size:13px;line-height:1.6}.schedule-error{color:#a33636;margin-top:8px;font-size:13px;line-height:1.5}.ai-evidence-section{margin-top:40px;margin-bottom:10px}.ai-evidence-header{margin-bottom:24px}.ai-evidence-header h2{color:#20201e;margin:7px 0 4px;font-size:26px}.ai-evidence-header p{color:#6f6f68;margin:0;font-size:15px}.ai-decision-summary{background:#f0f4ff;border:1px solid #d0d9f0;border-radius:14px;margin-bottom:22px;padding:22px 24px}.ai-decision-summary h3{color:#3b4a6b;text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px;font-size:15px}.ai-decision-summary p{color:#2d3a56;margin:0;font-size:15px;line-height:1.7}.ai-evidence-groups{grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:20px;display:grid}.ai-evidence-group{background:#fff;border:1px solid #e2e2dd;border-radius:14px;padding:20px 22px}.ai-evidence-group h4{color:#3d3d39;text-transform:uppercase;letter-spacing:.04em;margin:0 0 10px;font-size:14px;font-weight:700}.ai-evidence-group ul{margin:0;padding-left:18px}.ai-evidence-group li{color:#5c5c57;margin-bottom:6px;font-size:14px;line-height:1.65}.ai-assumptions-box{background:#fffbed;border:1px dashed #e0d8a8;border-radius:14px;margin-bottom:20px;padding:20px 22px}.ai-assumptions-box h3{color:#6b6030;margin:0 0 12px;font-size:15px}.ai-assumptions-box ul{margin:0;padding-left:0;list-style:none}.ai-assumptions-box li{color:#6b6030;margin-bottom:6px;font-size:14px;line-height:1.65}.ai-sources-checked{margin-top:4px}.ai-sources-toggle{appearance:none;cursor:pointer;color:#777770;background:0 0;border:none;padding:8px 0;font-size:13px;font-weight:600}.ai-sources-toggle:hover{color:#44443f}.ai-sources-list{background:#fafaf8;border:1px solid #ebebea;border-radius:12px;margin-top:8px;padding:16px 20px}.ai-source-item{border-bottom:1px solid #efefec;flex-direction:column;gap:2px;padding:8px 0;display:flex}.ai-source-item:last-child{border-bottom:none}.ai-source-item span{color:#44443f;font-size:13px;font-weight:600}.ai-source-item a{color:#4a3478;word-break:break-all;font-size:12px}@media (width<=800px){.ai-evidence-groups{grid-template-columns:1fr}}.campaign-creatives-section{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:24px;padding:24px}.creatives-header{margin-bottom:24px}.creatives-header h2{color:#2c3e50;margin:0 0 8px;font-size:24px}.creatives-header p{color:#7f8c8d;margin:0;font-size:14px}.creatives-generate-prompt{text-align:center;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;padding:40px 20px}.btn-generate-creatives{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;margin-bottom:12px;padding:14px 32px;font-size:16px;font-weight:600;transition:transform .2s,box-shadow .2s}.btn-generate-creatives:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.btn-generate-creatives:disabled{opacity:.6;cursor:not-allowed}.creatives-hint{color:#6c757d;margin:0;font-size:14px}.creatives-loading{padding:32px 20px}.loading-message{text-align:center;color:#495057;margin-bottom:32px;font-size:16px;font-weight:500}.creatives-placeholders{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.creative-placeholder{text-align:center;background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;padding:40px 20px;transition:all .3s}.creative-placeholder.waiting{opacity:.6;background:#f8f9fa;border-color:#dee2e6}.creative-placeholder.generating{background:#e7f3ff;border-style:solid;border-color:#667eea}.creative-placeholder.completed{background:#d4edda;border-style:solid;border-color:#28a745}.placeholder-spinner{border:4px solid #e9ecef;border-top-color:#667eea;border-radius:50%;width:40px;height:40px;margin:0 auto 16px;animation:1s linear infinite spin}.placeholder-check{color:#fff;background:#28a745;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin:0 auto 16px;font-size:24px;font-weight:700;display:flex}.placeholder-waiting{opacity:.5;justify-content:center;align-items:center;width:40px;height:40px;margin:0 auto 16px;font-size:28px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.creative-placeholder p{color:#6c757d;margin:0;font-size:14px;font-weight:500}.creative-placeholder.completed p{color:#155724;font-weight:600}.creative-placeholder.generating p{color:#004085;font-weight:600}.creatives-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;display:grid}.creative-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;transition:box-shadow .3s,transform .3s,border-color .3s;overflow:hidden}.creative-card.selectable{cursor:pointer}.creative-card.selectable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.creative-card.selected{border:3px solid #667eea;box-shadow:0 4px 16px #667eea4d}.creative-card.selected:hover{border-color:#667eea;transform:translateY(-2px)}.creative-image-container{aspect-ratio:1;background:#f8f9fa;width:100%;position:relative;overflow:hidden}.creative-image{object-fit:cover;width:100%;height:100%}.creative-image.fallback{object-fit:contain;background:#fff;padding:20px}.fallback-badge{color:#000;text-align:center;background:#ffc107f2;padding:8px 12px;font-size:12px;font-weight:600;position:absolute;bottom:0;left:0;right:0}.selected-badge{color:#fff;z-index:10;background:#667eea;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:700;position:absolute;top:12px;right:12px;box-shadow:0 2px 8px #0003}.creative-details{padding:16px}.creative-type-badge{color:#495057;text-transform:capitalize;background:#e9ecef;border-radius:12px;margin-bottom:12px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.creative-headline{color:#2c3e50;margin:0 0 8px;font-size:18px;font-weight:700;line-height:1.3}.creative-subheadline{color:#6c757d;margin:0 0 12px;font-size:14px;line-height:1.5}.creative-cta{color:#495057;background:#f8f9fa;border-radius:4px;margin:0;padding:8px 12px;font-size:13px;font-weight:600;display:inline-block}.creative-error-note{color:#dc3545;background:#f8d7da;border-radius:4px;margin:12px 0 0;padding:8px 12px;font-size:12px}.creatives-fallback{padding:20px}.fallback-message{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;margin-bottom:24px;padding:16px}.fallback-message p{color:#856404;margin:0 0 8px;font-size:14px}.fallback-message p:last-child{margin-bottom:0;font-weight:600}.retry-button{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:6px;margin-top:16px;padding:12px 24px;font-size:14px;font-weight:600;transition:background .2s,transform .1s}.retry-button:hover{background:#5568d3;transform:translateY(-1px)}.retry-button:active{transform:translateY(0)}.fallback-card{max-width:500px;margin:0 auto}.creative-selection-summary{background:#f8f9fa;border:2px solid #667eea;border-radius:8px;margin-top:32px;padding:20px}.creative-selection-summary h3{color:#667eea;margin:0 0 12px;font-size:18px;font-weight:700}.selection-info{flex-direction:column;gap:8px;display:flex}.selection-info p{color:#495057;margin:0;font-size:14px}.selection-type{color:#2c3e50;text-transform:capitalize;font-size:16px}.selection-headline{color:#2c3e50;font-size:15px;font-weight:500}.selection-cta{color:#6c757d;font-size:13px}.selection-fallback-note{color:#856404;background:#fff3cd;border-radius:4px;margin-top:4px;padding:6px 10px;font-size:12px}.saved-message{color:#155724;background:#d4edda;border-radius:6px;align-items:center;padding:12px 24px;font-size:14px;font-weight:600;display:inline-flex}@media (width<=800px){.creatives-grid,.creatives-placeholders{grid-template-columns:1fr}}
