:root { color-scheme: light; --ink:#102d46; --secondary:#465b68; --green:#226b58; --paper:#fffdf9; --tint:#eef5ee; --line:#d6dfd9; --white:#fff; font: 16px/1.62 Inter, Arial, sans-serif; }
* {box-sizing:border-box}
body {margin:0;background:var(--paper);color:var(--ink)}
.wrap {width:min(100% - 3rem, 67rem);margin-inline:auto}
.mast {background:var(--white);border-bottom:1px solid var(--line)}
.bar,.foot {display:flex;align-items:center;justify-content:space-between;gap:1.25rem;flex-wrap:wrap}
.bar {min-height:5.15rem;padding-block:.65rem}
.brand {display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--ink)}
.brand strong,.brand small {display:block;line-height:1.35}
.brand small {font-size:.72rem;color:var(--secondary)}
.dot {width:2.45rem;height:2.45rem;border-radius:50%;background:var(--green);color:white;display:grid;place-items:center}
nav {display:flex;flex-wrap:wrap;gap:1.5rem}
nav a {color:var(--ink);font-size:.92rem;font-weight:600}
a {color:var(--green);text-underline-offset:.19em;overflow-wrap:anywhere}
a:hover {color:#124a3f}
a:focus-visible,input:focus-visible,button:focus-visible,summary:focus-visible {outline:3px solid #1769b5;outline-offset:3px}
main {padding-top:2.5rem;padding-bottom:4rem;min-height:65vh}
h1,h2,h3 {line-height:1.13;text-wrap:balance}
h1 {font-size:clamp(2.35rem,5.4vw,4.25rem);letter-spacing:-.055em;font-weight:600;margin:.65rem 0 1rem}
h2 {font-size:clamp(1.55rem,3.2vw,2.15rem);font-weight:600;letter-spacing:-.035em;margin:.35rem 0 1rem}
h3 {font-size:1.26rem;letter-spacing:-.02em;margin:.45rem 0 .7rem}
:where(section,aside,details)[id] {scroll-margin-top:1.25rem}
.eyeline,.meta,small,.crumb,figcaption {color:var(--secondary)}
.eyeline {letter-spacing:.095em;text-transform:uppercase;font-size:.73rem;font-weight:700;margin:0;color:var(--green)}
.lead {font-size:clamp(1.07rem,2.3vw,1.3rem);font-weight:400;color:var(--secondary);line-height:1.62;max-width:52ch}
.splash {display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,5rem);padding-bottom:2.3rem;border-bottom:1px solid var(--line)}
figure {margin:0;position:relative}
figure img {width:100%;aspect-ratio:1.2;object-fit:cover;object-position:center 32%;display:block;border-radius:.45rem}
figcaption {position:absolute;left:.65rem;bottom:.65rem;border-radius:.25rem;background:var(--paper);padding:.22rem .65rem;font-size:.8rem}
form {margin-top:1.6rem}
label,dt {display:block;font-weight:650}
.query {display:flex;gap:.5rem;margin-top:.3rem}
input,button {font:inherit;border-radius:.35rem;padding:.68rem .85rem}
input {min-width:0;flex:1;border:1px solid #788e89;background:white;color:var(--ink)}
button {border:1px solid var(--green);background:var(--green);color:white;cursor:pointer}
section,#results {margin-top:2.3rem}
.entries {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem}
.entry {border-top:3px solid var(--green);padding:1rem 0 .5rem}
.entry p,dd {color:var(--secondary);margin:.45rem 0 1.2rem}
.measure {max-width:51rem}
.crumb {font-size:.9rem;margin:0 0 1.7rem}
.crumb a {text-decoration:none}
.crumb a::before {content:"← ";color:var(--green)}
.meta,small,.refs,.downloads,.foot {font-size:.87rem}
aside {background:var(--tint);border-left:4px solid var(--green);padding:1rem 1.2rem;margin:1.25rem 0;max-width:75ch}
.jump,.downloads {border-top:1px solid var(--line);padding-top:.8rem}
.rolelist {columns:2}
li {margin:.4rem 0}
.sources small {display:block}
.memo p {overflow-wrap:anywhere}
.tablewrap {overflow-x:auto}
table {border-collapse:collapse;width:100%;text-align:left;font-size:.9rem}
caption {text-align:left;padding:.8rem 0}
th,td {border-bottom:1px solid var(--line);vertical-align:top;padding:.55rem}
summary {cursor:pointer;color:var(--green);font-weight:600}
.foot {padding-block:1.4rem}
footer {border-top:1px solid var(--line);background:var(--tint)}
.skip {position:absolute;left:-9999px}
.skip:focus {left:.5rem;top:.5rem;background:#fff;padding:.5rem;z-index:2}
[hidden] {display:none!important}
@media(max-width:720px) {.splash {grid-template-columns:1fr;gap:1.2rem}.splash figure {width:min(100%,24rem)}.splash figure img {aspect-ratio:1.9;object-position:center 18%}.entries {grid-template-columns:1fr;gap:.5rem}.bar nav {gap:1rem}.wrap {width:calc(100% - 2rem)}main {padding-top:1.5rem}.query {flex-wrap:wrap}}
@media(max-width:400px) {.rolelist {columns:1}.bar {gap:.6rem}}
