:root{--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--bg: #f6f5f1;--surface: #ffffff;--fg: #1c1d21;--muted: #565a63;--line: #d9d6cf;--accent: #1f5fbf;--key: #ffffff;--key-hover: #eef2f8;--danger: #a3261b;--card: rgba(255, 255, 255, .93);--map-bg: #e9eef2;--map-land: #d9d6cf;--map-border: #f6f5f1;--map-ink: #16171a;--map-halo: rgba(255, 255, 255, .92);--map-text: #16171a;--map-muted: #5d6068;--c0: #8c6bb1;--c1: #4e79a7;--c2: #f28e2b;--c3: #e15759;--c4: #76b7b2;--c5: #59a14f;--c6: #edc948;--c7: #b07aa1;--c8: #ff9da7;--c9: #9c755f;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #14161a;--surface: #1d2026;--fg: #eceae4;--muted: #a9adb6;--line: #343842;--accent: #8fb6ff;--key: #23272e;--key-hover: #2c313a;--danger: #ff8a7d;--card: rgba(29, 32, 38, .93);--map-bg: #101317;--map-land: #30343c;--map-border: #14161a;--map-ink: #ffffff;--map-halo: rgba(14, 16, 20, .88);--map-text: #f4f2ec;--map-muted: #b9bcc4;--c0: #a58bd0;--c1: #5f8fc4;--c2: #f0a04b;--c3: #e8706f;--c4: #84c6c0;--c5: #6fb563;--c6: #e8cf5a;--c7: #c393b6;--c8: #f4a9b2;--c9: #b08d77;color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 var(--font)}a{color:var(--accent)}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:absolute;left:16px;top:-48px;padding:8px 12px;background:var(--surface);border-radius:6px;z-index:10}.skip:focus{top:8px}.wrap{display:flex;flex-direction:column;max-width:1400px;height:100vh;height:100dvh;min-height:460px;margin:0 auto;padding:0 16px}header.site{flex:none;padding:10px 0 8px}header.site h1{display:flex;align-items:center;gap:8px;margin:0;font-size:1.35rem;letter-spacing:-.01em;line-height:1.2}.logo{flex:none;width:28px;height:28px}main{display:flex;flex:1;min-height:0}app-root{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;gap:10px}.map-panel{position:relative;flex:1;min-height:0;border-radius:14px;overflow:hidden;background:var(--map-bg);contain:strict}.map-panel canvas{display:block;width:100%;height:100%;cursor:pointer;touch-action:manipulation}.status{position:absolute;inset:0;display:grid;place-items:center;margin:0;color:var(--muted)}.status.error{color:var(--danger);padding:16px;text-align:center}.card{position:absolute;top:8px;left:8px;max-width:min(380px,calc(100% - 16px));padding:6px 12px 8px;border-radius:10px;background:var(--card);box-shadow:0 1px 4px #0000001f;font-size:.875rem;line-height:1.35}.notice{position:absolute;left:50%;bottom:10px;transform:translate(-50%);margin:0;padding:6px 12px;border-radius:8px;background:var(--card);color:var(--danger);font-size:.9375rem;white-space:nowrap;box-shadow:0 1px 4px #0000001f}.trail ol{display:flex;flex-wrap:wrap;gap:0 2px;list-style:none;margin:0;padding:0;font-size:.8125rem}.trail li+li:before{content:"\203a";margin-right:2px;color:var(--muted)}.trail button{border:0;padding:2px 3px;background:none;color:var(--accent);text-decoration:underline;cursor:pointer;min-height:26px;min-width:26px}.title{margin:2px 0 0;font-size:1.3rem;line-height:1.2;font-variant-numeric:tabular-nums}.title .sub{margin-left:.3em;font-weight:500;font-size:.95rem;color:var(--muted)}.title .dots{color:var(--muted);letter-spacing:.05em}.stats{margin:2px 0 0;color:var(--muted)}.facts{display:grid;grid-template-columns:auto 1fr;gap:1px 12px;margin:6px 0 0}.facts div{display:contents}.facts dt{color:var(--muted)}.facts dd{margin:0;font-weight:600}.bar{flex:none;display:grid;grid-template-columns:1fr auto;gap:8px}.pc-input{width:100%;min-width:0;padding:4px 14px;border:2px solid var(--line);border-radius:12px;background:var(--surface);color:var(--fg);font:700 2rem/1.2 var(--font);font-variant-numeric:tabular-nums;letter-spacing:.12em;text-transform:uppercase}.pc-input::placeholder{color:var(--muted);opacity:.45}.pc-input:focus{border-color:var(--accent);outline:none}.btn{min-height:48px;max-width:11em;padding:6px 14px;border:1px solid var(--line);border-radius:12px;background:var(--key);font-size:.9375rem;line-height:1.2;cursor:pointer;touch-action:manipulation}.btn:hover:not(:disabled){background:var(--key-hover)}.btn:disabled{cursor:default;opacity:.38}.shake-a{animation:shake-a .35s}.shake-b{animation:shake-b .35s}@keyframes shake-a{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}@keyframes shake-b{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.sources{flex:none;padding:6px 0 8px;color:var(--muted);font-size:.75rem;line-height:1.5}.sources p{margin:0}@media(max-width:600px){.wrap{padding:0 8px}.map-panel{border-radius:10px}.pc-input{font-size:1.6rem;padding:4px 10px}.btn{max-width:8.5em;font-size:.8125rem;padding:4px 10px}.card{font-size:.8125rem}.title{font-size:1.15rem}}@media(prefers-reduced-motion:reduce){.shake-a,.shake-b{animation:none}}
