:root{--fg:#1f1f1f;--bg:#fff;--muted:#5b5b5b;--border:#767676;--link:#1d4ed8;--focus:#b45309;--accent:#1d4ed8;--accent-fg:#fff;--panel:#f4f4f2;--error:#b91c1c;--success:#166534}*{box-sizing:border-box}html{color:var(--fg);background:var(--bg);font-family:system-ui,-apple-system,Hiragino Sans,Noto Sans JP,sans-serif;font-size:100%;line-height:1.6}body{min-height:100vh;margin:0}a{color:var(--link);text-underline-offset:2px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.skip{background:var(--bg);z-index:10;padding:8px 12px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.site-header{border-bottom:1px solid var(--border);background:var(--panel)}.site-header nav{flex-wrap:wrap;align-items:center;gap:4px 16px;max-width:1100px;margin:0 auto;padding:8px 16px;display:flex}.site-header nav a{align-items:center;min-height:44px;padding:8px 0;display:inline-flex}.site-header form{margin-left:auto}main{max-width:1100px;margin:0 auto;padding:16px}h1{margin:0 0 12px;font-size:1.5rem}h2{margin:24px 0 8px;font-size:1.2rem}button,.button{font:inherit;border:2px solid var(--accent);background:var(--accent);min-height:44px;color:var(--accent-fg);cursor:pointer;border-radius:6px;align-items:center;padding:8px 16px;text-decoration:none;display:inline-flex}button.secondary,.button.secondary{background:var(--bg);color:var(--accent)}button[disabled],button[aria-disabled=true]{color:var(--accent-fg);cursor:progress;background:#3b5bc7;border-color:#3b5bc7}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.table-wrap:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.site-header nav a[aria-current=page]{font-weight:700;text-decoration-thickness:3px}label{margin:12px 0 4px;font-weight:600;display:block}input[type=text],input[type=email],input[type=tel],input[type=url],input[type=password],input[type=number],input[type=date],input[type=datetime-local],select,textarea{font:inherit;border:1px solid var(--border);background:var(--bg);width:100%;max-width:28rem;min-height:44px;color:var(--fg);border-radius:6px;padding:8px 10px}input[type=checkbox]{vertical-align:middle;width:22px;height:22px;margin-right:8px}.inline-label{align-items:center;margin:12px 16px 4px 0;font-weight:600;display:inline-flex}.filters{border:1px solid var(--border);background:var(--panel);border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:0 16px;margin-bottom:16px;padding:12px;display:flex}.filters>div{min-width:12rem}.filters button{margin:12px 0 4px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:720px;font-size:.95rem}table.compact{min-width:0}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #d4d4d4;padding:8px}th{background:var(--panel);white-space:nowrap}.table-wrap button,.table-wrap .button,.nowrap{white-space:nowrap}.break-anywhere{overflow-wrap:anywhere}table.audit{table-layout:fixed;min-width:1040px}table.audit td{overflow-wrap:anywhere}col.audit-at{width:17%}col.audit-action{width:12%}col.audit-target{width:18%}col.audit-change{width:16%}col.audit-actor{width:12%}col.audit-via{width:10%}col.audit-reason{width:15%}summary{cursor:pointer;align-items:center;gap:6px;min-height:44px;padding:8px 4px;font-weight:600;display:flex}summary:before{content:"▸";width:1em;display:inline-block}details[open]>summary:before{content:"▾"}summary:focus-visible{outline:3px solid var(--focus);outline-offset:2px}fieldset{border:1px solid var(--border);border-radius:8px;padding:8px 12px}legend{padding:0 4px;font-weight:600}.cards{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:12px;display:grid}.card{border:1px solid var(--border);background:var(--panel);border-radius:8px;padding:12px 16px}.card .value{font-size:1.8rem;font-weight:700}.muted{color:var(--muted)}.error{color:var(--error);font-weight:600}.success{color:var(--success);font-weight:600}.pager{align-items:center;gap:16px;margin:12px 0;display:flex}dl.detail{grid-template-columns:minmax(8rem,12rem) 1fr;gap:6px 12px;display:grid}dl.detail dt{font-weight:600}dl.detail dd{white-space:pre-wrap;margin:0}@media (max-width:480px){dl.detail{grid-template-columns:1fr}dl.detail dt{margin-top:8px}}.row{flex-wrap:wrap;align-items:flex-end;gap:8px 12px;display:flex}.row label{margin-top:0}.radio-row{flex-wrap:wrap;gap:8px 24px;display:flex}ul.plain{margin:8px 0;padding:0;list-style:none}ul.plain li{border-bottom:1px solid #e5e5e5;padding:6px 0}.link-button{min-height:44px;color:var(--link);text-underline-offset:2px;text-align:left;background:0 0;border:0;padding:4px 0;text-decoration:underline}button.small{min-height:36px;padding:4px 10px;font-size:.9rem}.actions{margin:12px 0}.plans{grid-template-columns:repeat(auto-fit,minmax(min(20rem,100%),1fr));gap:16px;display:grid}.plan{border:1px solid var(--border);background:var(--panel);border-radius:8px;padding:12px 16px}.plan h3{margin-top:0}.warnings{padding-left:20px}details.stop,details.candidate-group,details.candidate-panel,fieldset.waypoint-row{margin:8px 0}.combobox{max-width:28rem}.combobox .suggestions{border:1px solid var(--border);background:var(--bg);border-radius:6px;margin-top:4px;box-shadow:0 2px 8px #00000026}.combobox ul[role=listbox]{margin:0;padding:4px 0;list-style:none}.combobox li[role=option]{cursor:pointer;flex-direction:column;min-height:44px;padding:8px 12px;display:flex}.combobox li[role=option]+li[role=option]{border-top:1px solid #e5e5e5}.combobox li[role=option]:hover{background:var(--panel)}.combobox li[role=option].active{outline:2px solid var(--focus);outline-offset:-2px;background:#dbe4ff}.combobox li[role=option] .secondary{color:var(--muted);font-size:.9rem}.places-attribution{color:var(--muted);border-top:1px solid #e5e5e5;margin:0;padding:6px 12px;font-size:.85rem}.google-maps-mark{color:var(--fg);white-space:nowrap;font-family:Roboto,system-ui,sans-serif;font-size:14px;font-weight:400}.map{border:1px solid var(--border);border-radius:8px;height:60vh;min-height:320px;margin-top:12px}.result:focus{outline:none}.attribution{margin:4px 0 12px;font-size:1rem}.map-hidden{display:none}.legend .swatch{vertical-align:middle;border-radius:2px;width:1.4em;height:.6em;margin:0 4px;display:inline-block}
