/* UK Tax Code — Library (generated by build-library.mjs) */
:root{
  --bg:#0a0f1e; --bg-2:#0f1730; --panel:#141d38; --line:#26335c;
  --ink:#eef2fb; --ink-soft:#c3cce2; --white:#fff;
  --teal:#22d3ee; --emerald:#10b981; --gold:#f5b301;
  --radius:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; font-family:"Inter",system-ui,sans-serif; color:var(--ink); line-height:1.65;
  background:
    radial-gradient(1100px 600px at 80% -10%, rgba(34,211,238,.14), transparent 60%),
    radial-gradient(900px 500px at -10% 10%, rgba(139,92,246,.16), transparent 55%),
    var(--bg);
  min-height:100vh;
}
h1,h2,h3,.brand-name{font-family:"Sora","Inter",sans-serif; letter-spacing:-.02em}
a{color:var(--teal); text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible{outline:3px solid var(--gold); outline-offset:3px; border-radius:4px}
.topbar{position:sticky; top:0; z-index:30; background:rgba(10,15,30,.94); backdrop-filter:blur(10px); border-bottom:1px solid var(--line)}
.site-header{display:flex; align-items:center; justify-content:space-between; gap:20px; max-width:1120px; margin:0 auto; padding:14px clamp(18px,5vw,40px)}
.brand{display:flex; align-items:center; gap:12px; color:var(--white); font-weight:800}
.brand:hover{text-decoration:none}
.brand-mark{display:grid; place-items:center; width:38px; height:38px; border-radius:11px;
  background:linear-gradient(135deg,var(--teal),var(--emerald)); color:#04121a;
  font-family:"Sora"; font-weight:800; font-size:22px; box-shadow:0 8px 20px -6px rgba(34,211,238,.6)}
.brand-name{font-size:20px}
.site-nav{display:flex; gap:22px; flex-wrap:wrap}
.site-nav a{color:var(--ink-soft); font-weight:500}
.site-nav a:hover{color:var(--white); text-decoration:none}
.site-nav a[aria-current]{color:var(--white)}
main{max-width:1120px; margin:0 auto; padding:clamp(28px,5vw,56px) clamp(18px,5vw,40px) 72px}
.back{display:inline-block; margin-bottom:20px; color:var(--ink-soft); font-weight:600}
.eyebrow{display:inline-block; font-weight:700; font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--teal); border:1px solid var(--line); border-radius:999px; padding:6px 14px; margin-bottom:14px; background:rgba(34,211,238,.06)}
h1{font-size:clamp(30px,5vw,50px); line-height:1.08; margin:.2rem 0 1rem; color:var(--white); max-width:26ch; text-wrap:balance}
h2{font-size:clamp(19px,2.5vw,26px); margin:2rem 0 .6rem; color:var(--white)}
.lede{font-size:clamp(16px,2.2vw,20px); color:var(--ink-soft); max-width:720px}
.meta{display:flex; flex-wrap:wrap; gap:12px 18px; align-items:center; margin:18px 0 8px}
.official-source{display:inline-flex; align-items:center; gap:8px; padding:11px 18px; border-radius:999px;
  background:linear-gradient(135deg,var(--teal),var(--emerald)); color:#04121a; font-weight:800}
.official-source:hover{text-decoration:none; filter:brightness(1.06)}
article,.group{margin-top:22px; padding:clamp(18px,3vw,32px); border:1px solid var(--line); border-radius:var(--radius); background:var(--panel)}
.document-body,.document-section{max-width:78ch}
.document-section h2{border-top:1px solid var(--line); padding-top:1.2rem}
.empty-note{color:var(--ink-soft); font-style:italic}
.library-list{display:grid; gap:12px; padding:0; list-style:none; margin:0}
.library-list li{padding:14px 16px; border:1px solid var(--line); border-radius:12px; background:var(--bg-2)}
.library-list a{font-weight:700; color:var(--white)}
.library-list span{display:block; margin-top:4px; color:var(--ink-soft); font-size:.9rem}
.search-wrap{position:relative; max-width:620px; margin:22px 0 6px}
.search-wrap input{width:100%; padding:16px 18px; font-size:16px; color:var(--white); background:var(--panel);
  border:1px solid var(--line); border-radius:14px; outline:none; font-family:inherit}
.search-wrap input:focus{border-color:var(--teal); box-shadow:0 0 0 3px rgba(34,211,238,.18)}
.search-hint{color:var(--ink-soft); font-size:.9rem; margin:6px 0 0}
#results{margin-top:18px; display:grid; gap:12px}
.result{padding:14px 16px; border:1px solid var(--line); border-radius:12px; background:var(--panel)}
.result h3{margin:0 0 4px; font-size:1.05rem}
.result h3 a{color:var(--white)}
.result .rsource{color:var(--teal); font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em}
.result .rsnippet{color:var(--ink-soft); margin:6px 0 0; font-size:.94rem}
.result mark{background:rgba(245,179,1,.28); color:var(--white); padding:0 2px; border-radius:3px}
footer{max-width:1120px; margin:0 auto; padding:26px clamp(18px,5vw,40px) 48px; border-top:1px solid var(--line); color:var(--ink-soft); font-size:.9rem}
footer a{color:var(--teal)}
footer .disclaimer{color:var(--ink)}
