/* ════ RESIZE IMAGE ════  (theme: sky #0ea5e9) */
.mode-ico.sky{background:#0ea5e9}
.seg-tabs .mode-tab.active.t-sky .mode-txt strong{color:#0369a1}

.ir-app{display:flex;flex-direction:column;gap:22px}
.ir-app .panel{padding:22px}                      /* global section padding gotcha */
.ir-app [hidden]{display:none!important}          /* class display rules must not beat [hidden] */

/* HERO */
.ir-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap}
.ir-hero-left{flex:1;min-width:280px}
.ir-hero h2{font-size:28px;font-weight:800;color:#1a2236;letter-spacing:-.02em;margin-bottom:6px}
.ir-hero-sub{font-size:16px;font-weight:600;color:#475067;margin-bottom:10px}
.ir-hero-sub .accent{color:#0ea5e9}
.ir-hero-note{font-size:13.5px;color:#7c879b;line-height:1.6;max-width:54ch}
.ir-hero-badges{display:flex;flex-wrap:wrap;gap:14px;margin-top:16px}
.ir-hero-badges span{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:#475067}
.ir-hero-badges i{color:#0ea5e9}
.ir-hero-art{display:flex;align-items:center;gap:10px;color:#0ea5e9}
.ir-art-card{display:flex;align-items:center;justify-content:center;border-radius:14px;background:#eff9ff;border:1px solid #c8e8fb;color:#0284c7;font-weight:800;font-size:11px}
.ir-art-card.big{width:92px;height:92px;font-size:13px}
.ir-art-card.small{width:54px;height:54px}
.ir-art-arrow{color:#bcdcee;font-size:18px}

/* STEPS */
.ir-steps{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}
.ir-steps>.panel{flex:1 1 340px;min-width:0}
.ir-step-head{display:flex;align-items:flex-start;gap:13px;margin-bottom:16px}
.ir-num{flex:none;width:30px;height:30px;border-radius:9px;background:#eff9ff;color:#0284c7;font-weight:800;font-size:14px;display:flex;align-items:center;justify-content:center}
.ir-step-head h2{font-size:17px;font-weight:800;color:#1a2236;margin-bottom:2px}
.ir-step-head p{font-size:12.5px;color:#7c879b}
.ir-upload .upload-icon{color:#0ea5e9}
.ir-upload.drag{border-color:#0ea5e9;background:#f0faff}

/* file list */
.ir-file-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.ir-file{padding:9px 11px;border:1px solid #e9ecf2;border-radius:10px;background:#fbfcfe;font-size:13px}
.ir-file-main{display:flex;align-items:center;gap:11px;min-width:0}
.ir-file-thumb{flex:none;width:34px;height:34px;border-radius:7px;object-fit:cover;background:#f3f5f9;border:1px solid #e9ecf2}
.ir-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#2a3140;font-weight:600}
.ir-file-kb{flex:none;color:#7c879b;font-weight:600;font-size:12px}
.ir-file-x{flex:none;border:0;background:none;color:#c0c7d6;cursor:pointer;padding:3px;font-size:13px;transition:.15s}
.ir-file-x:hover{color:#e2435b}

/* Start-over (near the upload zone) */
.ir-startover-top{margin-top:12px;display:inline-flex;align-items:center;gap:7px;border:1px solid #e3e7ef;background:#fff;color:#7c879b;font-weight:700;font-size:12.5px;border-radius:9px;padding:8px 13px;cursor:pointer;transition:.15s}
.ir-startover-top:hover{border-color:#f3c7c2;color:#c8364c;background:#fff6f6}

/* ══ MASTER-DETAIL EDITOR ══ */
.ir-editor{display:grid;grid-template-columns:260px minmax(0,1fr);gap:18px;align-items:start}
@media(max-width:900px){ .ir-editor{grid-template-columns:1fr} }

/* left: thumbnail rail (scrolls when there are many) */
.ir-thumbs-panel{position:sticky;top:14px;display:flex;flex-direction:column;max-height:calc(100vh - 40px)}
.ir-thumbs-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;font-size:12px;font-weight:800;color:#475067}
.ir-addmore{border:1px solid #e3e7ef;background:#fff;color:#0284c7;font-weight:700;font-size:11.5px;border-radius:8px;padding:6px 10px;cursor:pointer}
.ir-addmore:hover{border-color:#bcdcee;background:#f0faff}
.ir-thumbs{display:flex;flex-direction:column;gap:8px;overflow-y:auto;overflow-x:hidden;padding:2px 6px 2px 2px;flex:1;min-height:0}
.ir-thumbs::-webkit-scrollbar{width:8px}.ir-thumbs::-webkit-scrollbar-thumb{background:#d7dde8;border-radius:20px}.ir-thumbs::-webkit-scrollbar-track{background:transparent}
@media(max-width:900px){ .ir-thumbs-panel{position:static;max-height:none} .ir-thumbs{flex-direction:row;overflow-x:auto;overflow-y:hidden} .ir-thumb{width:150px;flex:none} }

.ir-thumb{position:relative;display:flex;align-items:center;gap:10px;padding:8px;border:1.5px solid #e9ecf2;border-radius:11px;background:#fbfcfe;cursor:pointer;transition:.14s;text-align:left}
.ir-thumb:hover{border-color:#bcdcee;background:#f7fcff}
.ir-thumb.sel{border-color:#0ea5e9;background:#eff9ff;box-shadow:0 0 0 3px rgba(14,165,233,.12)}
.ir-thumb.edited{border-left-width:4px;border-left-color:#f59e0b}
.ir-thumb.done{border-left-width:4px;border-left-color:#16a34a}
.ir-thumb.sel.done,.ir-thumb.sel.edited{border-color:#0ea5e9}
.ir-thumb-imgwrap{position:relative;flex:none;width:46px;height:46px}
.ir-thumb-img{width:46px;height:46px;border-radius:8px;object-fit:cover;background:#f3f5f9;border:1px solid #e9ecf2;display:block}
.ir-thumb-done{position:absolute;top:-6px;right:-6px;width:19px;height:19px;border-radius:50%;background:#16a34a;color:#fff;font-size:9px;display:grid;place-items:center;box-shadow:0 1px 4px rgba(22,163,74,.5);border:2px solid #fff}
.ir-thumb-editdot{position:absolute;bottom:-4px;right:-4px;width:12px;height:12px;border-radius:50%;background:#f59e0b;border:2px solid #fff}
.ir-thumb.done .ir-thumb-editdot{display:none}
.ir-thumb-meta{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ir-thumb-name{font-size:12px;font-weight:700;color:#2a3140;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ir-thumb-sub{font-size:11px;color:#9aa3b8;font-weight:600}
.ir-thumb.done .ir-thumb-sub{color:#0a8f54;font-weight:800}
.ir-thumb-acts{flex:none;display:flex;flex-direction:column;gap:3px;opacity:0;transition:.14s}
.ir-thumb:hover .ir-thumb-acts,.ir-thumb.sel .ir-thumb-acts{opacity:1}
.ir-thumb-btn{width:24px;height:24px;border:1px solid #e3e7ef;background:#fff;border-radius:7px;color:#9aa3b8;cursor:pointer;font-size:10px;display:grid;place-items:center;transition:.13s}
.ir-thumb-btn:hover{border-color:#bcdcee;color:#0284c7}
.ir-thumb-rm:hover{border-color:#f3c7c2;color:#e2435b}

/* right: detail (preview stacked over settings) */
.ir-detail{display:flex;flex-direction:column;gap:18px;min-width:0}
.ir-detail-name{color:#0284c7}

/* controls */
.ir-ctl{margin-bottom:16px}
.ir-ctl:last-child{margin-bottom:0}
.ir-ctl-label{font-size:10.5px;font-weight:700;color:#9aa3b8;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.ir-seg{display:inline-flex;background:#f1f3f7;border:1px solid #e3e7ef;border-radius:10px;padding:3px;gap:3px;flex-wrap:wrap}
.ir-seg button{border:0;background:none;font-family:inherit;font-size:12.5px;font-weight:700;color:#7c879b;padding:7px 15px;border-radius:8px;cursor:pointer;transition:.15s;line-height:1;display:inline-flex;align-items:center;gap:6px}
.ir-seg button:hover{color:#2a3140}
.ir-seg button.on{background:#fff;color:#0284c7;box-shadow:0 1px 3px rgba(16,23,37,.10)}
.ir-seg.ir-seg-fit button i{font-size:11px}

/* W × H fields + lock */
.ir-dims{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.ir-field{display:inline-flex;flex-direction:column;gap:4px}
.ir-field small{font-size:10px;font-weight:700;color:#9aa3b8;text-transform:uppercase;letter-spacing:.4px}
.ir-num-box{display:inline-flex;align-items:center;border:1.5px solid #e3e7ef;border-radius:10px;background:#fff;padding:0 11px 0 0;transition:.16s}
.ir-num-box:focus-within{border-color:#0ea5e9;box-shadow:0 0 0 3px rgba(14,165,233,.12)}
.ir-num{width:78px;padding:9px 0 9px 13px;border:0;background:none;font-size:16px;font-weight:800;color:#101725;font-family:inherit;text-align:right;-moz-appearance:textfield}
.ir-num::-webkit-outer-spin-button,.ir-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ir-num:focus{outline:none}
.ir-unit{font-size:12px;font-weight:700;color:#9aa3b8;margin-left:4px}
.ir-x{color:#cbd3e1;font-size:14px;font-weight:800;align-self:flex-end;padding-bottom:9px}
.ir-lock{align-self:flex-end;width:38px;height:38px;border:1.5px solid #e3e7ef;border-radius:10px;background:#fff;color:#9aa3b8;cursor:pointer;font-size:14px;transition:.15s}
.ir-lock:hover{border-color:#bcdcee;color:#0284c7}
.ir-lock.on{border-color:#0ea5e9;background:#eff9ff;color:#0284c7;box-shadow:0 0 0 3px rgba(14,165,233,.10)}

/* sliders (percent, quality) */
.ir-slider-row{display:flex;align-items:center;gap:14px}
.ir-slider{-webkit-appearance:none;appearance:none;flex:1;min-width:0;height:8px;border-radius:20px;background:linear-gradient(90deg,#0ea5e9 var(--fill,50%),#e3e7ef var(--fill,50%));cursor:pointer;outline:none}
.ir-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid #0ea5e9;box-shadow:0 2px 6px rgba(14,165,233,.30);cursor:pointer;transition:.12s}
.ir-slider::-webkit-slider-thumb:hover{transform:scale(1.08)}
.ir-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid #0ea5e9;box-shadow:0 2px 6px rgba(14,165,233,.30);cursor:pointer}
.ir-readout{flex:none;font-size:15px;font-weight:900;color:#0284c7;font-variant-numeric:tabular-nums;min-width:54px;text-align:right}

/* preset select */
.ir-select{width:100%;border:1.5px solid #e3e7ef;border-radius:10px;background:#fff;padding:11px 13px;font-size:13.5px;font-weight:600;color:#2a3140;font-family:inherit;cursor:pointer;transition:.16s}
.ir-select:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px rgba(14,165,233,.12)}

/* fit position 9-grid + bg */
.ir-sub-row{display:flex;gap:22px;flex-wrap:wrap;align-items:flex-start}
.ir-pos{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;width:96px}
.ir-pos button{aspect-ratio:1;border:1.5px solid #e3e7ef;border-radius:6px;background:#fff;cursor:pointer;color:transparent;transition:.13s;position:relative}
.ir-pos button::after{content:"";position:absolute;inset:30%;border-radius:2px;background:#d4dbe6}
.ir-pos button:hover{border-color:#bcdcee}
.ir-pos button.on{border-color:#0ea5e9;background:#eff9ff}
.ir-pos button.on::after{background:#0ea5e9}
.ir-bg-field{display:inline-flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;color:#475067}
.ir-bg{width:40px;height:34px;border:1.5px solid #e3e7ef;border-radius:9px;background:none;cursor:pointer;padding:2px}

/* checkbox */
.ir-check{display:flex;align-items:flex-start;gap:9px;padding:11px 13px;border:1px solid #d7eefb;border-radius:11px;background:#f5fbff;cursor:pointer}
.ir-check input{flex:none;width:16px;height:16px;margin-top:1px;accent-color:#0ea5e9;cursor:pointer}
.ir-check span{font-size:12px;color:#41607a;line-height:1.5}
.ir-check span strong{color:#0369a1;font-weight:800}

/* output format chips */
.ir-formats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.ir-fmt{display:flex;flex-direction:column;align-items:center;gap:3px;padding:11px 6px;border:1.5px solid #e3e7ef;border-radius:11px;background:#fff;cursor:pointer;transition:.14s;font-family:inherit}
.ir-fmt strong{font-size:12.5px;font-weight:800;color:#2a3140}
.ir-fmt small{font-size:9px;color:#9aa3b8;font-weight:600}
.ir-fmt:hover{border-color:#bcdcee;background:#f7fcff}
.ir-fmt.active{border-color:#0ea5e9;background:#eff9ff;box-shadow:0 0 0 3px rgba(14,165,233,.1)}
.ir-fmt.active strong{color:#0284c7}

/* live preview panel */
.ir-preview-panel{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.ir-pv-frame{flex:none;width:300px;height:300px;border-radius:14px;border:1px solid #e3e7ef;background:#f4f6f9 url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20"><rect width="10" height="10" fill="%23eaeef4"/><rect x="10" y="10" width="10" height="10" fill="%23eaeef4"/></svg>');display:flex;align-items:center;justify-content:center;overflow:hidden;padding:10px}
.ir-pv-frame canvas{box-shadow:0 6px 22px -8px rgba(20,30,55,.35);border-radius:2px;max-width:100%;max-height:100%}
.ir-pv-empty{color:#aab3c4;font-size:12.5px;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center;padding:0 18px}
.ir-pv-empty i{font-size:26px;color:#cbd5e3}
.ir-pv-right{flex:1;min-width:240px;display:flex;flex-direction:column;gap:16px}
.ir-pv-right h2{font-size:17px;font-weight:800;color:#1a2236}
.ir-preview-meta{font-size:13px;color:#475067;font-weight:600}
.ir-preview-meta b{font-size:18px;color:#0284c7;font-weight:900;letter-spacing:-.01em}
.ir-pv-from{color:#9aa3b8;font-weight:600;margin-left:6px}
.ir-target-note{font-size:12.5px;color:#5a6679;line-height:1.6;background:#f7f9fc;border:1px solid #e7ebf2;border-radius:11px;padding:11px 14px}
.ir-target-note i{color:#0ea5e9;margin-right:5px}
.ir-target-note b{color:#0284c7}
.ir-note-dim{color:#9aa3b8}
.ir-note-up{color:#c8364c;font-weight:700;margin-left:4px}
.ir-pv-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ir-run{display:inline-flex;align-items:center;gap:8px;background:#0ea5e9;color:#fff;border:0;border-radius:10px;padding:13px 24px;font-weight:700;font-size:14.5px;cursor:pointer;transition:.16s}
.ir-run:hover{background:#0284c7}
.ir-run:disabled{background:#bcd9e9;cursor:not-allowed}
.ir-reset{border:0;background:none;color:#7c879b;font-weight:600;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.ir-reset:hover{color:#2a3140}

/* RESULTS */
.ir-plan-note{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 15px;border:1px solid #d7eefb;border-left:3px solid #0ea5e9;border-radius:11px;background:#f5fbff;font-size:12.5px;color:#345064;line-height:1.55}
.ir-plan-note i{color:#0ea5e9;margin-top:1px}
.ir-plan-link{border:0;background:none;color:#0284c7;font-weight:800;cursor:pointer;text-decoration:underline;padding:0;font:inherit}
.ir-results-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.ir-results-actions{display:flex;align-items:center;gap:12px}
.ir-dlall{display:inline-flex;align-items:center;gap:8px;background:#0ea5e9;color:#fff;border:0;border-radius:10px;padding:11px 18px;font-weight:700;font-size:13px;cursor:pointer;transition:.18s}
.ir-dlall:hover{background:#0284c7}
.ir-result-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px}
.ir-card{border:1px solid #e7ebf2;border-radius:14px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.ir-card-thumb{height:120px;background:#f3f5f9 url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><rect width="8" height="8" fill="%23e9ecf2"/><rect x="8" y="8" width="8" height="8" fill="%23e9ecf2"/></svg>');display:flex;align-items:center;justify-content:center;padding:8px}
.ir-card-thumb img{max-width:100%;max-height:104px;object-fit:contain;display:block}
.ir-card-body{padding:13px 15px 15px}
.ir-card-name{font-size:12.5px;font-weight:700;color:#2a3140;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:8px}
.ir-card-stats{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;margin-bottom:5px}
.ir-was{color:#9aa3b8}
.ir-card-stats>i{color:#cfd6e6;font-size:10px}
.ir-now{color:#0284c7}
.ir-anim{margin-left:auto;font-size:9px;font-weight:800;color:#7c3aed;background:#f3effe;padding:2px 7px;border-radius:20px;letter-spacing:.04em}
.ir-card-meta{font-size:10.5px;color:#9aa3b8;font-weight:600;margin-bottom:11px}
.ir-card-meta b{color:#0284c7;font-weight:800}
.ir-dl{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #101725;background:#101725;color:#fff;font-weight:700;font-size:12.5px;padding:9px;border-radius:9px;cursor:pointer;transition:.15s}
.ir-dl:hover{background:#1d2740}
.ir-dl + .ir-dl{margin-top:7px}
.ir-free-pill{font-size:9px;font-weight:800;background:#16a34a;color:#fff;padding:1px 6px;border-radius:20px;margin-left:2px;text-transform:uppercase;letter-spacing:.03em}
.ir-dl-premium{color:#7a4d12;background:linear-gradient(180deg,#fdf0d8,#fbe6bf);border-color:#f0cf90}
.ir-dl-premium:hover{background:linear-gradient(180deg,#fbe6bf,#f7d9a0);border-color:#f0cf90}
.ir-card-fail{padding:22px 18px;text-align:center}
.ir-card-fail .ir-card-msg{font-size:12px;color:#e2435b;font-weight:600;margin-top:6px}
.ir-summary-wrap{margin-top:4px}
.ir-sum-big{display:flex;flex-direction:column;line-height:1}
.ir-sum-big strong{font-size:30px;font-weight:900;color:#0ea5e9;letter-spacing:-.02em}
.ir-sum-big span{font-size:12px;color:#7c879b;font-weight:600;margin-top:5px}
#irSummary{display:flex;align-items:center;gap:30px;flex-wrap:wrap}
.ir-sum-rows{display:flex;gap:28px;flex-wrap:wrap}
.ir-sum-rows>div{display:flex;flex-direction:column;gap:3px}
.ir-sum-rows span{font-size:11px;color:#9aa3b8;font-weight:600;text-transform:uppercase;letter-spacing:.5px}
.ir-sum-rows b{font-size:16px;font-weight:800;color:#2a3140}

@media(max-width:1000px){ .ir-steps{flex-direction:column} .ir-steps>.panel{flex:1 1 auto;width:100%} }
@media(max-width:560px){ .ir-pv-frame{width:100%;height:260px} .ir-result-grid{grid-template-columns:1fr 1fr} .ir-formats{grid-template-columns:1fr 1fr} }
