.city-instrument{--ci-ink:#243d32;--ci-accent:#0b6749;--ci-muted:#65706b;--ci-line:#c3d0c5;--ci-paper:#fbfcf9;margin:2rem 0;padding:clamp(1rem,3vw,1.6rem);color:var(--ci-ink);background:var(--ci-paper);border:1px solid var(--ci-line);border-radius:.7rem;contain:inline-size;min-width:0}
.city-instrument *{box-sizing:border-box}.city-instrument figcaption{font-size:1rem;font-weight:600;margin:0 0 1rem}.city-instrument figcaption [lang=ja]{display:none}html[lang^=ja] .city-instrument figcaption [lang=en]{display:none}html[lang^=ja] .city-instrument figcaption [lang=ja]{display:inline}.ci-controls{display:flex;align-items:center;flex-wrap:wrap;gap:.65rem;margin:0 0 1.2rem}.ci-controls label{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.45rem;font-size:.9rem}.ci-controls button,.ci-controls input,.ci-controls select{font:inherit;color:var(--ci-ink);background:#fff;border:1px solid #789181;border-radius:.3rem;min-height:44px;padding:.55rem .7rem;max-width:100%}.ci-controls button{cursor:pointer}.ci-controls input[type=number]{width:5.8rem}.ci-controls input[type=checkbox]{width:1.2rem;min-height:1.2rem;accent-color:var(--ci-accent)}.ci-controls button:hover:not(:disabled){background:#e8f0e8}.ci-controls :focus-visible,.ci-table-wrap:focus-visible{outline:3px solid #075aaf;outline-offset:3px}.ci-controls :disabled{opacity:.6;cursor:wait}.ci-controls [data-ci-stop]:disabled{cursor:default}.ci-controls [aria-pressed=true]{background:#e0eee6;border-color:var(--ci-accent)}.ci-badge{font-size:.8rem;color:#4f6257}.ci-status{min-height:1.6em;margin-top:1rem;font-size:.9rem;font-variant-numeric:tabular-nums;color:#294b38}.ci-note,.ci-empty{font-size:.9rem;line-height:1.65;max-width:74ch;color:#465e50}.ci-table-wrap{width:100%;overflow:auto;margin:.8rem 0}.ci-table-wrap table{border-collapse:collapse;width:100%;font-size:.85rem;line-height:1.45;font-variant-numeric:tabular-nums}.ci-table-wrap caption{text-align:left;font-weight:600;margin-bottom:.65rem}.ci-table-wrap th,.ci-table-wrap td{text-align:left;border-bottom:1px solid var(--ci-line);padding:.6rem .65rem;vertical-align:top;white-space:normal}.ci-table-wrap th{font-weight:600}.ci-table-wrap td:not(:first-child){font-variant-numeric:tabular-nums}.ci-table-wrap thead th{background:#ecf2eb}.ci-map,.ci-chart{display:block;width:100%;height:auto;max-width:640px;margin:.8rem auto;overflow:visible}.ci-map rect{stroke:#728879;stroke-width:1;cursor:pointer}.ci-map .other{fill:#f1f4ef}.ci-map .owned{fill:#78a890}.ci-map .selected{fill:#143f2b;stroke:#101e17;stroke-width:2}.ci-map rect:hover{stroke:#075aaf;stroke-width:3}.ci-grid path{stroke:#d9e1d7;stroke-width:1;fill:none}.ci-grid text{font:11px system-ui,sans-serif;fill:#40564a}.ci-recorded path{fill:none;stroke:#708076;stroke-width:1.5;stroke-dasharray:4 4}.ci-recorded circle{fill:#fff;stroke:#566c5d;stroke-width:2}.ci-live rect{fill:#087453;stroke:#fff;stroke-width:1}.ci-recorded-label,.ci-live-label{font-size:.82rem;display:inline-block;margin:.2rem 1rem .2rem 0}.ci-recorded-label{color:#4e6255}.ci-live-label{color:#086342;font-weight:650}.ci-comparison{font-size:.9rem;border-left:3px solid #789881;padding-left:.75rem}.city-instrument [data-ci-output]>p:last-child{margin-bottom:0}
@media(max-width:480px){.city-instrument{padding:1rem .7rem}.ci-controls{gap:.6rem}.ci-controls button{flex:1 1 auto}.ci-table-wrap th,.ci-table-wrap td{padding:.5rem .4rem;font-size:.78rem}.ci-grid text{font-size:12px}}
@media(prefers-reduced-motion:reduce){.city-instrument *{scroll-behavior:auto;animation:none!important;transition:none!important}}
.ci-controls [hidden]{display:none}.ci-primary [data-ci-action=measure]{background:#171b18;color:#fff;border-color:#171b18}.ci-advanced{margin:0 0 20px}.ci-advanced>summary{font-size:.9rem}.ci-advanced .ci-controls{padding-top:8px}.ci-result-summary{font-size:1rem;line-height:1.7;max-width:65ch}
.ci-chart-scroll{width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:#789181 #ecf2eb;border:1px solid var(--ci-line);border-radius:.3rem}
.ci-chart-scroll:focus-visible{outline:3px solid #075aaf;outline-offset:3px}
.ci-chart-scroll .ci-chart{width:620px;min-width:620px;max-width:none;margin:.8rem auto}
.ci-chart-scroll .ci-grid text{font-size:14px}
.ci-chart-hint{display:none;font-size:.875rem;line-height:1.65;color:#465e50;margin:.6rem 0}
@media(max-width:800px){.ci-chart-hint{display:block}}
