:root{--bg:#f6f7f9;--card:#fff;--ink:#14213d;--mute:#5b6577;--line:#e2e6ee;--brand:#1b4fd8;--brand-soft:#e8eefc;--ok:#157347;--ok-soft:#e3f4ea;--warn:#a05a00;--warn-soft:#fff1dc;--req:#6b7280;--req-soft:#eef0f3;--vio:#6d3fc0;--vio-soft:#f0e9fb;--r:12px}
@media (prefers-color-scheme:dark){:root{--bg:#0f1420;--card:#171e2e;--ink:#e8ecf5;--mute:#9aa6bd;--line:#2a3347;--brand:#7ea2ff;--brand-soft:#1c2a4d;--ok:#6fd49b;--ok-soft:#14301f;--warn:#f0b35a;--warn-soft:#3a2a10;--req:#9aa6bd;--req-soft:#232b3d;--vio:#b697f0;--vio-soft:#2a2144}}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 -apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Segoe UI,Roboto,sans-serif}
a{color:var(--brand)}
header.top{position:sticky;top:0;z-index:20;background:var(--card);border-bottom:1px solid var(--line);display:flex;gap:16px;align-items:center;padding:10px 20px;flex-wrap:wrap}
.logo{font-weight:800}
nav{display:flex;gap:4px;margin-left:auto;align-items:center;flex-wrap:wrap}
nav a{padding:6px 10px;border-radius:8px;text-decoration:none;color:var(--ink);font-weight:600;font-size:14px}nav a:hover{background:var(--brand-soft)}
.lang{display:flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-left:8px}
.lang button{border:0;background:transparent;color:var(--ink);padding:5px 10px;cursor:pointer;font-weight:600}.lang button.on{background:var(--brand);color:#fff}
main{max-width:1100px;margin:0 auto;padding:24px 20px 80px}
section{margin:0 0 52px;scroll-margin-top:70px}
h1{font-size:clamp(24px,3.6vw,36px);line-height:1.25;margin:6px 0 10px}h2{font-size:22px;margin:0 0 10px}h3{font-size:15px;margin:12px 0 6px}
.kicker{color:var(--brand);font-weight:700;font-size:13px;letter-spacing:.08em;text-transform:uppercase}
.sub{color:var(--mute);max-width:820px}
.note{font-size:13px;color:var(--mute)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px}
.badge{display:inline-block;font-size:12px;font-weight:700;padding:2px 9px;border-radius:999px;white-space:nowrap}
.b-off{background:var(--ok-soft);color:var(--ok)}.b-sec{background:var(--brand-soft);color:var(--brand)}.b-req{background:var(--req-soft);color:var(--req)}.b-pc{background:var(--vio-soft);color:var(--vio)}.b-warn{background:var(--warn-soft);color:var(--warn)}
.tw{overflow-x:auto;border-radius:var(--r)}
.tbl{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line)}
.tbl th,.tbl td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.tbl th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--mute);background:var(--bg)}
.tbl tr:last-child td{border-bottom:0}
.click{cursor:pointer}th.click{color:var(--brand)}th.click:hover,td.click:hover{text-decoration:underline}
td.click:hover{background:var(--brand-soft)}
.cname{font-weight:700;display:flex;gap:8px;align-items:center;white-space:nowrap}.flag{font-size:22px}
.score{min-width:150px}.score .n{font-weight:800}.score .n i{font-style:normal;color:var(--mute);font-weight:500}.score.muted .n{color:var(--mute)}
.bar{height:8px;border-radius:99px;background:var(--req-soft);margin:5px 0 3px;overflow:hidden}.bar>div{height:100%;background:var(--brand);border-radius:99px}
.meaning{font-size:12px;color:var(--mute)}
.flow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0}
.flow .s{background:var(--brand-soft);color:var(--brand);padding:3px 10px;border-radius:8px;font-weight:600;font-size:13px}.flow .a{color:var(--mute)}
.grid2{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:14px}
.shift{background:linear-gradient(135deg,var(--brand),#5b2fc9);color:#fff;border-radius:var(--r);padding:26px}
.shift .from{opacity:.85;text-decoration:line-through}.shift .to{font-size:clamp(20px,3vw,28px);font-weight:800;margin-top:8px}
.overlay{position:fixed;inset:0;background:rgba(10,15,30,.55);z-index:50;display:none;align-items:center;justify-content:center;padding:20px}
.overlay.open{display:flex}
.modal{background:var(--card);width:min(880px,100%);max-height:90vh;overflow:auto;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.mhead{position:sticky;top:0;background:var(--card);z-index:2;display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line)}
.mhead h2{margin:0;font-size:20px}
.x{border:0;background:var(--req-soft);color:var(--ink);width:36px;height:36px;border-radius:50%;font-size:22px;cursor:pointer}
.mbody{padding:18px}
@media(max-width:640px){.overlay{padding:0}.modal{max-height:100vh;height:100vh;border-radius:0}}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:10px 0}
.tile{background:var(--bg);border-radius:10px;padding:10px 12px}.tile .l{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mute);font-weight:700}.tile .v{font-weight:700;margin-top:2px}
details{border:1px solid var(--line);border-radius:10px;margin:8px 0;background:var(--card)}
summary{cursor:pointer;padding:11px 14px;font-weight:700;display:flex;justify-content:space-between;gap:10px;align-items:center;list-style:none}
summary::-webkit-details-marker{display:none}summary::after{content:"＋";color:var(--mute)}details[open]>summary::after{content:"－"}
.dbody{padding:2px 14px 14px}
ul.clean{margin:6px 0;padding-left:18px}
.ev{border-left:3px solid var(--line);padding:6px 10px;margin:8px 0;background:var(--bg);border-radius:0 8px 8px 0}
.ev.official,.ev.government_notice{border-color:var(--ok)}.ev.market_source{border-color:var(--brand)}.ev.personal_case{border-color:var(--vio)}.ev.user_report{border-color:var(--warn)}
.ev b{display:block}.ev .m{font-size:12px;color:var(--mute)}
.cols3{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
tr.detail{display:none}tr.detail.open{display:table-row}tr.detail td{background:var(--bg)}
tr.chrow{cursor:pointer}tr.chrow:hover td{background:var(--brand-soft)}
