:root{--paper: #f7f8f7;--bench: #eef1f0;--ink: #1c2b2d;--ink-soft: #51625f;--teal: #54afbc;--teal-deep: #33808c;--amber: #b97a17;--stamp-pass: #2e7d5b;--stamp-fail: #b3402e;--rule: #d8dedd;--mono: ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55}a{color:var(--teal-deep);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--teal);outline-offset:2px}button{font:inherit;color:var(--ink);background:var(--paper);border:1px solid var(--ink);padding:.45rem 1rem;cursor:pointer}button:hover{background:var(--bench)}button.primary{background:var(--ink);color:var(--paper)}button.primary:hover{background:var(--teal-deep);border-color:var(--teal-deep)}input,select{font:inherit;color:var(--ink);background:#fff;border:1px solid var(--rule);padding:.45rem .6rem}code,.mono{font-family:var(--mono);font-size:.86em}.frame{display:flex;min-height:100%}.side{width:13.5rem;flex-shrink:0;border-right:1px solid var(--rule);background:var(--bench);padding:1.5rem 1.25rem;display:flex;flex-direction:column;gap:2rem}.side h1{font-family:var(--serif);font-size:1.25rem;font-weight:600;margin:0;line-height:1.25}.side .sub{font-family:var(--mono);font-size:.7rem;color:var(--ink-soft);letter-spacing:.08em}.side nav{display:flex;flex-direction:column;gap:.25rem}.side nav a{padding:.4rem .6rem;color:var(--ink);font-family:var(--mono);font-size:.85rem;border-left:3px solid transparent}.side nav a.active{border-left-color:var(--teal);background:#fff}.side nav a:hover{text-decoration:none;background:#fff}.side .whoami{margin-top:auto;font-size:.78rem;color:var(--ink-soft);overflow-wrap:anywhere}.main{flex:1;padding:2rem 2.5rem 4rem;min-width:0}.main>h2{font-family:var(--serif);font-weight:600;font-size:1.5rem;margin:0 0 .25rem}.crumb{font-family:var(--mono);font-size:.78rem;color:var(--ink-soft);margin-bottom:1.75rem}table.ledger{width:100%;border-collapse:collapse}.ledger th{text-align:left;font-family:var(--mono);font-size:.72rem;font-weight:500;letter-spacing:.08em;color:var(--ink-soft);text-transform:uppercase;border-bottom:1px solid var(--ink);padding:.4rem .75rem .4rem 0}.ledger td{border-bottom:1px solid var(--rule);padding:.65rem .75rem .65rem 0;vertical-align:top}.ledger tr:hover td{background:#fff}.gates{display:inline-flex;gap:3px}.gates .cell{width:1.15rem;height:1.15rem;border:1px solid var(--rule);border-radius:1px;font-family:var(--mono);font-size:.62rem;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-soft);background:#fff}.gates .cell.pass{background:var(--stamp-pass);border-color:var(--stamp-pass);color:#fff}.gates .cell.fail{background:var(--stamp-fail);border-color:var(--stamp-fail);color:#fff}.stamp{display:inline-block;font-family:var(--mono);font-weight:700;font-size:.95rem;letter-spacing:.14em;padding:.35rem .9rem;border:2.5px solid;transform:rotate(-2deg);border-radius:2px}.stamp.pass{color:var(--stamp-pass);border-color:var(--stamp-pass)}.stamp.fail{color:var(--stamp-fail);border-color:var(--stamp-fail)}.stamp.press{animation:press .22s ease-out}@keyframes press{0%{transform:rotate(-2deg) scale(1.08);opacity:.4}to{transform:rotate(-2deg) scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.stamp.press{animation:none}}.chip{display:inline-block;font-family:var(--mono);font-size:.68rem;padding:.05rem .4rem;border:1px solid var(--rule);color:var(--ink-soft);margin-right:.3rem;border-radius:1px}.chip.warn{border-color:var(--amber);color:var(--amber)}.chip.link{border-color:var(--teal);color:var(--teal-deep)}.entry{border-bottom:1px solid var(--rule);padding:.85rem 0}.entry .code{font-family:var(--mono);font-weight:700;color:var(--teal-deep);margin-right:.5rem}.entry .cite{font-family:var(--mono);font-size:.72rem;color:var(--ink-soft);margin-top:.3rem;overflow-wrap:anywhere}.entry .path{font-size:.8rem;color:var(--ink-soft)}.counts{display:grid;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);margin:1.25rem 0}.counts div{background:#fff;padding:.7rem .9rem}.counts .k{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.counts .v{font-family:var(--mono);font-size:1.15rem}.dline{font-family:var(--mono);font-size:.82rem;padding:.2rem .5rem;overflow-wrap:anywhere}.dline.add{background:#ecf5ef;border-left:3px solid var(--stamp-pass)}.dline.del{background:#f8eeec;border-left:3px solid var(--stamp-fail)}.dline.chg{background:#fff;border-left:3px solid var(--teal)}.gate-screen{min-height:100%;display:flex;align-items:center;justify-content:center;background:var(--bench)}.bench-card{background:var(--paper);border:1px solid var(--ink);padding:2.5rem 2.75rem;max-width:24rem}.bench-card h1{font-family:var(--serif);font-size:1.5rem;margin:0 0 .25rem}.bench-card .sub{font-family:var(--mono);font-size:.72rem;color:var(--ink-soft);letter-spacing:.08em;margin-bottom:1.75rem}.bench-card .actions{display:flex;flex-direction:column;gap:.6rem}.bench-card .note{margin-top:1.25rem;font-size:.78rem;color:var(--ink-soft)}details.country{margin-bottom:1.5rem}details.country>summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:.6rem;border-bottom:2px solid var(--ink);padding:.4rem 0}details.country>summary::-webkit-details-marker{display:none}details.country>summary:before{content:"▸";font-family:var(--mono);font-size:.8rem;color:var(--ink-soft)}details.country[open]>summary:before{content:"▾"}details.country>summary:hover .country-name{color:var(--teal-deep)}.country-flag{font-size:1rem}.country-name{font-family:var(--serif);font-size:1.1rem;font-weight:600}.country-meta{font-family:var(--mono);font-size:.72rem;color:var(--ink-soft);margin-left:auto}details.country>table.ledger{margin-top:.25rem}.ledger tr.earlier td{color:var(--ink-soft);border-bottom-style:dotted}.ledger tr.earlier td:first-child{border-left:2px solid var(--rule)}button.linkish{border:0;background:none;padding:0 0 0 .6rem;margin:0;cursor:pointer;font-family:var(--mono);font-size:.72rem;color:var(--teal-deep)}button.linkish:hover{background:none;text-decoration:underline}.switch{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--mono);font-size:.78rem;color:var(--ink-soft);white-space:nowrap}.switch input{accent-color:var(--teal-deep)}.sselect{position:relative;min-width:16rem}.sselect input{width:100%;padding-right:1.8rem}.sselect-caret{position:absolute;right:.6rem;top:50%;transform:translateY(-50%);color:var(--ink-soft);font-size:.7rem;pointer-events:none}.sselect-list{position:absolute;z-index:20;top:calc(100% + 2px);left:0;right:0;background:#fff;border:1px solid var(--ink);max-height:19rem;overflow-y:auto;box-shadow:0 3px 10px #1c2b2d1f}.sselect-group{font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding:.45rem .6rem .2rem;border-bottom:1px solid var(--rule);position:sticky;top:0;background:#fff}.sselect-opt{padding:.35rem .6rem;font-size:.85rem;cursor:pointer;overflow-wrap:anywhere}.sselect-opt.active{background:var(--bench)}.sselect-opt.selected{color:var(--teal-deep);font-weight:600}.sselect-none{padding:.6rem;color:var(--ink-soft);font-size:.85rem}.empty{border:1px dashed var(--rule);padding:1.5rem;color:var(--ink-soft)}.legend summary{font-family:var(--mono);font-size:.78rem;color:var(--ink-soft);cursor:pointer;letter-spacing:.05em}.legend summary:hover{color:var(--ink)}.legend[open]{border:1px solid var(--rule);padding:.75rem 1rem .5rem;background:#fff}.legend-intro{font-size:.85rem;color:var(--ink-soft)}.main ul{padding-left:1.25rem}.main li{margin-bottom:.4rem}.error-note{color:var(--stamp-fail);font-family:var(--mono);font-size:.82rem}.toolbar{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1.25rem}.toolbar input[type=search]{flex:1;min-width:12rem}.section-h{font-family:var(--serif);font-size:1.1rem;margin:2rem 0 .5rem}@media(max-width:720px){.frame{flex-direction:column}.side{width:100%;flex-direction:row;align-items:center;gap:1rem;padding:.75rem 1rem}.side .whoami{display:none}.side nav{flex-direction:row}.main{padding:1.25rem 1rem 3rem}}
