*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Noto Sans JP','Yu Gothic UI','Meiryo',sans-serif;line-height:1.6;color:#222}
.container{max-width:1100px;margin:0 auto;padding:16px}.site-header{background:#0b5;color:#fff}.site-header a{color:#fff;text-decoration:none}.site-title{margin:0}
.site-nav ul{list-style:none;margin:8px 0 0;padding:0;display:flex;gap:12px}.site-nav a{display:inline-block;padding:6px 8px;border-radius:6px}
.site-nav a:hover{background:rgba(255,255,255,.2)}h1,h2,h3{line-height:1.3}table{border-collapse:collapse;width:100%}th,td{border:1px solid #ddd;padding:8px;text-align:left}
th{background:#f7f7f7}.grid{display:grid;gap:8px}.grid.year{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.badge{display:inline-block;background:#eee;border-radius:999px;padding:2px 8px;font-size:.85em}
.card{border:1px solid #e5e5e5;border-radius:10px;padding:12px;background:#fff}.footer{margin-top:24px;font-size:.9em;color:#666}form .row{display:flex;gap:8px;flex-wrap:wrap;align-items:end}
input[type=text],select{padding:8px;border:1px solid #ccc;border-radius:6px}button{padding:8px 12px;border:0;border-radius:6px;background:#0b5;color:#fff;cursor:pointer}button:hover{opacity:.9}.small{font-size:.9em;color:#555}