:root{--bg: #0a0a0a;--fg: #f5f5f5;--muted: #999;--accent: #ffcc00;--rank-high: #ff5722;--rank-mid: #888;--rank-low: #4caf50;--max-content: 720px;--space: 16px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6}#app{max-width:var(--max-content);margin:0 auto;padding:var(--space)}h1,h2,h3{margin:0 0 var(--space) 0;font-weight:700;letter-spacing:-.01em}h1{font-size:clamp(1.6rem,5vw,2.4rem)}h2{font-size:clamp(1.2rem,4vw,1.6rem)}a{color:var(--accent);text-decoration:none}button{font:inherit;cursor:pointer;border:1px solid var(--muted);background:transparent;color:var(--fg);padding:12px 16px;border-radius:8px;transition:background .15s,border-color .15s}button:hover,button:focus-visible{background:#ffcc0014;border-color:var(--accent);outline:none}button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.indicator-list{display:grid;gap:var(--space);list-style:none;padding:0;margin:var(--space) 0}.indicator-card{border:1px solid var(--muted);border-radius:12px;padding:var(--space);cursor:pointer;background:#ffffff05;transition:border-color .15s,transform .15s;width:100%;text-align:left}.indicator-card:hover,.indicator-card:focus-visible{border-color:var(--accent);transform:translateY(-1px)}.indicator-card .name{font-size:1.2rem;font-weight:700;margin-bottom:4px}.indicator-card .category{font-size:.85rem;color:var(--accent);margin-bottom:8px}.indicator-card .desc{font-size:.95rem;color:var(--muted)}.prefecture-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;list-style:none;padding:0;margin:var(--space) 0}.prefecture-grid button{padding:14px 8px;font-size:.95rem}.result{padding:var(--space) 0}.result .pref-name{font-size:clamp(2rem,8vw,3.2rem);font-weight:800;letter-spacing:-.02em;margin-bottom:0}.result .value{font-size:clamp(1.5rem,6vw,2.2rem);font-weight:700;margin:8px 0}.result .value .num{color:var(--accent);font-size:1.4em}.result .rank{font-size:clamp(1.2rem,4vw,1.5rem);margin:8px 0}.result .rank .pos{color:var(--accent);font-weight:700}.bar-chart{margin:24px 0}.bar-row{display:grid;grid-template-columns:88px 1fr 64px;align-items:center;gap:8px;font-size:.85rem;padding:3px 0;border-radius:4px}.bar-row.is-current{background:#ffcc001f;font-weight:600}.bar-row .pref{color:var(--muted)}.bar-row.is-current .pref{color:var(--fg)}.bar-row .bar-bg{height:8px;background:#ffffff0f;border-radius:4px;overflow:hidden}.bar-row .bar-fill{height:100%;background:var(--rank-mid);transition:width .3s ease-out}.bar-row.is-current .bar-fill{background:var(--accent)}.bar-row .num{text-align:right;color:var(--muted)}.bar-row.is-current .num{color:var(--fg);font-weight:600}.actions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.source{font-size:.8rem;color:var(--muted);margin-top:32px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.source a{color:var(--muted);text-decoration:underline}.nav-back{display:inline-block;margin:16px 0;font-size:.95rem;color:var(--muted)}.context-box{margin:24px 0;padding:16px;border-left:3px solid var(--accent);background:#ffcc000d;border-radius:0 8px 8px 0}.context-box p{margin:0;font-size:.95rem;line-height:1.7}.actions-section{margin:40px 0 24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}.actions-section>h2{font-size:clamp(1.3rem,4.5vw,1.7rem);margin-bottom:8px}.action-group{margin:24px 0;padding:16px;background:#ffffff08;border-radius:12px}.action-group h3{font-size:1.05rem;margin:0 0 8px;color:var(--accent)}.action-group>p{margin:0 0 12px;font-size:.95rem;line-height:1.7}.action-links{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:6px}.action-links li{font-size:.9rem}.action-links a{color:var(--accent);text-decoration:underline;text-decoration-color:#fc06;text-underline-offset:3px}.related-section{margin:32px 0 24px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}@media (max-width: 374px){.prefecture-grid{grid-template-columns:repeat(auto-fill,minmax(95px,1fr))}.bar-row{grid-template-columns:70px 1fr 56px;font-size:.8rem}}
