
/* Layout: classic reference-site shape — solid masthead, main column + 300px ad rail, results as a plain table. Single light theme by choice. */
:root{
  --page:#F4F4F1; --paper:#FFFFFF; --ink:#1E1E1E; --muted:#5E5E5E; --rule:#CFCFC8;
  --brand:#7A1F2B; --brand-dark:#5E1720; --link:#1446A0; --hi:#FFF1A8; --adbg:#ECECE7;
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{background:var(--page);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;margin:0}
a{color:var(--link)} a:hover{text-decoration:none}
.bar{background:var(--brand);color:#fff;border-bottom:4px solid var(--brand-dark)}
.in{max-width:1060px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.bar .in{display:flex;align-items:baseline;justify-content:space-between;gap:6px 16px;flex-wrap:wrap;padding-block:12px}
.logo{color:#fff;text-decoration:none;font-weight:700;font-size:22px;letter-spacing:-.01em}
.logo b{background:#fff;color:var(--brand);padding:0 5px;margin-right:4px}
.bar nav{display:flex;gap:16px;font-size:14px}
.bar nav a{color:#fff;opacity:.9}
.crumbs{font-size:13px;color:var(--muted);padding-block:10px 0}
.adlabel{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 3px}
.ad{background:var(--adbg);display:grid;place-items:center;color:#9a9a92;font-size:13px;overflow:hidden}
.ad-top-wrap{padding-block:12px 0}
#ad-top{min-height:90px}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;padding-block:16px 32px;align-items:start}
.main{background:var(--paper);border:1px solid var(--rule);padding:20px 24px 28px;min-width:0}
aside{position:sticky;top:12px}
#ad-side{min-height:600px}
h1{font-size:28px;line-height:1.2;margin:0 0 6px}
.updated{font-size:13px;color:var(--muted);margin:0 0 18px}
.searchbox{background:#FAFAF6;border:1px solid var(--rule);border-left:4px solid var(--brand);padding:16px;margin-bottom:20px}
.fields{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:12px;align-items:end}
label{display:block;font-weight:700;font-size:14px;margin-bottom:4px}
input,select{width:100%;height:48px;font:inherit;font-size:18px;padding:0 10px;border:1px solid #8C8C86;border-radius:2px;background:#fff;color:var(--ink)}
#pc{text-transform:uppercase;font-weight:700;letter-spacing:.03em}
input:focus,select:focus,button:focus-visible{outline:3px solid #F3B200;outline-offset:0}
button{font:inherit;font-weight:700;font-size:17px;height:48px;padding:0 22px;border:0;border-bottom:3px solid var(--brand-dark);background:var(--brand);color:#fff;cursor:pointer;border-radius:2px}
button:hover{background:var(--brand-dark)}
.hint{font-size:13px;color:var(--muted);margin:8px 0 0}
.err{margin:12px 0 0;padding:10px 12px;border-left:4px solid #B10E1E;background:#FDECEC;color:#7d0a15;font-size:15px}
.answer{font-size:18px;margin:0 0 12px}
.answer strong{white-space:nowrap}
.tablewrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:16px}
caption{text-align:left;font-weight:700;font-size:15px;padding-bottom:6px}
th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--rule);vertical-align:top}
thead th{background:#EDEDE7;font-size:13px;text-transform:uppercase;letter-spacing:.04em;border-bottom:2px solid var(--ink)}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
td.n.month{font-weight:700}
tr.sel td{background:var(--hi)}
td small{display:block;color:var(--muted);font-size:13px}
.note{font-size:14px;color:var(--muted);margin:10px 0 0}
#ad-mid{min-height:250px}
.midwrap{margin:22px 0}
.content h2{font-size:20px;margin:26px 0 8px;padding-top:4px}
.content p,.content li{max-width:66ch}
.content ul{padding-left:20px}
.popular{columns:3 150px;padding:0;list-style:none;margin:0}
.popular li{padding:3px 0}
.popular a{cursor:pointer}
footer{border-top:1px solid var(--rule);background:#EAEAE4;font-size:13px;color:var(--muted)}
footer .in{padding-block:16px 24px;display:grid;gap:8px}
footer p{margin:0;max-width:110ch}
@media (max-width:860px){.layout{grid-template-columns:minmax(0,1fr)}aside{position:static}#ad-side{min-height:250px}}
@media (max-width:600px){.fields{grid-template-columns:minmax(0,1fr)}button{width:100%}.main{padding:16px}h1{font-size:24px}.bar nav{display:none}}
.crumbs{padding-top:0;margin-bottom:8px}
.crumbs a{color:var(--muted)}
.lede{margin:0 0 16px;max-width:62ch}
.facts{padding-left:20px;margin:14px 0}
.facts li{margin:3px 0}
.more{font-size:15px;margin:10px 0 0}
.cols{columns:3 150px;column-gap:24px;padding:0;margin:0;list-style:none}
.cols li{padding:3px 0;break-inside:avoid}
.dlist{line-height:2;word-spacing:6px}
h2 .share{font-weight:400;font-size:14px;color:var(--muted);white-space:nowrap}
table.wide td small{display:block}
table.wide{font-size:15px}
h2.az{font-size:18px;margin:20px 0 4px;border-bottom:1px solid var(--rule)}
.main h2{font-size:20px;margin:26px 0 8px}
.main p,.main li{max-width:70ch}
#result{margin-bottom:8px}
#pc::placeholder{text-transform:none;letter-spacing:0;font-weight:400}
