:root{--bg:#f7f5ef;--surface:#ffffff;--ink:#1c2321;--muted:#5b6662;--line:#dcd8cc;--green:#0b6e4f;--green-tint:#e3f1ea;--amber:#a15c00;--amber-tint:#fbefdc;--red:#b3261e;--red-tint:#fbe4e2;--accent:#c8102e;--radius:10px;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#121615;--surface:#1b211f;--ink:#ecefe9;--muted:#a3ada8;--line:#2e3633;--green:#5fd3a3;--green-tint:#15302a;--amber:#f2b45a;--amber-tint:#33270f;--red:#ff8a80;--red-tint:#3a1a18;--accent:#ff6b7f;color-scheme:dark}}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}a{color:inherit}main{max-width:960px;margin:0 auto;padding:16px}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--surface)}.brand{font-weight:700;letter-spacing:.02em;text-decoration:none}.brand span{color:var(--accent)}.nav{display:flex;gap:16px;font-size:.95rem}h1{font-size:1.5rem;margin:16px 0 4px}.lead{color:var(--muted);margin:0 0 16px}input[type=search],input[type=text]{width:100%;padding:12px 14px;font-size:1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink)}button{padding:12px 18px;font-size:1rem;border-radius:var(--radius);border:0;background:var(--ink);color:var(--bg);cursor:pointer}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:12px;gap:12px;margin-top:16px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.card h3{margin:0 0 4px;font-size:1rem}.meta{color:var(--muted);font-size:.85rem}.price{font-weight:700;margin-top:8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tag{display:inline-block;font-size:.75rem;padding:2px 8px;border-radius:99px;background:var(--amber-tint);color:var(--amber);margin-top:6px}.result{border-radius:var(--radius);padding:16px;margin-top:16px;border:1px solid var(--line);background:var(--surface)}.result.ok{border-color:var(--green);background:var(--green-tint)}.result.warn{border-color:var(--amber);background:var(--amber-tint)}.result.bad{border-color:var(--red);background:var(--red-tint)}.result h2{margin:0 0 8px;font-size:1.25rem}.banner{font-weight:700;color:var(--amber);margin-bottom:8px}dl{display:grid;grid-template-columns:max-content 1fr;grid-gap:4px 16px;gap:4px 16px;margin:0}dt{color:var(--muted)}dd{margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;word-break:break-all}.row{display:flex;gap:8px}.buy{margin-top:10px}.buy .row{flex-wrap:wrap}.button.secondary,button.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}button.link{background:none;color:var(--muted);padding:4px 6px;text-decoration:underline}button:disabled{opacity:.6;cursor:default}.button{display:inline-block;padding:12px 18px;border-radius:var(--radius);background:var(--ink);color:var(--bg);text-decoration:none}.lines{list-style:none;padding:0;margin:16px 0;display:grid;grid-gap:8px;gap:8px}.line{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.line,.qty{align-items:center}.qty button{padding:6px 12px}.checkout{display:grid;grid-gap:14px;gap:14px;max-width:520px}.checkout label{display:grid;grid-gap:6px;gap:6px;font-size:.95rem}.checkout input:not([type]),.checkout input[type=email],.checkout input[type=password],.checkout input[type=tel]{width:100%;padding:12px 14px;font-size:1rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink)}fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px;display:grid;grid-gap:8px;gap:8px}.choice{display:flex!important;grid-auto-flow:column;align-items:center;gap:8px!important}.totals{margin:0}.tabs{flex-wrap:wrap}.stamp{display:grid;grid-gap:6px;gap:6px;justify-items:start}.stamp img{background:#fff;padding:6px;border-radius:6px}.serial{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;word-break:break-all}