/* Towed in LA Library pages (server/app/library.py). Same tokens and type as site/legal/*.html. */
:root{--bg:#fff;--fg:#1b1b1b;--muted:#555;--line:#d8d8d8;--link:#0b5394;--panel:#f4f6f8;--accent:#0b5394;--accent-fg:#fff;
--warn-bg:#fff4c2;--warn-fg:#5a4500;--warn-line:#d9b100;--flag-bg:#fdecea;--flag-fg:#7a1a12;--ok:#1d6b35;--focus:#d9480f}
@media (prefers-color-scheme: dark){:root{--bg:#151515;--fg:#ececec;--muted:#aaa;--line:#3a3a3a;--link:#8ab4f8;--panel:#1f2328;
--accent:#8ab4f8;--accent-fg:#111;--warn-bg:#3a3000;--warn-fg:#ffe58a;--warn-line:#a68a00;--flag-bg:#3b1612;--flag-fg:#ffb4a8;--ok:#7fd49a;--focus:#ffa94d}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--link)}
a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.wrap{max-width:46rem;margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-9999px;top:0;background:var(--bg);padding:8px 12px;z-index:2}
.skip:focus{left:8px;top:8px}
header.top{border-bottom:1px solid var(--line);padding:10px 0;margin-bottom:8px}
.brand{margin:0 0 6px;font-weight:700;font-size:1.05em}
.brand a{color:var(--fg);text-decoration:none}
.brand span{color:var(--muted);font-weight:600}
header nav{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.95em}
header nav a{padding:4px 0}
header nav a[aria-current="page"]{font-weight:700;color:var(--fg);text-decoration-thickness:3px}
main{padding-bottom:24px}
h1{font-size:1.7em;line-height:1.2;margin:.6em 0 .4em}
h2{margin-top:1.8em;line-height:1.25}
h3{margin:.2em 0 .3em;line-height:1.3}
.lead{font-size:1.08em}
.small{font-size:.88em;color:var(--muted)}
.note{background:var(--warn-bg);color:var(--warn-fg);border:2px solid var(--warn-line);border-radius:8px;padding:10px 14px;margin:14px 0}
.note p{margin:.3em 0}
.btn{display:inline-block;background:var(--accent);color:var(--accent-fg);border:0;border-radius:8px;padding:10px 16px;
font:inherit;font-weight:700;text-decoration:none;cursor:pointer;min-height:44px}
.btn:hover{filter:brightness(1.1)}
.btn.big{font-size:1.1em;padding:12px 20px}
.cards{list-style:none;padding:0;margin:12px 0;display:grid;gap:10px}
@media (min-width:640px){.cards{grid-template-columns:1fr 1fr}}
.cards a{display:block;height:100%;border:1px solid var(--line);border-radius:10px;padding:12px 14px;text-decoration:none;color:var(--fg);background:var(--panel)}
.cards a strong{display:block;color:var(--link);font-size:1.05em;margin-bottom:4px}
.cards a span{font-size:.95em}
.cards a:hover strong{text-decoration:underline}
.soon{color:var(--muted);font-size:.95em}
ul.plain{padding-left:1.1em}
.item{border-top:1px solid var(--line);padding:12px 0 6px}
.item p{margin:.4em 0}
.item h2{margin:.2em 0 .3em;font-size:1.25em}
.meta{font-size:.9em;color:var(--muted);margin:0}
.status{font-weight:600}
.src,.checked{font-size:.9em}
.checked{color:var(--muted)}
.more{font-size:.95em}
.flag{background:var(--flag-bg);color:var(--flag-fg);border-radius:6px;padding:6px 10px;font-size:.92em}
ul.links{margin:.2em 0 .4em;padding-left:1.1em}
.tbl{overflow-x:auto;margin:12px 0;-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;font-size:.93em}
caption{text-align:left;font-weight:600;padding:4px 0}
th,td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}
thead th{background:var(--panel)}
.tag{display:inline-block;font-size:.85em;font-weight:600;border:1px solid var(--line);border-radius:999px;padding:0 8px;white-space:nowrap}
tr.st-official .tag{color:var(--ok);border-color:currentColor}
tr.st-not_verified .tag,tr.st-secondary .tag{color:var(--warn-fg);background:var(--warn-bg);border-color:var(--warn-line)}
tr.st-gap td,tr.st-gap th{color:var(--muted)}
table.yards{min-width:56rem}
table.rates{min-width:34rem}
.conflict{margin:.4em 0 0;background:var(--warn-bg);color:var(--warn-fg);border-left:4px solid var(--warn-line);padding:4px 8px;font-size:.92em}
.calc{border:2px solid var(--line);border-radius:10px;padding:4px 14px 12px;margin:18px 0;background:var(--panel)}
.calc h2{margin-top:.6em}
fieldset{border:0;padding:0;margin:0 0 10px}
legend{font-weight:700;margin-bottom:6px}
label.opt{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--line);cursor:pointer}
label.opt input{margin-top:.35em;width:1.15em;height:1.15em;flex:none}
input[type=date]{font:inherit;padding:8px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--fg);min-height:44px;margin-top:4px}
.err{color:var(--flag-fg);background:var(--flag-bg);padding:6px 10px;border-radius:6px;font-weight:600}
#calcOut h3{margin-top:.8em}
.res{list-style:none;padding:0;margin:8px 0}
.res li{border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:8px 0;background:var(--bg)}
.res .when{display:block;font-size:1.12em;font-weight:700}
.res .why{display:block;font-size:.9em;color:var(--muted);margin-top:2px}
.res .warn{display:block;color:var(--warn-fg);background:var(--warn-bg);border-radius:4px;padding:2px 6px;margin-top:4px;font-size:.92em;font-weight:600}
.cta{border:2px solid var(--accent);border-radius:10px;padding:8px 14px;margin:28px 0 8px}
.cta p{margin:.5em 0}
footer{margin-top:16px;padding-top:12px;padding-bottom:32px;border-top:1px solid var(--line);font-size:.9em;color:var(--muted)}
@media print{header.top nav,.cta,.skip{display:none}a{color:inherit}}
