.saitaku-panel { grid-column: 2 / -1; min-width: 0; padding: 20px; border: 1.5px solid var(--panel-border); border-radius: 9px; background: var(--panel-blue); }
.saitaku-panel h1 { margin: 0 0 20px; font-size: 22px; }
.saitaku-form { display: flex; flex-wrap: wrap; align-items: end; gap: 16px; }
.saitaku-form label { display: grid; gap: 8px; min-width: 150px; flex: 1; font-weight: 700; }
.saitaku-form select { width: 100%; min-width: 0; height: 44px; padding: 8px 12px; border: 1px solid #9bb8c9; border-radius: 6px; background: white; color: #243c4b; font: inherit; }
.saitaku-form button, .saitaku-retry { min-height: 44px; padding: 8px 28px; border: 0; border-radius: 6px; background: #167aaf; color: white; font: inherit; font-weight: 700; cursor: pointer; }
.saitaku-panel button:disabled { opacity: .5; cursor: default; }
.saitaku-status { margin: 20px 0; color: #415b6b; }
.saitaku-result { margin-top: 22px; }
.saitaku-result h2 { margin: 0 0 14px; font-size: 17px; }
.saitaku-subjects { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.saitaku-subject { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 24px 12px; background: white; border: 1px solid #c1d5e1; border-radius: 9px; }
.saitaku-subject img { width: 60px; height: 60px; object-fit: contain; }
.saitaku-subject p { margin: 0; font-size: 25px; font-weight: 700; overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .saitaku-panel { grid-column: 1 / -1; padding: 16px; }
  .saitaku-form label { flex-basis: 100%; }
  .saitaku-form button { width: 100%; }
  .saitaku-subjects { grid-template-columns: 1fr; }
  .saitaku-subject { flex-direction: row; padding: 16px; }
  .saitaku-subject img { width: 44px; height: 44px; }
  .saitaku-subject p { margin-left: auto; }
}
