:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--surface:#f4f3ec;--border:#e5e4e7;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--good:#2e7d32;--danger:#c62828;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font:16px/1.45 var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#9ca3af;--text-h:#f3f4f6;--bg:#101114;--surface:#1a1b20;--border:#2e303a;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--good:#4caf50;--danger:#ef5350}}*{box-sizing:border-box}html,body{margin:0;overflow-x:hidden}#root{flex-direction:column;width:100%;max-width:720px;min-height:100svh;margin:0 auto;display:flex}h1,h2{font-family:var(--sans);color:var(--text-h);margin:0 0 8px;font-weight:600}h1{font-size:24px;line-height:1.25}h2{margin-top:20px;font-size:18px;line-height:1.25}p{margin:0 0 8px}button,input,select{font:inherit;min-height:44px;font-size:16px}button{border:1px solid var(--border);background:var(--surface);color:var(--text-h);cursor:pointer;border-radius:8px;padding:0 16px}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.button-primary{background:var(--accent-bg);border-color:var(--accent-border);color:var(--text-h);font-weight:600}input[type=text],input[type=number],input[type=file],select{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;padding:8px 12px}code{font-family:var(--mono);background:var(--surface);border-radius:4px;padding:2px 6px;font-size:14px}.view{width:100%;padding:16px}.button-row{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.button-row>button{width:100%}@media (width>=480px){.button-row{flex-flow:wrap}.button-row>button{width:auto}}.compare-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=640px){.compare-grid{grid-template-columns:1fr 1fr}}.field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.field>input,.field>select{width:100%}.badge-good{color:var(--good);font-weight:600}.list-plain{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px}
