:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f4f4f6;--surface:#fff;--surface-sunken:#f0f0f3;--text:#16171a;--text-muted:#5c6069;--border:#d9dae0;--border-strong:#b6b8c1;--accent:#1c4ed8;--accent-text:#fff;--accent-hover:#1740b4;--ok:#10633c;--ok-bg:#e6f5ec;--warn:#7a4a06;--warn-bg:#fdf1dc;--err:#9a1c1c;--err-bg:#fdeaea;--info:#1f4a7a;--info-bg:#e8f1fb;--radius:12px;--radius-sm:8px;--shadow:0 1px 2px #0000000f, 0 8px 24px #0000000f;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-code:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0d0e11;--surface:#17191d;--surface-sunken:#1e2126;--text:#eceef2;--text-muted:#a2a7b2;--border:#2c2f36;--border-strong:#454a54;--accent:#6f9bff;--accent-text:#0b1020;--accent-hover:#8cb0ff;--ok:#7fe0ac;--ok-bg:#10291d;--warn:#f2c37c;--warn-bg:#2c2211;--err:#ff9d9d;--err-bg:#2e1414;--info:#9fc6f5;--info-bg:#131f2c;--shadow:0 1px 2px #0006, 0 8px 24px #0000004d}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.55}.shell{min-height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;display:flex}.masthead{padding:1rem 1.25rem .25rem}.wordmark{color:var(--text-muted);letter-spacing:.02em;font-size:.9375rem;font-weight:600;text-decoration:none}.main{flex:1;width:100%;max-width:30rem;margin:0 auto;padding:1rem 1rem 2rem}.main:focus{outline:none}.main:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:var(--radius)}.footnote{color:var(--text-muted);text-align:center;padding:1rem 1.25rem 1.5rem;font-size:.8125rem}.footnote a{color:inherit}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem 1.25rem}h1{letter-spacing:-.01em;margin:0 0 .5rem;font-size:1.5rem;line-height:1.25}h2{margin:1.5rem 0 .5rem;font-size:1.0625rem}p{margin:0 0 1rem}p:last-child{margin-bottom:0}a{color:var(--accent)}.lede{color:var(--text-muted)}.muted{color:var(--text-muted);font-size:.875rem}.center-note{text-align:center;margin-top:1rem}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.field{margin:1.25rem 0}.field__label{margin-bottom:.5rem;font-size:.9375rem;font-weight:600;display:block}.field__hint{color:var(--text-muted);margin:.5rem 0 0;font-size:.8125rem}.input{background:var(--surface-sunken);border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;color:var(--text);padding:.75rem .875rem;font-family:inherit;font-size:1rem}.input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:var(--accent)}.input[aria-invalid=true]{border-color:var(--err);border-width:2px}.input--code{font-family:var(--font);font-variant-numeric:tabular-nums;letter-spacing:.14em;text-align:center;text-transform:uppercase;padding:.75rem .5rem;font-size:2rem;font-weight:600}.button{background:var(--accent);border-radius:var(--radius-sm);width:100%;min-height:3rem;color:var(--accent-text);font:inherit;cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{background:var(--accent-hover)}.button:focus-visible{outline:2px solid var(--text);outline-offset:2px}.button[disabled],.button[aria-disabled=true]{opacity:.55;cursor:default}.button--secondary{border-color:var(--border-strong);color:var(--text);background:0 0}.button--secondary:hover{background:var(--surface-sunken)}.actions{flex-direction:column;gap:.75rem;margin-top:1.25rem;display:flex}.callout{border-radius:var(--radius-sm);border:1px solid;gap:.75rem;margin:1.25rem 0;padding:.875rem 1rem;display:flex}.callout__icon{flex:none;width:1.25rem;height:1.25rem;margin-top:.15rem}.callout__body>:first-child{margin-top:0}.callout__title{margin:0 0 .25rem;font-size:1rem;font-weight:700}.callout--info{background:var(--info-bg);border-color:var(--info);color:var(--info)}.callout--ok{background:var(--ok-bg);border-color:var(--ok);color:var(--ok)}.callout--warn{background:var(--warn-bg);border-color:var(--warn);color:var(--warn)}.callout--err{background:var(--err-bg);border-color:var(--err);color:var(--err)}.callout a{color:inherit}.product{background:var(--surface-sunken);border-radius:var(--radius-sm);align-items:center;gap:1rem;margin:1.25rem 0;padding:1rem;display:flex}.product__image{object-fit:cover;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);flex:none;width:4.5rem;height:4.5rem}.product__name{margin:0;font-size:1.125rem;font-weight:700}.product__by{color:var(--text-muted);margin:0;font-size:.875rem}.product__price{font-variant-numeric:tabular-nums;margin:.25rem 0 0;font-size:1.25rem;font-weight:700}.code-chip{background:var(--surface-sunken);border:1px solid var(--border);font-family:var(--font);font-variant-numeric:tabular-nums;letter-spacing:.08em;border-radius:6px;padding:.1rem .4rem;font-weight:600;display:inline-block}.list{margin:0 0 1rem;padding-left:1.25rem}.list li{margin-bottom:.35rem}.licences{margin:1.25rem 0;padding:0;list-style:none}.licences li{border-bottom:1px solid var(--border);justify-content:space-between;gap:1rem;padding:.75rem 0;display:flex}.licences li:last-child{border-bottom:0}.loading{color:var(--text-muted);align-items:center;gap:.75rem;display:flex}.spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;flex:none;width:1.25rem;height:1.25rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}*,:before,:after{transition-duration:.01ms!important}}@media (min-width:32rem){.main{padding-top:2rem}h1{font-size:1.75rem}.input--code{font-size:2.5rem}}
