:root{--paper:#f6f3ea;--ink:#1d2a24;--leaf:#2f5d4a;--leaf-2:#dfe9e2;--rust:#9a4a22;--line:#cfc8b5;--mute:#5b625d;--card:#fffdf7}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#151a17;--ink:#e7e4da;--leaf:#8cc3a7;--leaf-2:#203029;--rust:#e19a6f;--line:#38423c;--mute:#a3aaa4;--card:#1c231f}}
:root[data-theme="dark"]{--paper:#151a17;--ink:#e7e4da;--leaf:#8cc3a7;--leaf-2:#203029;--rust:#e19a6f;--line:#38423c;--mute:#a3aaa4;--card:#1c231f}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 Georgia,"Iowan Old Style","Palatino Linotype",serif}
a{color:var(--leaf)}a:hover{color:var(--rust)}
.gx-top{border-bottom:3px double var(--line);padding:14px 16px 10px}
.gx-mark{font:700 15px/1.2 ui-monospace,"Cascadia Mono",Menlo,monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--leaf);text-decoration:none}
.gx-menu{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:8px;font:14px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif}
.gx-menu a{text-decoration:none;color:var(--ink);border-bottom:1px solid transparent}
.gx-menu a[aria-current]{border-bottom-color:var(--rust)}
.gx-frame{max-width:980px;margin:0 auto;padding:22px 16px 40px}
h1{font-size:30px;line-height:1.2;margin:4px 0 12px}
h2{font-size:21px;margin:30px 0 8px;padding-top:6px;border-top:1px solid var(--line)}
h3{font-size:17px;margin:18px 0 4px}
.gx-dek{font-size:18px;color:var(--mute);max-width:44em}
.gx-split{display:grid;gap:26px}
@media (min-width:860px){.gx-split{grid-template-columns:1.15fr .85fr}}
.gx-panel{background:var(--card);border:1px solid var(--line);padding:16px;border-radius:4px}
.gx-tag{display:inline-block;font:600 12px/1 system-ui,sans-serif;padding:4px 7px;border-radius:3px;background:var(--leaf-2);color:var(--leaf);margin:0 6px 4px 0}
.gx-tag.warn{background:transparent;border:1px solid var(--rust);color:var(--rust)}
.gx-ledger{width:100%;border-collapse:collapse;font:15px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif}
.gx-ledger th{text-align:left;font-weight:600;border-bottom:2px solid var(--ink);padding:6px 8px}
.gx-ledger td{border-bottom:1px solid var(--line);padding:8px;vertical-align:top}
@media (max-width:700px){.gx-ledger thead{display:none}.gx-ledger tr{display:block;border:1px solid var(--line);margin:0 0 12px;padding:6px;background:var(--card)}.gx-ledger td{display:block;border:0;padding:3px 4px}.gx-ledger td[data-k]:before{content:attr(data-k) ": ";font-weight:600}}
.gx-src{font:13px/1.5 system-ui,sans-serif;color:var(--mute)}
.gx-src a{word-break:break-word}
.gx-steps{counter-reset:s;list-style:none;padding:0}
.gx-steps li{counter-increment:s;padding:6px 0 6px 38px;position:relative}
.gx-steps li:before{content:counter(s);position:absolute;left:0;top:6px;width:26px;height:26px;border-radius:50%;background:var(--leaf);color:var(--paper);font:600 14px/26px system-ui,sans-serif;text-align:center}
form.gx-form{display:grid;gap:10px;font:15px/1.4 system-ui,-apple-system,"Segoe UI",sans-serif}
.gx-form label{display:grid;gap:3px;font-weight:600}
.gx-form input,.gx-form select{font:16px system-ui,sans-serif;padding:9px;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:var(--ink);width:100%}
.gx-form .gx-pair{display:grid;gap:10px;grid-template-columns:1fr 1fr}
.gx-form .gx-ok{display:flex;gap:8px;font-weight:400;align-items:flex-start}
.gx-form .gx-ok input{width:auto;margin-top:4px}
.gx-form button{font:600 16px system-ui,sans-serif;padding:12px;border:0;border-radius:3px;background:var(--rust);color:#fff;cursor:pointer}
.gx-hide{position:absolute;left:-9000px;width:1px;height:1px;overflow:hidden}
.gx-msg{min-height:1.2em;color:var(--rust);font-weight:600}
.gx-foot{border-top:3px double var(--line);padding:18px 16px;font:13px/1.6 system-ui,sans-serif;color:var(--mute)}
.gx-foot div{max-width:980px;margin:0 auto}
.gx-facts{padding-left:20px}.gx-facts li{margin:4px 0}
.gx-count{font:700 34px/1 ui-monospace,Menlo,monospace;color:var(--leaf)}
.gx-tally{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:14px 0}
.gx-tally div{border-left:3px solid var(--leaf);padding:4px 10px;font:14px/1.4 system-ui,sans-serif}
.gx-src a{display:inline-block;margin:2px 0}
.gx-help{font:13px/1.5 system-ui,sans-serif;color:var(--mute);margin:0}
.gx-lede{font-size:18px;max-width:44em}
