/* Classroom schedule: quiet headers, readable names, obvious empty cells. */
#hygieneWorkspace .student-hygiene-grid-scroll { border-color:var(--line); border-radius:12px; scrollbar-width:thin; }
#hygieneWorkspace :is(.student-hygiene-area-head,.student-hygiene-corner) { background:var(--surface-soft); }
#hygieneWorkspace .student-hygiene-area-label { font-weight:650; line-height:1.5; }
#hygieneWorkspace .student-hygiene-day { background:var(--surface-soft); color:var(--muted); font-weight:650; }
#hygieneWorkspace .student-hygiene-corner-line line { stroke:var(--line-strong); stroke-width:1; }
#hygieneWorkspace .student-hygiene-cell { padding:7px; }
#hygieneWorkspace .student-hygiene-select { grid-template-columns:minmax(0,1fr); border-radius:8px; box-shadow:none; text-align:center; }
#hygieneWorkspace .student-hygiene-select.has-selection { background:var(--surface); border-color:transparent; }
#hygieneWorkspace .student-hygiene-select:not(.has-selection) { background:var(--surface-soft); border-color:var(--line); }
#hygieneWorkspace .student-hygiene-select:not(.has-selection)::before { content:"＋"; color:var(--muted); font-size:20px; line-height:1; }
#hygieneWorkspace .student-hygiene-select:not(:disabled):hover { border-color:color-mix(in srgb,var(--accent) 35%,var(--line)); background:color-mix(in srgb,var(--accent) 4%,var(--surface)); }
#hygieneWorkspace .student-hygiene-selected-names { gap:5px; padding:2px 0; font-weight:600; color:var(--ink); }
#hygieneWorkspace .student-hygiene-select:focus-visible { outline:2px solid var(--accent); outline-offset:1px; }
#hygieneWorkspace .student-hygiene-rules { margin-top:14px; border-radius:10px; }
#hygieneWorkspace .student-hygiene-rule textarea { line-height:1.65; }
#hygieneWorkspace .student-hygiene-toolbar-actions .workspace-head-action { border-radius:8px; box-shadow:none; }
/* Keep custom seat fills and all lock, search, drag and selection states intact. */
#seatWorkspace .seat-compact-tools { gap:7px; padding-bottom:9px; border-bottom:1px solid var(--line); margin-bottom:14px; }
#seatWorkspace .seat-compact-tools .seat-tool-icon { border:1px solid var(--line); background:var(--surface); color:var(--ink); box-shadow:0 1px 2px color-mix(in srgb,var(--ink) 4%,transparent); }
#seatWorkspace .seat-compact-tools .seat-tool-icon:is(:hover,:focus-visible) { border-color:var(--muted); background:var(--surface-soft); }
#seatWorkspace .seat-compact-tools .seat-tool-icon.is-active { color:var(--accent); border-color:var(--accent); background:color-mix(in srgb,var(--accent) 6%,var(--surface)); }
#seatWorkspace .board-panel { border-radius:14px; }
#seatWorkspace .desk-line { border-radius:7px; border-color:var(--line); border-bottom:3px solid var(--line-strong); letter-spacing:.15em; }
#seatWorkspace .seat { border-radius:9px; }
#seatWorkspace .seat:not(.selected):not(.drag-over):not(.editing-seat):not(.search-match):not(.zone-preview):not(.locked):not(.blocked) { border-color:color-mix(in srgb,var(--line-strong) 75%,var(--surface)); box-shadow:0 2px 0 color-mix(in srgb,var(--ink) 7%,transparent); }
#seatWorkspace .seat:not(.selected):not(.blocked):hover { border-color:var(--muted); }
#seatWorkspace .seat-name { line-height:1.4; font-weight:650; }
#seatWorkspace .seat-meta { font-variant-numeric:tabular-nums; line-height:1.4; }
#seatWorkspace .seat:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
@media(max-width:760px) {
  #hygieneWorkspace .student-hygiene-grid-scroll { border-radius:9px; }
  #hygieneWorkspace .student-hygiene-grid { grid-template-columns:40px repeat(var(--hygiene-area-count),minmax(62px,1fr)) 24px; min-width:calc(64px + var(--hygiene-area-count) * 62px); }
  #hygieneWorkspace .student-hygiene-cell { padding:3px; }
  #hygieneWorkspace .student-hygiene-select { min-height:46px; border-radius:6px; padding:5px 2px; }
  #hygieneWorkspace .student-hygiene-selected-names { font-size:12px; gap:4px; }
  #hygieneWorkspace .student-hygiene-area-label { padding:0 2px; font-size:12px; }
  #hygieneWorkspace .student-hygiene-day { font-size:12px; }
  #seatWorkspace.seat-compact .seat-compact-tools { gap:5px; margin-bottom:10px; padding-bottom:8px; }
  #seatWorkspace .seat { border-radius:6px; }
  #seatWorkspace .desk-line { letter-spacing:.08em; }
}
@media(prefers-reduced-motion:reduce) { .header-account button { transition:none; } }

/* Reserve a full star row inside the mobile frame's lower bevel. */
@media(max-width:760px) {
  #moralityCards .morality-card { height:auto; overflow:visible; }
  #moralityCards .morality-card-detail {
    box-sizing:border-box; height:auto; min-height:142px;
    padding:20px 12px 26px; overflow:visible; gap:0;
  }
  #moralityCards .morality-card-detail > h3,
  #moralityCards .morality-card-detail > .rank-score,
  #moralityCards .morality-card-detail > .morality-card-status { position:relative; z-index:1; flex:0 0 auto; }
  #moralityCards .morality-card-detail .rank-score { width:100%; min-width:0; overflow:visible; }
  #moralityCards .morality-rank-stars {
    display:flex; align-items:center; justify-content:center; flex-wrap:nowrap;
    height:22px; min-height:22px; margin:3px 0 0; padding:2px 0;
    gap:3px; overflow:visible; box-sizing:border-box;
  }
  #moralityCards .morality-rank-stars .rank-star-mark { flex:0 0 16px; width:16px; height:16px; overflow:visible; }
  #moralityCards .morality-rank-stars .rank-star-mark svg { display:block; width:100%; height:100%; overflow:visible; }
}
