/* CustomsWise dev site — one stylesheet. Tokens first; dark mode follows the OS. */
:root{
  --paper:#F5F7FA; --surface:#FFFFFF; --ink:#172238; --muted:#56627A; --soft-ink:#3F4B63; --rule:#D5DBE5; --rule-2:#EEF1F5;
  --navy:#0F2B5B; --blue:#1E5B88; --blue-soft:#EAF3FB; --zebra:#F7FAFD;
  --gold:#8A5A00; --gold-soft:#FBF3E2; --gold-ink:#6B4600;
  --green:#1D6A4E; --green-soft:#E6F2EC; --green-soft-2:#D5EADF;
  --red:#8F2E23; --red-soft:#F7E9E6; --red-soft-2:#EFD6D0;
  --mark:#F4DA72; --mark-ink:#172238; --badge:#F5E29B; --badge-ink:#5D4700;
  --serif:"Merriweather",Georgia,"Times New Roman",serif;
  --sans:"Work Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
}
@media (prefers-color-scheme:dark){:root{
  --paper:#0F141D; --surface:#161D2A; --ink:#E6EAF1; --muted:#9AA6BA; --soft-ink:#B7C1D2; --rule:#2A3346; --rule-2:#222B3B;
  --navy:#0B1A33; --blue:#8FB8E0; --blue-soft:#1A2638; --zebra:#1A2231;
  --gold:#E3B460; --gold-soft:#2A2016; --gold-ink:#F0CB85;
  --green:#62C79E; --green-soft:#15291F; --green-soft-2:#1C3829;
  --red:#EF8E80; --red-soft:#2E1A17; --red-soft-2:#3C221D;
  --mark:#5E4E14; --mark-ink:#F7EBC0; --badge:#5E4E14; --badge-ink:#F7EBC0;
}}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh}
a{color:var(--blue)} a:hover{color:var(--navy)}
@media (prefers-color-scheme:dark){a:hover{color:#BFD6EE}}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:3px}
.sr{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
h1,h2,h3{line-height:1.25}
.serif{font-family:var(--serif)}
button,input,select{font:inherit;color:inherit}
input[type=search],input[type=text],select{height:44px;padding:0 12px;border:1px solid #B9C4D4;border-radius:8px;background:var(--surface);color:var(--ink)}
@media (prefers-color-scheme:dark){input[type=search],input[type=text],select{border-color:var(--rule)}}

/* header */
.top{position:sticky;top:0;z-index:30;background:#0F2B5B;color:#fff}
.top-in{max-width:1560px;margin:0 auto;padding:0 24px;height:64px;display:flex;align-items:center;gap:26px}
.brand{font:800 22px var(--sans);letter-spacing:-.5px;color:#fff;text-decoration:none;white-space:nowrap;display:flex;align-items:center;gap:9px}
.brand-mark{height:30px;width:auto;display:block;flex:none}
.brand span{color:#7CC4EE}
.devtag{font:700 11px var(--sans);letter-spacing:.06em;background:#F2C872;color:#3A2A10;padding:3px 7px;border-radius:5px}
.mainnav{display:flex;gap:20px}
.mainnav a{color:#DCE6F2;text-decoration:none;font-size:15px;font-weight:500;padding:4px 0;border-bottom:2px solid transparent;white-space:nowrap}
.mainnav a:hover{color:#fff}
.mainnav a[aria-current="page"]{color:#fff;border-bottom-color:#7CC4EE}
.topsearch{margin-left:auto;display:flex}
.topsearch input{width:260px;height:40px;border:0;border-radius:8px}
.menu-btn{display:none;margin-left:auto;width:44px;height:44px;border:0;background:transparent;color:#fff;cursor:pointer}
/* layout */
.wrap{max-width:1360px;margin:0 auto;padding:0 24px;width:100%}
main{flex:1;padding:32px 0 72px}
.page-h{margin:0 0 22px}
.page-h .kicker{margin:0 0 6px;font-size:14px;color:var(--muted)}
.page-h h1{margin:0 0 10px;font:700 clamp(28px,4vw,40px)/1.18 var(--serif);color:var(--navy)}
@media (prefers-color-scheme:dark){.page-h h1{color:var(--ink)}}
.page-h p{margin:0;font-size:17px;color:var(--soft-ink);max-width:78ch}
.grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media (max-width:960px){.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}
.split{display:grid;grid-template-columns:260px minmax(0,1fr);gap:36px;align-items:start}
.split-r{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:32px;align-items:start}
.split-3{display:grid;grid-template-columns:240px minmax(0,1fr) 270px;gap:32px;align-items:start}
@media (max-width:1100px){.split-3{grid-template-columns:minmax(0,1fr) 260px}.split-3 > .side-l{display:none}}
@media (max-width:860px){.split,.split-r,.split-3{grid-template-columns:1fr}.split-3 > .side-r{order:-1}}
.sticky{position:sticky;top:84px}
@media (max-width:860px){.sticky{position:static}}

/* surfaces */
.card{background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:20px 22px}
.card h2,.card h3{margin:0 0 10px}
.list{background:var(--surface);border:1px solid var(--rule);border-radius:12px;overflow:hidden}
.list > a,.list > div.row{display:grid;grid-template-columns:170px minmax(0,1fr);gap:16px;padding:14px 20px;border-bottom:1px solid var(--rule-2);text-decoration:none;color:var(--ink)}
.list > *:nth-child(even){background:var(--zebra)}
.list > *:last-child{border-bottom:0}
.list > a:hover{background:var(--blue-soft)}
.list .meta{display:flex;flex-direction:column;gap:2px}
.list .no{font-weight:700;color:var(--blue)}
.list .date{font-size:13px;color:var(--muted)}
@media (max-width:620px){.list > a,.list > div.row{grid-template-columns:1fr;gap:4px}}
.section-h{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:34px 0 12px}
.section-h h2{margin:0;font-size:20px}
.section-h a{font-weight:600;font-size:15px}
.muted{color:var(--muted)}
.small{font-size:14px}
.pill{display:inline-flex;align-items:center;font:600 12.5px var(--sans);padding:3px 10px;border-radius:999px;background:var(--surface);border:1px solid var(--rule);color:var(--muted);white-space:nowrap}
.pill.blue{background:var(--blue-soft);border-color:transparent;color:var(--navy)}
.pill.green{background:var(--green-soft);border-color:transparent;color:var(--green)}
.pill.red{background:var(--red-soft);border-color:transparent;color:var(--red)}
.pill.gold{background:var(--gold-soft);border-color:transparent;color:var(--gold-ink)}
@media (prefers-color-scheme:dark){.pill.blue{color:var(--blue)}}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--rule);background:var(--surface);color:var(--ink);text-decoration:none;font-size:14px;cursor:pointer}
.chip[aria-pressed="true"],.chip[aria-current="true"]{background:var(--blue);border-color:var(--blue);color:#fff}
@media (prefers-color-scheme:dark){.chip[aria-pressed="true"],.chip[aria-current="true"]{color:#0F141D}}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:8px;border:0;background:var(--blue);color:#fff;font-weight:600;text-decoration:none;cursor:pointer}
.btn:hover{color:#fff;filter:brightness(1.08)}
@media (prefers-color-scheme:dark){.btn,.btn:hover{color:#0F141D}}
.btn.ghost{background:var(--surface);border:1px solid #B9C4D4;color:var(--blue)}
.btn.ghost:hover{color:var(--navy)}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--rule);margin:0 0 18px;overflow-x:auto}
.tabs a{padding:12px 16px;text-decoration:none;color:var(--muted);border-bottom:3px solid transparent;white-space:nowrap}
.tabs a[aria-current="page"]{color:var(--ink);font-weight:600;border-bottom-color:var(--blue)}
.toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:0 0 16px}
.toolbar .field{display:flex;flex-direction:column;gap:6px}
.toolbar label{font-size:13px;font-weight:600;color:var(--muted)}
.toolbar .grow{flex:1;min-width:220px}
.pager{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:12px}
.loading{padding:28px;text-align:center;color:var(--muted)}
.empty{padding:22px;border:1px dashed #B9C4D4;border-radius:12px;color:var(--soft-ink);background:var(--surface)}
.error{padding:18px 20px;border-radius:10px;background:var(--red-soft);color:var(--red)}
.prose-text{white-space:pre-line;font-family:var(--serif);font-size:15.5px;line-height:1.85}

/* home */
.hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:48px;align-items:start;padding:24px 0 36px}
@media (max-width:960px){.hero{grid-template-columns:1fr}}
.hero h1{margin:0 0 16px;font:700 clamp(32px,5vw,52px)/1.12 var(--serif);color:var(--navy);letter-spacing:-.4px}
@media (prefers-color-scheme:dark){.hero h1{color:var(--ink)}}
.hero .lede{font-size:19px;color:var(--soft-ink);margin:0 0 20px}
.bigsearch{display:flex;gap:10px}
.bigsearch input{flex:1;height:56px;font-size:17px;padding:0 18px;border-radius:10px}
.bigsearch .btn{min-height:56px;padding:0 26px;border-radius:10px;font-size:17px}
.stats{background:#0F2B5B;color:#fff;border-radius:14px;padding:26px 30px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.stats b{display:block;font:700 32px var(--serif)}
.stats span{font-size:14px;color:#C9D6E8}
.stats .st-note{display:block;margin-top:6px;font-weight:600;color:#F4DA72}
@media (max-width:860px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.shelf{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:22px}
.shelf:hover{border-color:var(--blue)}
.shelf .k{font-size:13px;font-weight:600;color:var(--gold)}
.shelf .t{font:700 20px var(--serif);color:var(--navy)}
@media (prefers-color-scheme:dark){.shelf .t{color:var(--ink)}}
.feed .item{display:flex;flex-direction:column;gap:3px;padding:12px 0;border-bottom:1px solid var(--rule-2);text-decoration:none;color:var(--ink)}
.feed .item:last-child{border-bottom:0}
.feed .item small{color:var(--muted);font-size:13px}
.timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));border-top:2px solid var(--blue)}
.timeline li{padding:14px 16px 0 0}
.timeline b{display:block;color:var(--blue)}

/* section page */
.toc a{display:flex;gap:10px;padding:7px 10px;border-radius:8px;text-decoration:none;color:var(--ink);font-size:14px;line-height:1.35}
.toc a:hover{background:var(--blue-soft)}
.toc a[aria-current="page"]{background:var(--blue-soft);font-weight:600;color:var(--navy)}
@media (prefers-color-scheme:dark){.toc a[aria-current="page"]{color:var(--ink)}}
.toc .n{min-width:44px;color:var(--blue);font-weight:600}
.prov-title{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin:6px 0 12px}
.prov-title .num{font:700 48px/1 var(--serif);color:var(--blue)}
.prov-title h1{margin:0;font:700 clamp(24px,3vw,32px)/1.22 var(--serif);color:var(--navy);flex:1;min-width:240px}
@media (prefers-color-scheme:dark){.prov-title h1{color:var(--ink)}}
.statute{background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:24px 28px;font-family:var(--serif);font-size:16px;line-height:1.85}
.statute p{margin:0 0 10px}
.statute p.sub{padding-left:24px}
.statute p:last-child{margin-bottom:0}
.statute details summary{cursor:pointer;font:600 15px var(--sans);color:var(--blue);margin-top:6px}
.onpage a{display:flex;justify-content:space-between;padding:6px 0;text-decoration:none;font-size:15px}
.onpage a span:last-child{color:var(--muted)}
.label{font:600 13px var(--sans);color:var(--muted);margin:0 0 8px}

/* explainer */
.explain{background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:24px 28px}
.explain .head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.explain h2{margin:0;font-size:20px}
.explain h3{margin:24px 0 10px;font-size:16.5px}
.plain{font-size:17px;line-height:1.65;margin:0}
.bullets{margin:0;padding-left:20px}
.bullets li{margin-bottom:6px}
.structure{list-style:none;margin:0;padding:0;border:1px solid var(--rule);border-radius:8px;overflow:hidden}
.structure li{display:grid;grid-template-columns:minmax(0,120px) 80px 1fr;gap:12px;padding:10px 14px;border-bottom:1px solid var(--rule-2);align-items:baseline}
.structure li:nth-child(even){background:var(--zebra)}
.structure li:last-child{border-bottom:0}
.structure .ref{font:700 14px var(--serif);color:var(--blue);overflow-wrap:anywhere}
.structure .role{font:600 12px var(--sans);color:var(--muted)}
@media (max-width:620px){.structure li{grid-template-columns:1fr auto}.structure .gist{grid-column:1/-1}}
.traps{display:grid;gap:10px}
.trap{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--rule);border-radius:8px;overflow:hidden}
.trap > div{padding:12px 16px;background:var(--red-soft)}
.trap > div.r{background:var(--green-soft)}
.trap:nth-child(even) > div{background:var(--red-soft-2)}
.trap:nth-child(even) > div.r{background:var(--green-soft-2)}
.trap .tag{display:block;font:600 12.5px var(--sans);margin-bottom:3px;color:var(--red)}
.trap .r .tag{color:var(--green)}
.trap .w p{text-decoration:line-through;text-decoration-color:var(--red);margin:0}
.trap .r p{margin:0}
@media (max-width:620px){.trap{grid-template-columns:1fr}}
.pairs{display:grid;gap:10px}
.pair{border:1px solid var(--rule);border-radius:8px;overflow:hidden}
.pair:nth-child(even){background:var(--zebra)}
.pair .ab{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;padding:12px 14px}
.pair .ab b{font:700 15px var(--serif)}
.pair .vs{font:600 12px var(--sans);color:var(--muted)}
.pair .diff{padding:9px 14px;border-top:1px solid var(--rule);font-size:14.5px;color:var(--soft-ink)}
.memory{margin:0;font:700 clamp(18px,2.2vw,21px)/1.5 var(--serif)}
.memory span{background:linear-gradient(transparent 38%,var(--mark) 38%,var(--mark) 88%,transparent 88%);color:var(--mark-ink);padding:0 3px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.example{background:var(--zebra);border-radius:8px;padding:12px 16px;margin:0}
.visual{border:1px dotted var(--muted);border-radius:10px;padding:16px;margin:18px 0 0}
.v-title{font:700 16px var(--serif);margin:0 0 12px}
.v-notes{margin:12px 0 0;padding:0;list-style:none;font-size:14px;color:var(--muted)}
.v-flow{list-style:none;margin:0;padding:0}
.v-flow li{position:relative;display:grid;grid-template-columns:34px 1fr;gap:12px;padding:12px 14px;background:var(--blue-soft);border-radius:8px;margin-bottom:22px}
.v-flow li:last-child{margin-bottom:0}
.v-flow li:not(:last-child)::after{content:"";position:absolute;left:30px;bottom:-22px;width:2px;height:22px;background:var(--blue)}
.v-num{width:32px;height:32px;border-radius:50%;background:var(--blue);color:#fff;font:700 14px/32px var(--sans);text-align:center}
@media (prefers-color-scheme:dark){.v-num{color:#0F141D}}
.v-tag{display:inline-block;font:700 12px var(--sans);background:var(--badge);color:var(--badge-ink);border-radius:5px;padding:1px 7px;margin:0 6px 4px 0}
.v-flow p,.v-time p,.v-check p{margin:3px 0 0;font-size:14.5px;color:var(--soft-ink)}
.v-time{list-style:none;margin:0 0 0 8px;padding:0 0 0 22px;border-left:2px solid var(--gold)}
.v-time li{position:relative;padding:0 0 16px 12px}
.v-time li::before{content:"";position:absolute;left:-30px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--surface);border:3px solid var(--gold)}
.v-time .when{font:600 13px var(--sans);color:var(--gold);margin-top:3px}
.v-check{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.v-check li{display:flex;gap:10px;padding:9px 12px;border-radius:6px;background:var(--green-soft)}
.v-check li:nth-child(even){background:var(--green-soft-2)}
.v-check li::before{content:"✓";font-weight:700;color:var(--green)}
.v-compare{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.v-compare > div{border:1px solid var(--rule);border-radius:8px;overflow:hidden}
.v-compare h4{margin:0;padding:9px 12px;background:var(--blue-soft);font:600 14.5px var(--sans)}
.v-compare > div:nth-child(2) h4{background:var(--gold-soft)}
.v-compare ul{margin:0;padding:10px 12px 10px 28px;font-size:14.5px}
.v-tiers{display:grid;gap:20px;justify-items:center}
.v-tier{position:relative;width:100%;border:1px solid var(--blue);border-radius:8px;background:var(--blue-soft);padding:10px 14px;text-align:center}
.v-tier:not(:last-child)::after{content:"";position:absolute;left:50%;bottom:-20px;width:2px;height:20px;background:var(--blue)}
.v-tier b{display:block;font:700 15px var(--serif)}
.v-tier ul{list-style:none;margin:6px 0 0;padding:0;font-size:14px;color:var(--soft-ink)}
.v-tier:nth-child(2){width:94%}.v-tier:nth-child(3){width:88%}.v-tier:nth-child(n+4){width:82%}
.v-branch-start{border:1px solid var(--blue);background:var(--blue-soft);border-radius:8px;padding:10px 14px;text-align:center;font-weight:600;margin-bottom:16px}
.v-branches{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.v-branch{border:1px solid var(--rule);border-radius:8px;overflow:hidden}
.v-branch .if{padding:9px 12px;background:var(--blue-soft);font-weight:600;font-size:14.5px}
.v-branch .then{padding:9px 12px;font-size:14.5px}
.v-branch .cond{padding:0 12px 10px;font-size:13.5px;color:var(--muted)}
.v-kv{display:grid;grid-template-columns:minmax(120px,max-content) 1fr;gap:6px 14px;margin:0;font-size:14.5px}
.v-kv dt{font-weight:600}.v-kv dd{margin:0}
.tbl{overflow-x:auto;border:1px solid var(--rule);border-radius:8px}
.tbl table{width:100%;border-collapse:collapse;font-size:14.5px}
.tbl th{font:600 12.5px var(--sans);color:var(--muted);text-align:left;padding:9px 12px;background:var(--blue-soft);border-bottom:1px solid var(--rule)}
.tbl td{padding:10px 12px;border-bottom:1px solid var(--rule-2);vertical-align:top}
.tbl tbody tr:nth-child(even) td{background:var(--zebra)}
.tbl tr:last-child td{border-bottom:0}
.tbl td.lg{font-family:var(--serif);font-size:14px;min-width:220px}
.tbl td.cl{font:700 13.5px var(--serif);color:var(--blue);white-space:nowrap}
@media (max-width:620px){
  .tbl.stack{border:0;overflow:visible}
  .tbl.stack table,.tbl.stack tbody,.tbl.stack tr,.tbl.stack td{display:block;width:100%}
  .tbl.stack thead{position:absolute;left:-9999px}
  .tbl.stack tr{border:1px solid var(--rule);border-radius:8px;margin-bottom:8px;background:var(--surface)}
  .tbl.stack tbody tr:nth-child(even){background:var(--zebra)}
  .tbl.stack tbody tr:nth-child(even) td{background:transparent}
  .tbl.stack td{border:0;padding:6px 12px}
  .tbl.stack td::before{content:attr(data-l);display:block;font:600 12px var(--sans);color:var(--muted)}
  .tbl.stack td.lg{min-width:0}
}

/* cases */
.case-card{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:16px 20px;text-decoration:none;color:var(--ink)}
.case-card:nth-child(even){background:var(--zebra)}
.case-card:hover{border-color:var(--blue)}
.case-card .t{font:700 16.5px var(--serif);color:var(--navy)}
@media (prefers-color-scheme:dark){.case-card .t{color:var(--ink)}}
.case-card small{font-size:13px;color:var(--muted)}
.case-card p{margin:0;font-size:15px;line-height:1.55;color:var(--soft-ink)}
.principle{background:var(--gold-soft);border-radius:10px;padding:16px 20px}
.principle .label{color:var(--gold-ink)}
.principle p{margin:0;font-family:var(--serif);font-size:16px;line-height:1.65}
.attrib{font-size:13px;color:var(--muted)}

/* quiz */
.q-opt{display:flex;gap:12px;align-items:flex-start;min-height:52px;padding:12px 16px;border:1px solid var(--rule);border-radius:10px;background:var(--surface);cursor:pointer;text-align:left;width:100%;font-size:16px;line-height:1.45}
.q-opt:hover{border-color:var(--blue)}
.q-opt.right{border:2px solid var(--green);background:var(--green-soft)}
.q-opt.wrong{border:2px solid var(--red);background:var(--red-soft)}
.q-opt[disabled]{cursor:default}
.q-bar{height:6px;border-radius:3px;background:var(--rule);overflow:hidden}
.q-bar i{display:block;height:100%;background:var(--blue)}

footer.site{background:#0F2B5B;color:#C9D6E8;font-size:14px;line-height:1.6}
footer.site .wrap{padding-top:26px;padding-bottom:26px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
footer.site p{margin:0}

/* structured documents (Customs Manual, Foreign Trade Policy) */
.doc{background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:32px 40px;max-width:900px}
@media (max-width:620px){.doc{padding:22px 18px}}
.doc-h{display:grid;grid-template-columns:minmax(56px,max-content) 1fr;gap:14px;margin:30px 0 12px;font:700 19px/1.35 var(--serif);color:var(--navy)}
@media (prefers-color-scheme:dark){.doc-h{color:var(--ink)}}
.doc-h:first-child{margin-top:0}
.doc-h .n{color:var(--blue)}
.doc-p{display:grid;grid-template-columns:56px 1fr;gap:14px;margin:0 0 12px}
.doc-p.plain{grid-template-columns:1fr;margin-left:70px}
.doc-p .n{font-weight:600;color:var(--muted);font-size:15px;padding-top:2px}
.doc-p p{margin:0;font-size:16.5px;line-height:1.75}
.doc-list{margin:-4px 0 14px 70px;display:flex;flex-direction:column;gap:6px}
.doc-li{display:grid;grid-template-columns:40px 1fr;gap:2px;font-size:16px;line-height:1.7}
.doc-li .m{color:var(--blue);font-weight:600}
.doc-li.lvl-2{margin-left:32px}.doc-li.lvl-3{margin-left:64px}.doc-li.lvl-4{margin-left:96px}
@media (max-width:620px){.doc-p.plain{margin-left:0}.doc-h,.doc-p{grid-template-columns:44px 1fr}.doc-list{margin-left:20px}.doc-li.lvl-2{margin-left:18px}.doc-li.lvl-3{margin-left:36px}.doc-li.lvl-4{margin-left:54px}}
.doc-note{margin:0 0 16px 70px;padding:10px 14px;border-radius:8px;background:var(--zebra);font-size:14px;color:var(--soft-ink)}
@media (max-width:620px){.doc-note{margin-left:0}}
.found{background:var(--gold-soft);border-radius:8px;box-shadow:0 0 0 8px var(--gold-soft)}
.doc-toc{columns:2;column-gap:28px;margin:0;padding:0;list-style:none;font-size:15px}
.doc-toc li{break-inside:avoid;padding:4px 0}
.doc-toc a{text-decoration:none;display:grid;grid-template-columns:44px 1fr}
@media (max-width:620px){.doc-toc{columns:1}}

/* study mode */
.study{background:var(--surface);border:1px solid var(--rule);border-radius:14px;padding:24px 28px}
@media (max-width:620px){.study{padding:18px 16px}}
.study .head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.study .head h2{margin:0;font-size:21px}
.st-tabs{display:flex;gap:6px;padding:4px;background:var(--paper);border-radius:12px;margin:0 0 22px;overflow-x:auto}
.st-tabs button{flex:1;min-height:44px;padding:0 14px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:600;cursor:pointer;white-space:nowrap}
.st-tabs button[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(15,43,91,.14)}
.st-memory{background:var(--navy);color:#fff;border-radius:12px;padding:22px 24px;margin:0 0 18px}
.st-memory .label{color:#9FC3E6}
.st-memory p{margin:0;font:700 clamp(19px,2.4vw,24px)/1.45 var(--serif)}
.st-three{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:10px}
.st-three li{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start;background:var(--zebra);border-radius:10px;padding:12px 14px;font-size:15.5px;line-height:1.55}
.st-n{width:30px;height:30px;border-radius:50%;background:var(--gold-soft);color:var(--gold-ink);font-weight:700;display:flex;align-items:center;justify-content:center}
.st-next{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.st-got[aria-pressed="true"]{background:var(--green)}
.st-clauses{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.st-clause{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);border:1px solid var(--rule);border-radius:12px;overflow:hidden}
.st-law{padding:14px 16px;font:15px/1.75 var(--serif);background:var(--zebra)}
.st-law p{margin:0 0 6px}.st-law p:last-child{margin:0}.st-law p.sub{padding-left:18px}
.st-gist{padding:14px 16px}
.st-gist p{margin:6px 0 0;font-size:15.5px;line-height:1.6}
.st-ref{display:flex;gap:10px;align-items:center}
.st-ref b{font-family:var(--serif);color:var(--blue)}
@media (max-width:760px){.st-clause{grid-template-columns:1fr}}
.st-role{font:700 11.5px var(--sans);letter-spacing:.03em;text-transform:uppercase;padding:3px 8px;border-radius:6px}
.role-blue{background:var(--blue-soft);color:var(--navy)}
.role-green{background:var(--green-soft);color:var(--green)}
.role-red{background:var(--red-soft);color:var(--red)}
.role-gold{background:var(--gold-soft);color:var(--gold-ink)}
.role-grey{background:var(--paper);color:var(--muted)}
@media (prefers-color-scheme:dark){.role-blue{color:var(--blue)}}
.st-tf{display:grid;gap:12px}
.st-card{border:1px solid var(--rule);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.st-card.ok{border-color:var(--green);background:var(--green-soft)}
.st-card.no{border-color:var(--red);background:var(--red-soft)}
.st-claim{margin:0;font:600 16.5px/1.55 var(--serif)}
.st-btns{display:flex;gap:10px}
.st-btns .btn{min-width:96px}
.st-btns .btn.picked{background:var(--ink);color:var(--surface)}
.st-v{margin:0 0 4px;font-weight:700}
.st-score{margin:14px 0 0;font-weight:600}
.st-pairs{display:grid;gap:10px}
.st-pair{border:1px solid var(--rule);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.st-ab{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.st-ab b{font:700 15.5px var(--serif)}
.st-diff{margin:0;font-size:15px;color:var(--soft-ink)}
.st-scenario{border:1px dashed var(--gold);border-radius:12px;padding:16px 18px;background:var(--gold-soft)}
.st-scenario p{margin:4px 0 0;line-height:1.65}

/* icons */
svg.i{width:18px;height:18px;flex:none;vertical-align:-3px;color:currentColor}
svg.i.big{width:34px;height:34px;color:#F4DA72}
h2 svg.i,h3 svg.i{color:var(--blue);margin-right:2px}
.label svg.i{width:15px;height:15px;vertical-align:-3px}
.st-tabs button svg.i{margin-right:4px}
.st-memory{display:flex;gap:16px;align-items:flex-start}
.st-legend{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 14px;font-size:13.5px;color:var(--muted)}
.st-legend > span{display:inline-flex;align-items:center;gap:4px}
.st-legend > svg.i{color:var(--blue)}
.st-keys{margin-left:auto;gap:6px}
.st-clause{grid-template-columns:minmax(0,1.15fr) 36px minmax(0,1fr)}
.st-arrow{display:flex;align-items:center;justify-content:center;color:var(--blue);background:var(--zebra)}
@media (max-width:760px){.st-clause{grid-template-columns:1fr}.st-arrow{padding:4px 0;background:var(--surface)}.st-arrow svg{transform:rotate(90deg)}}
.st-role{display:inline-flex;align-items:center;gap:4px}
.st-role svg.i{width:13px;height:13px}
.st-v svg.i{width:20px;height:20px}
.st-card.ok .st-v{color:var(--green)}.st-card.no .st-v{color:var(--red)}
.v-check li svg.i{color:var(--green);margin-top:3px}
.v-check li::before{content:none}
.v-flow li:not(:last-child)::after{width:2px}
.v-flow li:not(:last-child)::before{content:"";position:absolute;left:25px;bottom:-22px;width:12px;height:12px;border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(45deg)}
.v-tier:not(:last-child)::before{content:"";position:absolute;left:calc(50% - 6px);bottom:-20px;width:12px;height:12px;border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(45deg);z-index:1}
.v-branch .then svg.i{color:var(--green)}
.v-time .when svg.i{width:14px;height:14px}
.btn svg.i{margin-right:6px}

.doc-head{display:flex;flex-direction:column;gap:2px;margin:0 0 18px;padding:14px 18px;border-radius:10px;background:var(--zebra);font:14.5px/1.55 var(--sans);color:var(--soft-ink)}
.doc-head span:first-child{font-weight:700;color:var(--ink)}
.doc-subject{margin:0 0 18px;padding:12px 16px;border-left:4px solid var(--blue);background:var(--blue-soft);font-weight:600;line-height:1.55}
.doc-subject .label{margin:0 0 4px;display:block}
.doc.letter .doc-p.plain{margin-left:0}
.doc.letter .doc-list{margin-left:56px}

/* ===== handbook page ===== */
.hb{--gold:#B8860B;--gold-soft:#FBF3DC;--sky-soft:#EAF3FB;--green-soft:#E8F3EC;--red-soft:#FBE9E7}
.hb-hero{display:grid;grid-template-columns:minmax(0,1fr) 340px;border:1px solid var(--rule);border-radius:14px;overflow:hidden;background:var(--surface);margin:0 0 18px}
.hb-hero-l{display:flex;gap:22px;padding:22px 26px;align-items:flex-start}
.hb-chap{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:86px;padding:12px 8px;background:#0F2B5B;color:#fff;border-radius:10px;text-align:center}
.hb-chap small{font:600 11px var(--sans);letter-spacing:.12em;text-transform:uppercase;opacity:.85}
.hb-chap b{font:700 40px/1 var(--serif)}
.hb-act{margin:0 0 4px;font:600 13px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.hb-act span{color:var(--muted);font-weight:500;letter-spacing:0;text-transform:none}
.hb-hero h1{margin:0;font:700 clamp(30px,4vw,44px)/1.1 var(--serif);color:#0F2B5B;letter-spacing:-.3px}
.hb-secword{font-size:.55em;letter-spacing:.14em;text-transform:uppercase;vertical-align:middle;color:var(--blue)}
.hb-title{display:inline-block;margin:10px 0 8px;padding:6px 16px;background:#F4DA72;color:#0F2B5B;font:700 20px var(--serif);border-radius:4px;text-transform:uppercase;letter-spacing:.02em}
.hb-tag{margin:0;font:italic 16px/1.5 var(--serif);color:var(--soft-ink)}
.hb-hero-r{position:relative;background:#0F2B5B;color:#fff;display:flex;flex-direction:column}
.hb-art{width:100%;height:100%;object-fit:cover}
.hb-motto{position:absolute;inset:auto 0 0 0;padding:12px 18px;background:rgba(15,43,91,.75);font:italic 14px/1.45 var(--serif);color:#F4DA72}
.hb-motto p{margin:0}
@media (prefers-color-scheme:dark){.hb-hero h1{color:var(--ink)}.hb-chap{background:#1B3A66}}
@media (max-width:860px){.hb-hero{grid-template-columns:1fr}.hb-hero-r{height:140px}.hb-hero-l{gap:14px;padding:18px}.hb-chap{min-width:64px}.hb-chap b{font-size:30px}}
.hb-grid-main{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:18px;margin:0 0 18px;align-items:start}
.hb-grid-main aside{display:flex;flex-direction:column;gap:18px}
.hb-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:18px;margin:0 0 18px}
.hb-grid-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin:0 0 18px}
@media (max-width:860px){.hb-grid-main{grid-template-columns:1fr}.hb-grid-2,.hb-grid-3{grid-template-columns:1fr}}
.hb-panel{border-radius:12px;overflow:hidden;border:1px solid var(--rule);background:var(--surface)}
.hb-ph{margin:0;display:flex;align-items:center;gap:10px;padding:11px 16px;font:700 15px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#fff;background:#0F2B5B}
.hb-ph svg.i{width:20px;height:20px;color:#fff;margin:0}
.hb-ph small{margin-left:auto;font:500 12px var(--sans);letter-spacing:0;text-transform:none;opacity:.85}
.hb-panel.gold .hb-ph{background:#B8860B}.hb-panel.gold .hb-pb{background:#FBF3DC}
.hb-panel.blue .hb-ph{background:#1E5B88}.hb-panel.blue .hb-pb{background:#EAF3FB}
.hb-panel.sky .hb-ph{background:#2D7DB3}.hb-panel.sky .hb-pb{background:#EEF6FC}
.hb-panel.green .hb-ph{background:#1D6A4E}.hb-panel.green .hb-pb{background:#E8F3EC}
.hb-panel.red .hb-ph{background:#A5372B}.hb-panel.red .hb-pb{background:#FBE9E7}
.hb-panel.navy .hb-pb{background:#FFFDF7}
@media (prefers-color-scheme:dark){.hb-panel .hb-pb,.hb-panel.gold .hb-pb,.hb-panel.blue .hb-pb,.hb-panel.sky .hb-pb,.hb-panel.green .hb-pb,.hb-panel.red .hb-pb,.hb-panel.navy .hb-pb{background:var(--surface)}}
.hb-pb{padding:14px 16px;color:var(--ink)}
.hb-clause{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;padding:12px 0;border-bottom:1px dashed var(--rule)}
.hb-clause:last-child{border-bottom:0}
.hb-cl{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#DCE9F5;border-radius:8px;padding:10px 6px;min-height:64px}
.hb-cl:empty{background:transparent}
.hb-cl b{font:700 22px var(--serif);color:#0F2B5B}
.hb-cl span{font:600 12px var(--sans);color:#0F2B5B;margin-top:2px}
@media (prefers-color-scheme:dark){.hb-cl{background:var(--blue-soft)}.hb-cl b,.hb-cl span{color:var(--ink)}}
.hb-ct p{margin:0 0 8px;font:15.5px/1.7 var(--serif)}
.hb-ct p.sub{padding-left:22px}
.hb-ct p:last-child{margin:0}
@media (max-width:620px){.hb-clause{grid-template-columns:64px 1fr;gap:10px}.hb-cl b{font-size:18px}}
.hb-ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.hb-ticks li{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.5}
.hb-ticks svg.i{width:20px;height:20px;padding:3px;border-radius:50%;background:#B8860B;color:#fff;flex:none;margin-top:1px}
.hb-dots{margin:0;padding-left:20px;font-size:15px;line-height:1.55}.hb-dots li{margin-bottom:6px}
.hb-dates{list-style:none;margin:0;padding:0 0 0 14px;border-left:3px solid #1D6A4E;display:flex;flex-direction:column;gap:10px}
.hb-dates li{display:flex;flex-direction:column;font-size:14.5px}.hb-dates b{color:#1D6A4E}
.hb-num{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;counter-reset:n}
.hb-num li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;font-size:15px;line-height:1.5}
.hb-num li>span{width:26px;height:26px;border-radius:50%;background:#A5372B;color:#fff;font:700 13px/26px var(--sans);text-align:center}
.hb-num li b{font-weight:600}
.hb-fix{display:flex;gap:6px;margin-top:4px;font-size:14px;color:#1D6A4E}.hb-fix svg.i{color:#1D6A4E;flex:none;margin-top:2px}
.hb-table{width:100%;border-collapse:collapse;font-size:14.5px;background:var(--surface)}
.hb-table th{text-align:left;padding:8px 10px;background:#1E5B88;color:#fff;font:600 13px var(--sans)}
.hb-table td{padding:8px 10px;border-bottom:1px solid var(--rule);vertical-align:top}
.hb-table td:first-child{font-weight:700;color:#0F2B5B;white-space:nowrap}
.hb-table tr:nth-child(even) td{background:var(--zebra)}
@media (prefers-color-scheme:dark){.hb-table td:first-child{color:var(--ink)}}
.hb-ex{margin:0;font-size:15px;line-height:1.65;white-space:pre-line}
.hb-map{display:flex;flex-direction:column;align-items:stretch}
.hb-map-row{display:grid;grid-template-columns:110px 1fr;background:var(--surface);border:1px solid #1D6A4E;border-radius:8px;overflow:hidden}
.hb-map-k{background:#1D6A4E;color:#fff;padding:8px 10px;display:flex;flex-direction:column;justify-content:center}
.hb-map-k b{font:700 15px var(--serif)}.hb-map-k span{font:600 11px var(--sans);text-transform:uppercase;letter-spacing:.06em;opacity:.9}
.hb-map-v{padding:8px 12px;font-size:14px;line-height:1.5}
.hb-map-arrow{display:flex;justify-content:center;padding:4px 0;color:#1D6A4E}
.hb-pairs{display:flex;flex-direction:column;gap:8px}
.hb-pairs>div{background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:10px 12px;font-size:14.5px}
.hb-pairs b{font-family:var(--serif)}.hb-pairs i{margin:0 8px;font:600 12px var(--sans);color:var(--muted)}
.hb-pairs p{margin:6px 0 0;color:var(--soft-ink)}
.hb-anchor{display:grid;grid-template-columns:auto auto 1fr;gap:16px;align-items:center;padding:16px 22px;margin:0 0 24px;border:1px solid #E0C36A;border-radius:12px;background:#FBF3DC}
.hb-anchor svg.big{width:38px;height:38px;color:#B8860B}
.hb-anchor b{font:700 15px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#0F2B5B;border-right:1px solid #E0C36A;padding-right:16px}
.hb-anchor p{margin:0;font:700 17px/1.45 var(--serif)}
@media (prefers-color-scheme:dark){.hb-anchor{background:var(--gold-soft);border-color:var(--rule)}.hb-anchor b{color:var(--ink);border-color:var(--rule)}}
.hb-more{margin-top:8px}
.hb-more>details{border:1px solid var(--rule);border-radius:12px;background:var(--surface);margin-bottom:10px}
.hb-more summary{cursor:pointer;padding:14px 18px;font:700 15px var(--sans);letter-spacing:.04em;text-transform:uppercase;color:#0F2B5B;display:flex;align-items:center;gap:10px}
.hb-more summary svg.i{color:var(--blue)}.hb-more summary .n{margin-left:auto;font-weight:500;color:var(--muted);text-transform:none;letter-spacing:0}
.hb-more .body{padding:0 18px 18px}
@media (prefers-color-scheme:dark){.hb-more summary{color:var(--ink)}}

.hb-nav{margin:6px 0 0}
.hb-pn{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 12px}
.hb-pn a{display:flex;gap:10px;align-items:center;padding:12px 16px;border:1px solid var(--rule);border-radius:12px;background:var(--surface);text-decoration:none;color:var(--ink)}
.hb-pn a.r{justify-content:flex-end;text-align:right}
.hb-pn small{display:block;font-size:12px;color:var(--muted)}
.hb-pn svg.flip{transform:rotate(180deg)}.hb-pn svg.i{color:var(--blue)}
.hb-chapter{border:1px solid var(--rule);border-radius:12px;background:var(--surface)}
.hb-chapter summary{cursor:pointer;padding:14px 18px;font:700 15px var(--sans);display:flex;gap:10px;align-items:center}
.hb-chapter summary .n{margin-left:auto;font-weight:500;color:var(--muted)}
.hb-toc{columns:3;padding:0 18px 14px}.hb-toc a{break-inside:avoid}
@media (max-width:860px){.hb-toc{columns:1}.hb-pn{grid-template-columns:1fr}}
.hb-table td:first-child{white-space:normal;min-width:140px}

/* source hierarchy */
.src{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;border:1px solid var(--rule);border-radius:12px;background:var(--surface);overflow:hidden;margin:18px 0}
.src>div{padding:12px 16px;border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:3px;font-size:14px}
.src>div:last-child{border-right:0}
.src-k{font:700 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
/* status trio */
.status3{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:14px 0}
.status3>div{border:1px solid var(--rule);border-radius:10px;padding:10px 14px;background:var(--surface)}
.status3 .k{font:700 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.status3 .v{display:block;font:700 16px var(--serif);margin-top:2px}
.status3 .v.red{color:var(--red)}.status3 .v.green{color:var(--green)}.status3 .v.muted{color:var(--muted)}
/* dossier */
.dossier{max-width:900px}
.dossier .court{font:600 13px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.dossier h1{margin:6px 0 4px;font:700 clamp(24px,3.4vw,34px)/1.2 var(--serif);color:#0F2B5B}
.dossier h1 .v{display:block;font:italic 400 .6em var(--serif);color:var(--muted);margin:2px 0}
.dossier .order{color:var(--muted);font-size:14px}
.dblock{border-left:4px solid var(--rule);padding:4px 0 4px 18px;margin:24px 0}
.dblock h2{margin:0 0 6px;font:700 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.dblock p{margin:0;font-size:16.5px;line-height:1.7}
.dblock.decision{border-color:#0F2B5B}.dblock.decision p{font:700 19px/1.5 var(--serif);color:#0F2B5B}
.dblock.principle{border-color:#B8860B;background:#FBF3DC;padding:14px 18px;border-radius:0 10px 10px 0}.dblock.principle p{font:17px/1.65 var(--serif)}
.dblock.exam{border-color:#A5372B;background:#FBE9E7;padding:14px 18px;border-radius:0 10px 10px 0}
@media (prefers-color-scheme:dark){.dossier h1,.dblock.decision p{color:var(--ink)}.dblock.principle,.dblock.exam{background:var(--surface)}}
.qa{display:grid;gap:10px}
.qa>div{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start}
.qa>div>span{width:26px;height:26px;border-radius:50%;background:#0F2B5B;color:#fff;font:700 13px/26px var(--sans);text-align:center}
.provs{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.prov{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid var(--rule);border-radius:10px;background:var(--surface);text-decoration:none;color:var(--ink)}
.prov:hover{border-color:var(--blue)}
.prov b{font:700 15px var(--serif);color:#0F2B5B}.prov small{color:var(--muted)}.prov .go{color:var(--blue);font-weight:600;font-size:13px;margin-top:4px}
@media (prefers-color-scheme:dark){.prov b{color:var(--ink)}}
.dossier details{border:1px solid var(--rule);border-radius:10px;margin:10px 0;background:var(--surface)}
.dossier details summary{cursor:pointer;padding:12px 16px;font:700 13px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#0F2B5B}
.dossier details .b{padding:0 16px 14px;line-height:1.7}
@media (prefers-color-scheme:dark){.dossier details summary{color:var(--ink)}}
.relmap{width:100%;height:auto;display:block}
.relmap text{font-family:var(--sans)}
/* home */
.home-hero{text-align:center;padding:56px 0 30px}
.home-hero .brand-line{font:700 12px var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--blue)}
.home-hero h1{margin:10px 0 12px;font:700 clamp(34px,5.6vw,60px)/1.08 var(--serif);color:#0F2B5B;letter-spacing:-.5px}
.home-hero .lede{max-width:66ch;margin:0 auto 24px;color:var(--soft-ink);font-size:18px}
.home-hero .bigsearch{max-width:820px;margin:0 auto}
.home-hero .chips{justify-content:center;margin-top:14px}
@media (prefers-color-scheme:dark){.home-hero h1{color:var(--ink)}}
.modules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:36px 0}
@media (max-width:860px){.modules{grid-template-columns:1fr}}
.module{border:1px solid var(--rule);border-radius:14px;background:var(--surface);padding:22px 24px}
.module h2{margin:0 0 12px;font:700 13px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#0F2B5B;display:flex;gap:10px;align-items:center}
.module h2 svg.i{color:var(--blue)}
.module a{display:flex;justify-content:space-between;padding:8px 0;border-top:1px solid var(--rule-2);text-decoration:none;color:var(--ink);font-size:15px}
.module a span:last-child{color:var(--muted);font-size:13px}
@media (prefers-color-scheme:dark){.module h2{color:var(--ink)}}
.kc{border:1px solid var(--rule);border-radius:14px;background:var(--surface);padding:26px 28px;margin:0 0 36px}
.kc h2{margin:0 0 6px;font:700 13px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#0F2B5B}
.kc p{margin:0 0 14px;color:var(--soft-ink)}
@media (prefers-color-scheme:dark){.kc h2{color:var(--ink)}}
@media (max-width:1100px) and (min-width:861px){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
.built{text-align:center;padding:30px 0 10px;font:600 12px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.built b{display:block;font:700 22px var(--serif);letter-spacing:0;text-transform:none;color:#0F2B5B;margin-bottom:6px}
@media (prefers-color-scheme:dark){.built b{color:var(--ink)}}

.doc-warn{margin:0 0 14px;padding:10px 14px;border-radius:8px;background:var(--gold-soft);color:var(--gold-ink);font-size:14px}
.doc-tbl{margin:14px 0;padding:14px 16px;border:1px dashed #B9C4D4;border-radius:10px;background:var(--zebra)}
.doc-tbl p{margin:6px 0 0;font-size:14.5px;line-height:1.7;color:var(--soft-ink)}
.doc-sign{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin:18px 0 0;font-size:14.5px;color:var(--soft-ink)}
.doc-sign span:first-child{font-weight:600;color:var(--ink)}

/* coloured content tabs (section page) */
.ctabs{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}
.ctab{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 16px;border:0;border-radius:12px;color:#fff;font:700 15px var(--sans);cursor:pointer}
.ctab svg.i{color:#fff}
.ctab b{background:rgba(0,0,0,.28);border-radius:999px;padding:1px 8px;font-size:13px}
.ctab[aria-selected="true"]{opacity:1;outline:3px solid #F4DA72;outline-offset:2px}
.ctab:hover{opacity:1}
.c-bare{background:#1E5B88}.c-video{background:#B0305A}.c-explain{background:#8A6300}.c-rel{background:#5B3FA6}.c-cases{background:#A65A1E}.c-upd{background:#1D6A4E}.c-prac{background:#A5372B}
.cpanel{border-radius:16px;padding:18px;border:1px solid var(--rule);margin-bottom:18px}
.cpanel.c-bare{background:#EEF5FC;border-color:#BBD3EA}.cpanel.c-video{background:#FBEDF2;border-color:#EDB9CB}.cpanel.c-explain{background:#FBF5E3;border-color:#E9D28A}.cpanel.c-rel{background:#F3EFFB;border-color:#CFC2EE}
.cpanel.c-cases{background:#FBF1E8;border-color:#EBC9AE}.cpanel.c-upd{background:#EAF5EE;border-color:#B7DBC5}.cpanel.c-prac{background:#FBEAE7;border-color:#F0BDB5}
@media (prefers-color-scheme:dark){.cpanel.c-video,.cpanel.c-bare,.cpanel.c-explain,.cpanel.c-rel,.cpanel.c-cases,.cpanel.c-upd,.cpanel.c-prac{background:var(--surface);border-color:var(--rule)}}
.cpanel .hb-panel{background:var(--surface)}
/* Explainer video: 16:9 box that holds either our own MP4 or the YouTube copy */
.vwrap{position:relative;padding-top:56.25%;border-radius:12px;overflow:hidden;background:#0B1B36;margin-bottom:12px;box-shadow:0 2px 14px rgba(15,43,91,.14)}
.vwrap>video,.vwrap>iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.vwrap>video{object-fit:contain;background:#0B1B36}
.vplayer::cue{font:400 20px/1.4 var(--sans);background:rgba(11,27,54,.82)}
.tab-h{display:flex;align-items:center;gap:8px;margin:0 0 10px;font:700 15px var(--sans);letter-spacing:.04em;text-transform:uppercase;color:#0F2B5B}
.tab-h+.list,.tab-h+.grid-2{margin-bottom:22px}
@media (prefers-color-scheme:dark){.tab-h{color:var(--ink)}}
@media (max-width:620px){.ctab{padding:0 12px;font-size:14px}.ctab span{display:none}.ctab[aria-selected="true"] span{display:inline}}

/* word families, definition cards, dialogue, arrow chain */
.fam-wrap{display:flex;flex-direction:column;gap:12px}
.fam-row{display:grid;grid-template-columns:130px minmax(0,1fr);gap:12px;align-items:center}
.fam-name{font:600 13px var(--sans);color:var(--muted)}
.fam-chain{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.fam-node{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:var(--blue-soft);color:var(--navy)}
.fam-node svg.i{width:20px;height:20px;color:var(--blue)}
.fam-node b{display:block;font:600 14px var(--sans)}
.fam-node small{display:block;font-size:12px;color:var(--muted)}
.fam-arrow svg.i{color:var(--muted)}
@media (max-width:620px){.fam-row{grid-template-columns:1fr}}
@media (prefers-color-scheme:dark){.fam-node{color:var(--ink)}}
.dcards-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 14px}
.dcards-tools input{flex:1;min-width:220px}
.dgroup{margin:0 0 16px}
.dgroup-h{margin:0 0 8px;font:700 13px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--gold-ink)}
.dgroup-h span{font-weight:500;color:var(--muted)}
.dgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.dcard{background:var(--surface);border:1px solid var(--rule);border-radius:10px}
.dcard[open]{grid-column:1/-1;border-color:var(--blue)}
.dcard summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:24px 1fr auto;gap:4px 10px;align-items:center;padding:12px 14px}
.dcard summary::-webkit-details-marker{display:none}
.dcard summary svg.i{width:22px;height:22px;color:var(--blue);grid-row:1/3}
.dterm{font:700 15px var(--serif)}
.dref{font-size:12px;color:var(--muted)}
.dsimple{grid-column:2/4;font-size:14px;color:var(--soft-ink);line-height:1.45}
.dbody{padding:0 14px 14px 48px}
.dbody p{margin:0 0 8px;font-size:14.5px;line-height:1.6}
.dlegal{font-family:var(--serif)}
.dlg{display:flex;flex-direction:column;gap:12px}
.dlg-line{display:flex;gap:10px;align-items:flex-start;max-width:92%}
.dlg-line.b{flex-direction:row-reverse;align-self:flex-end;text-align:right}
.dlg-av{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;background:var(--blue-soft);color:var(--navy)}
.dlg-line.b .dlg-av{background:var(--gold-soft);color:var(--gold-ink)}
.dlg-av svg.i{width:20px;height:20px}
.dlg-line > div{background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:8px 12px}
.dlg-line.b > div{background:var(--gold-soft);border-color:transparent}
.dlg-who{display:block;font:600 11.5px var(--sans);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.dlg-line p{margin:2px 0 0;font-size:15px;line-height:1.5}
.chain{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.chain-step{display:inline-flex;flex-direction:column;padding:8px 12px;border-radius:10px;border:1px solid var(--rule);background:var(--surface)}
.chain-step a{text-decoration:none;color:inherit;display:flex;flex-direction:column}
.chain-step b{font:600 14px var(--sans)}
.chain-step small{font-size:12px;color:var(--blue)}
.chain-step.end{background:var(--gold-soft);border-color:#E0C36A}
.chain-arrow svg.i{color:var(--muted)}

/* nav with nine items */
.top-in{gap:18px}
.mainnav{gap:14px}
.mainnav a{font-size:14px}
.topsearch input{width:200px}
/* The search box is now the only way to reach search from the header, so it stays as long as the
   nav does. Below 1259px both give way to the menu button, which carries the search box inside it. */
@media (max-width:1399px){.topsearch input{width:150px}}
@media (max-width:1259px){.mainnav{display:none}.topsearch{display:none}.menu-btn{display:flex;align-items:center;justify-content:center}
  body.menu-open .top-in{flex-wrap:wrap;height:auto;min-height:64px;row-gap:0}
  body.menu-open .brand,body.menu-open .devtag,body.menu-open .menu-btn{align-self:center;margin-top:10px;margin-bottom:10px}
  body.menu-open .mainnav{display:flex;flex-direction:column;order:3;flex-basis:100%;gap:0;padding:4px 0 8px;border-top:1px solid rgba(255,255,255,.12)}
  body.menu-open .mainnav a{padding:11px 0;font-size:15px;border-bottom:0}
  body.menu-open .mainnav a[aria-current="page"]{color:#7CC4EE}
  body.menu-open .topsearch{display:flex;order:4;flex-basis:100%;margin:0 0 18px}
  body.menu-open .topsearch input{width:100%}}
/* Updates sub-buttons */
.subtabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.subtab{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;border-radius:10px;border:1px solid #B7DBC5;background:var(--surface);color:var(--green);font-weight:600;cursor:pointer}
.subtab b{background:var(--green-soft);border-radius:999px;padding:1px 8px;font-size:12.5px}
.subtab[aria-selected="true"]{background:#1D6A4E;border-color:#1D6A4E;color:#fff}
.subtab[aria-selected="true"] b{background:rgba(0,0,0,.28)}
.subtab svg.i{color:currentColor}

.sup-banner{display:flex;gap:12px;align-items:flex-start;margin:14px 0;padding:14px 16px;border-radius:12px;background:#FFF4E5;border:1px solid #F1C38A;color:#7A4A0B;font-size:15px;line-height:1.55}
.sup-banner svg.i{width:22px;height:22px;flex:none;margin-top:1px}
.sup-banner a{color:#7A4A0B;font-weight:600}
.shelf.is-old{opacity:.75}
@media (prefers-color-scheme:dark){.sup-banner{background:var(--surface);color:var(--ink);border-color:var(--rule)}.sup-banner a{color:var(--ink)}}

/* infographic explanation panels */
.ig-lead{margin:0 0 14px;font:600 19px/1.5 var(--serif);color:var(--navy)}
.ig-glance{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,240px));gap:10px;margin:0 0 14px}
.ig-fact{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--surface);border:1px solid #E9D28A}
.ig-fact svg.i{width:26px;height:26px;color:var(--gold-ink);flex:none}
.ig-fact small{display:block;font:600 11px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.ig-fact b{font:700 16px var(--sans);color:var(--navy)}
.ig-points{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.ig-points li{display:flex;gap:10px;align-items:flex-start;font-size:15.5px;line-height:1.55}
.ig-points svg.i{width:18px;height:18px;color:var(--green);flex:none;margin-top:3px}
.ig-why{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:10px;background:#0F2B5B;color:#fff}
.ig-why svg.i{width:24px;height:24px;color:#F4DA72;flex:none}
.ig-why small{display:block;font:600 11px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#F4DA72}
.ig-board{display:grid;grid-template-columns:1fr 28px 1fr 28px 1fr;gap:6px;align-items:stretch}
.ig-board-arrow{display:flex;align-items:center;justify-content:center}.ig-board-arrow svg.i{color:var(--muted)}
.ig-step{border-radius:12px;padding:14px;background:var(--surface);border:1px solid var(--rule)}
.ig-step.s2{background:var(--green-soft);border-color:transparent}
.ig-step-ic{display:flex;width:40px;height:40px;border-radius:50%;align-items:center;justify-content:center;background:var(--blue-soft);margin-bottom:8px}
.ig-step.s2 .ig-step-ic{background:#fff}
.ig-step-ic svg.i{width:22px;height:22px;color:var(--navy)}
.ig-step small{display:block;font:700 11.5px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--blue);margin-bottom:4px}
.ig-step p{margin:0;font-size:15px;line-height:1.55}
@media (max-width:820px){.ig-board{grid-template-columns:1fr}.ig-board-arrow{transform:rotate(90deg);height:22px}}
.ig-myth{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px}
.ig-myth > div{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:10px;font-size:14.5px;line-height:1.5}
.ig-myth .m{background:#FBE9E7;color:#7A2418}.ig-myth .f{background:#E6F4EC;color:#1D5C3F}
.ig-myth svg.i{width:20px;height:20px;flex:none;margin-top:2px}
.ig-myth small{display:block;font:700 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px}
@media (max-width:620px){.ig-myth{grid-template-columns:1fr}}
@media (prefers-color-scheme:dark){.ig-lead,.ig-fact b{color:var(--ink)}.ig-myth .m,.ig-myth .f{background:var(--surface);color:var(--ink)}}

.doc-rh{display:flex;gap:10px;align-items:baseline;margin:22px 0 8px;font:700 18px var(--serif);color:var(--navy)}
.doc-rh span{display:inline-flex;min-width:30px;height:30px;align-items:center;justify-content:center;border-radius:8px;background:var(--blue-soft);font:700 14px var(--sans)}
.issues-card{display:flex;gap:14px;align-items:center;margin:0 0 18px;padding:16px 18px;border-radius:12px;background:#0F2B5B;color:#fff;text-decoration:none}
.issues-card svg.i{width:30px;height:30px;color:#F4DA72;flex:none}
.issues-card small{display:block;font:600 11.5px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:#F4DA72}
.issues-card b{display:block;font:700 18px var(--serif);margin:2px 0}
.issues-card span span{font-size:14px;opacity:.9}
@media (prefers-color-scheme:dark){.doc-rh{color:var(--ink)}}

.hb-grid-main.solo{grid-template-columns:1fr}
.hb-docbody{max-height:none}
.hb-docbody .doc-head{font-family:var(--sans)}

.doc-garbled{display:flex;gap:10px;align-items:flex-start;margin:10px 0;padding:10px 14px;border-radius:10px;background:var(--zebra);color:var(--muted);font-size:14px;font-style:italic}
.doc-garbled svg.i{width:18px;height:18px;flex:none;margin-top:2px;color:var(--gold-ink)}
.hb-doc-h{font:700 clamp(20px,2.6vw,30px)/1.25 var(--serif);color:var(--navy)}
@media (prefers-color-scheme:dark){.hb-doc-h{color:var(--ink)}}

.sctabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.sctab{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid #BBD3EA;background:var(--surface);color:var(--blue);font:600 14px var(--sans);cursor:pointer}
.sctab b{display:inline-flex;width:22px;height:22px;border-radius:50%;align-items:center;justify-content:center;background:var(--blue-soft);font-size:12.5px}
.sctab[aria-selected="true"]{background:#1E5B88;border-color:#1E5B88;color:#fff}
.sctab[aria-selected="true"] b{background:rgba(0,0,0,.28)}

/* tariff */
.rate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 18px}
.rate{border:1px solid var(--rule);border-radius:12px;padding:14px 16px;background:var(--surface)}
.rate small{display:block;font:600 11.5px var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.rate b{font:700 26px var(--serif);color:var(--navy)}
.rate.lead{background:#0F2B5B;border-color:transparent}
.rate.lead small{color:#F4DA72}.rate.lead b{color:#fff}
@media (prefers-color-scheme:dark){.rate b{color:var(--ink)}}
.levy{margin:0 0 22px}
.levy h3{margin:0 0 8px;font:700 15px var(--sans)}
.ccr p{margin:0 0 12px;font-size:15.5px;line-height:1.7}

.doc-tbl-head{font:600 14px var(--sans);color:var(--muted);margin:2px 0 8px}
.doc-tbl-rows{margin:0;padding-left:22px;display:grid;gap:10px}
.doc-tbl-rows>li{font-size:15px;line-height:1.65}
.doc-tbl-rows .bullets{margin:6px 0 0}

/* ---- alignment fixes (24 Sep 2026) ---- */
/* search boxes: let the input shrink so the button never pushes past the screen edge */
.bigsearch input{min-width:0}
@media (max-width:520px){.bigsearch .btn{padding:0 18px}.bigsearch input{padding:0 14px;font-size:16px}}
.toolbar .grow{min-width:min(220px,100%)}
/* chips: long labels wrap as rounded rectangles, not ovals */
.chip{border-radius:18px;padding:6px 14px;line-height:1.35;max-width:100%}
/* pills: never overflow their row */
.pill{max-width:100%;overflow:hidden;text-overflow:ellipsis}
/* knowledge-connection map: scroll sideways on phones instead of shrinking the labels to 6px */
#kc-map{overflow-x:auto;-webkit-overflow-scrolling:touch}
#kc-map .relmap{min-width:620px}
/* notifications and circulars share one header order: title, then tabs */
.page-h + .tabs{margin-top:-4px}
.doc-pending{padding:14px 16px;border-radius:10px;background:var(--gold-soft);border:1px solid var(--rule);color:var(--ink);font-size:15px;line-height:1.55}
.pdf-note{margin:0 0 10px;font-size:14.5px;color:var(--soft-ink)}
.pdf-view{display:block;width:100%;height:78vh;min-height:520px;border:1px solid var(--rule);border-radius:10px;background:#fff}
@media (max-width:620px){.pdf-view{height:70vh;min-height:420px}}
.pdf-text{margin-top:14px}.pdf-text summary{cursor:pointer;font-weight:600;font-size:14.5px}
.pdf-text pre{white-space:pre-wrap;font:13px/1.5 var(--sans);max-height:480px;overflow:auto;background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:12px;margin:10px 0 0}
/* tables reproduced from the official source */
.doc-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:12px 0 16px;border:1px solid var(--rule);border-radius:10px;background:var(--surface)}
.doc-table{border-collapse:collapse;width:100%;min-width:520px;font-size:14.5px;line-height:1.45}
.doc-table th,.doc-table td{border:1px solid var(--rule);padding:8px 10px;text-align:left;vertical-align:top}
.doc-table thead th{background:var(--blue-soft,#EAF1F8);font-weight:600;color:var(--ink)}
.doc-table tbody tr:nth-child(even) td{background:rgba(15,43,91,.025)}
.duty-table th[scope="row"]{font-weight:600;background:transparent}
.doc-table tr.applied td{background:var(--green-soft)}
.linkish{background:none;border:0;padding:0;font:inherit;color:var(--blue);text-decoration:underline;cursor:pointer}
.gone-block{margin-top:14px}.gone-block summary{cursor:pointer;font-weight:600;font-size:14.5px;color:var(--soft-ink)}
.doc-table tr.gone td{color:var(--soft-ink)}
.doc-tbl.printed .pt-pages{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.pt-band{background:#fff;border:1px solid var(--rule);border-radius:6px;overflow:hidden;min-height:40px;display:flex;align-items:center;justify-content:center}
.pt-band canvas{display:block;width:100%;height:auto}
.pt-more{margin-top:8px}
.pt-text{margin-top:10px}.pt-text summary{cursor:pointer;font-weight:600;font-size:14px;color:var(--soft-ink)}

/* ---- case page: reading column + side panel, short paragraphs ---- */
.case-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:36px;align-items:start}
.case-grid .dossier{max-width:none}
.case-side{position:sticky;top:84px;display:flex;flex-direction:column;gap:14px}
.case-side .status3{grid-template-columns:1fr;margin:0}
.case-side .provs{grid-template-columns:1fr;gap:8px}
.case-side .prov{padding:10px 12px}
.side-card{border:1px solid var(--rule);border-radius:12px;background:var(--surface);padding:14px}
.side-card h2{margin:0 0 10px;font:700 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.case-status-top{display:none}
@media (max-width:1100px){.case-grid{grid-template-columns:1fr}.case-side{position:static}.case-side .status3{display:none}.case-status-top{display:block}}
.dblock p{text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.dblock p + p{margin-top:12px}
.dblock.decision p{font:400 17.5px/1.7 var(--serif);color:var(--ink)}
.dblock.decision p.lead{font:600 18.5px/1.6 var(--serif);color:#0F2B5B}
.dossier details .b p{text-align:justify;hyphens:auto;margin:0 0 10px}
.fa-h{font:700 12px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:26px 0 8px}
@media (prefers-color-scheme:dark){.dblock.decision p.lead{color:var(--ink)}}
/* relationship map: cards wrap their text, no clipped labels, no crossing lines */
.rmap{display:flex;flex-direction:column;align-items:center}
.rmap-hub{background:#0F2B5B;color:#fff;font:700 15px/1.3 var(--sans);padding:12px 22px;border-radius:10px;text-align:center;max-width:90%;position:relative}
.rmap-hub::after{content:"";position:absolute;left:50%;top:100%;height:22px;border-left:2px solid #B9C4D4}
.rmap-kids{margin-top:22px;padding-top:18px;border-top:2px solid #B9C4D4;width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.rmap-card{position:relative;display:flex;flex-direction:column;gap:3px;padding:10px 12px;border:1.5px solid #1E5B88;border-radius:10px;background:#EAF3FB;text-decoration:none;color:var(--ink);min-width:0}
.rmap-card::before{content:"";position:absolute;left:50%;bottom:100%;height:18px;border-left:2px solid #B9C4D4}
.rmap-card b{font:700 15px/1.3 var(--sans);color:#0F2B5B;overflow-wrap:anywhere}
.rmap-card small{font-size:12.5px;color:var(--soft-ink);overflow-wrap:anywhere}
.rmap-card span{font-size:13px;color:var(--muted);line-height:1.35;overflow-wrap:anywhere}
.rmap-subs{display:flex;flex-wrap:wrap;gap:4px}
.rmap-subs i{font-style:normal;font:600 11.5px var(--sans);background:#fff;border:1px solid #BFD3E6;border-radius:6px;padding:1px 6px;color:#1E5B88}
.rmap-card:hover{border-color:var(--blue);background:#fff}
@media (prefers-color-scheme:dark){.rmap-card{background:var(--surface)}.rmap-card b{color:var(--ink)}.rmap-subs i{background:var(--surface)}}
.case-side .src{grid-template-columns:1fr;margin:0}.case-side .src>div{border-right:0!important;border-left:0!important}
@media (max-width:700px){.dblock p,.dossier details .b p{text-align:left}}

/* ---- readable long text on every page ---- */
/* explanatory prose is justified on wide screens, left-aligned on phones (justified text leaves gaps on narrow screens) */
.prose p,.doc .doc-p p,.doc .doc-li>span:last-child,.hb-ct,.hb-panel p,.ig-plain p,.ig-lead,.dblock p,.dossier details .b p,.doc-note,.card .prose p{text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.prose p{margin:0 0 10px;line-height:1.7}.prose p:last-child{margin-bottom:0}
@media (max-width:700px){.prose p,.doc .doc-p p,.doc .doc-li>span:last-child,.hb-ct,.hb-panel p,.ig-plain p,.ig-lead,.dblock p,.dossier details .b p,.doc-note,.card .prose p{text-align:left}}
.clamp3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
/* chapter reading: text + "In this chapter" column, so wide screens have no empty right side */
.read-grid{display:block}
.read-grid .doc{max-width:none}
.read-toc{display:none}
@media (min-width:1200px){
  .read-grid.has-toc{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px;align-items:start}
  .read-grid.has-toc .read-toc{display:block;position:sticky;top:84px;max-height:calc(100vh - 110px);overflow:auto;padding:14px 16px}
  .read-grid.has-toc .read-toc-top{display:none}
}
.read-toc ol{list-style:none;margin:6px 0 0;padding:0;font-size:14px}
.read-toc li a{display:grid;grid-template-columns:40px 1fr;gap:6px;padding:5px 6px;border-radius:6px;text-decoration:none;color:var(--ink);line-height:1.35}
.read-toc li a:hover{background:var(--blue-soft)}
.read-toc .n{color:var(--blue);font-weight:600}
.toc .n{flex:0 0 auto}
.hb-applies{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;margin:0 0 14px;border:1px solid var(--rule);border-left:4px solid var(--blue);border-radius:10px;background:var(--surface)}
.hb-applies small{display:block;font:700 11px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.hb-applies a{display:block;font-weight:600;margin-top:2px}
/* ---- shrink / reflow safety: nothing may push the page wider than the screen (WCAG 1.4.10) ---- */
main .wrap > *, main .split > *, main .split-3 > *, main .split-r > *, main .case-grid > *, main .read-grid > *,
main .hb, main .hb-panel, main .hb-pb, main .hb-ct, main .hb-clause, main .hb-hero, main .hb-hero > *, main .card, main article, main aside, main section{min-width:0}
main h1, main h2, main h3, main .kicker, main .hb-ph small, main .list a, main .list a > *, main .card, main .pill, main td, main th{overflow-wrap:anywhere}
main img, main svg, main canvas, main iframe, main video{max-width:100%}
main .hb-hero svg{height:auto}
main .toc a, main .toc a > *, main .hb-toc a > *{min-width:0;overflow-wrap:anywhere}
@media (max-width:620px){.list > a[style],.list > div.row[style]{grid-template-columns:1fr!important;gap:4px}}
.relmap-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 14px}
@media (max-width:700px){.relmap-scroll .relmap{min-width:640px}}
@media (max-width:620px){.relmap-scroll{display:none}}
.ctab[aria-selected="false"]{filter:saturate(.85)}
@media (prefers-color-scheme:dark){main h1.serif[style]{color:var(--ink)!important}main .section-h h2[style]{color:var(--ink)!important}}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:#fff;color:#0F2B5B;padding:10px 14px;border-radius:8px;font-weight:700;box-shadow:0 2px 10px rgba(0,0,0,.2)}.skip:focus{top:10px}
main:focus{outline:none}
/* ---- official text: colour-coded labels for every paragraph ---- */
.ot-key{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px 4px 14px;font-size:13px;color:var(--muted)}
.ot-key b{font:700 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;margin-right:4px}
.ot{display:flex;flex-direction:column}
.ot-row{display:grid;grid-template-columns:210px minmax(0,1fr);gap:18px;padding:12px 4px;border-bottom:1px dashed var(--rule)}
.ot-row:last-child{border-bottom:0}
.ot-full{display:block}
.ot-lab{display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start;padding-top:3px}
.ot-body p{margin:0;font:17px/1.7 var(--serif);text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.ot-body p + p{margin-top:8px}
.ot-l1 .ot-body{padding-left:18px;border-left:3px solid #CDBDF0}
.ot-l2 .ot-body{padding-left:18px;border-left:3px solid #A9DCD2;margin-left:22px}
.ot-exrow{background:#FFF8E6;border-radius:8px}
.ot-exrow .ot-body{border-left:3px solid #EBCB7C;padding-left:16px}
.ot-pvrow .ot-body{border-left:3px solid #F1B6A8;padding-left:16px}
.ot-lead{font-weight:700}
.ot-hints{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.ot-chip{display:inline-block;font:700 12.5px/1.3 var(--sans);padding:4px 9px;border-radius:7px;max-width:100%;overflow-wrap:anywhere}
.ot-sec{background:#0F2B5B;color:#fff}
.ot-sub{background:#E3EEF9;color:#1E5B88;border:1px solid #B9D2EC}
.ot-cl{background:#EDE7FA;color:#4B2E9A;border:1px solid #CDBDF0}
.ot-rc{background:#E3F4F1;color:#0F5E52;border:1px solid #A9DCD2}
.ot-ex{background:#FCEFD0;color:#6B4600;border:1px solid #EBCB7C}
.ot-pv{background:#FDE6E0;color:#962E1C;border:1px solid #F1B6A8}
.ot-term{background:#FFF3B0;color:#4F3D00;border:1px solid #E9D27A}
mark.ot-term{border:0;padding:0 3px;border-radius:3px;font-weight:700}
.ot-tbl{background:#EEF1F5;color:#3B465A;border:1px solid #CBD3DF}
.ot-hint{background:var(--surface);color:#3F4A5E;border:1px solid #C9D1DE;font-weight:600}
.ot-hint::before{content:"💡 "}
@media (prefers-color-scheme:dark){
  .ot-exrow{background:rgba(235,203,124,.08)}
  .ot-sub{background:#16324F;color:#CFE3F7;border-color:#2B4E73}.ot-cl{background:#2A2145;color:#DCD1FA;border-color:#4A3C7A}
  .ot-rc{background:#123A35;color:#BFEBE2;border-color:#23625A}.ot-ex{background:#3A2E12;color:#F4DA9A;border-color:#6B5424}
  .ot-pv{background:#3F1E17;color:#F6C6BA;border-color:#6E3428}.ot-term{background:#3B3413;color:#F8E9A0;border-color:#6B5E22}
  mark.ot-term{background:#5A4E14;color:#FFF3C0}.ot-tbl{background:#222B38;color:#D5DCE6;border-color:#3A4556}.ot-hint{color:#D5DCE6;border-color:#3A4556}
}
@media (max-width:700px){.ot-row{grid-template-columns:1fr;gap:6px}.ot-l2 .ot-body{margin-left:10px}.ot-body p{text-align:left}}
/* tabs: empty tabs are pale, at the end, with a dash */
.ctab.is-empty{background:var(--surface)!important;color:#5E6A7E!important;border:1.5px dashed #C3CBD8}
.ctab.is-empty svg.i{color:#5E6A7E}
.ctab.is-empty b{background:#EEF1F5;color:#5E6A7E}
.ctab.is-empty[aria-selected="true"]{outline-color:#C3CBD8}
.ctabs-note{margin:-2px 2px 14px;font-size:13.5px;color:var(--muted)}
@media (prefers-color-scheme:dark){.ctab.is-empty{color:#AEB8C8!important;border-color:#3A4556}.ctab.is-empty b{background:#222B38;color:#AEB8C8}}
.ot-row > *{min-width:0}.ot{min-width:0}

/* ---- top-right infographic (replaces the stock picture) ---- */
.hb-hero{grid-template-columns:minmax(0,1fr) minmax(340px,44%)}
.hb-hero-r{justify-content:center}
.ig-hero{padding:18px 20px;display:flex;flex-direction:column;gap:10px}
.ig-t{margin:0;font:700 11.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#F4DA72}
.ig-eq{display:flex;align-items:stretch;gap:6px}
.ig-blk{flex:1;min-width:0;background:#fff;color:#0F2B5B;border-radius:10px;padding:9px 8px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}
.ig-blk svg.i{width:24px;height:24px;color:#1E5B88}
.ig-blk b{font:700 12.5px/1.25 var(--sans);overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
.ig-blk small{font:600 10.5px var(--sans);color:#5E6A7E}
.ig-blk.ig-res{background:#F4DA72}.ig-blk.ig-res svg.i{color:#7A5200}
.ig-op{align-self:center;font:900 22px var(--sans);color:#F4DA72}
.ig-chips{display:flex;flex-wrap:wrap;gap:6px}
.ig-chips span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.28);border-radius:8px;padding:5px 8px;font:600 12px/1.3 var(--sans);color:#fff}
.ig-chips b{color:#F4DA72}
.ig-mem{margin:2px 0 0;font:italic 13.5px/1.45 var(--serif);color:#F4DA72}
@media (max-width:860px){.hb-hero{grid-template-columns:1fr}.hb-hero-r{height:auto}}
@media (max-width:560px){.ig-eq{flex-direction:column}.ig-blk{flex-direction:row;justify-content:center;text-align:left;gap:8px}.ig-op{line-height:1;font-size:18px}}
.ot-guide{background:#23407A;color:#fff;border:1px solid #23407A;text-decoration:none}.ot-guide:hover{background:#1E5B88;color:#fff}
.hb-guide{border-left-color:#23407A}.hb-guide em{display:block;font-style:normal;margin-top:2px}
@media (prefers-color-scheme:dark){.ot-guide{background:#3E5FA0;border-color:#3E5FA0}}
/* procedure guides */
.gd-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.gd-fact{border:1px solid var(--rule);border-radius:12px;padding:12px 14px;background:var(--surface)}
.gd-fact b{display:block;font:700 12px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:6px}
.gd-fact p{margin:0;font-size:15px;line-height:1.6;text-align:left!important}
.gd-fact small,.gd-steps small{display:block;margin-top:6px;color:var(--muted);font-size:12.5px}
.gd-steps{list-style:none;margin:0;padding:0;counter-reset:none}
.gd-steps li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px dashed var(--rule)}
.gd-steps li:last-child{border-bottom:0}
.gd-n{width:32px;height:32px;border-radius:50%;background:#0F2B5B;color:#fff;display:flex;align-items:center;justify-content:center;font:700 14px var(--sans)}
.gd-meta{margin:0;font-size:13px;color:var(--muted)}.gd-meta b{color:var(--ink)}
.gd-t{margin:2px 0 4px;font:700 16px var(--sans)}
.gd-steps p{text-align:left!important}
.gd-list{margin:0;padding-left:20px;line-height:1.7}
/* compact label column: one chip with the full position + the kind in small type */
.ot-row{grid-template-columns:104px minmax(0,1fr);gap:14px}
.ot-lab{flex-direction:column;align-items:flex-start;gap:3px}
.ot-cap{font:600 11px var(--sans);color:var(--muted);line-height:1.2}
.ot-chip{white-space:nowrap}
.ot-hints .ot-chip{white-space:normal}
@media (max-width:700px){.ot-row{grid-template-columns:1fr}.ot-lab{flex-direction:row;align-items:center;gap:8px}}
/* notifications laid out like the Gazette copy */
.doc-head.gz{text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px;background:transparent;border:0;padding:4px 0 10px}
.doc-head.gz span{font:600 15px/1.5 var(--sans);color:var(--ink)}
.doc-head.gz .gz-pub{font:italic 600 13px/1.4 var(--serif);color:var(--muted);max-width:640px;margin-bottom:6px}
.doc-head.gz .gz-no{font:700 17px/1.4 var(--serif);margin-top:8px}
.doc-head.gz .gz-date{font:italic 15px var(--serif);color:var(--muted)}
.doc-head.gz .gz-sep{width:60px;border-top:2px dotted var(--rule);margin:6px 0}
.doc-tblh{text-align:center;font:700 14px var(--sans);letter-spacing:.12em;text-transform:uppercase;margin:14px 0 6px}
.doc.letter .doc-p{grid-template-columns:30px 1fr;gap:6px}.doc.letter .doc-p .n{color:var(--ink);font-weight:600}.doc.letter .doc-p.plain{grid-template-columns:1fr}
.doc.letter .doc-p .n::after{content:"."}
.po-box{margin:18px 0 4px;padding:14px 16px;border:1px solid var(--rule);border-left:4px solid #1D6A4E;border-radius:10px;background:var(--surface)}
.po-box h3{display:flex;align-items:center;gap:8px;margin:0 0 6px;font:700 15px var(--sans);color:var(--ink)}
.po-box .doc-table td:first-child{min-width:120px}
.ot-po{background:#1D6A4E;color:#fff;border:1px solid #1D6A4E;text-decoration:none}
@media (prefers-color-scheme:dark){.ot-po{background:#2E8A68;border-color:#2E8A68}}
.hb-pb,.po-box{min-width:0}
@media (max-width:700px){.ot-row{grid-template-columns:minmax(0,1fr)}}
.hb-grid-main > *,.hb-grid > *{min-width:0}
.c-xref{background:#0E6674}.cpanel.c-xref{background:#EAF6F7;border-color:#B5DDE2}@media (prefers-color-scheme:dark){.cpanel.c-xref{background:var(--surface);border-color:var(--rule)}}
.doc-tbl .pt-fallback{display:flex!important}.pt-fallback > svg.i{flex:0 0 auto;margin-top:3px}
/* exam questions: same look everywhere — the question, then its statements one per line */
.q-text{display:flex;flex-direction:column;gap:8px;margin:0 0 6px}
.q-stem{margin:0;font:600 17px/1.6 var(--sans);color:var(--ink)}
.q-stmts{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.q-stmts li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:6px;padding:8px 12px;border-left:3px solid var(--rule);background:var(--surface);border-radius:6px;font:500 15.5px/1.55 var(--sans)}
.q-stmts li b{color:var(--blue)}
.q-tail{font-weight:600}
.scope-h{display:flex;align-items:baseline;gap:8px;margin:4px 0 8px;font:700 14px var(--sans)}.scope-h span{font-weight:600;color:var(--muted);font-size:13px}
.scope-block{margin-top:12px}
details.ent summary{cursor:pointer;color:var(--blue);font-weight:600}details.ent span{display:block;margin-top:4px;font-size:13px;color:var(--soft-ink);line-height:1.5}
/* case pages: short points instead of long paragraphs */
.glance{border:1px solid var(--rule);border-left:4px solid #0F2B5B;border-radius:12px;padding:14px 18px;margin:14px 0 18px;background:var(--surface)}
.glance-h{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px}.glance-h h2{margin:0;font:700 13px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.outcome{font:700 12.5px var(--sans);padding:3px 10px;border-radius:999px;background:#EEF1F5;color:#334}
.o-allowed,.o-partly{background:#E3F4EA;color:#14532D}.o-dismissed{background:#FDE6E0;color:#962E1C}.o-sent,.o-order{background:#FCEFD0;color:#6B4600}
.g-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;padding:8px 0;border-top:1px dashed var(--rule)}
.g-row b{font:700 13px var(--sans);color:var(--muted)}.g-row p{margin:0;font-size:15.5px;line-height:1.55;text-align:left!important}
.g-rule p{font-weight:600;color:var(--ink)}
@media (max-width:620px){.g-row{grid-template-columns:1fr;gap:2px}}
ul.pts{margin:6px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:7px}
ul.pts li{font-size:15.5px;line-height:1.6;text-align:left}
details.more-pts{margin-top:6px}details.more-pts>summary{cursor:pointer;color:var(--blue);font:600 14px var(--sans)}
blockquote.rule-q{margin:4px 0 6px;padding:10px 14px;border-left:4px solid #D4A017;background:#FFF8E6;font:600 16px/1.55 var(--serif);border-radius:6px}
details.fa{border:1px solid var(--rule);border-radius:10px;padding:10px 14px;margin:8px 0;background:var(--surface)}
details.fa>summary{cursor:pointer;font:700 15px var(--sans);display:flex;align-items:center;gap:8px}details.fa>summary small{font-weight:500;color:var(--muted)}
@media (prefers-color-scheme:dark){blockquote.rule-q{background:rgba(212,160,23,.1)}.outcome{background:#222B38;color:#D5DCE6}.o-allowed,.o-partly{background:#14361f;color:#bfe8cc}.o-dismissed{background:#3f1e17;color:#f6c6ba}.o-sent,.o-order{background:#3a2e12;color:#f4da9a}}
.dossier .qa p{text-align:left!important}
.st-clause.no-law{grid-template-columns:1fr!important}.st-clause.no-law .st-law,.st-clause.no-law .st-arrow{display:none!important}
.c-man{background:#7A4E2D}.cpanel.c-man{background:#FBF3EC;border-color:#E6CDB8}@media (prefers-color-scheme:dark){.cpanel.c-man{background:var(--surface);border-color:var(--rule)}}
/* Manual: the open chapter's headings sit beneath it in the left list; reading area uses the full width */
#chapters .nav-sub{list-style:none;margin:4px 0 10px 12px;padding:4px 0 4px 10px;border-left:2px solid #B9D2EC;display:flex;flex-direction:column;gap:1px}
#chapters .nav-sub a{display:grid;grid-template-columns:30px minmax(0,1fr);gap:6px;padding:5px 8px;border-radius:6px;font-size:13.5px;line-height:1.35;color:var(--soft-ink);text-decoration:none}
#chapters .nav-sub a:hover{background:var(--hover,rgba(30,91,136,.06))}
#chapters .nav-sub a.on{background:#E3EEF9;color:#0F2B5B;font-weight:600}
#chapters .nav-sub .n{color:var(--muted);font-weight:600}
@media (min-width:861px){.read-toc-top{display:none!important}}
@media (max-width:860px){#chapters .nav-sub{display:none}}
@media (prefers-color-scheme:dark){#chapters .nav-sub a.on{background:#16324F;color:#CFE3F7}#chapters .nav-sub{border-left-color:#2B4E73}}
.man-cases{margin:0 0 18px;padding:14px 16px}.man-cases h2{display:flex;align-items:center;gap:8px;margin:0 0 10px;font:700 15px var(--sans)}.man-cases h2 b{background:#EEF1F5;border-radius:999px;padding:1px 9px;font-size:12.5px}
.mt-tabs{margin:0 0 14px}.mt-panel{margin-bottom:18px}
.mt-ex{padding:18px 22px}.mt-lead{font:500 17px/1.6 var(--serif);margin:0 0 10px;text-align:left}.mt-ex h3{font:700 13px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--blue);margin:14px 0 4px}
.mt-period{display:inline-block;white-space:nowrap;font:700 13px var(--sans);background:#FCEFD0;color:#6B4600;border:1px solid #EBCB7C;border-radius:999px;padding:2px 10px}
.mt-tl td{vertical-align:top}.mt-tl td:nth-child(2){min-width:280px}
@media (prefers-color-scheme:dark){.mt-period{background:#3A2E12;color:#F4DA9A;border-color:#6B5424}}
.read-grid[hidden],.mt-panel[hidden]{display:none!important}
/* CBLR syllabus */
.kicker{margin:0 0 4px;font:700 12.5px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.sy-progress{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;margin:0 0 16px}
.sy-progress b{display:block;font-size:16px}.sy-bar{flex:1 1 240px;max-width:420px;height:10px;border-radius:999px;background:#E3E8EF;overflow:hidden}.sy-bar span{display:block;height:100%;background:#1D6A4E}
.sy-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}
.sy-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:12px;padding:16px;border:1px solid var(--rule);border-radius:12px;background:var(--surface);text-decoration:none;color:var(--ink);height:100%}
.sy-card:hover{border-color:#1E5B88}.sy-card.done{border-color:#1D6A4E;background:#F1FAF5}
.sy-code{font:700 18px var(--serif);color:var(--blue)}.sy-body{display:flex;flex-direction:column;gap:4px}.sy-body b{font-size:15.5px;line-height:1.35}.sy-body span{font-size:14px;line-height:1.5;color:var(--soft-ink)}
.sy-meta{font:600 12.5px var(--sans)!important;color:var(--muted)!important}.sy-tick svg.i{color:#1D6A4E;width:22px;height:22px}
.sy-tip{display:flex;gap:8px;align-items:flex-start;background:#FFF8E6;border-left:4px solid #D4A017;padding:10px 14px;border-radius:6px;font-size:15px;margin-top:10px}
.sy-step{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;margin:18px 0;padding:18px;border:1px solid var(--rule);border-radius:12px;background:var(--surface)}
.sy-n{width:36px;height:36px;border-radius:50%;background:#0F2B5B;color:#fff;display:flex;align-items:center;justify-content:center;font:700 16px var(--sans)}
.sy-sbody h2{margin:4px 0 10px;font:700 18px var(--sans)}.sy-provs{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px}
.sy-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}.sy-nav{display:flex;justify-content:space-between;gap:16px;margin:22px 0 8px;font-size:14.5px}
@media (max-width:620px){.sy-list{grid-template-columns:1fr}.sy-step{grid-template-columns:1fr}.sy-card{grid-template-columns:34px minmax(0,1fr) auto}}
@media (prefers-color-scheme:dark){.sy-card.done{background:#12281d}.sy-tip{background:rgba(212,160,23,.1)}.sy-bar{background:#2a3444}}
/* ---- student accounts: sign-in, highlights, notes, bookmarks, notebook ---- */
.acct{display:flex;align-items:center;gap:8px;margin-left:10px}
.acct-in{background:#F4DA72;color:#0F2B5B;border:0;border-radius:8px;padding:7px 12px;font:700 13.5px var(--sans);cursor:pointer}
.acct-nb{color:#fff;font:600 13.5px var(--sans);text-decoration:none;white-space:nowrap}.acct-nb:hover{text-decoration:underline}
.acct-av{width:30px;height:30px;border-radius:50%;background:#F4DA72;color:#0F2B5B;display:flex;align-items:center;justify-content:center;font:800 14px var(--sans)}
@media (max-width:900px){.acct-nb{display:none}}
.modal-back{position:fixed;inset:0;background:rgba(15,43,91,.45);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}
.modal{position:relative;background:var(--surface);color:var(--ink);border-radius:16px;width:min(440px,100%);padding:24px 26px;box-shadow:0 20px 50px rgba(0,0,0,.3)}
.modal h2{margin:0 0 6px;font:700 21px var(--serif)}.modal p{margin:0 0 14px;font-size:14.5px;line-height:1.5}
.modal input{width:100%;box-sizing:border-box;border:1px solid var(--rule);border-radius:10px;padding:11px 12px;font:15px var(--sans);margin-bottom:10px;background:var(--bg);color:var(--ink)}
.modal .btn{width:100%;justify-content:center;margin-bottom:8px}.modal-x{position:absolute;right:12px;top:8px;border:0;background:none;font-size:24px;cursor:pointer;color:var(--muted)}
.si-or{text-align:center;color:var(--muted);font-size:12.5px;margin:4px 0 10px!important}
mark.ua-hl{padding:1px 0;border-radius:2px;cursor:pointer;color:inherit}mark.ua-y{background:#FFE98A}mark.ua-g{background:#C9F0D6}mark.ua-p{background:#F7D1E3}
mark.ua-hl.has-note{border-bottom:2px dotted #B8860B}mark.ua-hl.flash{outline:3px solid #1E5B88}
.ua-tool{position:absolute;z-index:900;display:flex;gap:2px;background:#1B2433;border-radius:10px;padding:5px;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.ua-tool button{background:none;border:0;color:#fff;font:600 13px var(--sans);padding:6px 9px;border-radius:7px;cursor:pointer;display:flex;align-items:center}.ua-tool button:hover,.ua-tool button:focus-visible{background:#333d50}
.ua-dot{display:inline-block;width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.6)}.ua-dot.ua-y{background:#FFE98A}.ua-dot.ua-g{background:#C9F0D6}.ua-dot.ua-p{background:#F7D1E3}
.ua-pop{position:absolute;z-index:950;width:min(340px,92vw);background:var(--surface);border:1px solid var(--rule);border-radius:12px;box-shadow:0 10px 26px rgba(0,0,0,.18);padding:12px 14px}
.ua-pop textarea{width:100%;box-sizing:border-box;margin:6px 0 8px;border:1px solid var(--rule);border-radius:8px;padding:8px;font:14px var(--sans);background:var(--bg);color:var(--ink)}
.ua-act{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.ua-dock{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:800;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.ua-dock>button{border:1px solid var(--rule);background:var(--surface);color:var(--blue);border-radius:999px;padding:9px 14px;font:700 13.5px var(--sans);box-shadow:0 4px 14px rgba(0,0,0,.12);cursor:pointer}
.ua-dock>button.on{background:#A5372B;color:#fff;border-color:#A5372B}.ua-dock>button b{background:rgba(0,0,0,.1);border-radius:999px;padding:1px 7px;margin-left:4px}
.ua-drawer{order:-1;width:min(360px,92vw);max-height:60vh;overflow:auto;background:var(--surface);border:1px solid var(--rule);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.2);padding:12px 14px}
.ua-drawer[hidden]{display:none}.ua-dh{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:14px}
.ua-it{padding:8px 0;border-bottom:1px dashed var(--rule);font:13.5px/1.5 var(--serif)}.ua-note{margin:6px 0 0;border-left:4px solid #E6CF5C;background:#FFFBE6;border-radius:6px;padding:6px 9px;font:13.5px/1.45 var(--sans);color:#1B2433}
.ua-row{display:flex;gap:10px;margin-top:6px}.ua-row button{background:none;border:0;color:var(--blue);font:600 12.5px var(--sans);cursor:pointer;padding:0}
.nb-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px}.nb-actions{display:flex;gap:8px;margin-bottom:14px}
.nb-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}.nb-stats div{background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:12px 14px}.nb-stats b{display:block;font:800 22px var(--sans);color:var(--blue)}.nb-stats span{font:600 12.5px var(--sans);color:var(--muted)}
.nb-bar{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.nb-bar input,.nb-bar select{border:1px solid var(--rule);border-radius:10px;padding:9px 11px;font:14px var(--sans);background:var(--surface);color:var(--ink)}.nb-bar input{flex:1 1 240px}
.nb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:12px}
.nb-item{background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:14px 16px}
.nb-where{display:flex;gap:8px;font:700 13px var(--sans);color:var(--blue);text-decoration:none}.nb-where small{margin-left:auto;color:var(--muted);font-weight:600;white-space:nowrap}
.nb-q{margin:8px 0;font:14.5px/1.55 var(--serif)}.nb-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}.nb-tags span{font:600 11.5px var(--sans);background:#EEF1F5;border-radius:999px;padding:2px 9px;color:#3B465A}
.nb-del{margin-left:auto;background:none;border:0;color:#962E1C;font:600 12.5px var(--sans);cursor:pointer}
@media (max-width:620px){.nb-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.nb-grid{grid-template-columns:1fr}}
@media (prefers-color-scheme:dark){mark.ua-y{background:#6b5a14;color:#fff7cf}mark.ua-g{background:#1d5a37;color:#dcffe9}mark.ua-p{background:#6a2848;color:#ffe3f0}.nb-tags span{background:#222B38;color:#D5DCE6}}
@media print{header.top,footer,.no-print,.ua-dock,.ua-tool,.skip{display:none!important}body{background:#fff}.nb-grid{display:block}.nb-item{break-inside:avoid;margin-bottom:8px;border-color:#bbb}}
.acct{flex:0 0 auto}.acct-av{text-decoration:none}.acct-av:hover{box-shadow:0 0 0 3px rgba(244,218,114,.45)}
.nb-bar select{max-width:100%;min-width:0;flex:1 1 170px}
@media (max-width:1180px){.acct{margin-left:6px}.acct-in{padding:6px 10px;font-size:13px}}
@media (min-width:1101px) and (max-width:1500px){.topsearch input{width:170px}}
@media (max-width:760px){.acct{order:2;margin-left:auto}.acct-in{padding:5px 9px;font-size:12.5px}}
@media (max-width:760px){.top .menu-btn{order:3;margin-left:6px}}@media (max-width:420px){.devtag{display:none}.brand{font-size:19px}}
.ua-tool[hidden]{display:none!important}
/* point icons in explanations */
.kx{display:inline-flex;align-items:center;justify-content:center;min-width:1.5em;font-size:1.05em;line-height:1;font-style:normal}
.kx-h{font-size:1.15em;margin-right:2px}.kx-big{font-size:1.7em}
ul.kx-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
ul.kx-list li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:6px;align-items:start;font-size:15.5px;line-height:1.55}
ul.kx-list li .kx{width:26px;height:26px;border-radius:7px;background:rgba(15,43,91,.06);font-size:15px}
details.kx-key{margin:0 0 12px;font-size:13.5px}details.kx-key>summary{cursor:pointer;font:600 13.5px var(--sans);color:var(--blue);display:flex;align-items:center;gap:4px}
details.kx-key>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:6px 12px;margin-top:8px;padding:10px 12px;border:1px solid var(--rule);border-radius:10px;background:var(--surface)}
details.kx-key>div span{display:flex;align-items:center;gap:6px}
@media (prefers-color-scheme:dark){ul.kx-list li .kx{background:rgba(255,255,255,.08)}}
.st-three li{align-items:center}.st-three li .kx{margin-right:2px}li.kx-li{list-style:none;margin-left:-18px}
.st-three li{grid-template-columns:28px 28px minmax(0,1fr)!important;align-items:start}.st-three li .kx{width:26px;height:26px;border-radius:7px;background:rgba(15,43,91,.06)}
/* What changed this month */
.mc-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 12px;margin:0 0 18px}
.mc-bar .field{min-width:190px}
.mc-bar #mc-fresh{margin:0 0 8px auto}
.mc-sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px;margin:0 0 8px}
.mc-sum > *{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--rule);border-radius:12px;background:var(--surface);text-decoration:none;color:var(--ink)}
.mc-sum a:hover{background:var(--blue-soft)}
.mc-sum b{font:700 24px/1.1 var(--serif);color:var(--navy)}
.mc-sum span{font-size:13.5px;color:var(--muted)}
.mc-sum .is-zero b{color:var(--muted)}
@media (prefers-color-scheme:dark){.mc-sum b{color:var(--ink)}}
.mc-n{font-weight:500;font-size:16px}
.mc-kind{margin:0 0 18px}
.mc-kind h3{display:flex;align-items:center;gap:8px;margin:0 0 4px;font-size:15px}
.mc-why{margin:0 0 8px}
.mc-row .mc-t{font-weight:600;color:var(--ink);text-decoration:none}
.mc-row .mc-t:hover{text-decoration:underline;color:var(--blue)}
.mc-pills{display:block;margin-top:6px}
.mc-chips{margin-top:8px}
.mc-chips .chip{font-size:12.5px;padding:3px 10px}
@media (max-width:520px){.mc-bar #mc-fresh{margin:0;flex-basis:100%}.mc-bar .field{min-width:0;flex-basis:100%;order:-1}.mc-bar .btn{flex:1}}
/* HSN: one card per notification entry */
.ent-help{margin:0 0 14px;padding:12px 16px;border:1px solid var(--rule);border-radius:12px;background:var(--surface)}
.ent-help summary{font-weight:600;cursor:pointer;color:var(--navy)}
.ent-help div p{margin:10px 0 0;font-size:14.5px;line-height:1.55}
@media (prefers-color-scheme:dark){.ent-help summary{color:var(--ink)}}
.ent-list{display:flex;flex-direction:column;gap:12px;margin:10px 0 16px}
.ent-card{border:1px solid var(--rule);border-radius:12px;background:var(--surface);padding:14px 16px}
.ent-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.ent-no{font-weight:700;font-size:16px}
.ent-rate{font:700 22px/1.1 var(--serif);color:var(--navy);white-space:nowrap}
@media (prefers-color-scheme:dark){.ent-rate{color:var(--ink)}}
.ent-pills{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}
.ent-line{margin:8px 0 0;font-size:14.5px;line-height:1.5}
.ent-cond,.ent-chain{margin:10px 0 0;font-size:14.5px;line-height:1.5}
.ent-cond summary{cursor:pointer;font-weight:600;color:var(--blue)}
.ent-cond ol,.ent-chain ul{margin:8px 0 0;padding-left:22px}
.ent-cond li,.ent-chain li{margin:0 0 8px}
.ent-off{margin-top:4px}
.ent-off summary{cursor:pointer;font-size:13.5px;color:var(--muted)}
.ent-off p{margin:6px 0 0;font-size:13.5px;color:var(--soft-ink);white-space:pre-wrap}
.ent-boe{margin:12px 0 0;padding-top:10px;border-top:1px dashed var(--rule);font-size:14px}
/* notification page: principal or amending */
.nk-card{margin:0 0 18px;padding:14px 16px;border:1px solid var(--rule);border-left:4px solid var(--blue);border-radius:10px;background:var(--surface);font-size:15px;line-height:1.55}
.nk-card p{margin:0}
.nk-card dl{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:10px 0 0}
.nk-card dt{font-weight:600;color:var(--muted)}
.nk-card dd{margin:0}
.nk-card details{margin-top:10px}
.nk-card summary{cursor:pointer;font-weight:600;color:var(--blue)}
@media (max-width:520px){.nk-card dl{grid-template-columns:1fr}.nk-card dt{margin-top:6px}}
.ent-goods{margin:8px 0 0;font-size:14.5px;line-height:1.5}
@media (min-width:1100px){.ent-list{display:grid;grid-template-columns:1fr 1fr;align-items:start}}
.ent-chain ul{padding-left:18px}
.ent-cond1 ul{list-style:none;padding:0;margin:4px 0 0}
.ent-cond1 li{margin:0}
.ent-rate{text-align:right}
.ent-rate small{display:block;font:500 12px var(--sans);color:var(--muted);margin-top:2px}
.ent-vals{margin:6px 0 0;font-size:13.5px;color:var(--soft-ink)}
.ent-src{background:var(--gold-soft);border-radius:8px;padding:6px 10px}
.ent-list-ref{margin:10px 0 0;font-size:14.5px}
.ent-list-ref summary{cursor:pointer;font-weight:600;color:var(--blue)}
.ent-listitems{margin:8px 0 0;padding-left:22px;max-height:360px;overflow:auto}
.ent-listitems li{margin:0 0 4px;break-inside:avoid}
.ent-added{display:inline-block;margin-left:.4em;padding:0 .45em;border-radius:999px;font-size:.72rem;font-weight:600;background:var(--gold-soft,#fff4d6);color:var(--gold-ink,#7a5a00);vertical-align:1px}
.ent-list-note{margin:.2rem 0 .5rem;color:var(--muted,#555)}
.ent-listitems{padding-left:2.6em}

/* ---------- Book view (book.html) ---------- */
.bk-body main{flex:1}
.bk-wrap{max-width:min(1600px,100%);margin:0 auto;padding:14px 16px 20px;display:flex;flex-direction:column;gap:12px}
.bk-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
.bk-crumb{font-size:13.5px;color:var(--muted);min-width:0}
.bk-crumb a{font-weight:600}
.bk-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.bk-sel{font:500 14px var(--sans);color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:7px 10px;max-width:min(360px,100%)}
.bk-btn{font:600 14px var(--sans);color:var(--ink);background:var(--surface);border:1px solid var(--rule);border-radius:8px;padding:7px 13px;cursor:pointer}
.bk-btn:hover{border-color:var(--blue)} .bk-btn:disabled{opacity:.4;cursor:default}
.bk-go{background:var(--navy);color:#fff;border-color:var(--navy)}
@media (prefers-color-scheme:dark){.bk-go{background:#2A4A7A;border-color:#2A4A7A}}
.bk-size{display:flex;gap:4px}
.bk-stage{display:flex;justify-content:center;perspective:2800px;position:relative}
.bk-book{--bk-fs:15px;position:relative;display:grid;grid-template-columns:1fr 1fr;aspect-ratio:1.44;max-width:100%;filter:drop-shadow(0 14px 26px rgba(15,43,91,.18))}
.bk-book.single{grid-template-columns:1fr;aspect-ratio:auto}
.bk-book.single .bk-law{grid-template-columns:2.4em 1fr}
.bk-page{--pg:#FFFDF8;--edge:#EFE9DC;position:relative;overflow:hidden;background:var(--pg);color:var(--ink);height:100%}
@media (prefers-color-scheme:dark){.bk-page{--pg:#1B2230;--edge:#141A25}}
.bk-page.l{border-radius:6px 0 0 6px;background:linear-gradient(to left,var(--edge),var(--pg) 7%)}
.bk-page.r{border-radius:0 6px 6px 0;background:linear-gradient(to right,var(--edge),var(--pg) 7%)}
.bk-book.single .bk-page{border-radius:6px;background:var(--pg)}
.bk-none{background:transparent!important}
.bk-inner{position:absolute;top:calc(var(--bk-fs)*3.3);bottom:calc(var(--bk-fs)*3);left:calc(var(--bk-fs)*3);right:calc(var(--bk-fs)*3);font-size:var(--bk-fs);line-height:1.6;display:flex;flex-direction:column;gap:.7em;overflow:hidden}
.bk-page.l .bk-inner{right:calc(var(--bk-fs)*3.4)} .bk-page.r .bk-inner{left:calc(var(--bk-fs)*3.4)}
.bk-book.single .bk-inner{left:calc(var(--bk-fs)*1.7);right:calc(var(--bk-fs)*1.7)}
.bk-meas{position:absolute;left:-10000px;top:0;visibility:hidden;pointer-events:none}
.bk-meas .bk-page{height:100%}
.bk-run{position:absolute;top:calc(var(--bk-fs)*1.3);left:calc(var(--bk-fs)*3);right:calc(var(--bk-fs)*3);display:flex;justify-content:space-between;gap:1em;font:600 calc(var(--bk-fs)*.68) var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden}
.bk-run span{overflow:hidden;text-overflow:ellipsis;min-width:0}
.bk-run span:first-child{flex:none;max-width:45%}
.bk-book.single .bk-run{left:calc(var(--bk-fs)*1.7);right:calc(var(--bk-fs)*1.7)}
.bk-folio{position:absolute;bottom:calc(var(--bk-fs)*1.1);left:0;right:0;text-align:center;font-size:calc(var(--bk-fs)*.72);color:var(--muted);font-variant-numeric:tabular-nums}
.bk-inner h1{font:700 1.6em/1.25 var(--serif);color:var(--navy);margin:0;text-wrap:balance}
@media (prefers-color-scheme:dark){.bk-inner h1,.bk-h3,.bk-num,.bk-counts b{color:#A9C4E8!important}}
.bk-head{display:flex;flex-direction:column;gap:.3em;padding-bottom:.6em;border-bottom:2px solid var(--navy)}
.bk-eye{margin:0;font:600 .72em var(--sans);letter-spacing:.11em;text-transform:uppercase;color:var(--gold)}
.bk-num{margin:0;font:700 1em var(--sans);color:var(--navy)}
.bk-gone{margin:0;color:var(--red);font-weight:600}
.bk-h3{margin:.3em 0 0;font:700 1.02em var(--serif);color:var(--navy)}
.bk-muted{color:var(--muted)}
.bk-empty,.bk-blank{color:var(--muted);font-style:italic;margin:0}
.bk-blank{margin:auto;text-align:center;letter-spacing:.1em}
.bk-law{margin:0 0 0 calc(var(--lv,0)*2em);font:400 1em/1.7 var(--serif);display:grid;grid-template-columns:3em 1fr;gap:0 .2em}
.bk-law.l1{--lv:1} .bk-law.l2{--lv:2}
.bk-law .bk-sr{font:700 .88em var(--sans);color:var(--gold);padding-top:.15em}
.bk-law.frag{margin-bottom:-.7em}
.bk-tbl{overflow:hidden}
.bk-tbl table{font-size:.8em;width:100%}
.bk-tbl .doc-table-wrap{overflow:visible}
.bk-st{display:grid;grid-template-columns:5em 4.2em 1fr;gap:.55em;padding:.35em 0;border-bottom:1px solid var(--rule);font-size:.9em;align-items:baseline}
.bk-st .r{font-weight:700;color:var(--blue);overflow-wrap:anywhere}
.bk-tag{font:600 .7em var(--sans);letter-spacing:.05em;text-transform:uppercase;padding:.12em .4em;border-radius:4px;background:var(--rule-2);color:var(--muted);text-align:center}
.bk-tag.Limit,.bk-tag.Bar,.bk-tag.Penalty{background:var(--red-soft);color:var(--red)}
.bk-tag.Power,.bk-tag.Duty,.bk-tag.Right{background:var(--green-soft);color:var(--green)}
.bk-plain{margin:0;font:400 1.02em/1.75 var(--serif)}
.bk-ul{margin:0;padding-left:1.1em;font-size:.93em} .bk-ul li{margin:0}
.bk-mem{border:1px dashed var(--gold);border-radius:8px;padding:.6em .85em;text-align:center;font:italic 400 1em/1.5 var(--serif);color:var(--gold-ink)}
.bk-mem small{display:block;font:600 .66em var(--sans);letter-spacing:.1em;text-transform:uppercase;font-style:normal;margin-bottom:.2em}
.bk-fn{border-left:3px solid var(--gold);padding:.1em 0 .1em .75em;display:flex;flex-direction:column;gap:.15em}
.bk-fn p{margin:0;font-size:.95em}
.bk-fr{font-weight:700;color:var(--navy)}
.bk-inline{background:var(--gold-soft);border-radius:0 6px 6px 0;padding:.45em .7em}
.bk-pair{display:grid;grid-template-columns:1fr 1fr;gap:.45em;font-size:.86em}
.bk-pair>div{padding:.5em .65em;border-radius:6px}
.bk-pair .w{background:var(--red-soft)} .bk-pair .r{background:var(--green-soft)}
.bk-pair b{display:block;font-size:.8em;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.1em}
.bk-pair .w b{color:var(--red)} .bk-pair .r b{color:var(--green)}
.bk-note{border-left:3px solid var(--gold);background:var(--gold-soft);padding:.5em .75em;font-size:.88em;border-radius:0 6px 6px 0}
.bk-vs{border:1px solid var(--rule);border-radius:8px;padding:.5em .7em;font-size:.9em}
.bk-vs div{display:grid;grid-template-columns:1fr auto 1fr;gap:.6em;align-items:center}
.bk-vs span{font-size:.8em;color:var(--muted)} .bk-vs p{margin:.3em 0 0;color:var(--soft-ink)}
.bk-def{border-bottom:1px solid var(--rule);padding-bottom:.4em;font-size:.9em} .bk-def p{margin:0}
.bk-story{margin:0;font:400 .98em/1.75 var(--serif)}
.bk-vis{font-size:.82em} .bk-vis .visual{margin:0;padding:.7em}
.bk-vis .visual *{font-size:inherit!important;max-width:100%}
.bk-fit{font-size:.8em}
.bk-q{display:flex;flex-direction:column;gap:.5em}
.bk-qt{font:400 1em/1.6 var(--serif)} .bk-qt p{margin:0}
.bk-opts{display:flex;flex-direction:column;gap:.4em}
.bk-opt{display:grid;grid-template-columns:1.9em 1fr;gap:.35em;text-align:left;background:transparent;border:1px solid var(--rule);border-radius:8px;padding:.45em .65em;cursor:pointer;font:inherit;font-size:.9em;color:var(--ink)}
.bk-opt:hover{border-color:var(--blue)} .bk-opt .k{font-weight:700;color:var(--navy)}
.bk-opt.ok{background:var(--green-soft);border-color:var(--green)} .bk-opt.no{background:var(--red-soft);border-color:var(--red)}
.bk-fb{margin:0;font-size:.9em} .bk-fb .ok{color:var(--green)} .bk-fb .no{color:var(--red)}
.bk-links{display:flex;flex-direction:column;gap:.5em} .bk-links p{margin:0;font-size:.92em}
.bk-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(6.5em,1fr));gap:.45em}
.bk-counts div{border:1px solid var(--rule);border-radius:8px;padding:.45em;text-align:center}
.bk-counts b{display:block;font:700 1.3em var(--serif);color:var(--navy);font-variant-numeric:tabular-nums}
.bk-counts span{font-size:.74em;color:var(--muted)}
.bk-leaf{position:absolute;top:0;width:50%;height:100%;transform-style:preserve-3d;z-index:5;transition:transform .75s cubic-bezier(.4,.1,.2,1)}
.bk-leaf.fwd{left:50%;transform-origin:left center} .bk-leaf.back{left:0;transform-origin:right center}
.bk-leaf.fwd.go{transform:rotateY(-180deg)} .bk-leaf.back.go{transform:rotateY(180deg)}
.bk-leaf .bk-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.bk-leaf .bk-back{transform:rotateY(180deg)}
.bk-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(to right,rgba(0,0,0,.14),transparent 30%);opacity:0;transition:opacity .75s}
.bk-leaf.go .bk-shade{opacity:1}
.bk-slide{animation:bkslide .3s ease}
@keyframes bkslide{from{opacity:.25;transform:translateX(var(--dx,24px))}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.bk-leaf{transition:none}.bk-slide{animation:none}}
.bk-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:13px;color:var(--muted)}
.bk-where{font-variant-numeric:tabular-nums}
.bk-cta{display:inline-flex;align-items:center;gap:6px}
.bk-bar>*{min-width:0;max-width:100%}
@media (max-width:760px){.bk-tools{width:100%}.bk-sel{flex:1 1 100%;max-width:100%}.bk-tools .bk-go{margin-left:auto}.bk-wrap{padding-top:10px;gap:8px}}
@media (max-width:760px){
  .bk-crumb{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}
  .bk-tools{flex-wrap:nowrap}
  .bk-sel{flex:1 1 auto;min-width:0}
  #bk-prev,#bk-next{display:none}
  .bk-foot{font-size:12px}
}
.bk-phone-hint{display:none}
@media (max-width:760px){.bk-phone-hint{display:inline}}
.bk-crumbrow{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px}
.bk-open-btn{display:inline-flex;align-items:center;gap:6px}
.bk-open-btn svg{width:16px;height:16px}
.bk-fnote{font:calc(var(--bk-fs)*.78)/1.5 var(--sans);color:var(--muted);margin:.25em 0}
@media (prefers-color-scheme:dark){.bk-inner h1,.bk-num,.bk-h3,.bk-fr,.bk-opt .k,.bk-counts b{color:var(--ink)}.bk-head{border-bottom-color:var(--rule)}.bk-go{background:var(--blue);border-color:var(--blue);color:#0F141D}}
.ent-name{font:600 .82rem/1.3 var(--sans);color:var(--ink);margin-top:2px}
.ent-end{font-size:.9rem}

/* ---------------------------------------------------------------- Policy and information pages
   Terms, privacy, refunds, delivery, pricing, contact, about. Plain reading width, generous
   line height: these are documents people actually have to read, including Razorpay's reviewers. */
.legal{max-width:760px;margin:0 auto;padding:6px 0 40px}
.legal h1{font:800 clamp(26px,4.2vw,36px)/1.15 var(--sans);margin:0 0 14px;color:#0F2B5B}
.legal h2{font:700 20px/1.3 var(--sans);margin:30px 0 10px;color:#0F2B5B}
.legal p,.legal li{line-height:1.72}
.legal p{margin:0 0 12px}
.legal ul{margin:0 0 14px;padding-left:22px}
.legal li{margin:0 0 7px}
.legal .lede{font-size:17px;color:var(--soft-ink)}
.legal-date{font-size:13px;color:var(--soft-ink);margin:-6px 0 20px}
.legal-biz{margin-top:34px;padding-top:16px;border-top:1px solid var(--rule);font-size:13.5px;color:var(--soft-ink)}
.legal-biz p{margin:0 0 8px;line-height:1.6}
.legal .callout{background:#FBF2DD;border:1px solid #E9D28A;border-radius:12px;padding:14px 16px;margin:0 0 18px}
.legal .callout p:last-child{margin:0}
.legal .plan{border:1px solid var(--rule);border-radius:14px;padding:18px 20px;margin:0 0 20px;background:var(--surface)}
.legal .plan h2{margin-top:0}
.legal .price{font-size:17px}

/* Pricing is a page people compare on rather than read through, so it gets more of the width than
   the terms and policies do, and the two packages sit side by side where there is room for them. */
.legal-wide{max-width:1120px}
.legal-wide .lede{max-width:70ch}
/* min() so a narrow phone collapses to one column instead of forcing a 380px track and scrolling sideways */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:20px;align-items:start;margin:0 0 8px}
.plans .plan{margin:0;height:100%;display:flex;flex-direction:column}
.plans .plan .price{margin-top:auto;padding-top:4px}
.plan-list{margin:0 0 14px;padding-left:20px}
.plan-list li{margin:0 0 6px}
.legal-wide .terms-brief,.legal-wide > h2,.legal-wide > ul,.legal-wide > p:not(.lede):not(.backlink){max-width:78ch}
.buy-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:14px 0 0}
.buy{font-size:16px;padding:11px 20px}
.buy[disabled]{opacity:.6;cursor:progress}
.buy-msg{font:500 14px var(--sans);color:var(--soft-ink)}
.buy-msg.good{color:var(--green,#1D6A4E);font-weight:600}
.buy-msg.bad{color:#A5372B;font-weight:600}
.backlink{font-size:14.5px;margin:0 0 10px}
.backlink a{color:var(--blue);text-decoration:none;font-weight:600}
.backlink a:hover,.backlink a:focus-visible{text-decoration:underline}
.ptable{width:100%;border-collapse:collapse;margin:0 0 14px;font-size:15px}
.ptable th,.ptable td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--rule);vertical-align:top}
.ptable th{font:600 13px var(--sans);letter-spacing:.03em;text-transform:uppercase;color:var(--soft-ink)}
.ptable tr.now{background:#FBF2DD}
.ptable tr.now td{font-weight:600}
.ptier{font-size:16px;background:#EEF5FC;border:1px solid #BBD3EA;border-radius:10px;padding:11px 14px}
.foot-biz{margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.16);font-size:12.5px;line-height:1.65}
.foot-links{display:flex;flex-wrap:wrap;gap:6px 14px;margin-bottom:8px}
.foot-links a{color:inherit;text-decoration:underline;text-underline-offset:2px}
@media (max-width:520px){.ptable{font-size:14px}.ptable th,.ptable td{padding:8px 6px}}

/* Enquiry form on the Contact page */
.enq{margin:0 0 26px}
.enq-row{margin:0 0 15px}
.enq-row label{display:block;font:600 14px var(--sans);margin:0 0 5px;color:#0F2B5B}
.enq-row input,.enq-row select,.enq-row textarea{width:100%;font:15px/1.5 inherit;padding:10px 12px;border:1px solid var(--rule);border-radius:9px;background:var(--surface);color:inherit}
.enq-row textarea{resize:vertical;min-height:120px}
.enq-row input:focus,.enq-row select:focus,.enq-row textarea:focus{outline:3px solid #F4DA72;outline-offset:1px;border-color:#0F2B5B}
.enq-hint{font-size:13px;color:var(--soft-ink);margin:5px 0 0;line-height:1.55}
.enq-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.enq-msg{margin:12px 0 0;font-size:14.5px;min-height:1.2em}
.enq-msg.good{color:#1D6A4E;font-weight:600}
.enq-msg.bad{color:#8F2E23;font-weight:600}

/* Offer price block on the Pricing page: full price struck through, today's price beside it */
.offer{margin:4px 0 14px}
.offer-now{font:800 clamp(26px,5vw,36px)/1.15 var(--sans);color:#0F2B5B;margin:0 0 4px}
.offer-now s{color:var(--soft-ink);font-weight:600;font-size:.62em;margin-right:8px;text-decoration-thickness:2px}
.offer-pay{font-size:16px;margin:0 0 10px;color:var(--soft-ink)}
.offer-until{background:#FBF2DD;border:1px solid #E9D28A;border-radius:10px;padding:10px 13px;margin:0 0 8px;font-size:15.5px}
.offer-next{font-size:13.5px;color:var(--soft-ink);margin:0}

/* The watchdog's verdict, at the top of the staff queue. */
.stale{background:#FCEDEA;border:1px solid #E3B4AA;border-radius:12px;padding:14px 18px;margin:0 0 18px}
.stale p{margin:0 0 8px;font-size:16px}
.stale ul{margin:0;padding-left:20px}
.stale li{margin:0 0 4px;font-size:15px}

/* The staff queue of updates waiting to be posted to the Reference channel. */
.qcard{border:1px solid var(--rule);border-radius:12px;padding:14px 16px;margin:0 0 14px;background:var(--surface)}
.qhead{margin:0 0 8px;font-size:15.5px}
.qkind{display:inline-block;background:#EEF2F8;border:1px solid #D4DEEC;border-radius:999px;padding:1px 9px;font:600 12.5px var(--sans);color:var(--blue);text-transform:uppercase;letter-spacing:.03em}
.qbody{width:100%;box-sizing:border-box;font:400 15px/1.55 var(--sans);color:var(--ink);padding:10px 12px;border:1px solid #B9C4D4;border-radius:8px;background:#fff;resize:vertical}
.qacts{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 0}
.qacts .btn{min-height:38px;padding:0 14px;font-size:14.5px}
.qmsg{font:500 14px var(--sans);color:var(--soft-ink)}
.qmsg.good{color:var(--green,#1D6A4E);font-weight:600}
.qmsg.bad{color:#A5372B;font-weight:600}

/* Shown in place of a price to a reader who already owns the package. */
.owned{background:#EEF7F1;border:1px solid #BEDFCB;border-radius:12px;padding:14px 16px;margin:4px 0 0}
.owned p{margin:0 0 10px;font-size:16px}
.owned p:last-child{margin:0}
.owned .btn{font-size:15px;padding:9px 18px}
.plans .plan .owned-wrap{margin-top:auto;padding-top:4px}

/* Shown in place of material the reader has not paid for */
.locked{display:flex;gap:14px;align-items:flex-start;background:#FBF2DD;border:1px solid #E9D28A;border-radius:14px;padding:18px 20px}
.locked .i{width:26px;height:26px;flex:none;color:#8A6300;margin-top:2px}
.locked b{display:block;font-size:16.5px;color:#0F2B5B;margin-bottom:4px}
.locked p{margin:0 0 10px;color:var(--soft-ink);font-size:14.5px;line-height:1.6}
.locked-do{display:flex;gap:10px;flex-wrap:wrap;margin:0}
@media (max-width:520px){.locked{flex-direction:column;gap:10px}}

/* ---------- book view: reading full screen ---------- */
/* Each browser still needs its own spelling of the fullscreen selector, and an unrecognised
   one invalidates the whole rule, so these cannot be combined into a list. */
.bk-wrap:fullscreen{max-width:none;width:100%;height:100%;box-sizing:border-box;background:var(--bg);padding:10px 20px 12px;justify-content:center}
.bk-wrap:-webkit-full-screen{max-width:none;width:100%;height:100%;box-sizing:border-box;background:var(--bg);padding:10px 20px 12px;justify-content:center}
body.bk-full .bk-phone-hint{display:none}
body.bk-full .bk-foot{padding-bottom:0}

/* ---------- sign in / register ---------- */
.si-tabs{display:flex;gap:6px;margin:0 0 14px;padding:4px;background:var(--rule-2);border-radius:10px}
.si-tab{flex:1;border:0;background:transparent;border-radius:7px;padding:8px 6px;cursor:pointer;font:600 13.5px var(--sans);color:var(--muted)}
.si-tab.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(15,43,91,.14)}
.si-l{display:block;font:600 12.5px var(--sans);letter-spacing:.02em;color:var(--muted);margin:0 0 4px}
.si-why{margin:-4px 0 12px!important}
#si-phone-row{margin-top:2px}

/* the quiet request for a mobile number from accounts that have none */
.phonebar{position:fixed;left:0;right:0;bottom:0;z-index:900;background:var(--surface);border-top:1px solid var(--rule);box-shadow:0 -6px 24px rgba(15,43,91,.14)}
.pb-in{max-width:980px;margin:0 auto;padding:12px 16px;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.pb-t{flex:1 1 260px;min-width:0}
.pb-t b{font:700 15px var(--sans)}
.pb-t p{margin:2px 0 0;font-size:13px;color:var(--muted)}
.phonebar input{border:1px solid var(--rule);border-radius:9px;padding:9px 11px;font:15px var(--sans);background:var(--bg);color:var(--ink);width:210px;max-width:100%}
.phonebar .btn{margin:0}
.pb-msg{flex-basis:100%;margin:0;font-size:13px;color:var(--muted)}
@media (max-width:620px){.pb-in{gap:8px}.phonebar input{flex:1 1 150px;width:auto}}

/* ---------- the commercial terms, summarised on the pricing page ---------- */
.terms-brief{border:1px solid var(--rule);border-radius:12px;padding:18px 20px;background:var(--surface)}
.terms-brief dl{margin:0;display:grid;grid-template-columns:minmax(150px,210px) 1fr;gap:0}
.terms-brief dt{font:700 14px var(--sans);color:var(--navy);padding:10px 14px 10px 0;border-top:1px solid var(--rule)}
.terms-brief dd{margin:0;padding:10px 0;border-top:1px solid var(--rule);font-size:14.5px;line-height:1.6}
.terms-brief dt:first-of-type,.terms-brief dd:first-of-type{border-top:0}
.terms-brief>p:last-child{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--rule)}
@media (prefers-color-scheme:dark){.terms-brief dt{color:#A9C4E8}}
@media (max-width:620px){
  .terms-brief{padding:14px 16px}
  .terms-brief dl{grid-template-columns:1fr}
  .terms-brief dt{padding:12px 0 2px}
  .terms-brief dd{padding:0 0 12px;border-top:0}
}

/* ---------- the six-digit code step ---------- */
.si-code{text-align:center;font:700 24px/1.2 var(--sans)!important;letter-spacing:.34em;text-indent:.34em;padding:13px 10px!important}
.si-again{display:flex;justify-content:space-between;gap:12px;margin:2px 0 0!important}
.linkish{border:0;background:none;padding:0;cursor:pointer;font:500 13.5px var(--sans);color:var(--blue);text-decoration:underline;text-underline-offset:2px}
.linkish:hover{color:var(--navy)}
.linkish:disabled{opacity:.5;cursor:default}
@media (prefers-color-scheme:dark){.linkish{color:#7CC4EE}.linkish:hover{color:#A9C4E8}}
@media (max-width:420px){.brand-mark{height:26px}}
/* `hidden` must win over any display rule set elsewhere (.si-tabs is a flex row) */
[hidden]{display:none!important}

/* ---------- Customs Manual: clause-by-clause explainers ----------
   The manual's own words are quoted at the head of each clause and the explanation runs
   underneath at full width. Side by side left a tall gap: a clause averages five or six
   lines while an explanation with a diagram runs 800px or more. */
.mt-wide{max-width:1180px}
.mc-intro{margin:0 0 16px}
.mc-clause{margin:0 0 18px}
.mc-clause.study{scroll-margin-top:84px}
.mc-ref{margin:0 0 14px;font:700 12px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.mc-ref span{color:var(--muted);letter-spacing:.04em;text-transform:none;font-weight:600;font-size:13px}
.mc-law{font:400 15.5px/1.75 var(--serif);color:var(--soft-ink);
  background:var(--rule-2);border-left:4px solid var(--gold);
  border-radius:0 10px 10px 0;padding:15px 18px;margin:0 0 20px}
.mc-law p{margin:0 0 .8em}.mc-law p:last-child{margin-bottom:0}
.mc-law .lab{display:block;font:700 10.5px var(--sans);letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted);margin:0 0 7px}
.mc-note>h3:first-child{margin-top:0}
.mc-note .plain{margin-top:0}
.mc-defs{margin:0;display:grid;grid-template-columns:minmax(120px,auto) 1fr;gap:6px 16px;font-size:14.5px}
.mc-defs dt{font-weight:700;color:var(--navy)}
.mc-defs dd{margin:0;color:var(--soft-ink)}
.mc-traps li{margin-bottom:6px}
@media (prefers-color-scheme:dark){.mc-ref{color:#E0C36A}.mc-defs dt{color:#A9C4E8}}
@media (max-width:620px){.mc-defs{grid-template-columns:1fr;gap:2px 0}.mc-defs dd{margin-bottom:8px}
  .mc-law{padding:13px 15px}}

/* the chapter's own section list, collapsible so it does not bury the other chapters */
.nav-subwrap{margin:2px 0 6px}
.nav-subwrap>summary{cursor:pointer;list-style:none;padding:6px 10px;font:600 12px var(--sans);
  letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.nav-subwrap>summary::-webkit-details-marker{display:none}
.nav-subwrap>summary::before{content:"\25BE";display:inline-block;margin-right:6px;transition:transform .15s}
.nav-subwrap:not([open])>summary::before{transform:rotate(-90deg)}
.nav-subwrap>summary b{color:var(--ink)}
.nav-subwrap>summary:hover{color:var(--blue)}
.nav-subwrap .nav-sub{max-height:min(46vh,480px);overflow:auto}

/* ---------------------------------------------------------------- HSN / Tariff
   The 21 sections of the schedule. Three to a row on a wide screen: at two, each card
   ran 650px wide and a one-line heading looked like a banner. The number is the anchor
   the eye lands on, so it leads. */
.hsn-sections{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}
.hsn-sec{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:start;gap:14px;
  text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--rule);
  border-radius:12px;padding:16px 18px}
.hsn-sec:hover{border-color:var(--blue);background:var(--blue-soft)}
.hsn-sec .n{font:700 20px/1.1 var(--serif);color:var(--gold-ink);padding-top:2px;letter-spacing:.02em}
.hsn-sec .t{font:600 15.5px/1.45 var(--sans);color:var(--navy)}
@media (prefers-color-scheme:dark){
  .hsn-sec .t{color:var(--ink)}
  .hsn-sec:hover{background:var(--surface)}
}
/* Trade agreements tab: the chip reads as a category, not a duty. */
.sctab[data-levy="__fta"]{border-style:dashed}
.sctab[data-levy="__fta"][aria-selected="true"]{border-style:solid}

/* The WhatsApp community card, shown to Reference and exam holders. Green so it reads as the
   thing they just bought, not as another warning banner. */
.wa-join{display:flex;gap:14px;align-items:flex-start;margin:0 0 18px;padding:16px 18px;
  border-radius:12px;background:var(--green-soft);border:1px solid #B7DBC5;color:var(--ink)}
.wa-join svg.i{width:24px;height:24px;flex:none;margin-top:2px;color:var(--green)}
.wa-join b{display:block;font:700 16px var(--sans);color:#14503B}
.wa-join p{margin:6px 0 0;font-size:14.5px;line-height:1.55;color:var(--soft-ink);max-width:62ch}
.wa-join p:last-child{margin-top:12px}
.wa-join .btn{background:#1D6A4E;border-color:#1D6A4E}
.owned .wa-join{margin-top:14px;margin-bottom:0}
@media (prefers-color-scheme:dark){
  .wa-join{background:var(--surface);border-color:var(--rule)}
  .wa-join b{color:var(--ink)}
}
