:root{font-family:system-ui,sans-serif;color:#183b53;background:#f3f9fd}*{box-sizing:border-box}body{margin:0}main{max-width:860px;margin:auto;padding:24px}header p{letter-spacing:.16em;color:#357ba6;font-weight:700}h1{font-size:1.8rem}section{margin:20px 0}label{display:flex;flex-direction:column;gap:8px}input,select,button{font:inherit;padding:12px;border:1px solid #b7d3e5;border-radius:8px}button{background:#216085;color:white;cursor:pointer}form{display:grid;gap:18px;max-width:400px}.toolbar{display:flex;gap:16px;align-items:end;flex-wrap:wrap}.summary{background:white;border-radius:12px;padding:20px}.summary strong{font-size:2rem}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;background:white}th,td{text-align:left;padding:14px;border-bottom:1px solid #d1e5f0}th:last-child,td:last-child{text-align:right}[hidden]{display:none!important}#status{min-height:24px;color:#526b7c}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #477bdb;outline-offset:3px}@media(max-width:480px){main{padding:16px}.toolbar label{flex:1}input,select{min-width:0;max-width:100%}}
h2,p{overflow-wrap:anywhere}.toolbar label{min-width:0;max-width:100%}.toolbar select{width:100%}.toolbar button{flex-shrink:0}
ul{padding-left:22px}li{margin:12px 0;overflow-wrap:anywhere}li button{margin:8px}.setting{flex-direction:row;align-items:center;padding:8px 0}.setting input{width:22px;height:22px}details form{padding:12px 0}
.week-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.week-grid section{background:white;border:1px solid #d1e5f0;border-radius:10px;padding:12px;margin:0}.week-grid h4{margin:0 0 8px}.week-grid p{font-size:.9rem}.week-grid button{width:100%;padding:8px}#cast-directory{list-style:none;padding:0}#cast-directory button{max-width:100%;overflow-wrap:anywhere}
#menu{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}#menu button{background:white;color:#216085;min-height:44px}#menu button[aria-current=page]{background:#216085;color:white;border-color:#216085}#page-title:focus{outline:none}button:disabled{opacity:.65;cursor:default}

header{background:#e3f3fc;border:1px solid #c9e0ee;border-radius:16px;padding:18px;margin-bottom:16px}header p{margin-top:0}.summary{background:#dff1fc;border:1px solid #c5e2f3}input[type=checkbox]{accent-color:#216085}
