/* Image resizer tool. Uses the site tokens from site.css. */
.rz-nojs{margin:0 0 20px;padding:16px 18px;border-radius:18px;border:1px solid var(--line);background:var(--glass);color:var(--muted)}
.rz-layout{display:grid;gap:20px;grid-template-columns:minmax(0,1fr)}
.rz-layout>*{min-width:0}

/* drop zone */
.rz-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;min-height:200px;padding:28px 20px;border-radius:28px;border:2px dashed rgba(180,190,255,.38);background:var(--glass);cursor:pointer;transition:border-color .2s,background .2s}
.rz-drop:hover,.rz-drop.over{border-color:var(--mint);background:var(--glass-hi)}
.rz-drop:focus-within{outline:3px solid var(--violet);outline-offset:3px}
.rz-drop.has-files{min-height:128px;padding:20px}
.rz-drop input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.rz-drop-h{font-size:1.25rem;font-weight:800;letter-spacing:-.02em;margin:0;overflow-wrap:anywhere}
.rz-drop-s{margin:0;color:var(--muted);font-size:.9375rem;max-width:34em}
.rz-drop .btn{pointer-events:none}

/* controls */
.rz-controls{border-radius:28px;padding:20px 16px}
.rz-controls fieldset{border:0;margin:0 0 22px;padding:0;min-width:0}
.rz-controls legend{font-weight:800;font-size:1.0625rem;padding:0;margin-bottom:10px}
.rz-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rz-chip{position:relative;display:block;min-width:0}
.rz-chip input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer}
.rz-chip span{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:64px;padding:10px 14px;border-radius:16px;border:1px solid var(--line);background:rgba(8,12,30,.55);transition:background .2s,border-color .2s,box-shadow .2s;overflow-wrap:anywhere}
.rz-chip b{font-size:.9375rem;font-weight:700;line-height:1.2}
.rz-chip small{font-size:.8125rem;color:var(--muted);line-height:1.3}
.rz-chip:hover span{background:var(--glass-hi)}
.rz-chip input:checked+span{border-color:var(--mint);background:rgba(63,224,192,.14);box-shadow:0 0 0 1px var(--mint) inset}
.rz-chip input:focus-visible+span{outline:3px solid var(--violet);outline-offset:2px}
.rz-chip.off{opacity:.5}
.rz-chip.off input{cursor:not-allowed}
.rz-seg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rz-seg .rz-chip span{min-height:52px;align-items:center;text-align:center}
.rz-sel{width:100%;min-height:52px;padding:0 14px;border-radius:16px;border:1px solid var(--line);background:rgba(8,12,30,.7);color:var(--ink);font-size:1rem}
.rz-sel:focus{outline:3px solid var(--violet);outline-offset:2px}
.rz-focus-lbl{display:block;font-weight:600;margin-bottom:8px}
.rz-qrow{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px}
.rz-qrow output{font-weight:800;font-size:1.5rem;letter-spacing:-.02em;color:var(--mint)}
.rz-range{display:block;width:100%;min-height:44px;margin:0;accent-color:var(--violet);cursor:pointer;background:transparent}
.rz-qhint{margin:4px 0 0;color:var(--muted);font-size:.9375rem}
.rz-live{margin:10px 0 0;font-weight:700;color:var(--ink);min-height:1.5em}
.rz-fnote{margin:8px 0 0;color:var(--peach);font-size:.875rem}
.rz-fnote:empty{display:none}

/* messages + summary */
.rz-msg{display:none;margin:0;padding:12px 16px;border-radius:16px;border:1px solid var(--line);background:var(--glass);color:var(--muted);font-size:.9375rem;overflow-wrap:anywhere}
.rz-msg.on{display:block}
.rz-msg.bad{border-color:rgba(245,143,180,.6);color:#ffd3e2}
.rz-msg.good{border-color:rgba(63,224,192,.5);color:#c9fff1}
.rz-results{display:grid;gap:16px;align-content:start}
.rz-summary{display:flex;flex-direction:column;gap:14px;padding:18px;border-radius:24px;background:radial-gradient(30rem 14rem at 50% 0,rgba(139,92,246,.28),transparent 70%),var(--glass);border:1px solid var(--line);box-shadow:var(--shadow)}
.rz-summary[hidden]{display:none}
.rz-sum-line{margin:0;font-weight:700;font-size:1.0625rem;overflow-wrap:anywhere}
.rz-sum-act{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.rz-sum-act .btn{flex:1 1 14rem}
.rz-sum-act .btn.ghost{flex:0 0 auto}
.rz-summary .trust{margin:0}

/* file cards */
.rz-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.rz-item{display:grid;grid-template-columns:72px minmax(0,1fr);gap:4px 14px;align-items:start;padding:14px;border-radius:22px;background:var(--glass);border:1px solid var(--line);box-shadow:var(--shadow)}
.rz-item.st-error{border-color:rgba(245,143,180,.55)}
.rz-thumb{width:72px;height:72px;border-radius:14px;overflow:hidden;background:rgba(8,12,30,.7);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.rz-thumb img{width:100%;height:100%;object-fit:cover}
.rz-ph{font-size:.75rem;color:var(--dim);text-align:center;padding:4px}
.rz-info{min-width:0}
.rz-info p{margin:0}
.rz-name{font-weight:700;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.rz-meta{color:var(--muted);font-size:.875rem;overflow-wrap:anywhere}
.rz-out{display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline;margin-top:4px!important;font-size:.9375rem}
.rz-dims{font-weight:700}
.rz-size{font-weight:800;color:var(--ink)}
.rz-save{font-weight:800;font-size:.875rem;padding:2px 10px;border-radius:99px;background:rgba(139,123,255,.2)}
.rz-save:empty{display:none}
.rz-save.st-good{background:rgba(63,224,192,.2);color:#8ff2d9}
.rz-save.st-warn{background:rgba(255,185,137,.2);color:var(--peach)}
.rz-note{margin-top:6px!important;font-size:.875rem;color:var(--muted);overflow-wrap:anywhere}
.rz-note:empty{display:none}
.rz-note.warn{color:var(--peach)}
.rz-note.bad{color:#ffb3cd}
.rz-acts{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.rz-acts .btn{min-height:48px;padding:0 20px;font-size:.9375rem}
.rz-acts [hidden]{display:none}
.rz-x{margin-left:auto;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:rgba(8,12,30,.6);color:var(--ink);font-size:1.5rem;line-height:1;cursor:pointer;transition:background .2s}
.rz-x:hover{background:var(--glass-hi)}

/* before/after */
.rz-compare{grid-column:1/-1;margin-top:8px}
.rz-stage{position:relative;width:min(100%,calc(70vh*var(--ar,1.5)));margin:0 auto;border-radius:16px;overflow:hidden;background:repeating-conic-gradient(#232a4d 0 25%,#1a2040 0 50%) 0 0/20px 20px;touch-action:pan-y;cursor:ew-resize;user-select:none;-webkit-user-select:none}
.rz-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.rz-before{clip-path:inset(0 50% 0 0)}
.rz-handle{position:absolute;top:0;bottom:0;width:3px;margin-left:-1.5px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.3),0 0 12px rgba(0,0,0,.5);left:50%}
.rz-handle::after{content:"";position:absolute;top:50%;left:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.45)}
.rz-tag{position:absolute;top:10px;padding:4px 10px;border-radius:99px;background:rgba(11,16,32,.78);color:#fff;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.rz-tag-b{left:10px}.rz-tag-a{right:10px}
.rz-cmp-lbl{display:block;margin-top:6px}
.rz-cmp-range{display:block;width:100%;min-height:44px;margin:0;accent-color:var(--violet);cursor:pointer;background:transparent}
.rz-cmp-cap{margin:0;color:var(--muted);font-size:.875rem}

.rz-print-head{display:none}
.rz-guide{margin-top:48px;max-width:68ch}
.rz-guide h2{font-size:clamp(1.5rem,3.4vw,2rem);margin-bottom:12px}
.rz-guide table{border-collapse:collapse;width:100%;min-width:28rem;font-size:1rem;margin-bottom:8px}
.rz-guide th,.rz-guide td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.rz-guide th{background:rgba(139,123,255,.2);font-size:.9375rem}
.rz-guide .tbl{overflow-x:auto;border-radius:16px;border:1px solid var(--line);margin-bottom:16px}
.rz-guide p{color:var(--muted)}
.rz-guide h3{font-size:1.125rem;margin:1.5em 0 .4em}
.rz-links{list-style:none;margin:0 0 8px;padding:0}
.rz-links li{margin:0}
.rz-links a{display:flex;align-items:center;min-height:44px}
.rz-guide ul{padding-left:1.3em;color:var(--muted)}
.rz-guide li{margin-bottom:.5em}
.rz-guide strong{color:var(--ink)}

@media (min-width:720px){
  .rz-presets{grid-template-columns:repeat(3,minmax(0,1fr))}
  .rz-item{grid-template-columns:96px minmax(0,1fr) auto}
  .rz-thumb{width:96px;height:96px}
  .rz-acts{grid-column:3;grid-row:1;flex-direction:column;align-items:stretch;margin-top:0}
  .rz-x{margin-left:0;align-self:flex-end}
  .rz-summary{flex-direction:row;align-items:center;justify-content:space-between}
  .rz-sum-act .btn{flex:0 0 auto}
}
@media (min-width:1000px){
  .rz-layout{grid-template-columns:340px minmax(0,1fr);grid-template-areas:"controls drop" "controls results";align-items:start;gap:24px}
  .rz-controls{grid-area:controls;position:sticky;top:16px}
  .rz-drop{grid-area:drop}
  .rz-results{grid-area:results}
  .rz-presets{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (prefers-reduced-motion:reduce){.rz-drop,.rz-chip span,.rz-x{transition:none}}

@media print{
  body{background:#fff!important;color:#000!important}
  .site-head,.site-foot,.sticky-cta,.skip,.page-top,.rz-controls,.rz-drop,.rz-acts,.rz-thumb,.rz-compare,.rz-msg,.after,.rz-guide,.rz-sum-act,.consent,.rz-nojs{display:none!important}
  .rz-print-head{display:block;margin:0 0 12pt;color:#000;font-size:11pt}
  .rz-layout{display:block}
  .rz-summary,.rz-item{background:none!important;box-shadow:none!important;border:1px solid #888!important;color:#000!important;backdrop-filter:none!important;break-inside:avoid}
  .rz-item{display:block;padding:8pt;margin-bottom:6pt}
  .rz-item *,.rz-summary *{color:#000!important;background:none!important}
  .rz-sum-line{font-size:12pt}
}
.rz-lbl{font-weight:800;font-size:1.0625rem}
.rz-focus{margin:-8px 0 22px}
