/* imgUpscaler Pro — design tokens, per spec: light, clean, minimal, Inter typography */
:root{
  --iup-bg:#FFFFFF; --iup-bg-soft:#F8FAFC; --iup-bg-blue:#F5F7FF;
  --iup-primary:#4F46E5; --iup-primary-hover:#4338CA; --iup-blue:#3B82F6;
  --iup-heading:#111827; --iup-body:#64748B; --iup-light:#94A3B8;
  --iup-border:#E5E7EB; --iup-border-soft:#EEF0F4;
  --iup-success:#16A34A; --iup-warning:#F59E0B; --iup-error:#DC2626;
  --iup-gradient:linear-gradient(135deg,#4F46E5 0%,#6366F1 50%,#3B82F6 100%);
  --iup-radius-btn:9px; --iup-radius-input:11px; --iup-radius-card:16px; --iup-radius-tool:20px;
  --iup-shadow:0 8px 30px rgba(15,23,42,.06);
}
.iup-standalone,.iup-shell{font-family:'Inter',Arial,sans-serif;color:var(--iup-heading);background:var(--iup-bg)}
.iup-standalone *{box-sizing:border-box}
.iup-shell a{color:inherit;text-decoration:none}

/* Header */
.iup-site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--iup-border-soft);height:92px}
.iup-site-header-inner{max-width:1200px;margin:0 auto;height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 24px}
.iup-logo{display:flex;align-items:center;gap:8px}
.iup-logo-img{height:58px;width:auto;display:block}
.iup-nav{display:flex;gap:30px;font-size:15.5px;font-weight:600;color:rgba(0,0,0,.6)}
.iup-nav a:hover{color:var(--iup-heading)}
.iup-nav-cta{display:flex;gap:10px;align-items:center}
@media (max-width:880px){.iup-nav{display:none}}

/* Footer */
.iup-site-footer{background:var(--iup-bg-soft);border-top:1px solid var(--iup-border-soft);padding:60px 24px 30px}
.iup-footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:32px}
.iup-footer-col b{display:block;margin-bottom:12px;font-size:14px}
.iup-footer-col p{color:var(--iup-body);font-size:13px;line-height:1.6}
.iup-footer-col a{display:block;color:var(--iup-body);font-size:13px;margin-bottom:8px}
.iup-footer-col a:hover{color:var(--iup-primary)}
.iup-footer-bottom{max-width:1200px;margin:30px auto 0;padding-top:24px;border-top:1px solid var(--iup-border-soft);font-size:12px;color:var(--iup-light)}
@media (max-width:780px){.iup-footer-inner{grid-template-columns:1fr 1fr}}

/* Buttons */
.iup-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border-radius:var(--iup-radius-btn);font-weight:600;font-size:14px;border:1px solid transparent;cursor:pointer;transition:all .15s ease}
.iup-btn-primary{background:var(--iup-primary);color:#fff}
.iup-btn-primary:hover{background:var(--iup-primary-hover)}
.iup-btn-outline{background:#fff;color:var(--iup-heading);border-color:var(--iup-border)}
.iup-btn-outline:hover{border-color:var(--iup-primary);color:var(--iup-primary)}
.iup-btn-ghost{background:transparent;color:var(--iup-body)}
.iup-btn-ghost:hover{color:var(--iup-heading)}
.iup-btn-full{width:100%}
.iup-btn:disabled{opacity:.55;cursor:not-allowed}

/* Hero */
.iup-hero{max-width:720px;margin:0 auto;text-align:center;padding:60px 20px 10px}
.iup-eyebrow{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--iup-primary);background:var(--iup-bg-blue);padding:6px 14px;border-radius:999px;margin-bottom:18px}
.iup-hero h1{font-size:52px;font-weight:800;line-height:1.12;margin:0 0 16px;color:var(--iup-heading)}
.iup-hero p{font-size:18px;color:var(--iup-body);line-height:1.5;margin:0 0 10px}
.iup-microtext{font-size:13px;color:var(--iup-light)!important}
@media (max-width:640px){.iup-hero h1{font-size:34px}.iup-hero p{font-size:16px}}

/* Tool card */
.iup-tool-card{max-width:950px;margin:36px auto 0;background:#fff;border:1px solid var(--iup-border-soft);border-radius:var(--iup-radius-tool);box-shadow:var(--iup-shadow);padding:28px}
.iup-dropzone{border:2px dashed #CBD5E1;background:#FBFCFE;border-radius:15px;padding:50px 24px;text-align:center;transition:all .15s ease;cursor:pointer}
.iup-dropzone.is-drag{border-color:var(--iup-blue);background:var(--iup-bg-blue)}
.iup-upload-icon{width:48px;height:48px;margin:0 auto 14px;border-radius:12px;background:var(--iup-bg-blue);color:var(--iup-primary);display:flex;align-items:center;justify-content:center;font-size:22px}
.iup-dropzone h2{font-size:20px;margin:0 0 6px}
.iup-drop-sub{color:var(--iup-light);font-size:13px;margin:0 0 14px}
.iup-drop-support{color:var(--iup-body);font-size:13px;margin:14px 0 2px}
.iup-drop-support-sm{color:var(--iup-light);font-size:12px;margin:0}

.iup-workspace{margin-top:22px}
.iup-queue{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}
.iup-queue-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--iup-border-soft);border-radius:12px;background:var(--iup-bg-soft)}
.iup-queue-item img{width:44px;height:44px;object-fit:cover;border-radius:8px}
.iup-queue-name{font-size:13px;font-weight:600}
.iup-queue-meta{font-size:12px;color:var(--iup-light)}
.iup-queue-state{font-size:12px;font-weight:700}
.iup-queue-state.is-done{color:var(--iup-success)}
.iup-queue-state.is-error{color:var(--iup-error)}
.iup-queue-remove{margin-left:auto;background:none;border:none;color:var(--iup-light);font-size:18px;cursor:pointer}

.iup-controls h3{font-size:14px;font-weight:700;margin:0 0 10px}
.iup-scale-pills{display:flex;gap:8px;margin-bottom:6px;flex-wrap:wrap}
.iup-pill{flex:1;min-width:70px;padding:11px 10px;border-radius:11px;border:1.5px solid var(--iup-border);background:#fff;font-weight:700;font-size:14px;cursor:pointer;color:var(--iup-heading);text-align:center}
.iup-pill small{display:block;font-size:9px;font-weight:800;letter-spacing:.04em;color:var(--iup-primary);margin-top:2px}
.iup-pill.is-active{background:var(--iup-primary);border-color:var(--iup-primary);color:#fff}
.iup-pill.is-active small{color:#fff}
.iup-pill:hover:not(.is-active){border-color:var(--iup-blue);background:var(--iup-bg-blue)}
.iup-pill.is-locked{opacity:.55}
.iup-output-size{font-size:12.5px;color:var(--iup-light);margin:0 0 20px}
.iup-mode-select select{width:100%;padding:11px 14px;border-radius:var(--iup-radius-input);border:1px solid var(--iup-border);font-size:14px;margin-bottom:20px;background:#fff}
.iup-credit-note{text-align:center;font-size:12px;color:var(--iup-light);margin-top:10px}

.iup-error{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#FEF2F2;border:1px solid #FECACA;color:var(--iup-error);padding:12px 16px;border-radius:11px;font-size:13px}
.iup-error[hidden]{display:none}
.iup-error button{background:none;border:none;color:inherit;font-size:16px;cursor:pointer}

/* Results / comparison */
.iup-results{max-width:950px;margin:40px auto 0;padding:0 4px}
.iup-results h2{font-size:24px;margin-bottom:18px}
.iup-result-grid{display:flex;flex-direction:column;gap:24px}
.iup-result-card{border:1px solid var(--iup-border-soft);border-radius:var(--iup-radius-card);box-shadow:var(--iup-shadow);overflow:hidden;background:#fff}
.iup-result-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--iup-border-soft)}
.iup-result-dims{font-size:12.5px;color:var(--iup-light)}
.iup-result-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;font-size:11.5px;font-weight:700}
.iup-result-badge.is-ok{background:rgba(22,163,74,.1);color:var(--iup-success)}
.iup-result-badge.is-warn{background:rgba(220,38,38,.08);color:var(--iup-error)}
.iup-compare{position:relative;overflow:hidden;user-select:none;touch-action:pan-y;line-height:0}
.iup-compare img{display:block;width:100%;height:auto}
.iup-compare-after-clip{position:absolute;inset:0;overflow:hidden;width:50%}
.iup-compare-after-clip img{width:var(--iup-cw,auto);max-width:none}
.iup-compare-line{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;transform:translateX(-1px)}
.iup-compare-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50%;background:var(--iup-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;box-shadow:0 4px 12px rgba(79,70,229,.4);cursor:ew-resize}
.iup-compare-label{position:absolute;top:12px;padding:5px 10px;border-radius:999px;background:rgba(17,24,39,.72);color:#fff;font-size:10px;font-weight:800;letter-spacing:.06em}
.iup-compare-label.is-before{left:12px}
.iup-compare-label.is-after{right:12px;background:var(--iup-primary)}
.iup-result-actions{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;gap:12px;flex-wrap:wrap}
.iup-result-actions small{color:var(--iup-light);font-size:11.5px}

.iup-trust-strip{max-width:950px;margin:26px auto 0;display:flex;justify-content:center;gap:26px;flex-wrap:wrap;font-size:12.5px;color:var(--iup-light)}

/* Generic pages (pricing, FAQ, about, terms, account) */
.iup-page{max-width:1200px;margin:0 auto;padding:60px 24px 90px}
.iup-page-hero{max-width:680px;margin:0 auto 46px;text-align:center}
.iup-page-hero h1{font-size:42px;font-weight:800;margin:0 0 14px}
.iup-page-hero p{color:var(--iup-body);font-size:16px}

.iup-billing-toggle{display:inline-flex;background:var(--iup-bg-soft);border-radius:999px;padding:4px;margin-top:22px;gap:2px}
.iup-billing-toggle button{border:none;background:transparent;padding:9px 20px;border-radius:999px;font-weight:700;font-size:13.5px;color:var(--iup-body);cursor:pointer;display:flex;align-items:center;gap:6px}
.iup-billing-toggle button.is-active{background:var(--iup-heading);color:#fff}
.iup-billing-toggle button span{background:rgba(255,255,255,.18);padding:2px 7px;border-radius:999px;font-size:10px}
.iup-billing-toggle button:not(.is-active) span{background:var(--iup-bg-blue);color:var(--iup-primary)}

.iup-pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
.iup-plan-card{position:relative;background:#fff;border:1px solid var(--iup-border);border-radius:var(--iup-radius-card);padding:30px}
.iup-plan-featured{border-color:var(--iup-heading);background:var(--iup-bg-soft)}
.iup-plan-badge{position:absolute;top:-13px;left:24px;background:var(--iup-heading);color:#fff;font-size:11px;font-weight:800;padding:5px 12px;border-radius:999px}
.iup-plan-kicker{display:inline-block;font-size:11.5px;font-weight:700;color:var(--iup-body);border:1px solid var(--iup-border);padding:4px 10px;border-radius:999px;margin-bottom:16px}
.iup-plan-card h2{font-size:24px;margin:0 0 10px}
.iup-plan-price{display:flex;align-items:baseline;gap:4px;margin-bottom:6px}
.iup-plan-price b{font-size:38px;font-weight:800}
.iup-plan-price small{color:var(--iup-light);font-size:14px}
.iup-plan-yearly-note{font-size:12px;color:var(--iup-light);margin:0 0 8px}
.iup-plan-credits{font-weight:700;font-size:13.5px;margin:0 0 10px}
.iup-plan-desc{color:var(--iup-body);font-size:13.5px;line-height:1.5;margin:0 0 18px;min-height:40px}
.iup-plan-list{list-style:none;margin:0 0 22px;padding:0;display:flex;flex-direction:column;gap:10px}
.iup-plan-list li{font-size:13.5px;color:var(--iup-heading);display:flex;gap:8px}
.iup-plan-list li:before{content:"✓";color:var(--iup-success);font-weight:800}
.iup-plan-footnote{text-align:center;font-size:11.5px;color:var(--iup-light);margin-top:10px}
.iup-pricing-note{max-width:720px;margin:40px auto 0;text-align:center;font-size:12px;color:var(--iup-light);line-height:1.6}
@media (max-width:900px){.iup-pricing-grid{grid-template-columns:1fr}}

.iup-faq-list{max-width:780px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.iup-faq-item{border:1px solid var(--iup-border-soft);border-radius:14px;padding:18px 20px;background:#fff}
.iup-faq-item summary{font-weight:700;font-size:15px;cursor:pointer;list-style:none}
.iup-faq-item summary::-webkit-details-marker{display:none}
.iup-faq-item p{color:var(--iup-body);font-size:14px;margin:12px 0 0;line-height:1.6}

.iup-prose{max-width:720px;margin:0 auto}
.iup-prose h2{font-size:20px;margin:32px 0 10px}
.iup-prose p{color:var(--iup-body);font-size:14.5px;line-height:1.7}

.iup-account-card{max-width:560px;margin:0 auto;background:#fff;border:1px solid var(--iup-border-soft);border-radius:var(--iup-radius-card);box-shadow:var(--iup-shadow);padding:28px}
.iup-credits-bar{height:8px;border-radius:999px;background:var(--iup-border-soft);overflow:hidden;margin:12px 0}
.iup-credits-bar div{height:100%;background:var(--iup-primary)}

@media (max-width:640px){.iup-page-hero h1{font-size:28px}.iup-tool-card{padding:18px;border-radius:16px}.iup-scale-pills{flex-wrap:wrap}}

/* Auth modal */
.iup-auth-overlay{position:fixed;inset:0;z-index:200;background:rgba(15,23,42,.5);display:flex;align-items:center;justify-content:center;padding:20px}
.iup-auth-overlay[hidden]{display:none}
.iup-auth-modal{position:relative;width:100%;max-width:440px;max-height:90vh;overflow-y:auto;background:var(--iup-bg-soft);border-radius:20px;padding:36px 32px;box-shadow:0 30px 80px rgba(15,23,42,.25)}
.iup-auth-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:22px;color:var(--iup-light);cursor:pointer;line-height:1}
.iup-auth-logo{height:34px;width:auto;display:block;margin-bottom:18px}
.iup-auth-modal h2{font-size:26px;font-weight:800;margin:0 0 6px}
.iup-auth-sub{color:var(--iup-body);font-size:14px;margin:0 0 22px}
.iup-auth-modal form{display:flex;flex-direction:column;gap:16px;margin-bottom:6px}
.iup-auth-modal label{font-size:13.5px;font-weight:600;color:var(--iup-heading);display:flex;flex-direction:column;gap:6px}
.iup-auth-modal input{padding:12px 14px;border-radius:var(--iup-radius-input);border:1px solid var(--iup-border);font-size:14px;font-family:inherit;background:#fff}
.iup-auth-modal input:focus{outline:none;border-color:var(--iup-primary)}
.iup-btn-dark{background:var(--iup-heading);color:#fff}
.iup-btn-dark:hover{background:#000}
.iup-auth-error{color:var(--iup-error);font-size:13px;margin:-6px 0 0}
.iup-auth-forgot{display:block;text-align:right;font-size:12.5px;color:var(--iup-body);margin-top:10px}
.iup-auth-forgot:hover{color:var(--iup-primary)}
.iup-auth-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--iup-light);font-size:11.5px;font-weight:700}
.iup-auth-divider:before,.iup-auth-divider:after{content:'';flex:1;height:1px;background:var(--iup-border)}
.iup-google-btn{display:flex;align-items:center;justify-content:center;gap:10px;background:#fff}
.iup-auth-switch{text-align:center;font-size:13.5px;color:var(--iup-body);margin:20px 0 0}
.iup-auth-switch button{background:none;border:none;color:var(--iup-primary);font-weight:700;font-size:13.5px;cursor:pointer;padding:0}
