*{box-sizing:border-box}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft JhengHei",Arial,sans-serif;
  margin:0;background:#f4f7fb;color:#102033
}
header{background:#235f89;color:#fff;text-align:center;padding:22px 16px}
header h1{margin:0;font-size:24px;letter-spacing:.04em}
header p{margin:8px 0 0;font-size:14px;opacity:.95}
main{max-width:1180px;margin:0 auto;padding:16px}
.card{
  background:#fff;border-radius:14px;padding:16px;margin-bottom:16px;
  box-shadow:0 3px 14px rgba(15,23,42,.08)
}
.intro-card{border-left:6px solid #235f89}
.intro-card h2{margin-bottom:8px}

.intro-card li{
    line-height:1.5;
    margin-bottom:12px;
}
.intro-card p{margin:8px 0;line-height:2.0;font-size:14px}
label{display:block;font-weight:900;margin-bottom:8px}
.select-row{display:flex;gap:10px;align-items:center}
select{
  flex:1;padding:14px 12px;border:2px solid #cbd5e1;border-radius:10px;
  font-size:17px;font-weight:900;background:#fff;color:#102033
}
button{
  border:0;border-radius:10px;padding:13px 18px;background:#1f4e79;color:#fff;
  font-weight:900;font-size:15px;cursor:pointer;touch-action:manipulation
}
button.secondary{background:#64748b}
.actions{display:flex;gap:8px;margin-top:12px}
h2{font-size:22px;margin:0 0 12px;color:#1f4e79}
h3{font-size:19px;margin:0 0 12px;color:#102033}
.hint{
  background:#eaf4ff;border-left:5px solid #1f4e79;padding:11px 13px;
  border-radius:8px;margin-bottom:14px;line-height:1.6
}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;min-width:860px}
th,td{border:1px solid #cfd8e3;padding:9px;text-align:center;font-size:14px}
th{background:#e5eef7;font-weight:900}
td:first-child,th:first-child{position:sticky;left:0;z-index:1;text-align:left}
td:first-child{background:#fff}
th:first-child{background:#e5eef7}
input[type=number]{
  width:92px;padding:8px;border:1px solid #b6c2d2;border-radius:8px;
  font-size:16px;text-align:right
}
.my-rain{background:#fff3b0!important;font-weight:900;color:#000}
.small{font-size:13px;color:#54657a;line-height:1.6}
.footer{text-align:center;color:#64748b;font-size:12px;padding:6px 0 18px}
.empty-note{padding:16px;border-radius:10px;background:#fff7ed;color:#9a3412}
@media(max-width:760px){
  header h1{font-size:20px}
  header p{font-size:13px}
  main{padding:10px}
  .card{padding:14px;border-radius:12px}
  .intro-card p{font-size:14px}
  .select-row{display:block}
  select,button{width:100%;margin-top:8px}
  .actions{display:block}
  .actions button{margin-bottom:8px}
  table{min-width:920px}
  th,td{font-size:13px;padding:8px}
}
