/* Shared school surfaces: compact identity, stable reading, purposeful status colors. */
html.hydro-refined.dyoj-workspace .dyoj-class-detail>.school-breadcrumb{margin:0 0 10px;font-size:13px}
html.hydro-refined.dyoj-workspace .dyoj-class-hero{padding:14px 22px 8px}
html.hydro-refined.dyoj-workspace .dyoj-class-head h1{font-size:20px;line-height:1.4}
html.hydro-refined.dyoj-workspace .dyoj-class-tabs--inner{min-height:42px;margin-bottom:20px}
html.hydro-refined.dyoj-workspace .dyoj-class-tabs--inner .dyoj-class-tab{padding:10px 14px 9px;font-size:14px}
.class-pulse{color:var(--ref-ink);line-height:1.6}
.class-pulse-top{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr);gap:20px;align-items:stretch}
.class-week,.class-course-digest,.class-week-board{border:1px solid var(--ref-line);background:var(--ref-panel);border-radius:12px;min-width:0}
.class-week,.class-course-digest{padding:22px 24px}
.class-pulse-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.class-pulse h2{font-size:18px;font-weight:650;line-height:1.5;margin:0;color:var(--ref-ink)}
.class-pulse-heading p{margin:4px 0 0;font-size:13px;color:var(--ref-muted)}
.class-pulse-heading>a,.class-week-participants{font-size:13px;white-space:nowrap;color:var(--ref-muted)}
.class-week-participants{padding:4px 10px;background:var(--ref-hover);border-radius:6px}
.class-week-totals{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--ref-muted);margin-bottom:18px}
.class-week-totals strong{font-size:24px;color:var(--ref-ink);font-variant-numeric:tabular-nums;margin-right:3px}
.class-week-totals .class-week-ac{color:#24765d}
.class-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.class-day{text-align:center;min-width:0}
.class-day-cell{border:1px solid #dfe7eb;background:#f1f5f6;border-radius:7px;padding:12px 2px;color:#52716b;display:flex;flex-direction:column;gap:2px;cursor:default}
.class-day-cell strong{font-size:20px;line-height:1.4;font-variant-numeric:tabular-nums}
.class-day-cell small{font-size:11px}
.class-day-cell.level-1{background:#e7f2ed;border-color:#c9e1d6;color:#326b55}.class-day-cell.level-2{background:#cce6d9;border-color:#a8d4bf;color:#265b47}.class-day-cell.level-3{background:#7fbd9f;border-color:#68a98a;color:#143f30}.class-day-cell.level-4{background:#2c7959;border-color:#2c7959;color:#fff}
.class-day time{display:block;margin-top:7px;font-size:12px;color:var(--ref-muted)}
.class-pulse-note{font-size:12px;color:var(--ref-muted);margin:14px 0 0;line-height:1.7}
.class-digest-description{font-size:13px;color:var(--ref-muted);line-height:1.7;max-height:70px;overflow:auto;margin-bottom:12px}
.class-digest-description p{margin:0 0 8px}
.class-course-digest ul{list-style:none;margin:0;padding:0}.class-course-digest li{padding:11px 0;border-top:1px solid var(--ref-line)}
.class-course-digest li>a{display:block;color:var(--ref-ink);font-size:14px;font-weight:600;line-height:1.6;overflow-wrap:anywhere;text-decoration:none}.class-course-digest li>a:hover{color:var(--ref-accent)}
.class-course-digest li>span{display:block;color:var(--ref-muted);font-size:12px;margin-top:2px}
.class-week-boards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px}
.class-week-board{padding:0 20px 12px;overflow:hidden}.class-week-board header{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;margin:0 -20px 4px;background:var(--ref-hover);border-bottom:1px solid var(--ref-line)}
.class-week-board header h2{font-size:15px}.class-week-board header>span{font-size:12px;color:var(--ref-muted)}
.class-week-board.tone-green header{background:#edf5f1}.class-week-board.tone-amber header{background:#fbf4e7}.class-week-board.tone-blue header{background:#eff3fc}
.class-week-board ol{list-style:none;padding:0;margin:0}.class-week-board li{display:flex;align-items:center;gap:10px;min-height:43px;border-bottom:1px solid var(--ref-line);font-size:14px}.class-week-board li:last-child{border-bottom:0}
.class-board-place{font-size:12px;color:var(--ref-muted);width:18px;flex-shrink:0}.class-week-board li>a{color:var(--ref-ink);text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.class-week-board li>a:hover{color:var(--ref-accent)}
.class-board-value{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.class-board-value small{font-size:11px;font-weight:400;color:var(--ref-muted)}
.class-week-board>p,.class-board-empty{font-size:12px;color:var(--ref-muted);margin:10px 0 0}
.class-day-cell:focus-visible{outline:2px solid var(--ref-accent);outline-offset:3px}
.course-type-pill{display:inline-block;padding:2px 7px!important;border-radius:4px;background:var(--ref-hover);color:var(--ref-muted);font-size:12px;margin-left:8px;white-space:nowrap}
html.hydro-refined .school-filter-form{flex-wrap:wrap;gap:10px}html.hydro-refined .school-filter-form>select{min-width:125px;flex:0 1 140px}
.school-course-type-filter{display:flex;gap:10px;align-items:end;margin:14px 0}.school-course-type-filter label{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ref-muted)}.school-course-type-filter select{border:1px solid var(--ref-line);border-radius:6px;background:var(--ref-panel);color:var(--ref-ink);height:36px;padding:4px 30px 4px 12px}
html.hydro-refined .school-course-type-filter .button{min-height:36px;padding:7px 14px;margin:0}
/* The composer has one title/form hierarchy; Hydro's nested grid must not leak gutters. */
html.hydro-refined .forum-editor-layout{grid-template-columns:minmax(0,1fr) 250px;gap:24px;align-items:start}
html.hydro-refined .forum-editor>.forum-toolbar{background:#edf2fc;border-bottom:1px solid var(--ref-line);padding:18px 24px}
html.hydro-refined .forum-editor>.forum-toolbar h1{font-size:22px}
.forum-compose-intro{margin-bottom:22px}.forum-compose-intro h2{font-size:17px;color:var(--ref-ink);margin:0 0 5px}.forum-compose-intro p{font-size:13px;color:var(--ref-muted);margin:0}
html.hydro-refined .forum-editor-fields{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:18px;margin-bottom:22px}
html.hydro-refined .forum-editor-fields>label{display:flex;flex-direction:column;gap:8px;color:var(--ref-ink);font-size:14px;line-height:1.5;margin:0}
html.hydro-refined .forum-editor-fields :is(input.textbox,select.textbox){width:100%;max-width:none;height:42px;min-height:42px;margin:0;border:1px solid var(--ref-line);border-radius:7px;background:var(--ref-panel);padding:8px 12px;font-size:14px}
html.hydro-refined .forum-moderation{grid-column:1/-1;display:flex;gap:20px;align-items:center;margin:0;padding:10px 14px;border:1px solid var(--ref-line);border-radius:7px;background:var(--ref-hover)}
html.hydro-refined .forum-moderation legend{font-size:12px;padding:0 6px;color:var(--ref-muted)}
html.hydro-refined .forum-moderation label{display:flex;align-items:center;gap:6px;font-size:13px;margin:0}
.forum-content-label{display:flex;justify-content:space-between;gap:10px;font-size:14px;margin-bottom:10px}.forum-content-label span{font-size:12px;color:var(--ref-muted)}
html.hydro-refined .forum-content-editor>.row{margin:0;width:100%;max-width:none}html.hydro-refined .forum-content-editor>.row>.columns{padding:0;width:100%}.forum-content-editor label:empty{display:none}
html.hydro-refined .forum-editor-actions{padding:18px 0 0;margin-top:8px;border-top:1px solid var(--ref-line);gap:10px;display:flex}
html.hydro-refined .forum-guidance{padding:24px 20px;background:#f7f3e9;border:1px solid #e4dbc6;border-radius:12px;color:#665d45;box-shadow:none}
.forum-guidance h2{font-size:17px;margin:0 0 20px;color:#4c4b3e}.forum-guidance ol{margin:0;padding-left:20px}.forum-guidance li{padding-left:4px;margin-bottom:18px;font-size:14px}.forum-guidance p{font-size:13px;line-height:1.8;margin:5px 0 0}
.forum-code-tip{border-top:1px solid #e4dbc6;padding-top:16px;line-height:1.8}.forum-code-tip code{font-size:12px;font-family:Consolas,monospace;background:transparent;color:#635f4f}.forum-code-tip span{display:block;margin-top:8px;font-size:12px}
.class-compose-tip{padding:16px 18px;background:var(--ref-accent-soft);border:1px solid var(--ref-line);border-radius:8px 8px 0 0;margin-top:14px}.class-compose-tip strong,.class-compose-tip span{display:block}.class-compose-tip span{font-size:13px;color:var(--ref-muted);margin-top:5px}
html.hydro-refined .school-compose>form{border:1px solid var(--ref-line);border-top:0;border-radius:0 0 8px 8px;padding:18px;margin-top:0;display:grid;gap:16px;background:var(--ref-panel)}
html.hydro-refined .school-compose>form label{display:flex;flex-direction:column;gap:8px;font-size:14px}.school-compose>form>button{justify-self:start}
html.hydro-refined .account-fields{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) 120px}
/* Keep ranking identities aligned and avoid clipping links on hover. */
html.hydro-refined .home-rankings,html.hydro-refined .home-rankings>.section__body,html.hydro-refined .home-rankings .col--user{overflow:visible}
html.hydro-refined .home-rankings .col--user .user-profile-link{white-space:nowrap}
html[data-mantine-color-scheme=dark] .class-week-board header,html[data-mantine-color-scheme=dark] .forum-editor>.forum-toolbar,html[data-mantine-color-scheme=dark] .forum-guidance{background:var(--ref-hover);border-color:var(--ref-line);color:var(--ref-ink)}
html[data-mantine-color-scheme=dark] .forum-guidance :is(h2,code){color:var(--ref-ink)}
@media(max-width:1000px){.class-pulse-top{grid-template-columns:1fr}.class-week-boards{gap:14px}.class-week-board{padding-inline:15px}.class-week-board header{margin-inline:-15px;padding-inline:15px}html.hydro-refined .forum-editor-layout{grid-template-columns:1fr}.forum-guidance{display:none}}
@media(max-width:650px){html.hydro-refined.dyoj-workspace .dyoj-class-hero{padding:12px 16px 6px}.class-week,.class-course-digest{padding:18px 16px}.class-week-grid{gap:5px}.class-day-cell{padding:10px 1px}.class-day-cell strong{font-size:17px}.class-day-cell small{font-size:10px}.class-pulse h2{font-size:16px}.class-week-totals{gap:12px}.class-week-boards{grid-template-columns:1fr}.class-pulse-top{gap:14px}.class-week-boards{margin-top:14px}html.hydro-refined .forum-editor-fields{grid-template-columns:1fr}html.hydro-refined .account-fields{grid-template-columns:1fr}.forum-content-label{flex-wrap:wrap}html.hydro-refined .school-filter-form>select{flex:1;min-width:110px}}

.class-pulse,.forum-editor-layout,.class-compose-tip{font-family:"Segoe UI","Microsoft YaHei",sans-serif}
.class-pulse .class-day-cell small{color:inherit}
html.hydro-refined .home-rankings .user-profile-link{display:inline-flex;align-items:center;gap:7px;vertical-align:middle;white-space:nowrap}
html.hydro-refined .home-rankings .user-profile-avatar{margin:0;flex:none}
html.hydro-refined .home-rankings .user-profile-name{color:var(--ref-ink);line-height:1.5;font-weight:500;text-decoration:none;transform:none}
html.hydro-refined .home-rankings .user-profile-name:is(:hover,:focus-visible){color:var(--ref-accent);text-decoration:underline;text-underline-offset:3px;font-weight:500}
html.hydro-refined .home-rankings tbody tr,html.hydro-refined .home-rankings tbody tr:nth-child(even){background:var(--ref-panel)}
html.hydro-refined .home-rankings tbody tr:hover,html.hydro-refined .home-rankings tbody tr:hover>td{background:var(--ref-hover)}

@media(max-width:650px){
  .forum-content-editor .md-editor-content-wrapper{flex-direction:column}
  .forum-content-editor .md-editor-content-wrapper>.md-editor-custom-scrollbar{width:100%!important;flex:1;min-height:0}
  .forum-content-editor .md-editor-resize-operate{display:none}
  .forum-content-editor .md-editor-preview-wrapper{border-top:1px solid var(--ref-line)}
}
