:root{color-scheme:light;--bg:#fafaf7;--fg:#1b1b18;--muted:#6b6b63;--line:#dcdcd2;--accent:#1f5f4a;--card:#fff;--err:#b3261e}:root[data-theme=dark]{color-scheme:dark;--bg:#141412;--fg:#ecece6;--muted:#9a9a90;--line:#33332f;--accent:#5fc3a0;--card:#1d1d1a;--err:#f2b8b5}@media (prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--bg:#141412;--fg:#ecece6;--muted:#9a9a90;--line:#33332f;--accent:#5fc3a0;--card:#1d1d1a;--err:#f2b8b5}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,sans-serif}.wrap{max-width:640px;margin:0 auto;padding:24px 16px 64px;display:grid;grid-gap:16px;gap:16px}h1{font-size:1.5rem}h1,h2{margin:0}h2{font-size:1.15rem}.muted{color:var(--muted);margin:0}.small{font-size:.85rem}.err{color:var(--err)}.row{display:flex;gap:8px}.between{justify-content:space-between;align-items:flex-end}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;grid-gap:14px;gap:14px}input{font:inherit;color:inherit;background:transparent;border:1px solid var(--line);border-radius:8px;padding:10px 12px;min-width:0}.row input{flex:1 1}.qty{width:80px;display:block;margin-top:4px}button{font:inherit;color:inherit;background:transparent;border:1px solid var(--line);border-radius:8px;padding:10px 14px;cursor:pointer;min-height:44px}button:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}button.primary{background:var(--accent);color:var(--bg);border-color:var(--accent);text-decoration:none}fieldset{border:0;padding:0;margin:0}legend{font-weight:600;margin-bottom:6px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip.on,.toggle button.on{border-color:var(--accent);outline:2px solid var(--accent)}.toggle{display:flex;gap:4px}.price{font-size:1.6rem;min-height:3.2rem}.price .small{font-size:.85rem}pre{margin:0;overflow:auto;font-size:.8rem;max-height:360px}table{width:100%;border-collapse:collapse}td{padding:6px 0;border-bottom:1px solid var(--line)}td:last-child{text-align:right}label{font-weight:600}.gallery{display:flex;gap:8px;overflow-x:auto}.gallery img{height:120px;flex:none}.gallery img,.hero{width:auto;border-radius:8px;border:1px solid var(--line)}.hero{max-height:180px;max-width:100%;justify-self:start}.chip{display:inline-flex;align-items:center;gap:6px}.chip img{width:28px;height:28px;object-fit:cover;border-radius:4px}