:root{--bg: #faf7f5;--surface: #ffffff;--ink: #221a1c;--ink-soft: #6b5d61;--line: #e8e0dd;--accent: #7a1f3d;--accent-ink: #ffffff;--accent-soft: #f5e6ea;--warn-bg: #fff4dc;--warn-ink: #6b4a00;--warn-line: #f0d9a6;--radius: 10px;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #161213;--surface: #1f1a1b;--ink: #f2eced;--ink-soft: #b3a6aa;--line: #342c2e;--accent: #d9829d;--accent-ink: #1b1113;--accent-soft: #3a2229;--warn-bg: #3a2f14;--warn-ink: #f3dca0;--warn-line: #5a4a20;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.45;-webkit-text-size-adjust:100%}.page{max-width:960px;margin:0 auto;padding:24px 16px 32px}.masthead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin-bottom:20px}h1{margin:0;font-size:1.75rem;letter-spacing:-.01em}.subtitle{margin:4px 0 0;color:var(--ink-soft)}.masthead-actions{display:flex;align-items:center;gap:12px}.updated{color:var(--ink-soft);font-size:.875rem}.button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:8px 14px;border-radius:999px;font:inherit;font-size:.9rem;cursor:pointer;min-height:40px}.button:hover:not(:disabled){border-color:var(--accent)}.button:disabled{opacity:.6;cursor:default}.button:focus-visible,.tab:focus-visible,.search input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.banner{background:var(--warn-bg);color:var(--warn-ink);border:1px solid var(--warn-line);border-radius:var(--radius);padding:10px 14px;margin:0 0 16px}.tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-bottom:12px}.tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:0 0 auto;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:9px 16px;border-radius:999px;font:inherit;font-weight:600;cursor:pointer;min-height:42px}.tab-active{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.tab-flag{display:inline-block;margin-left:6px;width:18px;height:18px;line-height:18px;border-radius:50%;background:var(--warn-bg);color:var(--warn-ink);font-size:.75rem;text-align:center}.search{margin-bottom:12px}.search input{width:100%;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:var(--radius);padding:11px 14px;font:inherit}.count{color:var(--ink-soft);font-size:.875rem;margin:14px 2px 8px}.notice{color:var(--ink-soft);padding:24px 4px}.state{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin:12px 0}.state h2{margin:0 0 6px;font-size:1.15rem}.state p{margin:0 0 12px}.state p:last-child{margin-bottom:0}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:4px 16px 12px}.prices{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.prices thead th{text-align:left;font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);padding:10px 8px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface)}.prices .num{text-align:right;white-space:nowrap}.prices .family th{text-align:left;padding:18px 8px 6px;font-size:.95rem;color:var(--accent);border-bottom:1px solid var(--line)}.prices .item td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}.prices tbody:last-of-type .item:last-child td{border-bottom:none}.prices .product{font-weight:500}.units{color:var(--ink-soft)}.muted{color:var(--ink-soft);font-style:italic}.source{color:var(--ink-soft);font-size:.78rem;margin:12px 2px 0}.footer{margin-top:32px;color:var(--ink-soft);font-size:.8rem;text-align:center}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(max-width:640px){h1{font-size:1.45rem}.tab{flex:1 1 0;padding:9px 8px;font-size:.9rem;white-space:nowrap}.panel{padding:4px 12px 12px}.prices thead{display:none}.prices,.prices tbody,.prices tr,.prices td,.prices th{display:block;width:100%}.prices .family th{padding:18px 0 6px}.prices .item{padding:10px 0;border-bottom:1px solid var(--line)}.prices .item td{border-bottom:none;padding:2px 0}.prices .item td.num{display:flex;justify-content:space-between;text-align:right}.prices .item td.num:before{content:attr(data-label);color:var(--ink-soft);font-size:.85rem;text-align:left}.prices .product{margin-bottom:4px}}
