*{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:light dark}body{margin:0;background:#f7f8f4;color:#17372b;font:17px/1.54 system-ui,Arial,sans-serif}
main{max-width:1150px;margin:auto;padding:18px clamp(14px,3vw,36px) 60px}
h1{font-size:clamp(30px,4.5vw,42px);line-height:1.15;margin:10px 0 15px;letter-spacing:-.015em}
h2{font-size:clamp(22px,3vw,28px)}h3{font-size:20px}a{color:#135c4d}
a:focus-visible,button:focus-visible{outline:3px solid #c7852f;outline-offset:4px}
.eyebrow{font-size:14px;color:#3b6657;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.first{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0}
.first a{display:inline-flex;align-items:center;padding:9px 14px;min-height:48px;border:2px solid #176952;border-radius:9px;text-decoration:none;font-weight:750}
.first a:first-child{background:#176952;color:white}
.notice{padding:14px;border-left:5px solid #be8734;background:#fff3df;margin:12px 0 18px;border-radius:8px}
.container{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:22px;align-items:start}
.article{min-width:0}.source-aside{position:sticky;top:22px;background:#e8f1e9;padding:16px;border-radius:13px;border:1px solid #bdd4c7}
.source-aside p{font-size:14px;margin:9px 0;color:#355c4b}
.court-block{border-radius:15px;border:1px solid #bbcec4;background:white;padding:17px;margin:18px 0}
.court-block h2{font-size:clamp(21px,3vw,26px);margin:0 0 14px;line-height:1.25}
.court-p{font:17px/1.6 Georgia,serif;margin:0 0 15px;overflow-wrap:break-word;widows:3;orphans:3}
.court-p:last-child{margin-bottom:0}.source-sublabel{font-size:13px;letter-spacing:.06em;text-transform:uppercase;font-weight:800;color:#41715c}
.art-figure{padding:13px;margin:18px 0;border:1px solid #a9cbb9;border-radius:13px;background:#f6fbf6}
.art-figure figcaption{font-size:15px;color:#325f50;margin:10px 0}
.art-frame{overflow-x:auto;max-width:100%;border-radius:10px;background:#e8f0e9;padding:10px;overscroll-behavior-inline:contain}
.art-click{display:block;background:transparent;border:0;padding:0;text-align:left;cursor:zoom-in}
.art-click img{display:block;width:min(900px,82vw);height:auto;min-width:380px;max-height:none}
.art-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:11px}
.art-links a{min-height:42px;display:inline-flex;align-items:center;border:1px solid #548f74;border-radius:7px;padding:7px 10px}
.art-draft{border-left:4px solid #b58335}.art-accepted{border-left:4px solid #247c5d}
.comments{padding:19px;background:white;border-radius:15px;border:1px solid #c4d4c9;margin:24px 0}
.comments h2{margin:0 0 12px}.comments p{font:16px/1.55 Georgia,serif;overflow-wrap:anywhere}
.endnav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:22px 0}
.endnav a{min-height:48px;padding:10px 13px;border-radius:9px;border:2px solid #14684f;text-decoration:none;font-weight:700}
.entry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px;margin:22px 0}
.entry{display:block;background:#fff;border:1px solid #b9cec2;border-radius:12px;padding:15px;text-decoration:none}
.entry strong{display:block;font-size:20px}.entry p{font-size:15px;color:#3b6054;margin:7px 0}.abolished{border-style:dashed}
footer{font-size:14px;color:#576e61;padding-top:25px}
dialog{padding:0;width:min(96vw,1150px);height:min(94vh,1040px);max-height:94vh;max-width:96vw;border:0;border-radius:13px;background:#f7faf5;color:#193b31}
dialog::backdrop{background:rgba(0,27,22,.83)}
.modal{height:100%;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:9px;padding:12px}
.modal-head,.controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.modal-head strong{font-size:18px}.controls button,.modal-head button{font:700 16px system-ui;padding:8px 12px;min-height:44px;border:1px solid #6d9981;background:white;border-radius:8px;cursor:pointer;color:#1b4033}
.viewport{background:#d9e8dd;overflow:auto;min-height:0;min-width:0;overscroll-behavior:contain}
.viewport img{display:block;max-width:none;height:auto}.meter{font-size:14px;font-weight:800}
@media(max-width:720px){.container{display:block}.source-aside{position:static;margin:18px 0}}
@media(max-width:420px){main{padding:14px}.court-block{padding:12px}.art-figure{padding:8px}.art-click img{width:520px;min-width:520px}.entry-grid{grid-template-columns:1fr}}
@media(prefers-color-scheme:dark){body{background:#142720;color:#e7f5eb}a{color:#9cdec0}.eyebrow{color:#bce0cd}
.court-block,.comments,.entry{background:#1e3a2d;border-color:#4c7860;color:#f0f7f1}
.source-aside{background:#1c372d;border-color:#477360}.source-aside p,.entry p,footer{color:#c4dac9}
.notice{background:#432d20;color:#fbe5d1}.art-figure{background:#21392c;border-color:#618877}
.art-figure figcaption{color:#c4e2d1}.art-frame{background:#254639}.source-sublabel{color:#ccebdd}}
@media print{html{color-scheme:light}body{background:#fff;color:#000}main{padding:0;max-width:none}
.first,.notice,.source-aside,.art-links,.endnav,dialog{display:none!important}
.container{display:block}.court-block{border:0;background:#fff;border-radius:0;margin:0 0 10px;padding:0}
.court-block h2{font-size:19px;break-after:avoid-page}.court-p{font:14px/1.38 Georgia,serif;margin:0 0 8px}
.comments{border-top:1px solid #bbb;background:#fff;break-before:page;border-radius:0}
.comments p{font:13px/1.35 Georgia,serif}
.art-figure{break-inside:avoid-page;background:#fff;border:1px solid #aaa;padding:5px}
.art-frame{overflow:visible;background:#fff;padding:0}.art-click img{width:100%;min-width:0;max-height:4in;object-fit:contain}
.art-figure figcaption{font-size:11px;margin:3px 0}footer{font-size:10px;color:#333}}
