/* Owed at Work — one stylesheet. Budget: 14 KB uncompressed (CONTRACT §12). Mobile first. System font stack: zero bytes of web fonts. build.mjs extracts the zone between the @critical markers and inlines it; the rest loads deferred. Do not move the markers.
Only what paints above the fold goes in the critical zone: variables, reset, typography, header, breadcrumbs, direct answer, freshness, table of contents, and the box of the illustration (.illus), which sits in view on pages with no tool: without it the figure would paint at 640px with the browser's margins and shrink when the deferred sheet arrives. Everything else (tables, ads, notices, the tool, sources, footer) is deferred. Every byte in the critical zone is copied into every page and counts against the 60 KB HTML ceiling of §12. */

/* @critical:start */
:root{
--ink:#1b1b1b;--ink-soft:#4a4a4a;--paper:#fff;--paper-alt:#f4f6f7;
--brand:#12303f;--link:#0a5478;--link-visited:#5b3a7a;--border:#ccd4d8;
--focus:#b45309;--notice-bg:#fff4e0;--notice-border:#c07a00;
--width:44rem;--radius:6px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);
font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
font-size:1.0625rem;line-height:1.65;text-wrap:pretty}
.container{width:100%;max-width:var(--width);margin:0 auto;padding:0 1rem}
main{display:block;width:100%;max-width:var(--width);margin:0 auto;padding:0 1rem 3rem}
main:focus{outline:none}
img{max-width:100%;height:auto}
h1,h2,h3{line-height:1.25;text-wrap:balance;margin:2rem 0 .75rem;font-weight:700}
h1{font-size:1.75rem;margin-top:1.5rem}
h2{font-size:1.375rem;padding-top:.5rem}
h3{font-size:1.125rem}
p,ul,ol,dl,table,blockquote{margin:0 0 1rem}
ul,ol{padding-left:1.25rem}
li{margin-bottom:.4rem}
blockquote{border-left:3px solid var(--border);padding-left:1rem;color:var(--ink-soft)}
a{color:var(--link);text-underline-offset:.15em}
a:visited{color:var(--link-visited)}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:2px}
strong{font-weight:700}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--brand);color:#fff;
padding:.75rem 1rem;z-index:20;text-decoration:underline}
.skip-link:focus{left:0}
.site-header{background:var(--brand);color:#fff}
.site-header a{color:#fff}
.header-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding-top:.5rem;padding-bottom:.5rem}
.logo{font-weight:700;font-size:1.125rem;text-decoration:none;padding:.6rem .25rem;display:inline-block;min-height:44px;line-height:1.9}
.logo-mark{color:#8fd3ef}
.logo-icon{vertical-align:middle;margin:-.2rem .5rem 0 0;border:1px solid #8fd3ef;border-radius:6px}
.site-nav ul{display:flex;flex-wrap:wrap;gap:0 1rem;list-style:none;margin:0;padding:0}
.site-nav li{margin:0}
.site-nav a{display:inline-flex;align-items:center;min-height:44px;padding:.25rem 0;font-size:.9375rem}
.breadcrumbs{background:var(--paper-alt);border-bottom:1px solid var(--border);font-size:.875rem}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.25rem .5rem;list-style:none;margin:0;padding:.5rem 0}
.breadcrumbs li{margin:0;display:flex;align-items:center;gap:.5rem}
.breadcrumbs li+li::before{content:"\203A";color:var(--ink-soft)}
.direct-answer{font-size:1.1875rem;line-height:1.6;border-left:4px solid var(--brand);
padding:.75rem 0 .75rem 1rem;margin:1rem 0 1.25rem}
.freshness{font-size:.875rem;color:var(--ink-soft);margin-bottom:1.5rem}
.toc{background:var(--paper-alt);border:1px solid var(--border);border-radius:var(--radius);
padding:.5rem 1rem 1rem;margin:1.5rem 0}
.toc-title{font-size:1rem;margin:1rem 0 .5rem;text-transform:uppercase;letter-spacing:.04em}
.toc ol{margin:0;padding-left:1.25rem;font-size:.9375rem}
.toc li{margin-bottom:.35rem}
.toc a{display:inline-block;padding:.15rem 0}
.illus{max-width:30rem;margin:1.5rem auto}
.illus img{display:block;width:100%;border:1px solid var(--border);border-radius:var(--radius)}
@media (min-width:48rem){body{font-size:1.125rem}h1{font-size:2.25rem}h2{font-size:1.625rem}h3{font-size:1.25rem}}
/* @critical:end */

/* ---- Deferred ---------------------------------------------------------- */
abbr[title]{text-decoration:underline dotted}
.tool-block{margin:2rem 0}
.tool{border:2px solid var(--brand);border-radius:var(--radius);padding:1rem;background:var(--paper)}
.tool .ad-slot{display:none!important}
.tool-disclaimer,.privacy-note{font-size:.8125rem;color:var(--ink-soft);margin:.75rem 0 0}
.jurisdiction-switch{font-size:.9375rem;background:var(--paper-alt);border-radius:var(--radius);padding:.5rem .75rem;margin:0 0 1rem}
.period-stamp{font-size:.875rem;color:var(--ink-soft);margin:0 0 1rem}
.ad-slot{min-height:280px;margin:2.5rem 0;display:block}
.ad-slot:empty{display:none}
.ad-slot::before{content:"Advertisement";display:block;font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.25rem}
.table-wrap{overflow-x:auto;margin:0 0 .5rem;scrollbar-width:thin;background:linear-gradient(90deg,var(--paper) 30%,transparent),linear-gradient(270deg,var(--paper) 30%,transparent) 100% 0,radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.18),transparent),radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.18),transparent) 100% 0;background-repeat:no-repeat;background-size:2.5rem 100%;background-attachment:local,local,scroll,scroll}
@media (min-width:62rem){.table-wrap{width:min(74rem,calc(100vw - 3rem));margin-inline:calc((100% - min(74rem,calc(100vw - 3rem)))/2)}.table-wrap>table{margin-inline:auto}}
@media print{.table-wrap{width:auto;margin-inline:0}}
table{border-collapse:collapse;width:100%;font-size:.9375rem}
caption{text-align:left;font-weight:700;padding:0 0 .5rem;line-height:1.35}
th,td{border:1px solid var(--border);padding:.45rem .6rem;text-align:left;vertical-align:top}
thead th{background:var(--paper-alt)}
tbody th[scope=row]{font-weight:600;background:#fafbfc}
tbody th[scope=rowgroup]{background:var(--paper-alt);font-weight:700}
.data-table{width:100%;font-variant-numeric:tabular-nums}
.data-table td:not(:first-child){white-space:nowrap}
@media (max-width:34rem){.data-table{font-size:.875rem}.data-table td:not(:first-child){white-space:normal}}
.table-source{font-size:.8125rem;color:var(--ink-soft);margin:0 0 1.5rem}
.derived{white-space:nowrap}
.derived-calc{font-size:.875em;color:var(--ink-soft);white-space:nowrap}
.warned-figure{display:inline}
.warning{display:inline-block;font-size:.8125em;line-height:1.35;color:#7a4400;background:var(--notice-bg);border:1px solid var(--notice-border);border-radius:3px;padding:0 .35em;margin-left:.2em}
.warning::before{content:"\26A0 "}
.notice{background:var(--notice-bg);border-left:4px solid var(--notice-border);padding:.75rem 1rem;border-radius:0 var(--radius) var(--radius) 0}
@media (max-width:640px){.ad-slot{min-height:250px}}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
.faq h3{margin-top:1.5rem}
.faq>div,.faq>p{margin-bottom:1rem}
.sources{margin-top:2.5rem}
.source-list{list-style:none;padding:0;font-size:.9375rem}
.source-list li{border-top:1px solid var(--border);padding:.6rem 0;margin:0}
.source-list .source-body{color:var(--ink-soft);font-size:.875rem;display:block}
.sources-foot{font-size:.875rem}
.read-next{background:var(--paper-alt);border-radius:var(--radius);padding:.5rem 1.25rem 1rem;margin:2rem 0}
.read-next ul{list-style:none;padding:0;margin:0}
.read-next li{border-top:1px solid var(--border);padding:.6rem 0;margin:0}
.read-next li:first-child{border-top:0}
.read-next .bridge{display:block;font-size:.8125rem;color:var(--ink-soft)}
.author-card,.disclaimer,.derived-notes{border:1px solid var(--border);border-radius:var(--radius);padding:.5rem 1.25rem 1rem;margin:2rem 0;font-size:.9375rem}
.disclaimer{background:var(--notice-bg);border-color:var(--notice-border)}
.author-card-title,.disclaimer-title,.derived-notes-title{font-size:1.0625rem;margin:1rem 0 .5rem}
.author-card-dates{color:var(--ink-soft);font-size:.875rem;margin-bottom:0}
.result{background:var(--paper-alt);border-radius:var(--radius);padding:1rem;margin:1rem 0}
.verdict{font-weight:700;border-radius:var(--radius);padding:.75rem 1rem;margin:0 0 1rem;border-left:6px solid currentColor}
.verdict--yes{background:#e3f3e8;color:#14532d}
.verdict--no{background:#fdeaea;color:#8a1c1c}
.verdict--partial{background:#fff4e0;color:#7a4400}
/* Abstention, not a refusal: deliberately neutral grey. When an essential test cannot be settled, the tool says neither yes nor no, and the colour must not suggest either. */
.verdict--unknown{background:#eef1f4;color:#33415a;border-left-color:#5b6b80}
.breakdown{width:100%;font-size:.9375rem}
.breakdown caption{font-size:1rem}
.breakdown td:last-child,.breakdown th:last-child{text-align:right;font-variant-numeric:tabular-nums}
.tool label{display:block;font-weight:600;margin:1rem 0 .25rem}
.tool input,.tool select{width:100%;min-height:44px;padding:.5rem .6rem;font:inherit;color:inherit;background:var(--paper);border:1px solid var(--ink-soft);border-radius:var(--radius)}
.tool .hint{font-size:.8125rem;color:var(--ink-soft);margin:.25rem 0 0}
.tool button{min-height:44px;min-width:44px;padding:.6rem 1.25rem;font:inherit;font-weight:700;background:var(--brand);color:#fff;border:2px solid var(--brand);border-radius:var(--radius);cursor:pointer;margin-top:1.25rem}
.tool button:hover{background:#0a2230}
.share,.share-result{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin:1.5rem 0}
.share p{flex-basis:100%;margin:0}
.share button,.tool .share-result button{min-height:44px;padding:.4rem 1rem;font:inherit;font-weight:600;color:var(--brand);background:var(--paper);border:2px solid var(--brand);border-radius:var(--radius);cursor:pointer;margin:0}
.share button:hover,.share-result button:hover{background:var(--paper-alt)}
.share a{display:inline-flex;align-items:center;min-height:44px}
.share code{word-break:break-all}
.share-status,.interpretation-basis{font-size:.875rem;color:var(--ink-soft)}
.interpretation{border-left:3px solid var(--notice-border);padding:.25rem 0 .25rem .75rem;margin:.75rem 0}
.checks{list-style:none;padding:0;margin:1rem 0}
.checks li{border-left:5px solid var(--border);padding:.5rem 0 .5rem .75rem;margin:0 0 .6rem}
.check--yes{border-left-color:#166534}
.check--no{border-left-color:#991b1b}
.check--missing,.check--verify{border-left-color:#b45309}
.check--yes::before{content:"Met \00B7 ";font-weight:700;color:#14532d}
.check--no::before{content:"Not met \00B7 ";font-weight:700;color:#8a1c1c}
.check--missing::before{content:"Still needed \00B7 ";font-weight:700;color:#7a4400}
.check--verify::before{content:"To check \00B7 ";font-weight:700;color:#7a4400}
.figure-grid{display:grid;gap:.5rem;grid-template-columns:1fr;margin:1rem 0}
@media (min-width:30rem){.figure-grid{grid-template-columns:repeat(2,1fr)}}
.figure-grid>div{border:1px solid var(--border);border-radius:var(--radius);padding:.6rem .75rem}
.figure-grid dt,.figure-grid .label{font-size:.8125rem;color:var(--ink-soft)}
.figure-grid dd,.figure-grid .value{margin:0;font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums}
.statute-ref{font-size:.8125rem;color:var(--ink-soft)}
.field{margin:1rem 0}
.field label{display:block;font-weight:600;margin:0 0 .25rem}
.field input,.field select,.field textarea{width:100%;min-height:44px;padding:.5rem .6rem;font:inherit;color:inherit;background:var(--paper);border:1px solid var(--ink-soft);border-radius:var(--radius)}
.field input[aria-invalid="true"]{border-color:#8a1c1c;border-width:2px}
.hint{font-size:.8125rem;color:var(--ink-soft);margin:.25rem 0 0}
.error{color:#8a1c1c;font-weight:600;font-size:.875rem;margin:.25rem 0 0}
.error:empty{display:none}
.router-list{list-style:none;padding:0}
.router-list li{border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:.75rem}
.router-list a{font-weight:700;font-size:1.0625rem}
.router-list p{margin:.25rem 0 0;font-size:.9375rem;color:var(--ink-soft)}
@media (min-width:40rem){.router-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.router-list li{margin-bottom:0}}
.legal{max-width:38rem}
.status{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .4rem;border-radius:3px;border:1px solid currentColor;white-space:nowrap}
.status--verified{color:#14532d;background:#e3f3e8}
.status--secondary{color:#7a4400;background:#fff4e0}
.status--pending{color:#8a1c1c;background:#fdeaea}
.data-licence{margin:2rem 0}
.data-licence-title{font-size:1.0625rem;margin:0 0 .5rem}
.data-licence p:last-child{margin-bottom:0}
.figures-block{margin:2.5rem 0}
.figures-block table{font-size:.875rem}
.legend{font-size:.9375rem}
.legend dt{font-weight:700;margin-top:.5rem}
.legend dd{margin:0 0 .25rem}
.site-footer{background:var(--brand);color:#fff;padding:2rem 0;margin-top:3rem;font-size:.9375rem}
.site-footer a{color:#bfe4f5}
.footer-disclaimer{font-weight:600}
.footer-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:0 1.25rem;padding:0;margin:0 0 1rem}
.footer-nav li{margin:0}
.footer-nav a{display:inline-flex;align-items:center;min-height:44px}
.footer-meta{color:#d3e3ea;font-size:.875rem;margin-bottom:.5rem}
@media (min-width:64rem){:root{--width:48rem}.toc{position:relative}}
@media print{.site-header,.site-footer,.breadcrumbs,.ad-slot,.toc,.read-next,.skip-link,.site-nav,.illus,.share,.share-result{display:none!important}body{font-size:11pt;line-height:1.4;color:#000;background:#fff}main{max-width:none;padding:0}a{color:#000;text-decoration:underline}a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;word-break:break-all}.result,.breakdown,.tool{break-inside:avoid;page-break-inside:avoid;border:1px solid #000;background:#fff}.breakdown{width:100%;font-size:10.5pt}.breakdown th,.breakdown td{border:1px solid #666;padding:.2cm}.verdict{border:2px solid #000;background:#fff;color:#000}table,figure,.author-card,.disclaimer{break-inside:avoid;page-break-inside:avoid}h2,h3{break-after:avoid;page-break-after:avoid}.derived-calc{color:#000}}
