:root{--paper: #f5f0e8;--card: #fcfaf5;--sunken: #ece7de;--ink: #221d19;--ink-muted: #625b54;--ink-faint: #8c857d;--line: #d6d0c8;--line-strong: #c4bcb3;--brand: #d97706;--brand-contrast: #2f1203;--brand-soft: #fbf3df;--brand-ink: #6b3815;--brand-link: #9f4400;--ok: #38724a;--ok-contrast: #fcfaf5;--ok-soft: #d7eddb;--warn: #b37d38;--warn-contrast: #221d19;--warn-soft: #f7e8c8;--danger: #b23a31;--danger-contrast: #fcfaf5;--danger-soft: #ffdfd8;--ink-inverse: #29211a;--paper-inverse: #ebe7df;--focus-ring: #d97706;--background: var(--paper);--foreground: var(--ink);--surface: var(--card);--border: var(--line);--input: var(--line-strong);--ring: var(--focus-ring);--muted: var(--ink-muted);--accent: var(--brand);--primary: var(--brand);--primary-foreground: var(--brand-contrast);--success: var(--ok);--warning: var(--warn);--destructive: var(--danger);--urgent: var(--danger);--error: var(--danger);--font-sans: -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Noto Sans JP", "Segoe UI", system-ui, sans-serif;--font-display: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", serif;--font-num: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--text-xs: 12px;--text-sm: 14px;--text-base: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--text-4xl: 38px;--leading-tight: 1.25;--leading-normal: 1.6;--leading-relaxed: 1.8;--weight-normal: 400;--weight-medium: 500;--weight-bold: 700;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--space-32: 128px;--space-px: 1px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 10px;--radius-full: 9999px;--shadow-1: 0 1px 2px rgb(33 28 21 / 6%);--shadow-2: 0 4px 16px rgb(33 28 21 / 10%);--container: 1200px;--container-narrow: 720px;--bp-sm: 640px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px;--z-nav: 100;--z-overlay: 800;--z-modal: 900;--z-toast: 1000;--dur-1: .12s;--dur-2: .2s;--ease: cubic-bezier(.25, .1, .25, 1)}[data-theme=dark]{--paper: #0a0a0a;--card: #171717;--sunken: #121212;--ink: #fafafa;--ink-muted: #a4a4a4;--ink-faint: #717171;--line: #2e2e2e;--line-strong: #484848;--brand: #f69432;--brand-contrast: #0a0a0a}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-sans);color:var(--ink);background:var(--paper);line-height:1.9;-webkit-font-smoothing:antialiased}.wrap{max-width:var(--container-narrow);margin:0 auto;padding:0 20px}.site-header{border-bottom:1px solid var(--line)}.site-header .wrap{display:flex;align-items:baseline;justify-content:space-between;padding-top:14px;padding-bottom:14px}.brand{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:700;font-size:1.05rem;letter-spacing:.02em}.brand-mark{width:var(--space-6);height:var(--space-6);display:block}.brand-by{color:var(--muted);font-size:.8rem}.hero{padding:48px 0 8px;text-align:center}.eyebrow{margin:0 0 8px;color:var(--muted);font-size:.78rem;font-weight:700;letter-spacing:.12em}.hero h1{font-size:clamp(1.6rem,4.5vw,2.3rem);line-height:1.5;margin:0 0 12px;letter-spacing:.01em}.hero .lede{color:var(--muted);margin:0 auto;max-width:40em}.tool-section{padding:24px 0 8px}.tool-card{border:1px solid var(--line);border-radius:14px;padding:24px;background:var(--paper)}.dropzone{border:2px dashed var(--line-strong);border-radius:12px;padding:var(--space-12) var(--space-6);text-align:center;cursor:pointer;transition:background .15s,border-color .15s}.dropzone:hover,.dropzone.dragging{background:var(--soft);border-color:var(--ink)}.dropzone-main{font-size:1.15rem;font-weight:700;margin:0 0 10px}.dropzone-sub{color:var(--muted);font-size:.85rem;margin:0 auto;max-width:34em}.unsupported{color:var(--error);margin:0;text-align:center}.panel{display:flex;flex-direction:column;gap:18px}.file-info{display:flex;flex-direction:column;gap:2px;border-bottom:1px solid var(--line);padding-bottom:14px}.image-summary{display:grid;grid-template-columns:var(--space-24) 1fr;gap:18px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px}.image-summary img,.result-preview{display:block;width:100%;max-height:var(--space-32);object-fit:contain;border-radius:var(--radius-lg);background:var(--sunken)}.image-summary .file-info{border:0;padding:0}.file-name{font-weight:700;word-break:break-all}.file-meta{color:var(--muted);font-size:.85rem}fieldset{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}fieldset:disabled{opacity:.55}.presets{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.preset{border:1px solid var(--line);border-radius:10px;padding:12px 14px;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:border-color .15s,background .15s}.preset input{position:absolute;opacity:0;pointer-events:none}.preset.selected{border-color:var(--ink);background:var(--soft);box-shadow:inset 0 0 0 1px var(--ink)}.preset-label{font-weight:700}.preset-note{color:var(--muted);font-size:.78rem;line-height:1.6}.options{display:flex;flex-direction:column;gap:6px}.select-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.select-row label{display:flex;flex-direction:column;gap:var(--space-1);color:var(--muted);font-size:.82rem;font-weight:700}.select-row select{width:100%;border:1px solid var(--line);border-radius:var(--radius-lg);padding:10px 12px;color:var(--ink);background:var(--paper);font:inherit}.check{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:.92rem}.check input{width:16px;height:16px;accent-color:var(--ink)}.estimate{margin:0;font-size:.92rem}.estimate-warn,.warn{color:var(--warn);font-size:.85rem}.warn{margin:0}.error{color:var(--error);margin:14px 0 0;font-size:.9rem}.actions{display:flex;align-items:center;gap:14px}.primary{appearance:none;display:inline-flex;align-items:center;justify-content:center;background:var(--ink);color:var(--paper);border:0;border-radius:var(--radius-lg);padding:var(--space-3) var(--space-8);font-size:1rem;font-weight:700;font-family:var(--font-sans);cursor:pointer;text-decoration:none;transition:opacity .15s}.primary:hover{opacity:.82}.ghost{appearance:none;background:none;border:0;padding:8px 4px;font-size:.9rem;font-family:var(--font-sans);color:var(--muted);text-decoration:underline;cursor:pointer}.ghost:hover{color:var(--ink)}.result-headline{font-weight:700;font-size:1.1rem;margin:0}.result-preview{max-height:calc(var(--space-32) * 3)}.result-sizes{display:flex;align-items:baseline;gap:10px;margin:0;font-size:1.05rem;flex-wrap:wrap}.result-sizes strong{font-size:1.5rem}.result-sizes .arrow{color:var(--muted)}.reduction{color:var(--warn);font-weight:700}section.static{padding:var(--text-4xl) 0 var(--space-1)}section.static h2{font-size:1.25rem;border-bottom:1px solid var(--line);padding-bottom:10px;margin:0 0 18px}.features{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.feature h3{font-size:1rem;margin:0 0 6px}.feature p{color:var(--muted);font-size:.88rem;margin:0}.steps{margin:0;padding-left:1.4em}.steps li{margin-bottom:8px}.prose p{margin:0 0 14px}.faq details{border-bottom:1px solid var(--line);padding:4px 0}.faq summary{cursor:pointer;font-weight:700;padding:10px 0;list-style-position:inside}.faq details p{margin:0 0 14px;color:var(--ink-muted);font-size:.94rem}.legal p,.about p{font-size:.9rem;color:var(--ink-muted);margin:0 0 12px}.related-tool{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-3);align-items:center;padding:var(--space-4) var(--text-lg);border:var(--space-px) solid var(--line);border-radius:var(--radius-lg);color:var(--ink);text-decoration:none;transition:border-color .15s,background .15s}.related-tool:hover{border-color:var(--ink);background:var(--sunken)}.related-mark{font-size:1.6rem;line-height:1}.related-tool strong,.related-tool small{display:block}.related-tool small{margin-top:var(--space-1);color:var(--ink-muted);font-size:.82rem}.related-arrow{color:var(--ink-muted);font-size:1.25rem}.site-footer{border-top:1px solid var(--line);margin-top:48px}.site-footer .wrap{padding-top:var(--space-5);padding-bottom:var(--space-8);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.82rem}.site-footer a{color:var(--muted)}@media(max-width:640px){.presets,.features{grid-template-columns:1fr}.hero{padding-top:32px}.dropzone{padding:40px 16px}}
