:root{color-scheme:light;--bg: oklch(1 0 0);--surface: oklch(.97 .008 277);--surface-2: oklch(.94 .012 277);--ink: oklch(.27 .03 277);--muted: oklch(.44 .025 277);--line: oklch(.9 .02 277);--primary: oklch(.48 .19 277);--primary-2: oklch(.5 .2 298);--primary-ink: oklch(1 0 0);--focus: oklch(.48 .19 277);--success: oklch(.45 .13 155);--success-bg: oklch(.95 .04 155);--warn: oklch(.5 .14 55);--warn-bg: oklch(.97 .03 55);--danger: oklch(.5 .18 25);--danger-bg: oklch(.96 .03 25);--shadow: oklch(.4 .05 277 / .08);--radius: 12px;--radius-sm: 8px;--font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--space: 1rem;--max: 44rem;--z-sticky: 20;--z-toast: 40}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg: oklch(.16 0 0);--surface: oklch(.21 .015 277);--surface-2: oklch(.25 .018 277);--ink: oklch(.95 .01 277);--muted: oklch(.78 .02 277);--line: oklch(.32 .02 277);--primary: oklch(.5 .18 277);--primary-2: oklch(.48 .18 298);--primary-ink: oklch(1 0 0);--focus: oklch(.72 .14 277);--success: oklch(.78 .12 155);--success-bg: oklch(.28 .05 155);--warn: oklch(.82 .1 55);--warn-bg: oklch(.28 .04 55);--danger: oklch(.78 .12 25);--danger-bg: oklch(.28 .05 25);--shadow: oklch(0 0 0 / .35)}}[data-theme=dark]{color-scheme:dark;--bg: oklch(.16 0 0);--surface: oklch(.21 .015 277);--surface-2: oklch(.25 .018 277);--ink: oklch(.95 .01 277);--muted: oklch(.78 .02 277);--line: oklch(.32 .02 277);--primary: oklch(.5 .18 277);--primary-2: oklch(.48 .18 298);--primary-ink: oklch(1 0 0);--focus: oklch(.72 .14 277);--success: oklch(.78 .12 155);--success-bg: oklch(.28 .05 155);--warn: oklch(.82 .1 55);--warn-bg: oklch(.28 .04 55);--danger: oklch(.78 .12 25);--danger-bg: oklch(.28 .05 25);--shadow: oklch(0 0 0 / .35)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:1rem;line-height:1.5}img{max-width:100%;height:auto}button,input,select{font:inherit;color:inherit}a{color:var(--primary)}a:hover{text-decoration:none}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.skip-link{position:absolute;left:.75rem;top:-3rem;z-index:var(--z-toast);padding:.5rem .85rem;background:var(--primary);color:var(--primary-ink);border-radius:var(--radius-sm);text-decoration:none}.skip-link:focus{top:.75rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.actions-gap{margin-top:1rem}.wrap{width:min(100% - 2rem,60rem);margin-inline:auto}.site-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem 1.25rem;flex-wrap:wrap;min-height:4rem;padding-block:.75rem;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.65rem;color:inherit;text-decoration:none;font-weight:700;letter-spacing:-.03em;font-size:1.125rem}.brand img{width:32px;height:32px;display:block}.slogan{margin:0;color:var(--muted);font-size:.9rem;flex:1 1 12rem}.nav{display:flex;gap:1rem}.nav a{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--ink);text-decoration:none;font-weight:600;font-size:.95rem}.nav a:hover,.nav a[aria-current=page]{color:var(--primary)}.hero{padding:1.75rem 0 1.25rem}.hero h1{margin:0 0 .5rem;font-size:2rem;line-height:1.15;letter-spacing:-.03em;text-wrap:balance}.hero .lede{margin:0;max-width:40ch;color:var(--muted);font-size:1.05rem}.privacy-note{margin:1rem 0 0;padding:.8rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);font-size:.95rem}.tool{padding-bottom:2rem}.dropzone{display:grid;place-items:center;min-height:12rem;padding:1.5rem;text-align:center;background:var(--surface);border:2px dashed var(--muted);border-radius:var(--radius);cursor:pointer}.tool.has-file .dropzone{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:0;text-align:left;padding:.7rem 1rem}.tool.has-file .dropzone-title{font-size:.95rem}.tool.has-file .preview-frame img{max-height:8rem}.dropzone:hover,.dropzone.is-drag{border-color:var(--primary);background:var(--surface-2)}.dropzone strong{display:block;font-size:1.05rem}.dropzone span{display:block;margin-top:.35rem;color:var(--muted);font-size:.92rem}#file-input,.dropzone input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.alert{margin:.85rem 0 0;padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.95rem}.alert[hidden]{display:none}.alert-error{background:var(--danger-bg);color:var(--danger)}.alert-warn{background:var(--warn-bg);color:var(--warn)}.panel{margin-top:1.25rem;padding:1rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.panel[hidden]{display:none}.panel h2{margin:0 0 .85rem;font-size:1.1rem;letter-spacing:-.02em}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:.65rem 1rem;margin:0}.meta-grid div{display:flex;flex-direction:column;gap:.15rem}.meta-grid dt{color:var(--muted);font-size:.8rem}.meta-grid dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}.preview-frame{margin-top:.85rem;padding:.75rem;background:repeating-conic-gradient(var(--surface-2) 0 25%,var(--bg) 0 50%) 50% / 16px 16px;border-radius:var(--radius-sm);text-align:center}.preview-frame img{max-height:16rem;width:auto}.controls{display:grid;gap:1rem}.field{display:grid;gap:.4rem}.field label,.field .label{font-weight:600;font-size:.92rem}.field .hint{margin:0;color:var(--muted);font-size:.85rem}.hint[hidden]{display:none}.presets{display:flex;flex-wrap:wrap;gap:.4rem}.chip{min-height:2.75rem;padding:0 .8rem;border:1px solid var(--line);border-radius:999px;background:var(--bg);cursor:pointer}.chip:hover{border-color:var(--primary)}.chip.is-on{background:var(--primary);border-color:var(--primary);color:var(--primary-ink)}.row-2{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}input[type=number],select{width:100%;min-height:2.75rem;padding:.45rem .7rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg)}.switch{display:flex;align-items:center;gap:.55rem;min-height:2.75rem}.switch input{width:1.15rem;height:1.15rem}.actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.more-options{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg)}.more-options summary{display:flex;align-items:center;min-height:2.75rem;padding:.35rem .85rem;font-weight:650;cursor:pointer;list-style:none}.more-options summary::-webkit-details-marker{display:none}.more-options summary:after{content:"";width:.35rem;height:.35rem;margin-left:auto;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-.05rem)}.more-options[open] summary:after{transform:rotate(-135deg) translateY(-.05rem)}.more-options .field{padding:0 .85rem .9rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;padding:.55rem 1.15rem;border-radius:999px;border:1px solid transparent;text-decoration:none;font-weight:650;cursor:pointer;white-space:nowrap}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:var(--primary-ink)}.btn-primary:hover:not(:disabled){filter:brightness(1.06)}.btn-ghost{background:var(--bg);border-color:var(--line);color:var(--ink)}.progress{margin-top:.85rem}.progress[hidden]{display:none}.progress-track{height:.55rem;overflow:hidden;background:var(--surface-2);border-radius:999px}.progress-bar{height:100%;width:0%;background:linear-gradient(135deg,var(--primary),var(--primary-2));transition:width .16s ease-out}.progress-row{display:flex;flex-wrap:wrap;gap:.5rem .75rem;align-items:center;margin-top:.4rem}.progress-label{margin:0;flex:1 1 8rem;color:var(--muted);font-size:.9rem}.compare{display:grid;gap:1rem}@media(min-width:720px){.hero h1{font-size:2.5rem}.compare{grid-template-columns:1fr 1fr}}.compare figure{margin:0}.compare figcaption{display:flex;flex-wrap:wrap;gap:.4rem .75rem;align-items:center;margin-top:.55rem;font-size:.9rem}.compare figcaption .hint{flex:1 1 100%;color:var(--muted);font-size:.85rem}.badge{display:inline-flex;align-items:center;min-height:1.5rem;padding:0 .5rem;border-radius:999px;font-weight:700;font-size:.8rem;font-variant-numeric:tabular-nums}.badge-down{background:var(--success-bg);color:var(--success)}.badge-up{background:var(--warn-bg);color:var(--warn)}.ad-slot:empty{display:none}.ad-slot:not(:empty){box-sizing:border-box;width:min(100%,45.5rem);min-height:5.625rem;margin:1.5rem auto;background:var(--surface);border:1px dashed var(--line);border-radius:var(--radius-sm)}.how{padding:2rem 0 1.5rem;border-top:1px solid var(--line)}.how h2,.faq h2{margin:0 0 1rem;font-size:1.45rem;letter-spacing:-.02em;text-wrap:balance}.steps{display:grid;gap:1.25rem;padding:0;margin:0;list-style:none;counter-reset:step}.steps li{counter-increment:step}.steps h3{margin:0 0 .3rem;font-size:1.05rem}.steps h3:before{content:counter(step) ". ";color:var(--primary)}.steps p{margin:0;color:var(--muted);max-width:48ch}@media(min-width:800px){.steps{grid-template-columns:1fr 1fr 1fr;gap:1.5rem}}.faq{padding:0 0 2.5rem}.faq details{border-top:1px solid var(--line)}.faq details:last-of-type{border-bottom:1px solid var(--line)}.faq summary{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.9rem 0;font-weight:650;list-style:none;min-height:2.75rem}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";flex:0 0 .35rem;width:.35rem;height:.35rem;margin-left:auto;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-.05rem)}.faq details[open] summary:after{transform:rotate(-135deg) translateY(-.05rem)}.faq details p{margin:0 0 1rem;max-width:65ch;color:var(--muted)}.legal{padding:2rem 0 3rem}.legal h1{margin:0 0 .75rem;font-size:2rem;letter-spacing:-.03em}.legal h2{margin:1.5rem 0 .5rem;font-size:1.15rem}.legal p,.legal li{max-width:65ch;color:var(--muted)}.legal p,.legal ul{color:var(--ink)}.oops{padding:3rem 0 4rem}.oops h1{margin:0 0 .5rem;font-size:2rem;letter-spacing:-.03em}.oops p{color:var(--muted);max-width:40ch}.site-footer{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center;justify-content:space-between;padding:1.25rem 0 1.75rem;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}.site-footer nav{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center}.site-footer a{color:var(--ink);text-decoration:none}.site-footer a:hover{color:var(--primary)}.theme-toggle{min-height:2.75rem;padding:.3rem .75rem;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--ink);cursor:pointer}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}.crumbs{padding:.75rem 0 0;font-size:.85rem}.crumbs ol{display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;color:var(--muted)}.crumbs li:not(:last-child):after{content:">";margin-left:.35rem}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--primary)}.crumbs [aria-current=page]{color:var(--ink)}input[type=range]{width:100%;min-height:2.75rem;accent-color:var(--primary)}.level-labels{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.35rem}.level-label{min-height:2.75rem;padding:.3rem .4rem;border:0;background:transparent;color:var(--muted);font-size:.85rem;cursor:pointer}.level-label:nth-child(2){text-align:center}.level-label:nth-child(3){text-align:right}.level-label[aria-current=true]{color:var(--ink);font-weight:700}.savings{display:flex;flex-wrap:wrap;gap:.4rem .75rem;align-items:baseline;margin:0 0 1rem;font-weight:650;font-variant-numeric:tabular-nums}.savings-arrow{color:var(--muted);font-weight:500}.savings-pct{color:var(--muted)}.savings-pct.is-down{color:var(--success)}.savings-pct.is-up{color:var(--warn)}.prose{padding:0 0 1.5rem}.prose h2{margin:0 0 .75rem;font-size:1.45rem;letter-spacing:-.02em;text-wrap:balance}.prose p{max-width:65ch}.related{padding:0 0 2.5rem;border-top:1px solid var(--line)}.related h2{margin:1.25rem 0 .75rem;font-size:1.15rem;letter-spacing:-.02em}.related ul{display:grid;gap:.75rem;margin:0;padding:0;list-style:none}.related a{font-weight:650}.related p{margin:.2rem 0 0;max-width:48ch;color:var(--muted);font-size:.92rem}
