.cp-app .ct-dashboard-tools{margin:48px 0 24px}
.ct-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ct-label-row h2,.ct-label-row h3{margin:0;font-weight:650}
.ct-label-row>span{color:#858395;font-size:12px}
.ct-tool-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}
.cp-app .ct-tool-card{position:relative;display:flex;align-items:center;min-height:250px;overflow:hidden;border-radius:24px;background:#211e32;color:white;border:1px solid #e4dff2;isolation:isolate;transition:transform .2s,box-shadow .2s}
.ct-tool-card>img{position:absolute;right:0;width:55%;height:100%;object-fit:cover;z-index:-2}
.ct-tool-card:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#211e32 30%,#211e3299 65%,transparent);z-index:-1}
.cp-app .ct-image-card{background:#302135}
.ct-image-card:after{background:linear-gradient(90deg,#302135 30%,#302135aa 65%,transparent)}
.ct-tool-card>div{max-width:70%;padding:28px}
.ct-tool-card small{font-size:10px;letter-spacing:1.4px;color:#e2d9ff}
.ct-tool-card h4{font-size:27px;font-weight:650;letter-spacing:-.7px;margin:10px 0}
.ct-tool-card p{font-size:13px;line-height:1.6;color:#e0ddea;max-width:240px}
.ct-tool-card span{display:inline-block;margin-top:20px;font-size:13px;background:#fff;color:#2c2444;padding:10px 16px;border-radius:50px}
.ct-tool-card:hover{transform:translateY(-3px);box-shadow:0 15px 30px #40305c20}
.ct-breadcrumb{display:flex;justify-content:space-between;color:#746981;font-size:12px}
.ct-heading{margin:30px 0}
.ct-eyebrow{font-size:10px;letter-spacing:2px;color:#8978a1}
.ct-heading h1{font-size:clamp(30px,3vw,42px);font-weight:650;letter-spacing:-1.5px;margin:7px 0}
.ct-heading p{color:#797484;font-size:14px;margin:8px 0}
.ct-columns{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:30px;align-items:start}
.ct-panel{background:white;padding:24px;border:1px solid #e7e3ec;border-radius:22px;box-shadow:0 10px 30px #31284606;min-width:0}
.ct-mode-switch{display:flex;padding:4px;border-radius:12px;background:#f3f1f7;margin-bottom:20px;gap:3px}
.ct-mode-switch button{border:0;padding:10px;flex:1;border-radius:9px;font-size:13px;color:#777182}
.ct-mode-switch button[aria-pressed=true]{color:#3c2863;background:#fff;box-shadow:0 2px 6px #32274215;font-weight:600}
.ct-field{display:block;font-size:12px;font-weight:600;color:#524b60;margin:15px 0 8px}
.ct-field select{display:block;width:100%;margin-top:8px;border:1px solid #e1dce9;border-radius:11px;padding:11px;background:#fcfbfe;color:#342a45;font-size:13px;min-height:42px}
.ct-source{margin:18px 0}
.ct-source strong{font-size:12px}
.ct-source-pick{width:100%;height:175px;background:#f8f6fb;border:1px dashed #dcd5e8;border-radius:14px;position:relative;overflow:hidden;margin-top:9px;display:flex;align-items:center;justify-content:center;color:#88779e;font-size:12px}
.ct-source-pick img{width:100%;height:100%;object-fit:contain}
.ct-source-pick b{font-size:27px;display:block;margin-bottom:8px}
.ct-source-pick [data-source-name]{position:absolute;bottom:8px;left:8px;right:8px;background:#201a32bf;color:white;padding:7px;border-radius:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ct-panel textarea{width:100%;box-sizing:border-box;border:1px solid #e4deec;background:#fcfbfe;border-radius:12px;resize:vertical;padding:13px;min-height:110px;font-size:13px;line-height:1.6}
.ct-prompt-chips{display:flex;flex-wrap:wrap;gap:6px;margin:9px 0 20px}
.ct-prompt-chips button,.ct-quiet{border:0;background:transparent;color:#78658e;font-size:11px;padding:5px 0}
.ct-prompt-chips button{border:1px solid #e9e2f0;border-radius:30px;padding:5px 9px}
.ct-reference-area{margin:20px 0 10px}
.ct-reference-area strong{font-size:12px}
.ct-reference-area .insp-slot-row{display:flex;gap:9px;margin-top:12px}
.ct-reference-area .insp-slot{width:calc((100% - 18px)/3);height:125px;min-width:0;border-radius:12px}
.ct-reference-area .insp-slot-add{width:100%;height:100%;align-items:flex-start;text-align:left;gap:4px;padding:9px}
.ct-reference-area .insp-slot-add strong{font-size:10px;text-transform:uppercase}
.ct-reference-area .insp-slot-add small{font-size:9px;color:#958d9f;line-height:1.3}
.ct-reference-area .insp-slot-img{object-fit:cover}
.ct-reference-area .insp-slot-label{font-size:10px}
.ct-reference-area .insp-ref-tray{margin-top:8px}
.ct-capability-note{font-size:11px;color:#92879e;line-height:1.5;min-height:16px}
.ct-settings{display:flex;align-items:start;gap:12px;border-top:1px solid #f0edf4;margin-top:14px}
.ct-settings .ct-field{flex:1;min-width:0;font-size:10px}
.ct-settings select{padding:9px 7px;font-size:11px}
.ct-output-spec{font-size:10px;min-width:62px;margin:16px 0;color:#80758f}
.ct-output-spec strong{display:block;font-size:11px;margin-top:16px}
.ct-status{font-size:12px;color:#826092;line-height:1.5;overflow-wrap:anywhere}
.ct-generate{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;border:0;border-radius:13px;padding:15px;background:linear-gradient(120deg,#7f52ee,#5f3ad3);color:#fff;font-weight:600;font-size:13px;box-shadow:0 7px 15px #7549c52a}
.ct-generate span:last-child{font-size:11px;font-weight:400;white-space:nowrap}
.ct-generate:disabled{background:#e6e1ee;color:#a199ac;box-shadow:none}
.ct-scout-bridge{margin-top:24px;border-top:1px solid #eee9f4;padding-top:20px}
.ct-scout-bridge strong{font-size:13px}
.ct-scout-bridge p{font-size:11px;color:#92899e;margin:5px 0}
.ct-scout-bridge .ct-quiet{font-size:12px;font-weight:600;color:#6d48a6}
.ct-scout-bridge small{display:block;font-size:10px;color:#a198ac;margin-top:4px}
.ct-results{min-width:0}
.ct-results h2{font-size:14px}
.ct-result-stage{margin:16px 0;background:#f3f0f7;border:1px solid #e8e1ef;border-radius:23px;min-height:450px;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;position:relative}
.ct-result-stage>img,.ct-result-stage>video{width:100%;max-height:640px;object-fit:contain}
.ct-empty-result{width:100%;padding:36px 20px;box-sizing:border-box}
.ct-empty-result p{font-size:13px;margin:9px 0;color:#817487}
.ct-empty-result small{font-size:11px;color:#a091a9}
.ct-result-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;font-size:11px;margin:12px 0}
.ct-result-actions button,.ct-result-actions>a{border:1px solid #e1d8ec;border-radius:30px;padding:9px 12px;color:#786389;background:white}
.cp-app .ct-primary-link{background:#eee7fa;color:#69419a;border:0;border-radius:30px;padding:9px 14px;font-size:12px}
.ct-history{margin:32px 0}
.ct-history .ct-label-row a{font-size:11px;color:#887498}
.ct-history-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:15px}
.ct-history-item{overflow:hidden;background:white;border:1px solid #e8e0ef;border-radius:13px;padding:7px;min-width:0}
.ct-history-item>img,.ct-history-item>video{width:100%;height:100px;object-fit:cover;border-radius:8px}
.ct-history-item span{font-size:10px;line-height:1.4;display:block;margin:7px 0}
.ct-history-item small{font-size:9px;color:#95889d}
.ct-history-empty{color:#a197aa;font-size:12px;margin-top:16px}
.ct-progress{padding:28px;max-width:300px;font-size:12px;color:#807088}
.ct-progress strong{display:block;margin:16px 0;color:#56425e}
.ct-spinner{display:inline-block;width:35px;height:35px;border:2px solid #ddd2eb;border-top-color:#8050b7;border-radius:50%;animation:ct-spin 1.2s linear infinite}
.ct-picker{padding:25px;max-width:750px;max-height:85dvh;box-sizing:border-box}
.ct-picker-heading{display:flex;gap:15px;align-items:center;justify-content:space-between;padding-right:30px}
.ct-picker h2{font-size:20px;margin:0}
.ct-picker h3{font-size:14px;margin:25px 0 5px}
.ct-picker-note{font-size:11px;color:#95879f}
.ct-picker-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:15px 0}
.ct-picker-grid button{padding:0;overflow:hidden;border:1px solid #e6deed;background:#faf8fc;border-radius:13px;text-align:left;min-width:0}
.ct-picker-grid img{width:100%;height:125px;object-fit:cover}
.ct-picker-grid strong{display:block;font-size:11px;margin:7px;overflow-wrap:anywhere}
.ct-picker-grid small{display:block;font-size:9px;color:#9887a1;margin:7px;line-height:1.5}
.ct-picker-grid button:hover{border-color:#8251ba}
.ct-workspace button:disabled{cursor:not-allowed}
.ct-workspace{min-width:0}
@keyframes ct-spin{to{transform:rotate(360deg)}
}
@media(max-width:1050px){.ct-columns{grid-template-columns:minmax(0,390px) minmax(0,1fr);gap:18px}
.ct-panel{padding:18px}
.ct-history-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.ct-tool-card>div{padding:20px}
.ct-tool-card h4{font-size:22px}
}
@media(max-width:800px){.ct-columns{grid-template-columns:1fr}
.ct-result-stage{min-height:320px}
.ct-tool-card>div{max-width:80%}
.ct-picker-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.ct-heading{margin:22px 0}
}
@media(max-width:560px){.ct-tool-cards{grid-template-columns:1fr}
.ct-tool-card{min-height:210px!important}
.ct-tool-card h4{font-size:24px}
.ct-picker{padding:17px;width:calc(100vw - 24px)}
.ct-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.ct-picker-grid img{height:112px}
.ct-picker-heading{flex-direction:column;align-items:start}
.ct-reference-area .insp-slot{height:115px}
.ct-heading h1{font-size:31px}
.ct-label-row>span{max-width:135px;text-align:right}
.ct-heading p{line-height:1.5}
}
@media(prefers-reduced-motion:reduce){.ct-spinner{animation:none}
.ct-tool-card{transition:none}
}


.cp-app .ct-generate{color:#fff}
.cp-app .ct-generate:disabled{color:#8a8197}

.ct-library{margin-top:22px}
.ct-library-tabs{display:flex;align-items:center;gap:6px;padding-bottom:15px;border-bottom:1px solid #ebe5f2}
.ct-library-tabs button{border:0;border-radius:30px;background:transparent;color:#8b7c99;padding:9px 16px;font-size:12px}
.ct-library-tabs button[aria-selected=true]{background:#382858;color:#fff}
.ct-library-tabs>a{margin-left:auto;color:#8b7c99;font-size:11px}
.ct-preset-heading{margin:22px 0 16px}
.ct-preset-heading h2{font-size:23px;letter-spacing:-.5px;margin:0}
.ct-preset-heading p{font-size:12px;color:#92849c;margin:6px 0}
.ct-preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ct-preset-card{min-width:0}
.ct-preset-select{position:relative;display:block;width:100%;aspect-ratio:9/16;border:2px solid transparent;border-radius:17px;overflow:hidden;padding:0;background:#ede7f3;text-align:left}
.ct-preset-select[aria-pressed=true]{border-color:#8255d9;box-shadow:0 0 0 3px #eae0fb}
.ct-preset-select>img,.ct-preset-select>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ct-preset-select>video{opacity:0;transition:opacity .2s}
.ct-preset-card[data-playing=true] video{opacity:1}
.ct-preset-after{opacity:0;transition:opacity .2s}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.ct-preset-card:hover .ct-preset-after{opacity:1}}
.ct-preset-caption{position:absolute;inset:auto 0 0;padding:45px 11px 13px;background:linear-gradient(transparent,#171021df);color:white}
.ct-preset-caption strong{display:block;font-size:14px;line-height:1.2;margin-top:4px}
.ct-preset-caption small{font-size:9px;opacity:.8}
.ct-preset-card>p{font-size:11px;line-height:1.5;color:#8a7b97;margin:9px 0 6px}
.ct-preset-actions{display:flex;justify-content:space-between;gap:7px}
.ct-preset-actions button{border:0;background:transparent;color:#765595;padding:3px 0;font-size:10px}
.ct-preset-footnote{font-size:10px;color:#a293ad;margin:20px 0}
.ct-selected-preset{display:flex;align-items:center;justify-content:space-between;background:#f1ebfa;border:1px solid #e1d4f3;border-radius:10px;font-size:11px;padding:10px;color:#745190}
.ct-selected-preset button{background:none;border:0;font-size:17px;color:#8d77a3}
.ct-preset-dialog{width:min(800px,calc(100vw - 28px));max-height:88dvh;padding:25px;box-sizing:border-box}
.ct-preset-dialog h2{font-size:19px;margin:0 30px 20px 0}
.ct-preset-dialog>video{width:100%;max-height:65dvh;background:#191320;border-radius:12px}
.ct-before-after{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ct-before-after figure{margin:0;min-width:0}
.ct-before-after img{width:100%;max-height:62dvh;object-fit:contain;border-radius:11px;background:#f4f0f7}
.ct-before-after figcaption{text-align:center;font-size:12px;color:#85708f;margin-top:8px}
.ct-results [hidden]{display:none!important}
@media(max-width:1050px){.ct-preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.ct-preset-grid{gap:11px}.ct-preset-caption strong{font-size:13px}.ct-before-after{gap:8px}}
