:root{--ink:#14202b;--mut:#5b6b78;--line:#dfe5ea;--bg:#f6f8fa;--pri:#1a5fd0;--bad:#c2410c;--ok:#15803d}
*{box-sizing:border-box}
body{margin:0;font:1rem/1.65 system-ui,-apple-system,"Hiragino Sans","Noto Sans JP","Yu Gothic UI",sans-serif;color:var(--ink);background:var(--bg)}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 18px;background:#fff;border-bottom:1px solid var(--line);flex-wrap:wrap}
.brand{font-weight:700;color:var(--ink);text-decoration:none}
.langs button{border:1px solid var(--line);background:#fff;padding:4px 9px;border-radius:6px;cursor:pointer;font-size:.8125rem;margin-left:4px}
.langs button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
main{max-width:980px;margin:0 auto;padding:18px}
.hero h1{font-size:clamp(22px,3.4vw,32px);line-height:1.35;margin:.3em 0}
.tags{color:var(--mut);margin:.2em 0 .8em;font-size:.875rem}
.lede{font-size:1.0625rem;background:#fff;border-left:4px solid var(--bad);padding:12px 14px;border-radius:6px}
.beats{padding-left:1.2em}.beats li{margin:.35em 0}
.cta{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.btn{display:inline-block;border:1px solid var(--line);background:#fff;color:var(--ink);padding:10px 14px;border-radius:8px;font-size:.9375rem;cursor:pointer;text-decoration:none}
.btn.pri{background:var(--pri);color:#fff;border-color:var(--pri)}
.btn.buy{background:#111;color:#fff;border-color:#111}
.btn.file input{display:none}
.panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:16px;margin:16px 0}
textarea{width:100%;font:1rem/1.5 ui-monospace,Menlo,Consolas,monospace;border:1px solid var(--line);border-radius:8px;padding:8px}
.note{color:var(--mut)}.small{font-size:.8125rem}.err{color:var(--bad)}.ok{color:var(--ok);font-weight:600}.warn{color:var(--bad)}
.meta{margin:0 0 8px}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.kpi{border:1px solid var(--line);border-radius:8px;padding:10px}.kpi span{display:block;color:var(--mut);font-size:.8125rem}.kpi b{font-size:1.375rem}
.kpi.bad b{color:var(--bad)}.kpi i{font-style:normal;color:var(--bad);margin-left:6px}
.tw{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.875rem;margin:6px 0 12px}
th,td{border-bottom:1px solid var(--line);padding:6px 8px;text-align:left;white-space:nowrap}th{background:var(--bg);font-weight:600}
h3{font-size:1rem;margin:18px 0 6px}
.negs{list-style:none;padding:0;margin:0 0 8px}.negs li{padding:3px 0}.negs code{background:var(--bg);padding:1px 6px;border-radius:4px}
.row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fld input{border:1px solid var(--line);border-radius:6px;padding:8px;min-width:260px;font-size:1rem}
.accts{padding-left:1.2em}.lnk{background:none;border:0;color:var(--pri);cursor:pointer;font-size:.9375rem;padding:0;text-decoration:underline}
.plans{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}
.pro{background:#fff7ed;border-radius:6px;padding:8px 10px}
.foot{text-align:center;color:var(--mut);padding:24px}
@media print{.top,.cta,#csvBox,#gPanel,.buybox,.more,.foot,#keyBtn,#keyIn,.row .btn,.negs input{display:none!important}body{background:#fff}.panel{border:0}}
