.publish-panel{margin-top:42px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 12px 38px rgba(30,55,100,.07)}
.header-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.header-actions .status{margin-left:0}.own-upload-button{height:38px;border:1px solid #b9cdf8;border-radius:10px;background:#edf3ff;color:var(--blue);padding:0 14px;font-weight:800;font-size:12px;cursor:pointer}.own-upload-button:hover{background:#dfeaff}.upload-modal{position:fixed;inset:0;z-index:100;background:rgba(4,15,45,.58);backdrop-filter:blur(5px);padding:24px;place-items:center}.upload-modal:not([hidden]){display:grid}.upload-dialog{position:relative;width:min(650px,100%);background:#fff;border-radius:20px;padding:27px;box-shadow:0 25px 80px #020a20aa}.upload-dialog h2{font:800 25px Manrope;margin:0}.upload-dialog>p:not(.eyebrow){color:var(--muted);font-size:13px;margin:7px 0 20px}.modal-close{position:absolute;right:16px;top:14px;border:0;background:#f0f3f8;width:34px;height:34px;border-radius:50%;font-size:22px;color:#4e5870;cursor:pointer}.own-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.own-drop{position:relative;min-height:205px;border:2px dashed #ccd8ed;border-radius:14px;background:#f8faff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;overflow:hidden}.own-drop:hover{border-color:#7fa6f7;background:#f1f6ff}.own-drop input{position:absolute;opacity:0}.own-drop b,.own-drop small{display:block}.own-drop b{font-size:14px;margin-top:9px}.own-drop small{font-size:10px;color:#8d97aa;margin-top:4px}.own-lang{display:grid;place-items:center;width:38px;height:30px;border-radius:8px;background:#e6efff;color:var(--blue);font-size:11px;font-weight:800}.own-drop img{display:none;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.own-drop.has-file img{display:block}.own-drop.has-file:after{content:attr(data-label);position:absolute;left:9px;bottom:9px;background:#07143fe6;color:#fff;border-radius:7px;padding:5px 8px;font-size:10px;font-weight:700}.use-own-designs{display:block;margin:17px 0 0 auto;height:44px;border:0;border-radius:11px;background:var(--blue);color:#fff;padding:0 20px;font-weight:800;cursor:pointer}.use-own-designs:disabled{opacity:.55}
.publish-progress-modal{position:fixed;inset:0;z-index:110;background:rgba(4,15,45,.66);backdrop-filter:blur(6px);padding:20px;place-items:center}.publish-progress-modal:not([hidden]){display:grid}.progress-dialog{width:min(510px,100%);background:#fff;border-radius:21px;padding:27px;box-shadow:0 28px 90px #02091fcc}.progress-icon{width:48px;height:48px;border-radius:14px;background:#eaf1ff;display:grid;place-items:center;margin-bottom:15px}.progress-icon span{width:21px;height:21px;border:3px solid #a9c2f6;border-top-color:var(--blue);border-radius:50%;animation:progressSpin .8s linear infinite}.progress-icon.done{background:#e8f8f1}.progress-icon.done span{border:0}.progress-icon.done span:after{content:'✓';font-size:24px;color:var(--green);font-weight:800}.progress-icon.error{background:#fff0f1}.progress-icon.error span{border:0}.progress-icon.error span:after{content:'!';font-size:24px;color:#d34f59;font-weight:800}.progress-dialog h2{font:800 25px Manrope;margin:0}.progress-dialog>p:not(.eyebrow){font-size:12px;color:var(--muted);margin:6px 0 18px}.progress-list{display:grid;gap:8px}.progress-step{display:grid;grid-template-columns:37px 1fr auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:11px;padding:9px 11px}.progress-step .step-platform{width:37px;height:37px;border-radius:9px;display:grid;place-items:center;background:#edf3ff;color:var(--blue);font-weight:800;font-size:12px}.progress-step strong,.progress-step small{display:block}.progress-step strong{font-size:12px}.progress-step small{font-size:10px;color:#929bad;margin-top:2px}.step-state{font-size:10px;font-weight:800;color:#939bad;background:#f1f3f7;border-radius:99px;padding:5px 8px}.progress-step.active{border-color:#8fb0f5;background:#f8faff}.progress-step.active .step-state{color:var(--blue);background:#e7efff}.progress-step.done .step-state{color:var(--green);background:#e8f8f1}.progress-step.error{border-color:#f0b7bc;background:#fffafb}.progress-step.error .step-state{color:#c94750;background:#ffecee}.progress-summary{margin-top:15px}.progress-summary>span{font-size:11px;font-weight:700;color:#66718a}.progress-summary i{display:block;height:6px;border-radius:99px;background:#e9edf5;margin-top:7px;overflow:hidden}.progress-summary b{display:block;width:0;height:100%;background:linear-gradient(90deg,#1769f5,#29b27a);transition:.3s}.progress-close{width:100%;height:45px;margin-top:17px;border:0;border-radius:11px;background:var(--navy);color:#fff;font-weight:800;cursor:pointer}.progress-close:disabled{background:#dfe3ec;color:#9098aa;cursor:not-allowed}@keyframes progressSpin{to{transform:rotate(360deg)}}
.access-modal{position:fixed;inset:0;z-index:200;background:linear-gradient(145deg,rgba(3,14,47,.94),rgba(13,71,185,.82));backdrop-filter:blur(10px);padding:18px;place-items:center}.access-modal:not([hidden]){display:grid}.access-dialog{position:relative;width:min(410px,100%);background:#fff;border-radius:22px;padding:29px;box-shadow:0 30px 100px #010817cc}.access-lock{width:48px;height:48px;border-radius:14px;background:linear-gradient(145deg,#2375ff,#0d4ed7);color:#fff;display:grid;place-items:center;margin-bottom:17px}.access-dialog h2{font:800 25px Manrope;margin:0}.access-dialog>p:not(.eyebrow):not(.access-error){font-size:12px;color:var(--muted);margin:7px 0 19px}.access-dialog label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#66718a;margin-bottom:7px}.access-dialog input{width:100%;height:49px;border:1px solid #cfd8e8;border-radius:11px;padding:0 14px;font-size:20px;letter-spacing:.15em;outline:0}.access-dialog input:focus{border-color:var(--blue);box-shadow:0 0 0 3px #dce8ff}.access-dialog button{width:100%;height:48px;border:0;border-radius:11px;background:var(--navy);color:#fff;font-weight:800;cursor:pointer}.access-dialog .access-close{position:absolute;right:15px;top:15px;width:36px;height:36px;border-radius:50%;background:#eef1f6;color:#536078;font-size:23px;line-height:1}.access-dialog .access-close:hover{background:#e3e8f0}.access-error{min-height:20px;color:#d34f59;font-size:11px;margin:6px 0}.access-dialog.shake{animation:accessShake .3s}@keyframes accessShake{25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}
.generation-topic{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:9px}.generation-topic label{font-size:9px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;color:#8992a8;white-space:nowrap}.generation-topic select{height:34px;min-width:210px;border:1px solid var(--line);border-radius:9px;background:#f8faff;color:#283451;padding:0 9px;font-size:11px;outline:0}.generation-topic+ .composer-footer{border-top:0;padding-top:7px}
.publish-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px}.publish-heading h2{margin:0}.publish-heading p:last-child{font-size:11px;color:var(--muted);margin:5px 0 0}
.connection{font-size:10px;font-weight:700;color:#936514;background:#fff7df;padding:8px 11px;border-radius:99px}.connection i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#e6a327;margin-right:6px}.connection.connected{color:var(--green);background:#eaf8f2}.connection.connected i{background:var(--green)}.connection.error{color:#c34f55;background:#fff0f1}.connection.error i{background:#d85a61}
.publish-grid{display:grid;grid-template-columns:330px 1fr;gap:28px;padding:22px 0}.field-label{display:block;font-size:9px;letter-spacing:.13em;text-transform:uppercase;font-weight:800;color:#8992a8;margin:0 0 8px}.publish-settings select{width:100%;height:42px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 11px;color:#283451;margin-bottom:20px;outline:0}
.platform-choice{position:relative;border:1px solid var(--line);border-radius:11px;padding:10px;display:grid;grid-template-columns:35px 1fr 19px;gap:10px;align-items:center;margin-bottom:8px;cursor:pointer}.platform-choice input{position:absolute;opacity:0}.platform-choice b,.platform-choice small{display:block;font-size:11px}.platform-choice small{color:#929bad;font-size:9px;margin-top:2px}.platform-choice>i{width:18px;height:18px;border-radius:5px;border:1px solid #ccd3e0;color:transparent;font-style:normal;display:grid;place-items:center;font-size:10px}.platform-choice:has(input:checked){border-color:#8fb0f5;background:#f8faff}.platform-choice input:checked~i{background:var(--blue);border-color:var(--blue);color:#fff}.platform-badge{width:35px;height:35px;border-radius:9px;display:grid;place-items:center;font-weight:800}.platform-badge.instagram{background:#fbeafa;color:#b33a9f;font-size:18px}.platform-badge.facebook{background:#eaf2ff;color:#246ad0;font-size:19px}
.caption-title{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-weight:700;margin-bottom:8px}.caption-title button{border:0;background:none;color:var(--blue);font-size:10px;font-weight:700;cursor:pointer}.captions label{display:grid;grid-template-columns:27px 1fr;border:1px solid var(--line);border-radius:10px;padding:10px;margin-bottom:8px}.captions label>span{font-size:9px;font-weight:800;color:var(--blue)}.captions textarea{resize:vertical;border:0;outline:0;color:#3a4561;font-size:11px;line-height:1.45;min-height:78px}
.publish-footer{border-top:1px solid var(--line);padding-top:18px;display:flex;align-items:center;justify-content:space-between}.publish-footer>span{font-size:11px;color:var(--muted);font-weight:600}.post-button{border:0;border-radius:11px;background:#07143f;color:#fff;min-width:190px;height:46px;font-weight:700;cursor:pointer}.post-button:disabled{opacity:.55;cursor:not-allowed}.post-button span{margin-left:8px}.security-note{text-align:right;color:#929bad;font-size:9px;margin:10px 0 0}
@media(max-width:720px){.publish-panel{padding:17px}.publish-heading{align-items:flex-start;gap:12px}.connection{white-space:nowrap}.publish-grid{grid-template-columns:1fr}.publish-footer{gap:15px}.post-button{min-width:160px}.security-note{text-align:left}}

/* Single-screen desktop workspace */
@media(min-width:1200px) and (min-height:700px){
  html,body{height:100%;overflow:hidden}
  header{height:54px}
  main{height:calc(100vh - 54px);margin-bottom:0;display:grid;grid-template-rows:210px minmax(0,1fr)}
  .intro{padding:17px 0 12px;text-align:left;display:grid;grid-template-columns:300px 1fr;column-gap:28px;align-content:start}
  .intro>.eyebrow,.intro>h1,.intro>p{grid-column:1}
  .intro>.eyebrow{margin-top:9px}.intro h1{font-size:31px}.intro>p:last-of-type{font-size:11px;line-height:1.45;margin:8px 0 0}
  .composer{grid-column:2;grid-row:1/5;width:100%;max-width:none;padding:12px;border-radius:14px}
  .composer>label{margin-bottom:4px}.composer textarea{min-height:45px;height:45px;font-size:12px;line-height:1.35}
  .generation-topic{position:absolute;left:12px;bottom:9px;border:0;padding:0}.composer{position:relative;padding-bottom:54px}.generation-topic select{height:31px;min-width:170px}.generation-topic+ .composer-footer{position:absolute;right:12px;left:390px;bottom:9px;padding:0;border:0}
  .composer-footer{padding-top:8px}.generate{height:37px}.upload>span:first-child{width:31px;height:31px}.reference-preview{height:34px}.reference-preview img{width:27px;height:27px}
  .results{min-height:0;padding-top:14px;display:grid;grid-template-columns:minmax(520px,1.08fr) minmax(440px,.92fr);grid-template-rows:43px minmax(0,1fr) 35px;grid-template-areas:"head publish" "cards publish" "regen publish";column-gap:20px}
  .results-head{grid-area:head;margin:0;align-items:start}.results h2{font-size:18px}.results-head .eyebrow{margin-bottom:3px}.pair-label{padding:6px 9px}
  .cards{grid-area:cards;min-height:0;gap:12px;align-items:start}.creative-card{padding:8px;border-radius:13px}.card-top{height:34px}.art{max-height:calc(100vh - 365px);margin:auto}.card-actions{margin-top:7px}.card-actions button,.card-actions a{height:34px}.regenerate{grid-area:regen;margin:0 auto;padding:6px}
  .publish-panel{grid-area:publish;margin:0 0 14px;padding:14px;border-radius:14px;min-height:0;overflow:hidden}
  .publish-heading{padding-bottom:10px}.publish-heading h2{font-size:18px}.publish-heading p:last-child{margin-top:2px}.connection{padding:6px 8px}
  .publish-grid{grid-template-columns:185px 1fr;gap:12px;padding:12px 0}.publish-settings select{height:34px;margin-bottom:10px;font-size:10px}.field-label{margin-bottom:5px}.platform-choice{grid-template-columns:29px 1fr 17px;padding:6px;gap:7px;margin-bottom:6px}.platform-badge{width:29px;height:29px}.captions label{padding:7px;margin-bottom:6px}.captions textarea{min-height:70px;height:70px;font-size:9px}.caption-title{margin-bottom:6px}
  .publish-footer{padding-top:10px}.post-button{height:38px;min-width:150px;font-size:11px}.security-note{margin-top:5px;font-size:8px}
}

/* Readability overrides */
body{font-size:16px}.eyebrow{font-size:12px}.intro>p:last-of-type{font-size:14px}.composer>label,.generation-topic label,.field-label{font-size:11px}.composer textarea{font-size:14px}.generation-topic select{font-size:13px}.upload b{font-size:13px}.upload small{font-size:11px}.pair-label,.connection{font-size:12px}.card-top div b{font-size:14px}.card-top div small,.ready{font-size:11px}.choose{font-size:13px}.publish-heading p:last-child{font-size:13px}.platform-choice b{font-size:13px}.platform-choice small{font-size:11px}.caption-title{font-size:13px}.caption-title button{font-size:12px}.captions label>span{font-size:11px}.captions textarea{font-size:13px}.publish-footer>span{font-size:13px}.post-button{font-size:13px}.security-note{font-size:11px}
@media(min-width:1200px) and (min-height:700px){.intro>p:last-of-type{font-size:13px}.composer textarea{font-size:13px}.generation-topic select{font-size:12px}.card-top div b{font-size:13px}.card-top div small,.ready{font-size:10px}.platform-choice b{font-size:12px}.platform-choice small{font-size:10px}.captions textarea{font-size:11px}.security-note{font-size:9px}}
body{font-size:18px}.eyebrow{font-size:14px}.intro>p:last-of-type{font-size:16px}.composer>label,.generation-topic label,.field-label{font-size:13px}.composer textarea{font-size:16px}.generation-topic select{font-size:15px}.upload b{font-size:15px}.upload small{font-size:13px}.pair-label,.connection{font-size:14px}.card-top div b{font-size:16px}.card-top div small,.ready{font-size:13px}.choose{font-size:15px}.publish-heading p:last-child{font-size:15px}.platform-choice b{font-size:15px}.platform-choice small{font-size:13px}.caption-title{font-size:15px}.caption-title button{font-size:14px}.captions label>span{font-size:13px}.captions textarea{font-size:15px}.publish-footer>span{font-size:15px}.post-button{font-size:15px}.security-note{font-size:13px}
@media(min-width:1200px) and (min-height:700px){.intro>p:last-of-type{font-size:14px}.composer textarea{font-size:15px}.generation-topic select{font-size:14px}.card-top div b{font-size:15px}.card-top div small,.ready{font-size:12px}.platform-choice b{font-size:14px}.platform-choice small{font-size:12px}.captions textarea{font-size:14px}.security-note{font-size:11px}.results{grid-template-rows:43px auto auto;align-content:start}.cards{align-self:start}.art{max-height:calc(100vh - 415px)}.regenerate{align-self:start;margin:8px auto 0}.publish-panel{align-self:start}}

/* Clean touch-first phone and tablet layout */
@media(max-width:1199px){
  html,body{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}
  header{height:60px;padding:0 16px;position:sticky}.brand{font-size:19px}.cloud{width:33px;height:29px}
  main{display:block;width:calc(100% - 28px);height:auto;margin:0 auto 40px}
  .intro{display:block!important;position:static!important;min-height:0;padding:30px 0 28px;text-align:left}
  .intro>.eyebrow,.intro>h1,.intro>p,.composer{display:block;position:static!important;width:100%!important;grid-column:auto;grid-row:auto}
  .intro h1{font-size:34px;line-height:1.02;max-width:330px}.intro>p:last-of-type{font-size:15px;line-height:1.5;margin:12px 0 20px;max-width:520px}
  .composer{max-width:none;margin:0;padding:16px;border-radius:16px}
  .composer>label{font-size:12px;margin-bottom:7px}.composer textarea{display:block;height:86px;min-height:86px;font-size:15px;line-height:1.45}
  .generation-topic{display:block;position:static!important;border-top:1px solid var(--line);padding-top:12px;margin-top:6px}
  .generation-topic label{display:block;font-size:11px;margin-bottom:7px}.generation-topic select{width:100%;height:44px;font-size:14px;background:#f7f9fe}
  .generation-topic+.composer-footer{display:flex;position:static!important;left:auto;right:auto;bottom:auto;flex-wrap:wrap;padding-top:12px;margin-top:0;border:0}
  .upload{min-height:42px}.upload b{font-size:14px}.upload small{font-size:11px}.reference-preview{max-width:100%;flex:1}
  .generate{width:100%;height:48px;margin:7px 0 0;font-size:15px;border-radius:12px}
  .results{display:block;min-height:0;padding-top:24px;clear:both}.results-head{display:flex;margin:0 0 16px;align-items:flex-end}.results h2{font-size:24px}.pair-label{font-size:11px;white-space:nowrap}
  .cards{display:grid;grid-template-columns:1fr;gap:18px}.creative-card{padding:11px;border-radius:16px}.card-top{height:48px}.card-top div b{font-size:15px}.card-top div small,.ready{font-size:11px}.art{max-height:none;width:100%}.card-actions{margin-top:10px}.card-actions button,.card-actions a{height:46px}.choose{font-size:14px}
  .regenerate{display:block;margin:16px auto 26px;padding:10px 18px;font-size:15px;background:#eaf1ff;border-radius:999px}
  .publish-panel{display:block;margin:0;padding:18px;border-radius:17px;overflow:visible}.publish-heading{display:block;padding-bottom:15px}.publish-heading h2{font-size:23px}.publish-heading p:last-child{font-size:13px;margin-bottom:12px}.connection{display:inline-block;font-size:11px}
  .publish-grid{display:block;padding:18px 0}.field-label{font-size:11px}.platform-choice{grid-template-columns:38px 1fr 20px;padding:11px;margin-bottom:10px}.platform-badge{width:38px;height:38px}.platform-choice b{font-size:14px}.platform-choice small{font-size:11px}
  .captions{margin-top:20px}.caption-title{font-size:13px}.captions label{grid-template-columns:30px 1fr;padding:11px}.captions textarea{height:112px;min-height:112px;font-size:14px;line-height:1.5}
  .publish-footer{display:block;padding-top:15px}.publish-footer>span{display:block;font-size:13px;margin-bottom:12px}.post-button{width:100%;height:50px;font-size:15px}.security-note{text-align:left;font-size:10px;line-height:1.45;margin-top:12px}
}
@media(max-width:600px){.header-actions .status{display:none}.own-upload-button{height:36px;padding:0 10px;font-size:11px}.upload-modal{padding:12px}.upload-dialog{padding:22px 16px 17px}.upload-dialog h2{font-size:22px;padding-right:30px}.own-upload-grid{grid-template-columns:1fr}.own-drop{min-height:145px}.use-own-designs{width:100%;height:48px}.header-actions{gap:0}}
@media(max-width:600px){.publish-progress-modal{padding:12px}.progress-dialog{padding:22px 16px}.progress-dialog h2{font-size:22px}.progress-step{grid-template-columns:34px 1fr auto;padding:8px}.progress-step .step-platform{width:34px;height:34px}}
@media(max-width:380px){.intro h1{font-size:30px}.pair-label{display:none}.publish-panel{padding:15px}.composer{padding:14px}}
