/* SpeedMail image editor: isolated styles, zero remote fonts or photos. */
.image-main{padding-top:47px;padding-bottom:72px}
.image-head{padding:24px 0 31px;position:relative}
.image-intro{max-width:780px}
.image-intro h1{font-size:clamp(39px,5vw,63px);line-height:1.12;margin:17px 0 19px}
.image-intro>p{max-width:690px;font-size:16px;line-height:1.75;margin-bottom:16px}
.image-benefits{display:flex;flex-wrap:wrap;gap:9px}
.image-benefits span{background:var(--soft);border:1px solid var(--line);border-radius:99px;padding:7px 11px;color:var(--blue);font-size:12px;font-weight:750}
.image-tool-picker h2{font-size:22px;letter-spacing:-.04em;margin:0 0 15px}
.image-tool-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.image-tool-list button{min-width:0;position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;background:var(--card);color:var(--text);padding:17px;border:1px solid var(--line);border-radius:16px;min-height:126px;box-shadow:0 4px 14px rgba(43,72,148,.035);transition:transform .18s,border-color .18s,box-shadow .18s}
.image-tool-list button:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--blue) 42%,var(--line))}
.image-tool-list button.is-active{border-color:var(--blue);box-shadow:0 8px 24px rgba(49,94,234,.13);background:linear-gradient(130deg,color-mix(in srgb,var(--soft) 56%,var(--card)),var(--card))}
.image-tool-list button.is-active:after{content:"";position:absolute;right:12px;top:15px;width:8px;height:8px;background:var(--blue);border-radius:50%}
.image-tool-list button>span{font-size:24px;color:var(--blue);line-height:1.1}
.image-tool-list button strong{font-size:13px;line-height:1.35}
.image-tool-list button small{font-size:11px;color:var(--muted);line-height:1.4}
.image-workspace{background:var(--card);border:1px solid var(--line);border-radius:22px;margin-top:25px;padding:27px;box-shadow:var(--shadow)}
.image-work-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:16px}
.image-work-header h2{font-size:25px;letter-spacing:-.04em;margin:8px 0}
.image-work-header p{font-size:13px;margin:0}
.image-upload{margin:3px 0 21px}
.image-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:145px;text-align:center;border:2px dashed color-mix(in srgb,var(--blue) 31%,var(--line));border-radius:17px;gap:5px;padding:19px;background:color-mix(in srgb,var(--soft) 38%,var(--card));cursor:pointer;transition:background .2s,border-color .2s}
.image-drop:hover,.image-drop.is-dragover{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 9%,var(--card))}
.image-drop-art{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:var(--soft);color:var(--blue);font-size:26px}
.image-drop strong{font-size:15px}
.image-drop>span:not(.image-drop-art){font-size:12px;color:var(--muted)}
.image-drop small{font-size:11px;line-height:1.5;color:var(--muted)}
#imageFiles{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
#imageFiles:focus-visible + .image-file-info{outline:2px solid var(--blue)}
.image-file-info{font-size:12px;color:var(--muted);margin:10px 0 0;overflow-wrap:anywhere}
.image-editor-layout{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:18px;align-items:stretch}
.image-preview-wrap,.image-settings{background:color-mix(in srgb,var(--soft) 30%,var(--card));border:1px solid var(--line);border-radius:16px;padding:16px;min-width:0}
.image-preview-header{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:12px;margin-bottom:13px}
.image-preview-header span{color:var(--muted);font-size:11px;text-align:right}
.image-preview-area{display:flex;align-items:center;justify-content:center;position:relative;background:repeating-conic-gradient(color-mix(in srgb,var(--soft) 55%,var(--card)) 0 25%,var(--card) 0 50%) 50% / 18px 18px;min-height:286px;border-radius:13px;overflow:hidden;border:1px solid var(--line);padding:10px}
.image-preview-area img{display:block;max-width:100%;max-height:420px;width:auto;height:auto;object-fit:contain}
.image-preview-area canvas{display:block;max-width:100%;height:auto;touch-action:none;cursor:crosshair;border-radius:4px;box-shadow:0 2px 9px rgba(0,0,0,.09)}
.image-preview-area img[hidden],.image-preview-area canvas[hidden],#previewPlaceholder[hidden]{display:none!important}
#previewPlaceholder{text-align:center;color:var(--muted);font-size:12px}
.image-preview-note{font-size:11px;margin:11px 0 0}
.image-settings h3{font-size:17px;margin:0 0 13px;letter-spacing:-.025em}
.image-settings [data-image-settings][hidden]{display:none!important}
.image-settings label{display:block;margin:14px 0 7px;font-size:12px;font-weight:750;color:var(--text)}
.image-settings output{float:right;color:var(--blue);font-weight:850}
.image-settings input[type=number],.image-settings select{
 display:block;width:100%;min-width:0;max-width:100%;min-height:43px;padding:9px 11px;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--text);font-weight:650;font-size:13px;line-height:1.3;font-family:inherit;
}
.image-settings input[type=range]{width:100%;accent-color:var(--blue);min-height:30px}
.image-settings .image-check{display:flex;gap:8px;align-items:center;font-weight:650}
.image-check input{accent-color:var(--blue);width:17px;height:17px}
.image-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.image-field-grid label{margin-top:6px}
.image-hint{font-size:11px;margin:11px 0 15px;line-height:1.65}
.image-generate{margin-top:18px;width:100%;justify-content:center;min-height:48px}
.image-status{font-size:12px;min-height:19px;color:var(--muted);margin:11px 0 0;overflow-wrap:anywhere}
.image-status.is-error{color:#ad3448}
.image-status.is-success{color:#148568}
.image-result-panel{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;border:1px solid color-mix(in srgb,#249f7b 26%,var(--line));background:color-mix(in srgb,#249f7b 5%,var(--card));padding:19px;margin-top:20px;border-radius:15px}
.image-result-panel[hidden]{display:none!important}
.image-result-panel h3{font-size:21px;margin:7px 0 6px;letter-spacing:-.035em}
.image-result-panel p{font-size:12px;margin:0}
.image-result-panel .button{flex-shrink:0}
.image-help{padding:48px 0 0}
.image-help h2{font-size:26px;letter-spacing:-.035em}
.image-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.image-help article{padding:19px;border:1px solid var(--line);background:var(--card);border-radius:14px}
.image-help strong{font-size:14px}
.image-help p{font-size:12px;margin:8px 0 0}
#resetCrop{min-height:40px}
@media(max-width:850px){
 .image-main{padding-top:21px}
 .image-head{padding:19px 0}
 .image-tool-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .image-editor-layout{grid-template-columns:minmax(0,1fr)}
 .image-preview-area{min-height:210px}
 .image-work-header{flex-wrap:wrap}
}
@media(max-width:560px){
 .image-main{padding-inline:clamp(12px,4vw,18px);padding-top:13px;padding-bottom:43px}
 .image-head{padding:13px 0 23px}
 .image-intro h1{font-size:clamp(33px,9vw,42px);margin:11px 0}
 .image-intro>p{font-size:13px;line-height:1.7}
 .image-benefits{gap:6px}
 .image-benefits span{font-size:10px;padding:6px 9px}
 .image-tool-picker h2{font-size:20px}
 .image-tool-list{gap:8px}
 .image-tool-list button{min-height:101px;padding:12px;border-radius:13px;gap:5px}
 .image-tool-list button>span{font-size:21px}
 .image-tool-list button strong{font-size:11px}
 .image-tool-list button small{font-size:10px}
 .image-workspace{margin-top:15px;border-radius:16px;padding:13px}
 .image-work-header h2{font-size:21px}
 .image-work-header p{font-size:12px}
 .image-drop{min-height:128px;padding:15px 10px}
 .image-editor-layout{gap:12px}
 .image-preview-wrap,.image-settings{padding:11px;border-radius:13px}
 .image-preview-area{min-height:180px}
 .image-preview-area img{max-height:320px}
 .image-settings input[type=number],.image-settings select{font-size:13px}
 .image-result-panel{padding:14px;gap:12px}
 .image-result-panel .button{width:100%}
 .image-help{padding-top:35px}
 .image-help-grid{grid-template-columns:1fr;gap:8px}
 .image-help article{padding:14px}
}
@media(prefers-reduced-motion:reduce){
 .image-tool-list button,.image-drop{transition:none}
}
