@font-face{font-family:Chivo;src:url(/fonts/chivo.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:IBM Plex Sans;src:url(/fonts/ibm-plex-sans.woff2) format("woff2");font-weight:100 700;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono.woff2) format("woff2");font-weight:100 800;font-style:normal;font-display:swap}:root{color-scheme:dark;--max-width: 64rem;--wide: 76rem;--bg: #0a0b0e;--surface: #14151a;--surface-2: #1f2228;--line: #282b34;--ink: #f8f9fa;--muted: #9aa3ad;--accent: #ff4400;--accent-ink: #ffffff;--sans: "IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--display: "Chivo", "IBM Plex Sans", system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.6;-webkit-font-smoothing:antialiased}.page{max-width:var(--max-width);margin:0 auto;padding:2rem 1.25rem 4rem}.auth-tabs{display:flex;gap:.25rem;margin-bottom:1rem}.auth-tabs button{flex:1;padding:.5rem;border:1px solid currentColor;background:transparent;cursor:pointer;border-radius:.375rem;opacity:.6}.auth-tabs button[aria-selected=true]{opacity:1;font-weight:600}.auth-form{display:flex;flex-direction:column;gap:.75rem;max-width:22rem}.field{display:flex;flex-direction:column;gap:.25rem}.field input{padding:.5rem;font:inherit;border:1px solid currentColor;border-radius:.375rem}.auth-form button[type=submit]{padding:.6rem;font:inherit;font-weight:600;cursor:pointer;border-radius:.375rem}.auth-status{margin:0;min-height:1.5rem}.auth-status.is-error{color:#b00020}.builder-title{margin-bottom:.5rem}.readiness-banner{padding:.6rem .75rem;border-radius:.375rem;border:1px solid currentColor;margin-bottom:1rem;font-weight:600;min-height:1.5rem}.readiness-banner.is-ready{color:#1b6e2a;border-color:#1b6e2a}.readiness-banner.is-incomplete{color:#8a5a00;border-color:#8a5a00}.restore-banner{padding:.6rem .75rem;border-radius:.375rem;border:1px dashed currentColor;margin-bottom:1rem}.type-picker{border:1px solid currentColor;border-radius:.375rem;padding:.75rem 1rem;margin:0 0 1.5rem;display:flex;flex-direction:column;gap:.35rem}.type-picker legend{font-weight:600;padding:0 .25rem}.type-option{display:flex;align-items:center;gap:.5rem;cursor:pointer}.form-section{border:1px solid currentColor;border-radius:.375rem;margin-bottom:.75rem}.form-section>summary{cursor:pointer;padding:.75rem 1rem;font-weight:600;list-style-position:inside}.form-section>summary:focus-visible{outline:2px solid currentColor;outline-offset:2px}.section-badge{font-size:.8rem;font-weight:600;padding:.1rem .5rem;border-radius:1rem;border:1px solid #8a5a00;color:#8a5a00;margin-left:.5rem;vertical-align:middle}.section-body{padding:0 1rem 1rem;display:flex;flex-direction:column;gap:.75rem}.form-field{display:flex;flex-direction:column;gap:.25rem}.form-field label{font-weight:600}.form-required{font-weight:400;font-size:.85rem;opacity:.8}.form-input{padding:.5rem;font:inherit;border:1px solid currentColor;border-radius:.375rem;background:transparent;color:inherit}textarea.form-input{min-height:6rem;resize:vertical}.form-help{margin:0;font-size:.9rem;opacity:.8}.field-status{margin:0;min-height:1.25rem;font-size:.85rem;opacity:.9}.form-error{color:#b00020;font-weight:600}.panel-heading{margin:.5rem 0 .25rem;font-size:1rem}.panel-list{margin:0;padding-left:1.25rem}.panel-warning{margin:.5rem 0 0;color:#8a5a00;font-weight:600}.regulations-panel{display:flex;flex-direction:column;gap:.25rem}.table-editor{display:flex;flex-direction:column;gap:.5rem;border:1px dashed currentColor;border-radius:.375rem;padding:.75rem}.attached-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.35rem}.attached-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.empty-row{opacity:.7}.add-row{display:flex;gap:.5rem;flex-wrap:wrap}.add-row select{flex:1;min-width:12rem}.create-form{display:flex;flex-direction:column;gap:.5rem;border-top:1px solid currentColor;padding-top:.5rem}.btn-secondary,.btn-tertiary{padding:.4rem .75rem;font:inherit;cursor:pointer;border-radius:.375rem;border:1px solid currentColor;background:transparent;color:inherit}.btn-secondary{font-weight:600}.btn-tertiary{border-style:dashed}.products-panel{margin-top:1.5rem;display:flex;flex-direction:column;gap:.75rem}.new-product-form{display:flex;flex-direction:column;gap:.35rem;max-width:26rem}.new-product-form input{padding:.5rem;font:inherit;border:1px solid currentColor;border-radius:.375rem;background:transparent;color:inherit}.new-product-form button{padding:.5rem .75rem;font:inherit;font-weight:600;cursor:pointer;border-radius:.375rem;align-self:flex-start}.product-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.product-row{display:flex;justify-content:space-between;gap:.75rem;align-items:baseline;border:1px solid currentColor;border-radius:.375rem;padding:.6rem .75rem}.product-meta{font-size:.85rem;opacity:.8}.photo-strip,.evidence-list{display:flex;flex-direction:column;gap:.5rem;border:1px dashed currentColor;border-radius:.375rem;padding:.75rem}.photo-list{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:.75rem}.photo-item{display:flex;flex-direction:column;gap:.25rem;max-width:8rem}.photo-thumb{width:8rem;height:8rem;object-fit:cover;border-radius:.375rem;border:1px solid currentColor;background:#7f7f7f26}.photo-caption{font-size:.8rem;opacity:.8}.evidence-form label{display:flex;flex-direction:column;gap:.25rem;font-weight:600;font-size:.9rem}.attached-row{flex-direction:column;align-items:stretch}.attached-main{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.issue-panel{border:1px solid currentColor;border-radius:.375rem;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.issue-success{color:#1b6e2a}.document-card{border:1px solid currentColor;border-radius:.375rem;padding:.75rem 1rem;margin-bottom:1rem}.site-nav{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding:.5rem .75rem;border:1px solid currentColor;border-radius:.375rem;margin-bottom:1.25rem}body>.site-nav{max-width:var(--max-width);margin:1rem auto 0}.site-nav-brand{font-weight:700;margin-right:.25rem}.site-nav a{color:inherit;text-decoration:none;padding:.2rem .4rem;border-radius:.25rem;opacity:.85}.site-nav a:hover{text-decoration:underline}.site-nav a[aria-current=page]{font-weight:700;opacity:1;text-decoration:underline}.test-checklist{display:flex;flex-direction:column;gap:.75rem}.panel-note{margin:.5rem 0 0;font-weight:600}.age-block{border:1px solid rgba(128,128,128,.35);border-radius:.5rem;padding:.75rem}.age-row{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.age-label{opacity:.8}.suggested-warning{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.test-card{border:1px solid rgba(128,128,128,.35);border-radius:.5rem;padding:.75rem}.test-card-head{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.test-name{font-weight:600}.bracket-tag{font-size:.75rem;border:1px solid rgba(128,128,128,.5);border-radius:999px;padding:0 .5rem;opacity:.8}.test-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}.test-controls .form-input{width:auto;flex:1 1 8rem}.test-notes{width:100%;min-height:2.5rem}.test-evidence{margin-top:.5rem;border-top:1px dashed rgba(128,128,128,.35);padding-top:.5rem}.reg-link{color:inherit;text-decoration:underline;text-underline-offset:2px;cursor:help}.reg-link:hover{text-decoration-thickness:2px}.reg-link:after{content:" ↗";opacity:.6;font-size:.85em}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;padding:2rem 1rem;overflow-y:auto;z-index:1000}.modal-panel{background:Canvas;color:CanvasText;border:1px solid rgba(128,128,128,.4);border-radius:.6rem;width:100%;max-width:32rem;box-shadow:0 10px 40px #0000004d}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid rgba(128,128,128,.3)}.modal-title{margin:0;font-size:1.1rem;text-transform:capitalize}.modal-close{border:none;background:transparent;font-size:1.5rem;line-height:1;cursor:pointer;color:inherit;padding:0 .25rem}.modal-body{padding:1rem}.modal-actions{display:flex;gap:.5rem;margin-top:.5rem}.lib-section{margin:1.5rem 0;border-top:1px solid rgba(128,128,128,.3);padding-top:1rem}.lib-section-head{display:flex;align-items:center;justify-content:space-between;gap:1rem}.lib-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.lib-item{border:1px solid rgba(128,128,128,.3);border-radius:.5rem;padding:.6rem .75rem}.lib-item-main{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.lib-item-main>span:first-child{flex:1 1 auto;font-weight:600}.lib-certs{margin-top:.5rem;border-top:1px dashed rgba(128,128,128,.3);padding-top:.5rem}.filament-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.filament-card{border:1px solid rgba(128,128,128,.35);border-radius:.5rem;padding:.75rem}.filament-head{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.filament-title{font-weight:600;font-size:1.05rem}.offer-list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.offer-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.offer-best{font-weight:700}.offer-best:after{content:" — best price";font-weight:400;opacity:.7;font-size:.85em}.offer-buy{text-decoration:none;padding:.15rem .9rem;border:1px solid rgba(128,128,128,.5);border-radius:.4rem}.filament-actions{margin-top:.6rem;border-top:1px dashed rgba(128,128,128,.3);padding-top:.5rem}.colour-swatch{display:inline-block;width:1rem;height:1rem;border-radius:50%;border:1px solid rgba(128,128,128,.5);flex-shrink:0}.site-footer{margin-top:2rem;padding-top:.75rem;border-top:1px solid rgba(128,128,128,.3);font-size:.85rem;opacity:.8}.site-footer a{color:inherit}.cert-status{display:block;width:100%;font-size:.85rem;margin-top:.15rem}.cert-status.is-error{color:#b00020;font-weight:600}.cert-status.is-ok{opacity:.75}select.form-input,select.form-input option{background-color:Canvas;color:CanvasText}.form-field.is-missing{border-left:3px solid #b00020;padding-left:.5rem}.form-field.is-missing>label{color:#b00020}.auth-forgot{align-self:flex-start;padding-left:0;font-size:.9rem}.btn-danger{color:#b00020;border-color:#b00020}.expiry-panel{margin-top:1.5rem;display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1rem;border:1px solid color-mix(in srgb,#b8860b 60%,transparent);border-radius:.5rem;background:color-mix(in srgb,#b8860b 8%,transparent)}.expiry-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.4rem}.expiry-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.4rem .5rem;border-radius:.375rem;border-left:3px solid currentColor}.expiry-row.expiry-expired{color:#b00020}.expiry-row.expiry-soon{color:#a35b00}.expiry-row.expiry-upcoming{color:inherit;border-left-color:color-mix(in srgb,currentColor 30%,transparent)}.expiry-badge{font-weight:600;font-size:.85rem;white-space:nowrap}.expiry-text{flex:1 1 16rem;color:CanvasText}.expiry-row .btn-tertiary{margin-left:auto}.add-with-watch{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.post-tabs{display:flex;gap:.5rem;margin:1rem 0;flex-wrap:wrap}.post-tab{font:inherit;padding:.35rem .9rem;border:1px solid currentColor;border-radius:999px;background:transparent;color:inherit;cursor:pointer;opacity:.7}.post-tab[aria-current=true]{opacity:1;font-weight:600}.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:1.25rem}.post-card{display:flex;flex-direction:column;border:1px solid color-mix(in srgb,currentColor 20%,transparent);border-radius:.6rem;overflow:hidden;text-decoration:none;color:inherit;transition:border-color .15s}.post-card:hover,.post-card:focus-visible{border-color:currentColor}.post-card-cover{width:100%;aspect-ratio:16 / 9;object-fit:cover;display:block}.post-card-cover--blank{background:color-mix(in srgb,currentColor 8%,transparent)}.post-card-body{padding:.85rem 1rem 1.1rem;display:flex;flex-direction:column;gap:.35rem}.post-card-meta{display:flex;align-items:center;gap:.6rem;font-size:.8rem}.post-kind{text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:700;padding:.15rem .5rem;border-radius:.3rem;background:color-mix(in srgb,currentColor 12%,transparent)}.post-kind--draft,.post-date{opacity:.7}.post-card-title{font-size:1.05rem;margin:0;line-height:1.25}.post-card-excerpt{margin:0;font-size:.9rem;opacity:.85}.post-back{display:inline-block;margin:.5rem 0 1rem}.post-article{max-width:44rem}.post-title{margin:.4rem 0 .5rem;line-height:1.15}.post-lede{font-size:1.15rem;opacity:.85;margin:0 0 1rem}.post-cover{width:100%;border-radius:.6rem;margin:.5rem 0 1.5rem;display:block}.post-draft-banner{background:#b5852a;color:#fff;padding:.4rem .75rem;border-radius:.375rem;font-weight:600;font-size:.9rem}.post-body{line-height:1.7}.post-body>*{margin:0 0 1rem}.post-body h2{margin:1.8rem 0 .6rem;line-height:1.2}.post-body h3{margin:1.4rem 0 .5rem}.post-body img{max-width:100%;height:auto;border-radius:.4rem}.post-body figure{margin:1.5rem 0}.post-body figcaption{font-size:.85rem;opacity:.7;margin-top:.4rem;text-align:center}.post-body blockquote{margin:1.25rem 0;padding:.25rem 0 .25rem 1rem;border-left:3px solid color-mix(in srgb,currentColor 35%,transparent);opacity:.9}.post-body pre{background:color-mix(in srgb,currentColor 8%,transparent);padding:.9rem 1rem;border-radius:.4rem;overflow-x:auto}.post-body code{font-family:ui-monospace,Consolas,monospace;font-size:.9em}.post-body :not(pre)>code{background:color-mix(in srgb,currentColor 10%,transparent);padding:.1em .35em;border-radius:.25rem}.post-video{position:relative;width:100%;aspect-ratio:16 / 9;margin:1.5rem 0}.post-video iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;border-radius:.4rem}.post-editor{gap:.75rem}.post-body-input{font-family:ui-monospace,Consolas,monospace;min-height:18rem;resize:vertical}.post-preview{border:1px dashed color-mix(in srgb,currentColor 30%,transparent);border-radius:.4rem;padding:1rem;margin-top:.75rem}.post-cover-thumb{height:3rem;width:auto;border-radius:.3rem;vertical-align:middle}.btn-primary{background:#235a73;color:#fff;border:1px solid #235a73;padding:.5rem .9rem;border-radius:.375rem;font:inherit;font-weight:600;cursor:pointer}h1,h2{font-family:var(--display);font-weight:900;text-transform:uppercase;letter-spacing:-.01em;line-height:1.02;text-wrap:balance}h2{font-weight:800;font-size:1.5rem}h3{font-family:var(--display);font-weight:700;letter-spacing:.01em}.post-body h2,.post-body h3,.post-title{text-transform:none;letter-spacing:-.01em}a{color:var(--accent);text-underline-offset:2px}a:hover{text-decoration:underline}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kick,.eyebrow,.mono{font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--muted)}.site-nav{display:flex;align-items:center;gap:1.25rem;padding:.9rem .25rem;margin-bottom:1.5rem;border-bottom:1px solid var(--line);flex-wrap:wrap}.site-nav-brand{font-family:var(--display);font-weight:900;text-transform:uppercase;letter-spacing:.02em;font-size:1.1rem;color:var(--ink);text-decoration:none;margin-right:.5rem}.site-nav a:not(.site-nav-brand):not(.btn-primary){font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:var(--muted);text-decoration:none}.site-nav a:not(.site-nav-brand):hover,.site-nav a[aria-current=page]{color:var(--ink)}.site-nav-signout{margin-left:auto}.site-footer{margin-top:3rem;padding-top:1.25rem;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem}.site-footer a{color:var(--muted)}.site-footer a:hover{color:var(--ink)}button,.btn-primary,.btn-secondary,.btn-tertiary,.cta,.auth-form button[type=submit],.new-product-form button{font-family:var(--sans);border-radius:0}.btn-primary,.auth-form button[type=submit],.new-product-form button,button.cta{background:var(--accent);color:var(--accent-ink);border:1px solid var(--accent);padding:.6rem 1.1rem;font-weight:700;letter-spacing:.02em;cursor:pointer}.btn-primary:hover,.auth-form button[type=submit]:hover,button.cta:hover{background:#ff5a1f}.btn-secondary{background:transparent;color:var(--ink);border:1px solid var(--line);padding:.55rem 1rem;font-weight:600;cursor:pointer}.btn-secondary:hover{border-color:var(--ink)}.btn-tertiary{background:transparent;color:var(--muted);border:0;padding:.4rem .6rem;font-weight:600;cursor:pointer}.btn-tertiary:hover{color:var(--accent)}.btn-danger{color:#ff5a5a;border-color:#ff5a5a}.form-input,.field input,input[type=text],input[type=email],input[type=url],input[type=number],input[type=search],input[type=password],select,textarea{background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:0;padding:.55rem .65rem;font:inherit}.form-input:focus,.field input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent)}select.form-input,select.form-input option{background-color:var(--surface);color:var(--ink)}.lib-section,.products-panel,.subscribe-prompt,.manufacturer-form,.post-editor,.expiry-panel,.type-picker,.form-section,.readiness-banner,.restore-banner{background:var(--surface);border:1px solid var(--line);border-radius:0;padding:1.1rem 1.25rem}.lib-section{margin-bottom:1.25rem}.lib-item,.attached-row,.product-row,.offer-row{border-color:var(--line)!important}.section-badge,.bracket-tag{border-color:var(--accent);color:var(--accent);border-radius:0;font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em}.readiness-banner.is-ready{color:#37d67a;border-color:#37d67a}.readiness-banner.is-incomplete{color:#f2a63d;border-color:#f2a63d}.form-error,.auth-status.is-error,.is-error{color:#ff6b6b}.filament-card{background:var(--surface);border:1px solid var(--line)}.offer-best{color:var(--accent);font-weight:700}.offer-buy,.watch{color:var(--accent)}.post-card{background:var(--surface);border-color:var(--line)}.post-kind{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);font-family:var(--mono);letter-spacing:.08em}.post-tab[aria-current=true]{color:var(--accent);border-color:var(--accent)}.post-lede{color:var(--muted)}.lp{max-width:var(--wide);margin:0 auto;padding:0 1.25rem 4rem}.lp-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center;padding:3.5rem 0 4rem}.lp-hero h1{font-size:clamp(2.8rem,6.5vw,5rem);margin:1rem 0 1.25rem}.lp-hero h1 .hl{color:var(--accent);display:block}.lp-lede{color:var(--muted);font-size:1.1rem;max-width:34ch;margin:0 0 2rem}.lp-cta{display:flex;gap:.75rem;flex-wrap:wrap}.lp-stats{display:flex;gap:2.5rem;margin-top:3rem;flex-wrap:wrap}.lp-stat .n{font-family:var(--display);font-weight:900;font-size:1.8rem}.lp-stat .l{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;font-size:.68rem;color:var(--muted)}.lp-panel{background:var(--surface);border:1px solid var(--line);padding:1.25rem}.lp-panel-img{width:100%;aspect-ratio:16 / 10;object-fit:cover;display:block;margin-bottom:1rem;filter:saturate(1.05)}.lp-spec{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin-top:1rem}.lp-spec div{background:var(--surface-2);padding:.75rem .9rem}.lp-spec .k{font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.lp-spec .v{font-family:var(--mono);font-weight:600;font-size:1.1rem}.lp-features{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:1rem 0 4rem}.lp-feature{background:var(--bg);padding:1.5rem 1.25rem}.lp-feature h3{text-transform:none;margin:.6rem 0 .4rem;font-size:1.05rem}.lp-feature p{color:var(--muted);font-size:.9rem;margin:0}.lp-feature .ic{color:var(--accent);font-family:var(--mono);font-weight:700}@media(max-width:820px){.lp-hero{grid-template-columns:1fr;gap:2rem}.lp-features{grid-template-columns:1fr 1fr}}@media(max-width:520px){.lp-features{grid-template-columns:1fr}}
