/* 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.
   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}
.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}
@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}
.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{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}
}
