:root{--bg:#ffffff;--fg:#1a1a1a;--muted:#5a5a5a;--line:#e2e2e2;--accent:#0b5cad;--accent-fg:#ffffff;--box:#f5f7fa;--max:46rem}@media(prefers-color-scheme:dark){:root{--bg:#111417;--fg:#e8e8e8;--muted:#a0a0a0;--line:#2a2f35;--accent:#6fb1ff;--accent-fg:#0b1420;--box:#191d22}}*{box-sizing:border-box}html{font-size:17px}body{margin:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,segoe ui,Roboto,Helvetica,Arial,sans-serif;line-height:1.55}a{color:var(--accent)}main,.site-header,.site-footer{max-width:var(--max);margin:0 auto;padding:0 1rem}.site-header{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;align-items:baseline;padding:1rem;border-bottom:1px solid var(--line)}.brand{font-weight:700;text-decoration:none;color:var(--fg);margin-right:auto}.site-header nav a{text-decoration:none;color:var(--muted)}.site-header nav a[aria-current=page]{color:var(--fg);font-weight:600}main{padding:1.5rem 1rem 3rem}h1{font-size:1.7rem;line-height:1.2;margin:.5rem 0 1rem}h2{font-size:1.25rem;margin-top:2rem}h3{font-size:1.05rem;margin-top:1.5rem}.lede{font-size:1.1rem;color:var(--muted);margin-top:-.5rem}table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.95rem}th,td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--line);vertical-align:top}th{font-weight:600}code,pre{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.92em}pre{background:var(--box);padding:.75rem 1rem;overflow-x:auto;border-radius:4px}.price-box{display:flex;flex-wrap:wrap;gap:.75rem 2rem;background:var(--box);border:1px solid var(--line);border-radius:6px;padding:.9rem 1.1rem;margin:1rem 0 1.5rem}.price-box .label{display:block;font-size:.8rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.price-box .value{font-weight:600}.cta{margin-top:2.5rem;padding:1.1rem 1.25rem;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:4px;background:var(--box)}.cta p{margin:.4rem 0}.button{display:inline-block;background:var(--accent);color:var(--accent-fg);padding:.55rem 1rem;border-radius:4px;text-decoration:none;font-weight:600}.cards,.notes{list-style:none;padding:0;margin:1rem 0}.cards li,.notes li{padding:1rem 0;border-bottom:1px solid var(--line)}.cards li p,.notes li p{margin:.3rem 0 0}.meta{color:var(--muted);font-size:.9rem}.hero h1{font-size:1.9rem}.three-ways{display:grid;gap:1.25rem;grid-template-columns:1fr;margin:2rem 0}@media(min-width:40rem){.three-ways{grid-template-columns:repeat(2,1fr)}}.three-ways div{border:1px solid var(--line);border-radius:6px;padding:1rem 1.1rem}.three-ways h2{margin-top:0;font-size:1.1rem}.three-ways h2 a{text-decoration:none}.status{margin-top:1.5rem}.site-footer{border-top:1px solid var(--line);padding:1.25rem 1rem 2rem;color:var(--muted);font-size:.9rem}.callout{border-left:4px solid var(--accent);background:var(--box);padding:.75rem 1rem;margin:1rem 0;border-radius:4px}.verify{background:#fff3cd;color:#5a4300;padding:0 .3em;border-radius:3px;font-size:.9em}@media(prefers-color-scheme:dark){.verify{background:#4a3a00;color:#ffe08a}}.fig{margin:1.75rem 0;padding:0}.fig-svg{width:100%;height:auto;display:block}.fig figcaption{color:var(--muted);font-size:.9rem;margin-top:.5rem}.fig-band{fill:var(--box);stroke:var(--muted);stroke-width:1.25}.fig-trip{fill:#c2410c;opacity:.35}.fig-cut{stroke:#c2410c;stroke-width:2}.fig-ok{fill:var(--accent)}.fig-bad{fill:#c2410c}.fig-axis{stroke:var(--muted);stroke-width:1.25}.fig-lead{stroke:var(--muted);stroke-width:1;opacity:.55}.fig-lbl{fill:var(--muted);font-size:13px;font-family:inherit}.fig-tick{fill:var(--muted);font-size:12px;font-family:inherit}.fig-note{fill:var(--fg);font-size:14px;font-weight:600;font-family:inherit}.fig-sub{fill:var(--muted);font-size:12px;font-family:inherit}.fig-warn{fill:#c2410c}@media(prefers-color-scheme:dark){.fig-band{fill:#1e242b;stroke:#55606c}.fig-trip{fill:#f97316;opacity:.3}.fig-cut,.fig-bad,.fig-warn{stroke:#fb923c;fill:#fb923c}.fig-warn{fill:#fb923c}}.fig-box{fill:var(--box);stroke:var(--muted);stroke-width:1.25}.fig-wire{stroke:var(--fg);stroke-width:2;fill:none}.fig-stub{stroke-dasharray:4 3;opacity:.8}.fig-gnd{stroke:var(--muted);stroke-width:1.5;stroke-dasharray:6 4}.fig-rule{stroke:var(--line);stroke-width:1}.fig-dot{fill:var(--fg)}.fig-cell{fill:var(--box);stroke:var(--muted);stroke-width:1}.fig-cell-work{fill:var(--muted);fill-opacity:.3}.fig-cell-on{fill:var(--accent);stroke:var(--accent)}.fig-on{fill:var(--accent-fg);font-size:12px;font-weight:600}.fig-hint{display:none;font-size:.85rem;color:var(--muted);margin:.4rem 0 0}@media(max-width:640px){.fig-scroll{overflow-x:auto;overscroll-behavior-x:contain}.fig-scroll .fig-svg{min-width:700px}.fig-hint{display:block}}.fig-own{fill:var(--box);stroke:var(--accent);stroke-width:1.5}.fig-ghost{fill:none;stroke:var(--muted);stroke-width:1.25;stroke-dasharray:5 4}.fig-zone{fill:var(--muted);opacity:.15}@media(max-width:640px){table:has(th:nth-child(4)){display:block;overflow-x:auto}table:has(th:nth-child(4)) th,table:has(th:nth-child(4)) td{min-width:10rem}}.skip{position:absolute;left:-9999px;top:0;z-index:10;background:var(--accent);color:var(--accent-fg);padding:.6rem 1rem;border-radius:0 0 4px 0;text-decoration:none;font-weight:600}.skip:focus{left:0}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:2px}main:focus{outline:none}@media print{:root{--bg:#fff;--fg:#000;--muted:#333;--line:#bbb;--accent:#000;--accent-fg:#fff;--box:#fff}body{font-size:11pt}main,.site-header,.site-footer{max-width:none}.site-header nav,.skip,.fig-hint{display:none}.fig-scroll{overflow:visible}.fig-scroll .fig-svg{min-width:0}.button{background:0 0;color:#000;border:1px solid #000;padding:.1rem .35rem;text-decoration:none}.price-box,.callout,.cta{border:1px solid #bbb;background:0 0}main a[href^="/"]::after{content:" (artvi.com.au" attr(href)")";font-size:.8em;color:#444}main a[href^=http]::after{content:" (" attr(href)")";font-size:.8em;color:#444}.fig,table,pre,.price-box,.callout,.cta{break-inside:avoid}h1,h2,h3{break-after:avoid}.site-footer{border-top:1px solid #bbb;font-size:9pt}}.fig-gate{fill:var(--bg);stroke:var(--fg);stroke-width:1.5}