:root{--paper:#f7f4eb;--white:#fffdf8;--ink:#112a46;--muted:#65717d;--teal:#087f80;--teal-soft:#e0eeea;--line:#d5d9cf;--grey:#ecece6}
.language-controls{position:fixed;bottom:12px;right:12px;z-index:20;display:flex;gap:3px;padding:4px;border:1px solid var(--line);border-radius:8px;background:#f7f4ebee;box-shadow:0 2px 8px #112a4610}.language-controls a{padding:5px 8px;border-radius:5px;color:var(--ink);font-size:12px;text-decoration:none}.language-controls a[aria-current]{background:var(--ink);color:var(--paper)}.language-controls a:hover{background:var(--teal);color:white}
html.proof-document{overflow:auto;height:auto;min-height:100%}body.proof-page{overflow:visible;height:auto;min-height:100%}body.proof-page main{max-width:1000px;margin:32px auto 80px;padding:0 18px}body.proof-page pre{white-space:pre-wrap;overflow-wrap:anywhere}
noscript{position:fixed;inset:80px 16px auto;z-index:40;padding:16px;background:var(--white);border:1px solid var(--line);border-radius:8px}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{background:var(--paper);color:var(--ink);font:15px/1.55 "Segoe UI",Arial,sans-serif}button,input{font:inherit}button{cursor:pointer;color:inherit}a{color:var(--teal)}[hidden]{display:none!important}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
#viewport{position:fixed;inset:0;width:100%;height:100dvh;overflow:hidden;touch-action:none;cursor:grab;background-image:radial-gradient(#cbd1ca .7px,transparent .7px);background-size:18px 18px}#viewport:active{cursor:grabbing}
.map-controls{position:fixed;top:12px;left:12px;display:flex;gap:4px;z-index:20;padding:4px;border:1px solid var(--line);border-radius:10px;background:#f7f4ebee;box-shadow:0 2px 8px #112a4610}.icon-button{display:grid;place-items:center;width:38px;height:38px;padding:8px;border:0;border-radius:7px;background:transparent}.icon-button:hover{background:var(--teal-soft)}.icon-button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.fullscreen-control{position:fixed;top:16px;right:16px;z-index:20;background:#f7f4ebee;border:1px solid var(--line)}#ui-status{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:30;padding:10px 16px;max-width:calc(100vw - 24px);background:var(--white);border:1px solid #b77265;border-radius:8px;font-size:13px}
.control-popover{position:fixed;inset:auto;top:68px;left:12px;margin:0;width:min(330px,calc(100vw - 24px));max-height:calc(100dvh - 80px);overflow:auto;padding:20px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);box-shadow:0 8px 28px #112a4620}.control-popover h1,.control-popover h2{font:600 18px/1.3 "Segoe UI",sans-serif;margin:0 0 15px}.project-meta{color:var(--muted);font-size:12px;margin:0 0 20px}.menu-action{display:block;width:100%;border:0;border-top:1px solid var(--line);padding:12px 0;text-align:left;background:none;color:var(--teal)}.setting{display:flex;gap:9px;align-items:center;margin:13px 0;font-size:14px}.setting input,.law-mode input{accent-color:var(--teal)}.law-mode{margin:20px 0;padding:12px 0;border:0;border-top:1px solid var(--line)}.law-mode legend{font-size:12px;color:var(--muted)}.law-mode label{display:flex;gap:9px;margin:9px 0;font-size:14px}.setting-actions{display:flex;flex-wrap:wrap;gap:7px}.setting-actions button{border:1px solid var(--line);border-radius:6px;background:var(--white);padding:6px 9px;font-size:12px}.help-popover{width:min(420px,calc(100vw - 24px));font-size:13px}.help-popover p{margin:12px 0}.legend p{display:flex;align-items:center;gap:10px}.legend-line{display:inline-block;width:26px;border-top:2px solid var(--ink)}.preview-line{border-top:2px dotted #8b9fb9}.return-line{border-top:2px dashed var(--teal)}.membership-line{border-top:2px dotted #8baca2}
.detail-popover{position:fixed;inset:auto;top:68px;right:14px;margin:0;width:min(470px,calc(100vw - 28px));max-height:calc(100dvh - 82px);overflow:auto;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);padding:23px;box-shadow:0 8px 30px #112a4620}.close-button{border:0;background:none;font-size:26px;line-height:1;padding:3px 6px}.detail-popover>.close-button{position:sticky;top:-12px;float:right;z-index:1;background:var(--paper);border-radius:5px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--teal);margin:0 0 10px}h2{font:normal 28px/1.2 Georgia,serif;margin:12px 0}h3{font-size:16px}.detail-es,.archive-note{font-size:12px;color:var(--muted)}.detail-summary{font-size:14px}.facts{list-style:none;padding:0;margin:16px 0}.facts li{border-top:1px solid var(--line);padding:12px 0;font-size:13px;line-height:1.65}.cite{display:block;border:0;background:none;padding:6px 0 0;color:var(--teal);font-size:10px;line-height:1.45;text-align:left;overflow-wrap:anywhere}.cite:hover{text-decoration:underline}.note{padding:13px;background:var(--grey);border-left:3px solid #a3a8a4;font-size:12px;color:var(--muted)}details{border-top:1px solid var(--line)}summary{position:relative;cursor:pointer;font-size:14px;padding:13px 24px 13px 0}details .facts{padding-left:12px;border-left:2px solid #cfddd4}details .facts li{border:0;padding:7px 0}details details{margin-left:12px}
dialog{width:min(860px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:22px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#112a4640}.dialog-top{display:flex;align-items:center;justify-content:space-between;position:sticky;top:-22px;z-index:1;background:var(--paper);padding:8px 0}.dialog-top h2{font-size:24px}.proof-row{display:grid;grid-template-columns:45px 1fr auto;gap:15px;border-top:1px solid var(--line);padding:18px 0;font-size:12px}.proof-row h3{margin:0 0 6px}.proof-number{font:22px Georgia,serif;color:var(--teal)}.proof-row button{align-self:start;border:1px solid var(--line);border-radius:5px;background:none;padding:6px 10px}.proof-source{border-top:1px solid var(--line);padding-top:15px;margin-top:18px}.proof-source pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.65 "Segoe UI",sans-serif}.proof-meta,.proof-note{font-size:11px;color:var(--muted);overflow-wrap:anywhere}.proof-links{display:flex;gap:15px;flex-wrap:wrap;font-size:12px}.selected-claim{padding:13px;border-left:3px solid var(--teal);background:var(--teal-soft);font-size:14px}.selected-claim small{display:block;font-size:11px;color:var(--muted);margin-top:6px}.scope-row{border-top:1px solid var(--line);padding:18px 0}.scope-row h3{margin:0}.scope-row p{font-size:13px}.scope-row.unknown{color:var(--muted)}.status{font-size:10px;color:var(--muted)}
.node-actions{position:absolute;inset:0;z-index:10;pointer-events:none;overflow:hidden}.node-actions a{position:absolute;pointer-events:auto;font:16px/22px "Segoe UI",Arial,sans-serif;white-space:nowrap;text-decoration:underline;text-underline-offset:3px;cursor:pointer;padding:2px 4px;transform-origin:center;user-select:none}.node-actions a:hover{color:var(--teal)}.node-title{position:absolute;text-align:center;line-height:1.3;pointer-events:none;transform-origin:center}.node-title .term{pointer-events:auto}.node-actions .node-title a{position:static}.edge-title{position:absolute;pointer-events:none;transform-origin:center;background:var(--paper);padding:4px;max-width:235px;white-space:pre-line;text-align:center;color:var(--muted);font:11px/1.3 "Segoe UI",Arial,sans-serif}.edge-title .term{pointer-events:auto}
.term{display:inline;border:0;border-bottom:1px dotted currentColor;background:none;padding:0;color:inherit;font:inherit;line-height:inherit;cursor:help;text-align:inherit}.term:hover{color:var(--teal);border-bottom-style:solid}#term-popover{position:fixed;inset:auto;margin:0;width:min(410px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;border:1px solid var(--line);border-radius:9px;background:var(--paper);color:var(--ink);padding:18px 20px;box-shadow:0 10px 35px #112a4626;font:14px/1.65 "Segoe UI",Arial,sans-serif}#term-popover::backdrop{background:transparent;pointer-events:none}.term-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.term-top .eyebrow{margin:0}.term-top button{background:none;border:0;font-size:24px;padding:0 3px;line-height:1}.term-es{font-size:12px;color:var(--muted);margin:4px 0 12px}#term-title{font-size:18px;line-height:1.35;margin:10px 0 5px;font-weight:600}.term-definition{margin:12px 0 16px;white-space:pre-line}.term-sources{border-top:1px solid var(--line);padding-top:10px;font-size:11px;color:var(--muted)}.term-boundary{padding:8px;background:var(--grey);font-size:12px;color:var(--muted)}.term-examples{margin:16px 0}.term-example{border-left:2px solid #9db9ab;background:var(--teal-soft);padding:10px 12px;margin:10px 0}.term-example h4{font-size:11px;letter-spacing:.5px;color:var(--teal);margin:0 0 5px}.term-example p{font-size:13px;line-height:1.65;margin:0}.term-example .cite{margin-top:5px}.term-sections section{border-top:1px solid var(--line);padding:12px 0}.term-sections h4{font-size:14px;line-height:1.4;margin:0 0 6px}.term-sections p{font-size:13px;line-height:1.65;margin:0}#term-popover.term-extended{width:min(560px,calc(100vw - 24px))}
@media(max-width:600px){.detail-popover{top:68px;right:12px;width:calc(100vw - 24px);padding:18px}.proof-row{grid-template-columns:35px 1fr auto;gap:10px}h2{font-size:24px}}

#viewport[aria-busy="true"] .node-actions a{pointer-events:none}

#viewport[aria-busy="true"] .edge-title{visibility:hidden}
