:root{--bg:#f9efdd;--card:#fefaf2;--line:#eadfcc;--red:#990b14;--link:#a3141c;--ink:#2f2c40;--mute:#6b5f50;--good:#1d6b3a;--bad:#6b5f50}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{overflow-wrap:anywhere;margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 'Noto Serif',Georgia,'Times New Roman',serif}
a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}
.top{background:#fbf5e9;border-bottom:1px solid #e9dac5}
.wrap{max-width:1000px;margin:0 auto;padding:0 16px}
.top .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px;min-height:60px}
.brand{font-weight:700;font-size:22px;color:var(--red);letter-spacing:.2px}
.brand:hover{text-decoration:none}
.top nav{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:15px}
main{padding:20px 0 40px}
h1{font-size:clamp(24px,4.5vw,32px);line-height:1.25;color:#8e0c14;margin:8px 0 6px}
h2{font-size:20px;color:#8e0c14;margin:28px 0 10px}
.crumbs{font-size:14px;color:var(--mute)}
.crumbs a{color:var(--mute)}
.lead{margin:6px 0 16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px 18px}
.cta{display:inline-block;margin:6px 0 4px;padding:8px 16px;border-radius:8px;background:var(--red);color:#fff}
.cta:hover{text-decoration:none;background:#7d0c13}
dl.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:0}
dl.kv dt{color:var(--mute)}dl.kv dd{margin:0;min-width:0}
@media(max-width:520px){dl.kv{grid-template-columns:1fr;gap:0}dl.kv dd{margin-bottom:8px}}
table{border-collapse:collapse;width:100%;background:var(--card)}
th,td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}
th{background:#f6e9d2}
table.cal{table-layout:fixed}
table.cal th,table.cal td{text-align:center}
table.cal td{padding:0;height:64px}
table.cal td a{display:block;padding:5px 2px;height:100%;color:inherit}
table.cal td a:hover{background:#fbf0e2;text-decoration:none}
table.cal .s{font-size:18px;font-weight:700;display:block;line-height:1.2}
table.cal .l{font-size:12px;color:var(--mute);display:block}
table.cal .h{font-size:11px;color:var(--red);display:block;line-height:1.2;overflow:hidden;max-height:2.4em}
table.cal td.off .s,table.cal th.sun,table.cal td.sun .s{color:#c8141c}
table.cal td.hd{background:#f4faf3}
table.cal td.hacd{background:#fcf8f1}
table.cal td.o{background:transparent;border-color:transparent}
.tbl{overflow-x:auto}
.pager{display:flex;justify-content:space-between;gap:12px;margin:18px 0;flex-wrap:wrap}
ul.cols{columns:2 240px;padding-left:20px;margin:0}
ul.chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}
ul.chips a{display:block;padding:4px 10px;border:1px solid var(--line);border-radius:6px;background:var(--card)}
.good{color:var(--good)}.bad{color:var(--bad)}
footer{border-top:1px solid #e9dac5;background:#f6e9d2;padding:18px 0;font-size:14px;color:var(--mute)}
footer .wrap{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between}
form.conv{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin:8px 0 12px}
form.conv label{display:flex;flex-direction:column;font-size:13px;color:var(--mute)}
form.conv input,form.conv button{font:inherit;padding:6px 8px;border:1px solid #d9c9ae;border-radius:6px;background:#fff;width:84px}
form.conv input.y{width:100px}
form.conv button{width:auto;background:var(--red);color:#fff;border-color:var(--red);cursor:pointer}
output{display:block;min-height:1.6em;font-weight:700;color:#8e0c14}
