
:root{--ink:#12303e;--sea:#0b6e7e;--sea2:#0a5563;--sand:#f6f1e3;--card:#fff;--line:#d9e2e0;--accent:#e8873a}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:var(--ink);background:#fbfaf6;line-height:1.5}
a{color:var(--sea2)}header.site{background:var(--sea);color:#fff;padding:.9rem 1rem}
header.site .wrap{display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap}
.logo{font-size:1.45rem;font-weight:800;color:#fff;text-decoration:none;letter-spacing:.2px}
.logo span{color:#ffd9ae}.tag{opacity:.9;font-size:.92rem}
nav.states a{color:#dff3f5;margin-right:.9rem;font-size:.95rem}
main{max-width:980px;margin:0 auto;padding:1rem}
h1{font-size:1.7rem;line-height:1.2;margin:.4rem 0 .6rem}h2{margin-top:1.6rem;font-size:1.2rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:1rem;margin:.8rem 0;box-shadow:0 1px 3px rgba(18,48,62,.05)}
.glance{display:flex;gap:.6rem;flex-wrap:wrap}.pill{background:var(--sand);border:1px solid var(--line);border-radius:10px;padding:.5rem .7rem;min-width:128px}
.pill b{display:block;font-size:1.05rem}.pill small{color:#57707c}
table{border-collapse:collapse;width:100%;font-size:.94rem}th,td{border-bottom:1px solid var(--line);padding:.32rem .45rem;text-align:left}
th{background:#eef5f4}.hi{font-weight:700;color:var(--sea2)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.6rem}
.place{display:block;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem;text-decoration:none;color:var(--ink)}
.place:hover{border-color:var(--sea)}.place small{color:#57707c}
input[type=search],input[type=date]{font-size:1rem;padding:.55rem .7rem;border:1px solid var(--line);border-radius:9px;width:100%;max-width:420px}
button{background:var(--accent);border:0;color:#fff;font-weight:700;padding:.6rem 1rem;border-radius:9px;font-size:1rem;cursor:pointer}
.win{background:#eaf7ee;border:1px solid #bfe3c8;border-radius:10px;padding:.6rem .8rem;margin:.45rem 0}
.mut{color:#57707c;font-size:.9rem}
footer.site{border-top:1px solid var(--line);margin-top:2rem;padding:1rem;font-size:.88rem;color:#57707c;background:#fff}
.cal{width:100%;border-collapse:collapse;table-layout:fixed}.cal td{vertical-align:top;height:92px;font-size:.72rem;padding:.25rem;border:1px solid var(--line)}
.cal .dnum{font-weight:800;font-size:.85rem}.cal .ev{white-space:nowrap}
@media print{header.site,footer.site,.noprint{display:none!important}main{max-width:none}.cal td{height:78px}}
@media(max-width:560px){h1{font-size:1.35rem}.cal td{font-size:.6rem;height:70px}}
