/* Hydro refinement: preserve the native DOM, navigation, grids and breakpoints. */
html.hydro-refined .nav_more[data-dyoj-has-management] { display:list-item!important; }
html.hydro-refined {
  --ref-primary: #355fc3;
  --ref-primary-hover: #284ca6;
  --ref-accent: #355fc3;
  --ref-accent-soft: #e9efff;
  --ref-ink: #263445;
  --ref-muted: #6e7c8d;
  --ref-line: #e3e9ef;
  --ref-panel: #fff;
  --ref-canvas: #f1f4f7;
  --ref-hover: #f7f9fc;
}
html.hydro-refined.theme--dark {
  --ref-primary: #426bce;
  --ref-primary-hover: #355fc3;
  --ref-accent: #8caaff;
  --ref-accent-soft: #2b3d60;
  --ref-ink: #dce4ee;
  --ref-muted: #a1adbe;
  --ref-line: #354152;
  --ref-panel: #242d39;
  --ref-canvas: #1b232e;
  --ref-hover: #2b3645;
}
.hydro-refined.layout--basic body { background-color: var(--ref-canvas); color: var(--ref-ink); }
.hydro-refined .nav { box-shadow: 0 1px 4px #23364b14; border-bottom: 1px solid var(--ref-line); background: var(--ref-panel); }
.hydro-refined .nav__list--main .nav__item { color: var(--ref-ink); }
.hydro-refined .nav__list--main .nav__item:hover { background: var(--ref-hover); color: var(--ref-accent); }
html.hydro-refined .nav .nav__list--main .nav__item.nav--active { border-top-color: transparent; color: var(--ref-accent); font-weight: 600; }
html.hydro-refined .nav .nav__item.nav--active::before { box-shadow: none; }
.hydro-refined .nav--shadow { box-shadow: 0 1px 5px #23364b1a; }
.hydro-refined .nav__item--round { border-color: var(--ref-accent); color: var(--ref-accent); }
.hydro-refined .section { background: var(--ref-panel); border-radius: 7px; box-shadow: 0 3px 14px #263b5010; outline: 1px solid var(--ref-line); }
.hydro-refined .section__title { color: var(--ref-ink); font-weight: 500; }
.hydro-refined .section__header { border-color: var(--ref-line); }
.hydro-refined .section.side .section__title { font-size: 20px; }
.hydro-refined .typo { color: var(--ref-ink); }
.hydro-refined .typo :is(h1,h2,h3,h4) { color: var(--ref-ink); font-weight: 500; }
.hydro-refined .typo a { color: var(--ref-accent); }
.hydro-refined .typo pre { border-radius: 5px; }
.hydro-refined .typo blockquote { border-left-color: #8eb7df; }
.hydro-refined .supplementary { color: var(--ref-muted); }
.hydro-refined .data-table th { color: var(--ref-muted); background: var(--ref-hover); border-color: var(--ref-line); }
.hydro-refined .data-table td { border-color: var(--ref-line); }
.hydro-refined .data-table tbody tr:hover td { background-color: var(--ref-hover); }
html.hydro-refined .data-table .col--problem-name a:not(.problem__tag-link),
html.hydro-refined a.problem-title,
html.hydro-refined .section a[href^="/p/"]:not(.menu__link):not(.button):not(.problem__tag-item) { color: var(--ref-ink); }
html.hydro-refined a.problem-title:hover { color: var(--ref-ink); text-decoration: underline; text-underline-offset: 3px; }
/* Hide the retired global search before its asynchronous initialization finishes. */
html.hydro-refined :is(.omnibar,.omnibar-toggle){display:none!important}
/* Ended contests need a distinct surface even on alternate list rows. */
html.hydro-refined :is(.contest-state.is-ended,.arena-state.is-done,.workspace-state.is-ended){background:#e5eaf0;color:#45566b;box-shadow:inset 0 0 0 1px #b6c2d0;font-weight:500}
html.hydro-refined.theme--dark :is(.contest-state.is-ended,.arena-state.is-done,.workspace-state.is-ended){background:#35465a;color:#dae4ef;box-shadow:inset 0 0 0 1px #63768b}
.hydro-refined .search { border-color: var(--ref-line); border-radius: 7px 7px 0 0; }
.hydro-refined .search input { border-color: var(--ref-line); background: var(--ref-panel); color: var(--ref-ink); border-radius: 7px 0 0 0; }
.hydro-refined .search button { background: var(--ref-accent); border-radius: 0 7px 0 0; }
.hydro-refined .pager { border-color: var(--ref-line); }
.hydro-refined .pager .pager__item.current { color: var(--ref-accent)!important; border-color: var(--ref-accent)!important; }
.hydro-refined .section__tab-container:not(.immersive) .section__tab-header-item:is(.selected,.tab--active) { border-color: var(--ref-accent); color: var(--ref-accent); }
.hydro-refined .menu__link:hover { background: var(--ref-hover); }
.hydro-refined .menu__link.active { color: var(--ref-accent); background: var(--ref-accent-soft); }
.hydro-refined .menu__seperator { border-color: var(--ref-line); }
.hydro-refined .button { border-radius: 4px; box-shadow: none; }
html.hydro-refined .button.primary { background-color: var(--ref-primary); border-color: var(--ref-primary); color:#fff; }
html.hydro-refined .button.primary:hover { background-color:var(--ref-primary-hover);border-color:var(--ref-primary-hover);filter:none; }
.hydro-refined.layout--basic .textbox:not(.monaco-editor *) { border-color: var(--ref-line); }
.hydro-refined.layout--basic :is(input.textbox,textarea.textbox,select) { border-radius: 4px; }
.hydro-refined.layout--basic .checkbox input:checked { background: var(--ref-accent); border-color: var(--ref-accent); }
.hydro-refined :is(a,button,input,select,textarea,summary):focus-visible { outline: 2px solid var(--ref-accent); outline-offset: 2px; }
.hydro-refined .drop__content { border-radius: 5px; box-shadow: 0 5px 20px #263b5024; }
.hydro-refined.layout--basic .footer { border-top: 1px solid var(--ref-line); }
.hydro-refined.layout--basic .footer__category h1 { color: var(--ref-ink); font-weight: 500; }
.hydro-refined.layout--basic .footer__extra-link { color: var(--ref-muted); }
/* Keep the existing centered login and its background. Improve field contrast only. */
.hydro-refined.layout--immersive .immersive--content h1 { font-weight: 500; }
.hydro-refined.layout--immersive .material.textbox input { border-color: #ffffffb3; }
.hydro-refined.layout--immersive .material.textbox input:focus { border-color: #fff; }
.hydro-refined.layout--immersive .checkbox input { border-color: #ffffffbf; }
.hydro-refined.layout--immersive .checkbox input:checked { background-color: #347fcb; border-color: #fff; }
.hydro-refined.layout--immersive .button.primary { background-color: #347fcb; border-color: #347fcb; }
.hydro-refined.layout--immersive :is(a,button,input):focus-visible { outline-color: #fff; }
@media (max-width: 600px) {
  .hydro-refined .nav.slideout-menu { background: #1d1f20; }
  .hydro-refined .nav__list--main .nav__item { color: #e2e8f0; }
  html.hydro-refined .nav .nav__list--secondary > .nav__list-item > .nav__item { color: #e2e8f0; }
  .hydro-refined .nav__list--main .nav__item:hover { background: #293441; color: #9dc7f1; }
  html.hydro-refined .nav .nav__list--main .nav__item.nav--active { color: #9dc7f1; }
}
@media (prefers-reduced-motion: reduce) {
  .hydro-refined .button, .hydro-refined .nav__item { transition: none; }
}

/* A roomier problem list within Hydro's existing two-column layout. */
html.hydro-refined.page--problem_main #searchForm { padding: 22px 22px 16px; border-bottom: 1px solid var(--ref-line); }
html.hydro-refined.page--problem_main .search { display: grid; grid-template-columns: minmax(100px,1fr) 132px 88px; gap: 12px; align-items: center; height: auto; border: 0; background: none; }
html.hydro-refined.page--problem_main .search > * { position: static!important; margin: 0; float: none; }
html.hydro-refined.page--problem_main .search input { width: 100%; min-width: 0; height: 46px; padding: 10px 15px; border: 1px solid var(--ref-line); background: var(--ref-hover); color: var(--ref-ink); border-radius: 6px; font-size: 14px; box-sizing: border-box; transition: border-color .15s,box-shadow .15s; }
html.hydro-refined.page--problem_main .search input:focus { background: var(--ref-panel); border-color: var(--ref-accent); box-shadow: 0 0 0 3px var(--ref-accent-soft); outline: none; }
html.hydro-refined.page--problem_main .search-sort { width: 132px; height: 46px; padding: 0 10px; font-size: 13px; border: 1px solid var(--ref-line); background: var(--ref-panel); color: var(--ref-ink); border-radius: 6px; }
html.hydro-refined.page--problem_main .refined-search-summary { margin-top: 12px; font-size: 12px; line-height: 20px; color: var(--ref-muted); }
html.hydro-refined.page--problem_main .refined-search-summary p { margin: 0; }
html.hydro-refined.page--problem_main .search button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; height: 46px; width: 88px; border: 1px solid var(--ref-accent); background: var(--ref-accent); color: #fff; border-radius: 6px; font-size: 14px; line-height: 1; }
html.hydro-refined.theme--dark.page--problem_main .search button { color: #1b232e; }
html.hydro-refined.page--problem_main .data-table th { padding-top: 15px; padding-bottom: 15px; }
html.hydro-refined.page--problem_main .data-table td { padding-top: 18px; padding-bottom: 18px; font-size: 14px; line-height: 1.65; }
html.hydro-refined.page--problem_main .data-table .col--problem-name > a { font-size: 16px; }
html.hydro-refined.page--problem_main .data-table .col--problem-name { padding-left: 18px; }
html.hydro-refined.page--problem_main .data-table :is(th,td):first-child { padding-left: 18px; }
html.hydro-refined.page--problem_main .data-table :is(th,td):last-child { padding-right: 18px; }

/* Tab slides need a single horizontal track and an opaque clipping viewport. */
html.hydro-refined.page--user_detail .profile-content .section__tab-header-wrapper + div { overflow: hidden; background: var(--ref-panel); isolation: isolate; }
html.hydro-refined.page--user_detail .profile-content .section__tab-content { display: flex; align-items: flex-start; }
html.hydro-refined.page--user_detail .profile-content .section__tab-main { flex: 0 0 100%; min-width: 0; box-sizing: border-box; background: var(--ref-panel); }

/* Four requested footer entries, one quiet row on desktop and mobile. */
html.hydro-refined .footer.refined-footer { padding: 18px 0; }
html.hydro-refined .refined-footer__items { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 28px; margin: 0; padding: 0; list-style: none; font-size: 13px; line-height: 28px; }
html.hydro-refined .refined-footer__items > li { float: none; margin: 0; padding: 0; }
html.hydro-refined .refined-footer__items > li > a { display: inline-block; padding: 4px 0; }
html.hydro-refined .refined-footer__theme { display: inline-flex; align-items: center; gap: 4px; border: 0; margin: 0; padding: 4px 0; background: transparent; color: inherit; font: inherit; line-height: inherit; cursor: pointer; }
html.hydro-refined .refined-footer__theme:focus-visible { outline: 2px solid var(--ref-accent); outline-offset: 4px; }
html.hydro-refined .refined-about-header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; }
html.hydro-refined .refined-about-header .button { margin: 0; white-space: nowrap; }
html.hydro-refined .refined-about-sections { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-bottom: 22px; font-size: 13px; }
html.hydro-refined .refined-about-sections [aria-current=page] { color: var(--ref-ink); font-weight: 600; }
html.hydro-refined .refined-about-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
html.hydro-refined .refined-about-credit { padding: 0 16px 20px; }
@media (max-width: 900px) {
  html.hydro-refined.page--problem_main .search { grid-template-columns: minmax(80px,1fr) 120px 80px; gap: 8px; }
  html.hydro-refined.page--problem_main .search-sort { width: 120px; }
  html.hydro-refined.page--problem_main .search button { width: 80px; }
}
@media (max-width: 600px) {
  html.hydro-refined.page--problem_main #searchForm { padding: 14px 12px; }
  html.hydro-refined.page--problem_main .search { grid-template-columns: minmax(0,1fr) 88px; }
  html.hydro-refined.page--problem_main .search input { grid-column: 1/-1; }
  html.hydro-refined.page--problem_main .search-sort { width: 100%; }
  html.hydro-refined.page--problem_main .search button { width: 88px; }
  html.hydro-refined.page--problem_main .data-table td { padding-top: 16px; padding-bottom: 16px; font-size: 13px; }
  html.hydro-refined.page--problem_main .data-table .col--problem-name > a { font-size: 14px; }
  html.hydro-refined .refined-footer__items { gap: 4px 20px; }
}

/* Homework remains hidden; school-wide discussions are available again. */
html.hydro-refined a[href^="/homework"],
html.hydro-refined .menu__item:has(> a[href^="/homework"]) { display: none!important; }

/* Training: preserve the native columns and section interactions. */
html.hydro-refined .refined-training-title { font-size: 23px; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
html.hydro-refined .refined-training-summary { margin-top: 8px; }
html.hydro-refined.page--training_detail .section__body.typo { line-height: 1.8; }
html.hydro-refined .training__section { border-top: 1px solid var(--ref-line); padding: 6px 0; }
html.hydro-refined .training__section:first-child { border-top: 0; }
html.hydro-refined .training__section > .section__header { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 18px 20px 10px; }
html.hydro-refined .training__section > .section__header::before,
html.hydro-refined .training__section > .section__header::after { display: none; }
html.hydro-refined .training__section > .section__header > .float-left { float: none; min-width: 0; }
html.hydro-refined .training__section > .section__header > .float-right { float: none; flex-shrink: 0; }
html.hydro-refined .training__section .section__title { font-size: 18px; line-height: 1.5; overflow-wrap: anywhere; }
html.hydro-refined .training__section .training-section-status--text { font-size: 12px; line-height: 1.6; padding: 3px 9px; border-radius: 5px; white-space: nowrap; }
html.hydro-refined .training-section-status--text .training-section-status--icon { display: none; }
html.hydro-refined .training-section-status--text.open { color: var(--ref-accent)!important; background: var(--ref-accent-soft); }
html.hydro-refined .training-section-status--text.invalid { color: var(--ref-muted)!important; background: var(--ref-hover); }
html.hydro-refined .training__section > .section__body { padding: 0 20px 12px; }
html.hydro-refined .training__problems .data-table td { padding-top: 13px; padding-bottom: 13px; line-height: 1.65; }
html.hydro-refined .training__problems .col--problem-name { font-size: 14px; overflow-wrap: anywhere; }
html.hydro-refined .training__problems .col--problem-name .problem-title { font-size: inherit; }
html.hydro-refined .refined-training-empty { padding: 28px 22px; }
html.hydro-refined .refined-training-empty p:last-child { margin-bottom: 0; }
html.hydro-refined .refined-training-end { height: 12px; }
html.hydro-refined .training__list .training__title { font-size: 18px; line-height: 1.5; overflow-wrap: anywhere; }
html.hydro-refined .training__list .training__title a { color: var(--ref-ink); }
html.hydro-refined .training__list .training__intro { margin-top: 9px; font-size: 13px; color: var(--ref-muted); }
html.hydro-refined.page--training_main .section__header { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; }
html.hydro-refined.page--training_main .section__tools { position: static; float: none; margin: 0; }
html.hydro-refined .enroll_user_menu .user-profile-name { overflow-wrap: anywhere; }
html.hydro-refined .refined-training-users .section__title { font-size: 17px; }
html.hydro-refined .refined-training-users .section__body { padding: 4px 14px 12px; }
html.hydro-refined .refined-training-users form { display: flex; flex-wrap: wrap; gap: 6px; }
html.hydro-refined .refined-training-users select { flex-basis: 100%; }
html.hydro-refined .refined-training-users input { flex: 1; width: 100%; min-width: 0; height: 38px; padding: 8px 10px; box-sizing: border-box; }
html.hydro-refined .refined-training-users button { width: 38px; height: 38px; padding: 0; margin: 0; }
html.hydro-refined .refined-training-users .enroll_user_menu { max-height: 240px; overflow-y: auto; }
html.hydro-refined .refined-training-users .user-profile-link { display: flex; align-items: flex-start; gap: 8px; }
html.hydro-refined .refined-training-users .user-profile-avatar { flex-shrink: 0; margin-top: 2px; }
html.hydro-refined .refined-training-users .menu__link.active,
html.hydro-refined .refined-training-users .menu__link:hover { background: var(--ref-accent-soft); color: var(--ref-accent); }
html.hydro-refined .refined-training-users .menu__link.active { border-left-color: transparent; }

/* Luogu's current eight named levels; unassigned problems stay ungraded. */
html.hydro-refined .refined-difficulty { font-size: 12px; font-weight: 600; line-height: 1.6; white-space: normal; overflow-wrap: normal; }
html.hydro-refined .refined-difficulty--0 { color: var(--ref-muted); font-weight: 400; }
html.hydro-refined .refined-difficulty--1 { color: #d8343b; }
html.hydro-refined .refined-difficulty--2 { color: #b95e09; }
html.hydro-refined .refined-difficulty--3 { color: #927000; }
html.hydro-refined .refined-difficulty--4 { color: #218642; }
html.hydro-refined .refined-difficulty--5 { color: #087f8c; }
html.hydro-refined .refined-difficulty--6 { color: #2862c0; }
html.hydro-refined .refined-difficulty--7 { color: #8b40bd; }
html.hydro-refined .refined-difficulty--8 { color: var(--ref-ink); }
html.hydro-refined.theme--dark .refined-difficulty--1 { color: #ff8c91; }
html.hydro-refined.theme--dark .refined-difficulty--2 { color: #ffb569; }
html.hydro-refined.theme--dark .refined-difficulty--3 { color: #e6cc61; }
html.hydro-refined.theme--dark .refined-difficulty--4 { color: #82d69a; }
html.hydro-refined.theme--dark .refined-difficulty--5 { color: #6cd4df; }
html.hydro-refined.theme--dark .refined-difficulty--6 { color: #87b8ed; }
html.hydro-refined.theme--dark .refined-difficulty--7 { color: #cf9bf2; }
html.hydro-refined.page--problem_main .col--difficulty,
html.hydro-refined .training__problems .col--difficulty { width: 132px; }
html.hydro-refined.page--problem_main .data-table td.col--difficulty,
html.hydro-refined .training__problems td.col--difficulty { text-align: center; }
html.hydro-refined.page--problem_main th.col--difficulty a[href="javascript:;"] { display: none; }
html.hydro-refined.page--problem_edit select[name=difficulty],
html.hydro-refined.page--problem_create select[name=difficulty] { width: 100%; }
@media(max-width:600px) {
 html.hydro-refined .refined-training-title { font-size: 20px; }
 html.hydro-refined .training__section > .section__header { padding: 16px 12px 10px; }
 html.hydro-refined .training__section .section__title { font-size: 16px; }
 html.hydro-refined .training__section .training-section-status--text { font-size: 11px; }
 html.hydro-refined .training__section > .section__body { padding-left: 12px; padding-right: 12px; }
 html.hydro-refined .training__problems .col--problem-name { font-size: 13px; }
 html.hydro-refined .training__list .training__title { font-size: 16px; }
 html.hydro-refined.page--training_main .filter-form { display: flex; gap: 6px; }
 html.hydro-refined.page--training_main .filter-form input { min-width: 0; width: 100%; }
}

/* Learning dashboard: restrained cards, real activity, quiet navigation. */
.hydro-refined .learning-eyebrow {font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--ref-muted);margin:0 0 10px}
.hydro-refined :is(.learning-welcome,.learning-home-heat,.learning-profile,.learning-blog-detail) h2 {font-size:18px;font-weight:650;color:var(--ref-ink);margin:0}
.hydro-refined .learning-muted {font-size:13px;line-height:1.7;color:var(--ref-muted);margin:8px 0 16px}
.hydro-refined .learning-muted b {color:var(--ref-ink);font-weight:600}
.hydro-refined .learning-center {text-align:center}
.hydro-refined .learning-welcome {border-top:3px solid var(--ref-accent)}
.hydro-refined .learning-welcome .section__body,.hydro-refined .learning-home-heat .section__body {padding:22px}
.hydro-refined .learning-welcome h2 {font-size:19px;line-height:1.5;overflow-wrap:anywhere}
.hydro-refined .learning-date {display:flex;align-items:center;gap:18px;margin:18px 0;color:var(--ref-accent)}
.hydro-refined .learning-date>span {font-size:15px;font-weight:600}
.hydro-refined .learning-date small {display:block;font-size:12px;color:var(--ref-muted);margin-top:7px;font-weight:400}
.hydro-refined .learning-date strong {font-size:64px;line-height:1;font-weight:700;letter-spacing:-3px;font-variant-numeric:tabular-nums}
.hydro-refined .learning-date .learning-date__year {margin-left:auto;color:var(--ref-muted);font-size:12px;writing-mode:vertical-rl;letter-spacing:.15em}
.hydro-refined .learning-checkin {display:block;width:100%;border-radius:7px;height:42px;line-height:40px;padding:0;text-align:center;font-weight:600;margin:0}
html.hydro-refined .learning-checkin:disabled {background:var(--ref-accent-soft);border-color:var(--ref-line);color:var(--ref-accent);opacity:1;cursor:default}
.hydro-refined .learning-checkin-stats {display:flex;justify-content:center;gap:32px;font-size:12px;color:var(--ref-muted);margin:14px 0 22px}
.hydro-refined .learning-checkin-stats b {color:var(--ref-ink);font-size:15px;margin:0 4px}
.hydro-refined .learning-countdown {border-top:1px solid var(--ref-line);padding-top:18px}
.hydro-refined .learning-countdown h3 {font-size:13px;font-weight:600;margin:0 0 12px}
.hydro-refined .learning-countdown h3>span {float:right;color:var(--ref-muted);font-size:11px;font-weight:400}
.hydro-refined .learning-event {display:flex;align-items:center;gap:12px;justify-content:space-between;padding:10px 0;color:var(--ref-ink);font-size:13px;line-height:1.5}
.hydro-refined .learning-event>span {min-width:0;overflow-wrap:anywhere}
.hydro-refined .learning-event>span small {display:block;color:var(--ref-muted);font-size:11px;margin-top:3px}
.hydro-refined .learning-event>b {white-space:nowrap;font-size:22px;color:var(--ref-accent);font-variant-numeric:tabular-nums}
.hydro-refined .learning-event>b small {font-size:11px;font-weight:400}
.hydro-refined .learning-heading {display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}
.hydro-refined .learning-heading>span {font-size:12px;color:var(--ref-muted);white-space:nowrap}
.hydro-refined .learning-heading h1 {font-size:25px;font-weight:650}
.hydro-refined .learning-heading .button {margin:0}
.hydro-refined .learning-heatmap__scroll {overflow-x:auto;padding:2px 1px 8px}
.hydro-refined .learning-heatmap__months {display:grid;grid-auto-flow:column;grid-auto-columns:12px;gap:3px;height:16px;margin-bottom:4px;font-size:10px;line-height:16px;color:var(--ref-muted);white-space:nowrap}
.hydro-refined .learning-heatmap__months span {grid-row:1;overflow:visible}
.hydro-refined .learning-heatmap__grid {display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,12px);grid-auto-columns:12px;gap:3px}
.hydro-refined .learning-day {display:block;aspect-ratio:1;border-radius:3px;min-width:0;position:relative}
.hydro-refined .learning-day:focus-visible {outline:2px solid var(--ref-accent);outline-offset:2px}
.hydro-refined .learning-day--0 {background:#edf1f0}
.hydro-refined .learning-day--1 {background:#c9e9d7}
.hydro-refined .learning-day--2 {background:#88c9a5}
.hydro-refined .learning-day--3 {background:#47a776}
.hydro-refined .learning-day--4 {background:#227a51}
.hydro-refined .learning-day--blank {visibility:hidden}
.hydro-refined .learning-heatmap__caption {display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--ref-muted);margin-top:6px;flex-wrap:wrap}
.hydro-refined .learning-legend {display:inline-flex;gap:4px;align-items:center}
.hydro-refined .learning-legend i {width:10px;height:10px;border-radius:2px}
.hydro-refined .learning-heatmap--compact .learning-heatmap__months {font-size:9px}
.hydro-refined .learning-heatmap--compact .learning-day {border-radius:2px}
.hydro-refined .learning-heatmap--compact .learning-heatmap__caption {font-size:9px}
.hydro-refined .learning-detail-link {display:flex;justify-content:space-between;margin-top:18px;padding-top:14px;border-top:1px solid var(--ref-line);font-size:12px}
.hydro-refined .learning-profile-hero {padding:28px 30px 0;overflow:hidden;border-top:3px solid var(--ref-accent)}
.hydro-refined .learning-profile-identity {display:flex;gap:22px;align-items:center}
.hydro-refined .learning-avatar {border-radius:50%;border:4px solid var(--ref-panel);box-shadow:0 0 0 1px var(--ref-line);object-fit:cover;flex-shrink:0}
.hydro-refined .learning-profile-name {min-width:0;flex:1}
.hydro-refined .learning-profile-name h1 {font-size:29px;font-weight:700;line-height:1.4;margin:0;overflow-wrap:anywhere}
.hydro-refined .learning-profile-name .learning-muted {margin:6px 0 0}
.hydro-refined .learning-profile-name .learning-muted>span {margin-left:18px}
.hydro-refined .learning-role {display:inline-block;vertical-align:middle;font-size:10px;line-height:22px;padding:0 8px;background:var(--ref-accent-soft);color:var(--ref-accent);border-radius:4px;margin-left:12px;font-weight:500}
.hydro-refined .learning-edit-profile {align-self:flex-start;font-size:12px;margin:0}
.hydro-refined .learning-profile-meta {display:flex;flex-wrap:wrap;gap:20px;font-size:12px;color:var(--ref-muted);margin:20px 0 24px}
.hydro-refined .learning-profile-stats {display:grid;grid-template-columns:repeat(4,1fr);padding:20px 0;border-top:1px solid var(--ref-line);gap:20px}
.hydro-refined .learning-profile-stats>div {display:flex;flex-direction:column;border-right:1px solid var(--ref-line)}
.hydro-refined .learning-profile-stats>div:last-child {border:0}
.hydro-refined .learning-profile-stats strong {font-size:28px;font-weight:650;line-height:1.2;font-variant-numeric:tabular-nums}
.hydro-refined .learning-profile-stats span {font-size:12px;color:var(--ref-muted);margin-top:6px}
.hydro-refined .learning-tabs {display:flex;gap:24px;padding:0 26px;border-bottom:1px solid var(--ref-line);overflow-x:auto;white-space:nowrap}
.hydro-refined .learning-tabs a {display:block;padding:18px 0 15px;color:var(--ref-muted);font-size:14px;border-bottom:3px solid transparent}
.hydro-refined .learning-tabs a[aria-current=page] {color:var(--ref-accent);border-color:var(--ref-accent);font-weight:600}
.hydro-refined .learning-tabs a:hover {color:var(--ref-accent)}
.hydro-refined .learning-tab-body {padding:26px 30px;min-height:260px}
.hydro-refined .learning-divider {border-top:1px solid var(--ref-line);margin:26px 0}
.hydro-refined .learning-heading--wrap {flex-wrap:wrap;align-items:flex-start}
.hydro-refined .learning-heading--wrap .learning-muted {margin:7px 0 0;font-size:11px}
.hydro-refined .learning-filters {display:flex;gap:7px;align-items:center}
.hydro-refined .learning-filters label {margin:0}
.hydro-refined .learning-filters :is(select,button) {height:33px;font-size:12px;margin:0;padding:0 10px;border:1px solid var(--ref-line);border-radius:6px;background:var(--ref-panel);color:var(--ref-ink)}
.hydro-refined .learning-filters select {padding-right:25px}
.hydro-refined .sr-only {position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.hydro-refined .learning-difficulties {display:grid;gap:16px;margin-top:24px}
.hydro-refined .learning-difficulty-row {display:grid;grid-template-columns:145px 1fr 45px;align-items:center;gap:18px}
.hydro-refined .learning-difficulty-row>.refined-difficulty {justify-self:start}
.hydro-refined .learning-difficulty-row>span:last-child {font-size:12px;text-align:right;color:var(--ref-muted);font-variant-numeric:tabular-nums}
.hydro-refined .learning-bar {height:7px;border-radius:4px;background:var(--ref-hover);overflow:hidden}
.hydro-refined .learning-bar i {height:100%;display:block;border-radius:4px;background:#98a1ac}
.hydro-refined .learning-bar .learning-bar--1 {background:#e76878}.hydro-refined .learning-bar .learning-bar--2 {background:#eaa14a}.hydro-refined .learning-bar .learning-bar--3 {background:#e9bf46}.hydro-refined .learning-bar .learning-bar--4 {background:#75b559}.hydro-refined .learning-bar .learning-bar--5 {background:#4bb9bd}.hydro-refined .learning-bar .learning-bar--6 {background:#5795ca}.hydro-refined .learning-bar .learning-bar--7 {background:#ad83c9}.hydro-refined .learning-bar .learning-bar--8 {background:#626779}
.hydro-refined .learning-note {font-size:11px;color:var(--ref-muted);line-height:1.8;margin:24px 0 0}
.hydro-refined .learning-shortcuts h2 {margin-bottom:20px}
.hydro-refined .learning-shortcuts a {display:flex;align-items:center;gap:12px;padding:13px 9px;border-radius:6px;font-size:13px;color:var(--ref-ink)}
.hydro-refined .learning-shortcuts a:hover {background:var(--ref-accent-soft);color:var(--ref-accent)}
.hydro-refined .learning-shortcuts a>span:last-child {margin-left:auto;color:var(--ref-muted);font-size:12px}
.hydro-refined .learning-tags {display:flex;flex-wrap:wrap;gap:8px}
.hydro-refined .learning-tags>span {background:var(--ref-hover);padding:6px 9px;border-radius:5px;font-size:11px;line-height:1.4}
.hydro-refined .learning-tags b {color:var(--ref-muted);margin-left:5px;font-weight:400}
.hydro-refined .learning-empty {padding:45px 0;color:var(--ref-muted);font-size:14px;line-height:1.8;text-align:center}
.hydro-refined .learning-accepted>div {display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-bottom:1px solid var(--ref-line);font-size:14px}
.hydro-refined .learning-accepted>div>a {min-width:0;overflow-wrap:anywhere}
.hydro-refined .learning-accepted .refined-difficulty {flex-shrink:0}
.hydro-refined .learning-blog-item {padding:18px 0;border-bottom:1px solid var(--ref-line)}
.hydro-refined .learning-blog-item h3 {font-size:18px;color:var(--ref-ink);line-height:1.5;margin:0}
.hydro-refined .learning-blog-item .learning-muted {margin:8px 0 0}
.hydro-refined .learning-blog-item .learning-muted a {float:right}
.hydro-refined .learning-activity-item {padding:16px 0;border-bottom:1px solid var(--ref-line);line-height:1.6}
.hydro-refined .learning-blog-detail {padding:32px}
.hydro-refined .learning-blog-detail h1 {font-size:30px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}
.hydro-refined .learning-editor-actions {display:flex;gap:12px;margin-top:24px}
.hydro-refined .learning-delete {border-top:1px solid var(--ref-line);margin-top:30px;padding-top:20px;color:var(--ref-muted);font-size:12px}
.hydro-refined .learning-delete p {margin:14px 0}
.hydro-refined .nav .learning-account-trigger {display:flex;align-items:center;gap:9px;font-size:13px;border-top-color:transparent}
.hydro-refined .learning-account-trigger img {border-radius:50%;object-fit:cover;border:1px solid var(--ref-line)}
.hydro-refined .learning-account-menu {width:272px;max-height:calc(100vh - 90px);overflow-y:auto;padding:10px;background:var(--ref-panel);border-radius:12px}
.hydro-refined .learning-account-card {display:flex;gap:12px;align-items:center;padding:12px 8px 16px;line-height:1.4}
.hydro-refined .learning-account-card img {border-radius:50%;object-fit:cover}
.hydro-refined .learning-account-card strong {font-size:16px;font-weight:650;display:block;max-width:175px;overflow:hidden;text-overflow:ellipsis}
.hydro-refined .learning-account-card small {font-size:10px;color:var(--ref-muted);display:block;margin-top:5px}
.hydro-refined .learning-account-quick {display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px}
.hydro-refined .learning-account-quick a {background:var(--ref-accent-soft);padding:12px 0;border-radius:7px;font-size:11px;text-align:center;color:var(--ref-accent)}
.hydro-refined .learning-account-menu .menu__link {font-size:13px;padding:10px 12px;line-height:20px;border-radius:6px;white-space:normal;color:var(--ref-ink)}
.hydro-refined .learning-account-menu .menu__link:hover {background:var(--ref-hover);color:var(--ref-accent)}
.hydro-refined .learning-account-menu .menu__seperator {margin:6px 4px;border-color:var(--ref-line)}
.hydro-refined .drop-element.drop-theme-basic .drop-content {border-radius:10px;border:1px solid var(--ref-line);box-shadow:0 10px 36px #20364b24;background:var(--ref-panel);overflow:hidden}
.hydro-refined .dropdown-target .menu__link {transition:background-color .12s,color .12s}
.hydro-refined.theme--dark .learning-day--0 {background:#35443e}
.hydro-refined.theme--dark .learning-day--1 {background:#416c53}
.hydro-refined.theme--dark .learning-day--2 {background:#4b9166}
.hydro-refined.theme--dark .learning-day--3 {background:#63b082}
.hydro-refined.theme--dark .learning-day--4 {background:#92d5a8}
@media(max-width:800px){
 .hydro-refined .learning-profile-hero{padding:22px 20px 0}
 .hydro-refined .learning-profile-identity{gap:14px;flex-wrap:wrap}
 .hydro-refined .learning-avatar{width:66px;height:66px}
 .hydro-refined .learning-profile-name h1{font-size:23px}
 .hydro-refined .learning-edit-profile{margin-left:auto}
 .hydro-refined .learning-tab-body{padding:22px 18px}
 .hydro-refined .learning-tabs{padding:0 18px;gap:22px}
 .hydro-refined .learning-profile-stats{gap:12px}
 .hydro-refined .learning-profile-stats strong{font-size:23px}
 .hydro-refined .learning-profile-stats span{font-size:10px}
 .hydro-refined .learning-difficulty-row{grid-template-columns:132px 1fr 35px;gap:10px}
 .hydro-refined .learning-filters{flex-wrap:wrap}
 .hydro-refined .learning-profile-meta{gap:8px 16px;line-height:1.7}
 .hydro-refined .learning-accepted>div{flex-wrap:wrap;gap:8px}
 .hydro-refined .learning-blog-detail{padding:22px}
}
.hydro-refined .learning-account-trigger {background:transparent;border:0;cursor:pointer;font-family:inherit;height:44px;padding:0 14px;color:var(--ref-ink)}
.hydro-refined .learning-account-trigger[aria-expanded=true] {background:var(--ref-accent-soft);color:var(--ref-accent)}
.hydro-refined .learning-account-trigger[aria-expanded=true] .icon-expand_more {transform:rotate(180deg)}
.hydro-refined .learning-account-menu {display:none;position:fixed;z-index:2000;width:292px;box-sizing:border-box;margin:0;list-style:none;border:1px solid var(--ref-line);box-shadow:0 12px 40px #20364b26;color:var(--ref-ink)}
.hydro-refined .learning-account-menu.is-open {display:block}
.hydro-refined .learning-account-menu a:focus-visible,.hydro-refined .learning-account-trigger:focus-visible {outline:2px solid var(--ref-accent);outline-offset:-2px}
.hydro-refined .learning-filters select:disabled {opacity:.55;cursor:not-allowed}
.hydro-refined .drop.dropdown {border-radius:9px;box-shadow:0 8px 28px #20364b24;overflow:hidden;border:1px solid var(--ref-line)}
.hydro-refined .drop.dropdown .menu {background:var(--ref-panel);box-shadow:none;padding:6px}
.hydro-refined .drop.dropdown .menu__link {border-radius:5px;color:var(--ref-ink);padding:9px 12px}
.hydro-refined .drop.dropdown .menu__link:hover {background:var(--ref-accent-soft);color:var(--ref-accent)}
.hydro-refined .drop.dropdown .menu__seperator {border-color:var(--ref-line);margin:5px 4px}
@media(prefers-reduced-motion:reduce){.hydro-refined .drop.dropdown,.hydro-refined .drop.dropdown .drop-content {transition:none}}
.hydro-refined .learning-account-card {position:relative;padding-right:20px}
.hydro-refined .learning-account-close {position:absolute;right:0;top:2px;border:0;border-radius:4px;width:24px;height:24px;line-height:24px;padding:0;background:transparent;color:var(--ref-muted);font-size:19px;cursor:pointer}
.hydro-refined .learning-account-close:hover {background:var(--ref-hover);color:var(--ref-ink)}
/* DYOJ: clear controls and consistent feedback across pages. */
.hydro-refined .dyoj-brand{display:inline-flex;align-items:center;gap:9px;height:44px;padding:0 14px 0 0;text-decoration:none!important;color:var(--ref-ink)}
.hydro-refined .dyoj-brand strong{font-size:23px;letter-spacing:.06em;font-weight:750}
.hydro-refined .dyoj-brand-slot{display:block;width:24px;height:24px;flex-shrink:0;border-radius:6px;background:var(--ref-accent-soft);border:1px solid var(--ref-line)}
html.hydro-refined .nav .nav__list--main .nav__item{border-top:3px solid transparent;color:var(--ref-ink);text-decoration:none!important;background:transparent;transition:background-color .12s,color .12s}
html.hydro-refined .nav .nav__list--main .nav__item::before{display:none!important}
html.hydro-refined .nav .nav__list--main .nav__item:hover{color:var(--ref-accent);background:var(--ref-hover);text-decoration:none}
html.hydro-refined .nav .nav__list--main .nav__item.nav--active{border-top-color:transparent;color:var(--ref-accent);background:var(--ref-accent-soft);font-weight:600}
html.hydro-refined .nav .nav__list--main .nav__item:active{background:var(--ref-accent-soft)}
.hydro-refined :is(.learning-tabs a,.learning-shortcuts a,.learning-account-menu a,.button,.menu__link){text-decoration:none!important}
.hydro-refined :is(a,button,input,select,textarea):focus-visible{outline:2px solid var(--ref-accent);outline-offset:2px}
.hydro-refined .dyoj-accepted{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:20px}
.hydro-refined .dyoj-accepted>a{display:block;min-width:0;padding:11px 13px;border-radius:6px;background:var(--ref-hover);color:var(--ref-ink);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none}
.hydro-refined .dyoj-accepted>a:hover{background:var(--ref-accent-soft);color:var(--ref-accent)}
.hydro-refined .learning-profile-content[aria-busy=true]{cursor:progress}
.hydro-refined .learning-profile-content[aria-busy=true] .learning-tabs{border-bottom-color:var(--ref-accent)}
.hydro-refined .dyoj-panel-error{padding:15px 25px;color:#bc4459}
.hydro-refined .dyoj-preferences>.section__body h1{font-size:25px;font-weight:650}
.hydro-refined .dyoj-preferences form>.section__header{background:var(--ref-hover);padding:16px 24px;border-top:1px solid var(--ref-line)}
.hydro-refined .dyoj-preferences form>.section__header h1{font-size:17px;font-weight:600}
.hydro-refined .dyoj-preferences form>.section__body{padding:20px 24px;display:grid;gap:6px}
.hydro-refined .dyoj-preferences :is(select,input[type=text],textarea){border-radius:6px;border-color:var(--ref-line);background-color:var(--ref-panel);color:var(--ref-ink)}
.hydro-refined.layout--dyoj_login body{background:#f4f7fa!important;color:#263445!important}
.hydro-refined .dyoj-login-page{min-height:100vh;padding:50px 20px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box}
.hydro-refined .dyoj-login-card{width:420px;max-width:100%;padding:40px;background:white;border:1px solid #e2e8f0;border-radius:15px;box-shadow:0 12px 45px #2644610b;box-sizing:border-box}
.hydro-refined .dyoj-login-brand{height:auto;padding:0;justify-content:center;width:100%;color:#263445}
.hydro-refined .dyoj-login-brand strong{font-size:29px}
.hydro-refined .dyoj-login-eyebrow{text-align:center;font-size:11px;letter-spacing:.14em;margin:12px 0 32px;color:#778698}
.hydro-refined .dyoj-login-card h1{font-size:25px;font-weight:650;margin:0 0 9px;text-align:center;color:#263445}
.hydro-refined .dyoj-login-intro{text-align:center;font-size:13px;line-height:1.6;color:#778698;margin:0 0 27px}
.hydro-refined .dyoj-login-form>label:not(.dyoj-login-remember){display:block;font-size:13px;font-weight:550;color:#344358;margin-bottom:19px}
.hydro-refined .dyoj-login-form input:not([type=checkbox]):not([type=hidden]){display:block;width:100%;height:45px;padding:0 13px;box-sizing:border-box;border:1px solid #dce4ed;border-radius:7px;margin-top:8px;background:#fbfcfe;color:#263445;font-size:14px}
.hydro-refined .dyoj-login-form input::placeholder{color:#9aa7b5}
.hydro-refined .dyoj-login-remember{display:flex;gap:8px;align-items:center;font-size:12px;color:#68788a;margin:0 0 24px;font-weight:400}
.hydro-refined .dyoj-login-remember input{margin:0;accent-color:#347fcb}
.hydro-refined .dyoj-login-form .button{display:flex;align-items:center;justify-content:space-between;width:100%;height:45px;border-radius:7px;margin:0;background:#347fcb;color:white;font-size:14px;font-weight:600;border:1px solid #347fcb;padding:0 17px}
.hydro-refined .dyoj-login-form .button:hover{background:#286eb4}
.hydro-refined .dyoj-login-help{margin:24px 0 0;font-size:11px;line-height:1.8;text-align:center;color:#8592a1}
.hydro-refined .dyoj-login-footer{font-size:11px;color:#9aa7b5;margin:24px 0 0;text-align:center}
.hydro-refined .dyoj-checkin-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:22px 0 17px}
.hydro-refined .dyoj-today{display:flex;align-items:center;gap:9px;color:var(--ref-ink)}
.hydro-refined .dyoj-today strong{font-size:42px;font-weight:650;letter-spacing:-1px;line-height:1}
.hydro-refined .dyoj-today>span{font-size:12px;line-height:1.5;color:var(--ref-muted)}
.hydro-refined .dyoj-today small{display:block;font-size:10px}
.hydro-refined .dyoj-checkin-row form{margin:0}
.hydro-refined .dyoj-checkin-row .learning-checkin{height:35px;line-height:33px;min-width:84px;font-size:12px;padding:0 10px}
.hydro-refined .learning-checkin-stats{justify-content:space-between;gap:12px;margin:0 0 21px;padding:11px 12px;background:var(--ref-hover);border-radius:6px;font-size:11px}
.hydro-refined .dyoj-countdown h3{display:flex;justify-content:space-between;align-items:center}
.hydro-refined .dyoj-countdown h3 a{font-size:11px;font-weight:400}
.hydro-refined .dyoj-site-contests{margin-top:16px}
.hydro-refined .dyoj-page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}
.hydro-refined .dyoj-page-heading h1{font-size:28px;font-weight:650;line-height:1.5;margin:0}
.hydro-refined .dyoj-admin .section__body{padding:30px}
.hydro-refined .dyoj-admin h2{font-size:18px;font-weight:600;margin:0 0 18px}
.hydro-refined .dyoj-event-form{display:flex;gap:12px;align-items:flex-end;padding:16px 0;flex-wrap:wrap}
.hydro-refined .dyoj-event-form>label:first-of-type{flex:1;min-width:220px}
.hydro-refined .dyoj-event-form label{font-size:12px;margin:0}
.hydro-refined .dyoj-event-form :is(input,.button){height:40px;margin:0;border-radius:6px}
.hydro-refined .dyoj-event-form input{margin-top:7px}
.hydro-refined .dyoj-event-form--existing{border-bottom:1px solid var(--ref-line)}
.hydro-refined .dyoj-danger{color:#c14d5d!important}
.hydro-refined .dyoj-success{color:#278354}
.hydro-refined .dyoj-import-tools{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:18px}
.hydro-refined .dyoj-import-tools .button{margin:0}
.hydro-refined .dyoj-import-tools .learning-muted{margin:0}
.hydro-refined .dyoj-file-label{position:relative;overflow:hidden;cursor:pointer}
.hydro-refined .dyoj-file-label input{position:absolute;inset:0;opacity:0;cursor:pointer}
.hydro-refined .dyoj-student-import textarea{border-radius:7px;min-height:210px;font-size:14px;font-family:var(--code-font-family);line-height:1.8}
.hydro-refined .dyoj-preview-heading{margin:30px 0 18px!important}
.hydro-refined .dyoj-admin :is(td,th){padding:14px;font-size:13px;line-height:1.5}
.hydro-refined .dyoj-import-result{padding:20px;background:var(--ref-accent-soft);border-radius:8px;margin-bottom:24px}
.hydro-refined .dyoj-problem-shell{background:none;box-shadow:none;outline:none;border:0}
.hydro-refined .dyoj-filter-panel,.hydro-refined .dyoj-table-panel{background:var(--ref-panel);border:1px solid var(--ref-line);border-radius:9px;box-shadow:0 3px 14px #263b5009}
.hydro-refined .dyoj-filter-panel{padding:23px 25px;margin-bottom:22px}
.hydro-refined .dyoj-problem-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}
.hydro-refined .dyoj-problem-heading h1{font-size:23px;font-weight:650;line-height:1.5;margin:0;color:var(--ref-ink)}
.hydro-refined .dyoj-problem-heading .learning-eyebrow{margin:0 0 6px}
.hydro-refined .dyoj-problem-count{font-size:12px;color:var(--ref-muted);margin-top:7px}
.hydro-refined .dyoj-problem-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hydro-refined .dyoj-problem-actions .button{margin:0;font-size:12px;border-radius:6px;white-space:nowrap}
.hydro-refined .dyoj-create-menu{position:relative}
.hydro-refined .dyoj-create-menu summary{list-style:none;cursor:pointer}
.hydro-refined .dyoj-create-menu summary::-webkit-details-marker{display:none}
.hydro-refined .dyoj-create-menu>div{position:absolute;right:0;top:calc(100% + 8px);z-index:100;width:190px;border:1px solid var(--ref-line);border-radius:8px;padding:7px;background:var(--ref-panel);box-shadow:0 10px 30px #20364b24}
.hydro-refined .dyoj-create-menu>div>a{display:block;color:var(--ref-ink);padding:11px 10px;border-radius:5px;font-size:13px;text-decoration:none}
.hydro-refined .dyoj-create-menu>div>a:hover{background:var(--ref-accent-soft);color:var(--ref-accent)}
.hydro-refined .dyoj-create-menu .icon{margin-right:8px}
.hydro-refined .dyoj-problem-filter{display:grid;grid-template-columns:1.15fr 1fr 1fr 1.65fr 1fr auto auto;gap:12px;align-items:end}
.hydro-refined .dyoj-problem-filter label{display:block;margin:0;font-size:11px;line-height:1.5;color:var(--ref-muted);min-width:0}
.hydro-refined .dyoj-problem-filter :is(input,select){display:block;width:100%;min-width:0;height:41px;border:1px solid var(--ref-line);border-radius:6px;margin:7px 0 0;padding:0 11px;font-size:12px;color:var(--ref-ink);background-color:var(--ref-panel);box-sizing:border-box}
.hydro-refined .dyoj-problem-filter select{padding-right:26px}
.hydro-refined .dyoj-problem-filter .button{height:41px;margin:0;border-radius:6px;padding:0 15px;line-height:39px;font-size:12px}
.hydro-refined .dyoj-bulk-actions{display:flex;gap:8px;align-items:center;margin-top:18px;flex-wrap:wrap}
.hydro-refined .dyoj-bulk-actions .button{margin:0;border-radius:5px;font-size:12px}
.hydro-refined .dyoj-table-scroll{overflow-x:auto}
html.hydro-refined .dyoj-problem-table{table-layout:fixed;width:100%;min-width:950px;border-collapse:collapse}
html.hydro-refined .dyoj-problem-table th{background:var(--ref-hover);padding:17px 14px;color:var(--ref-muted);font-size:12px;font-weight:500;border-bottom:1px solid var(--ref-line);white-space:nowrap}
html.hydro-refined .dyoj-problem-table td{padding:17px 14px;font-size:13px;line-height:1.55;border-bottom:1px solid var(--ref-line);vertical-align:middle}
html.hydro-refined .dyoj-problem-table tr:last-child td{border-bottom:0}
html.hydro-refined .dyoj-problem-table tbody tr:hover{background:var(--ref-hover)}
html.hydro-refined .dyoj-problem-table .col--status{width:102px;text-align:center}
html.hydro-refined .dyoj-problem-table .col--name{width:auto}
html.hydro-refined .dyoj-problem-table .dyoj-col-tags{width:225px;text-align:right}
html.hydro-refined .dyoj-problem-table .col--difficulty{width:150px;text-align:center}
html.hydro-refined .dyoj-problem-table .col--ac-tried{width:130px;text-align:center}
html.hydro-refined .dyoj-problem-table .col--checkbox{width:40px}
html.hydro-refined .dyoj-problem-table .col--pid{width:65px}
.hydro-refined .dyoj-problem-name{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 10px;min-width:0}
html.hydro-refined .dyoj-problem-name .problem-title{color:var(--ref-ink);font-weight:600;overflow-wrap:anywhere}
html.hydro-refined .dyoj-problem-name .dyoj-problem-id{font-weight:500;color:var(--ref-accent);white-space:nowrap}
.hydro-refined .dyoj-hidden-mark{font-size:10px;color:#ba7a38}
.hydro-refined .dyoj-problem-table .problem__tags{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end;margin:0;float:none}
.hydro-refined .dyoj-problem-table .problem__tag{margin:0;padding:0}
html.hydro-refined .dyoj-problem-table .problem__tag-link{padding:4px 7px;font-size:10px;line-height:1.4;border:0;border-radius:4px;background:var(--ref-hover);color:var(--ref-muted)}
html.hydro-refined .dyoj-problem-table .problem__tag-link:hover{background:var(--ref-accent-soft);color:var(--ref-accent)}
.hydro-refined .dyoj-tags-hidden .problem__tags{visibility:hidden}
.hydro-refined .dyoj-toggle-tags{border:0;background:transparent;color:var(--ref-accent);cursor:pointer;font-size:10px;margin-left:8px;padding:3px}
.hydro-refined .dyoj-status{display:inline-block;font-size:11px;white-space:nowrap;padding:5px 9px;background:var(--ref-hover);border-radius:5px;color:var(--ref-muted);text-decoration:none}
.hydro-refined .dyoj-status--accepted{color:#268351;background:#ebf7ee}
.hydro-refined .dyoj-status--attempted{color:#ad7931;background:#fff6e7}
.hydro-refined .dyoj-ratio{position:relative;background:var(--ref-hover);border-radius:6px;height:29px;line-height:29px;overflow:hidden;font-size:11px}
.hydro-refined .dyoj-ratio>span{position:absolute;left:0;top:0;bottom:0;background:var(--ref-accent-soft)}
.hydro-refined .dyoj-ratio>b{position:relative;z-index:1;font-weight:400;color:var(--ref-accent);font-variant-numeric:tabular-nums}
.hydro-refined .dyoj-no-problems{padding:70px 20px;text-align:center;line-height:1.8;color:var(--ref-muted)}
.hydro-refined .dyoj-no-problems h2{font-size:20px;color:var(--ref-ink);margin-bottom:9px}
.hydro-refined .dyoj-no-problems .button{margin-top:18px}
.hydro-refined.theme--dark .dyoj-status--accepted{background:#203e30;color:#86cda6}
.hydro-refined.theme--dark .dyoj-status--attempted{background:#463c2c;color:#deb875}
@media(max-width:1050px){.hydro-refined .dyoj-problem-filter{grid-template-columns:repeat(3,1fr)}.hydro-refined .dyoj-problem-search{grid-column:span 2}.hydro-refined .dyoj-problem-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){
 .hydro-refined .header--mobile .dyoj-brand{padding-left:10px;color:white;height:50px}
 .hydro-refined .header--mobile .dyoj-brand-slot{width:20px;height:20px;background:#ffffff20;border-color:#ffffff30}
 .hydro-refined .header--mobile .dyoj-brand strong{font-size:21px}
 .hydro-refined .dyoj-login-page{padding:24px 17px!important}
 .hydro-refined .dyoj-login-card{padding:30px 25px}
 .hydro-refined .dyoj-accepted{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hydro-refined .dyoj-admin .section__body{padding:22px 16px}
 .hydro-refined .dyoj-page-heading{flex-direction:column;gap:10px}
 .hydro-refined .dyoj-filter-panel{padding:18px 14px}
 .hydro-refined .dyoj-problem-heading h1{font-size:20px}
 .hydro-refined .dyoj-problem-filter{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .hydro-refined .dyoj-problem-filter .dyoj-problem-search{grid-column:auto}
 .hydro-refined .dyoj-problem-actions{gap:5px}
 .hydro-refined .dyoj-problem-actions .button{padding:0 10px;font-size:11px}
}
html.hydro-refined .dyoj-problem-filter{padding:0!important;border:0!important;margin:0!important}
html.hydro-refined .dyoj-problem-table .col--name{position:relative;padding-left:38px}
html.hydro-refined .dyoj-problem-table .col--name>.star-form{position:absolute;left:12px;top:50%;transform:translateY(-50%);margin:0}
html.hydro-refined .dyoj-problem-table .col--name>.star-form .star{padding:0}
html.hydro-refined .dyoj-problem-table :is(td,th){border-left:0;border-right:0}
html.hydro-refined .dyoj-problem-table tbody tr{background:var(--ref-panel)}
html.hydro-refined .dyoj-problem-table tbody tr:nth-child(even){background:var(--ref-hover)}
html.hydro-refined .dyoj-problem-table tbody tr:hover{background:var(--ref-accent-soft)}
html.hydro-refined .dyoj-problem-table td{padding-top:16px;padding-bottom:16px}
html.hydro-refined .dyoj-problem-table .problem-title{font-size:14px}
.hydro-refined .learning-tab-body{min-height:180px}
/* School identity and compact daily practice card. */
.hydro-refined .dyoj-school-logo{width:40px;height:40px;object-fit:contain;background:#fff;border-radius:5px;flex:none}
.hydro-refined .dyoj-login-brand .dyoj-school-logo{width:60px;height:60px}
.hydro-refined .header--mobile .dyoj-school-logo{width:32px;height:32px}
.hydro-refined .learning-welcome .section__body{padding:23px 24px}
.hydro-refined .learning-welcome h2{font-size:23px;line-height:1.4;margin:9px 0 16px;overflow-wrap:anywhere}
.hydro-refined .dyoj-greeting-name{color:var(--ref-accent)}
.hydro-refined .dyoj-checkin-row{gap:12px;margin:0 0 17px;align-items:center}
.hydro-refined .dyoj-today{display:flex;flex-direction:column;align-items:flex-start;gap:6px;line-height:1.4}
.hydro-refined .dyoj-today time{font-size:14px;font-weight:500;white-space:nowrap;color:var(--ref-ink)}
.hydro-refined .dyoj-today>small{font-size:12px;color:var(--ref-muted)}
.hydro-refined .learning-checkin{padding:0 15px;height:39px;line-height:37px;font-size:13px;white-space:nowrap}
.hydro-refined .learning-checkin-stats{padding:12px 14px;font-size:12px;border-radius:6px}
.hydro-refined .learning-checkin-stats b{font-size:16px}
.hydro-refined .dyoj-countdown{margin-top:20px;padding-top:17px}
.hydro-refined .dyoj-countdown h3{font-size:14px;margin:0 0 8px}
.hydro-refined .dyoj-countdown h3 a{font-size:11px;color:var(--ref-muted)}
.hydro-refined .dyoj-countdown .learning-event{gap:12px;padding:10px 0;align-items:center}
.hydro-refined .dyoj-countdown .learning-event>span{font-size:13px;line-height:1.5;min-width:0;overflow-wrap:anywhere}
.hydro-refined .dyoj-countdown .learning-event>span small{font-size:11px;margin-top:3px}
.hydro-refined .dyoj-countdown .learning-event>b{font-size:19px;line-height:1.2;white-space:nowrap;padding:7px 9px;border-radius:6px;background:var(--ref-accent-soft)}
.hydro-refined .dyoj-countdown .learning-event>b small{font-size:11px;font-weight:400}
.hydro-refined .dyoj-countdown>p{font-size:12px;margin:10px 0 0}
/* Login seasons stay behind the opaque form and have a persistent plain fallback. */
.hydro-refined .dyoj-season-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
.hydro-refined .dyoj-login-page{position:relative;z-index:1;background:transparent!important}
.hydro-refined:has(.dyoj-login-page){background:#f1f4f7}
.hydro-refined .dyoj-login-card{background:#fff;box-shadow:0 12px 50px #27394b0b}
.hydro-refined .dyoj-school-name{font-size:17px;letter-spacing:4px;color:#33475b;margin:14px 0 7px;text-align:center}
.hydro-refined .dyoj-login-eyebrow{margin-top:0;font-size:12px;letter-spacing:2px}
.hydro-refined .dyoj-login-footer{margin-top:13px}
@media(max-width:600px){.hydro-refined .dyoj-login-brand .dyoj-school-logo{width:48px;height:48px}.hydro-refined .dyoj-login-card{padding-top:23px;padding-bottom:23px}.hydro-refined .dyoj-event-form{grid-template-columns:1fr!important}.hydro-refined .dyoj-student-table{min-width:520px}}
@media(prefers-reduced-motion:reduce){.dyoj-season-canvas{display:none}}
html.hydro-refined .dyoj-problem-table td.col--name{padding-left:38px!important}
html.hydro-refined:has(.dyoj-login-page) body{background:transparent!important}
/* Autumn login: translucent warm glass against a quiet cinematic landscape. */
.hydro-refined .dyoj-login-shell{min-height:100svh;background:#ebe7de;isolation:isolate;--scene-x:0px;--scene-y:0px}
.hydro-refined .dyoj-login-landscape{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#e3d6bc}
.hydro-refined .dyoj-login-landscape-image{position:absolute;inset:-3%;background:url('/dyoj-autumn-grove.png') center center/cover no-repeat;transform:scale(1.025);will-change:transform}
.hydro-refined .dyoj-login-landscape::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#30271914,transparent 35%,transparent 65%,#30271914),linear-gradient(180deg,#f6f0e516,#f6f0e530 65%,#544b341f)}
.hydro-refined .dyoj-login-light{position:absolute;inset:-10%;background:radial-gradient(ellipse at 28% 15%,#fff6d92e,transparent 55%);opacity:.6}
.hydro-refined .dyoj-login-shell[data-motion-active="true"] .dyoj-login-landscape-image{animation:dyoj-autumn-drift 32s ease-in-out infinite alternate}
.hydro-refined .dyoj-login-shell[data-motion-active="true"] .dyoj-login-light{animation:dyoj-autumn-light 16s ease-in-out infinite alternate}
@keyframes dyoj-autumn-drift{from{transform:translate(var(--scene-x),var(--scene-y)) scale(1.025)}to{transform:translate(calc(var(--scene-x) + 8px),calc(var(--scene-y) - 5px)) scale(1.055)}}
@keyframes dyoj-autumn-light{from{opacity:.35;transform:translateX(-1%)}to{opacity:.7;transform:translateX(1%)}}
.hydro-refined .dyoj-login-shell .dyoj-season-canvas{z-index:1}
.hydro-refined .dyoj-login-shell .dyoj-login-page{z-index:2;padding:36px 20px!important;min-height:100svh}
.hydro-refined .dyoj-login-shell .dyoj-login-card{width:414px;padding:32px 38px 27px;border:1px solid #fff9;border-bottom-color:#d6ccb78c;border-radius:22px;background:rgba(250,248,241,.79);backdrop-filter:blur(22px) saturate(.8);-webkit-backdrop-filter:blur(22px) saturate(.8);box-shadow:0 16px 65px #4e422a1a,inset 0 1px #fff8}
.hydro-refined .dyoj-login-shell .dyoj-login-brand{color:#35423b;gap:9px}
.hydro-refined .dyoj-login-shell .dyoj-login-brand strong{font-size:27px;letter-spacing:.03em}
.hydro-refined .dyoj-login-shell .dyoj-login-brand .dyoj-school-logo{width:50px;height:50px;background:transparent;mix-blend-mode:multiply}
.hydro-refined .dyoj-login-shell .dyoj-school-name{font-size:16px;color:#485147;letter-spacing:3px;margin:13px 0 7px}
.hydro-refined .dyoj-login-shell .dyoj-login-eyebrow{font-size:11px;color:#777a6c;margin-bottom:25px}
.hydro-refined .dyoj-login-shell .dyoj-login-card h1{font-size:23px;color:#35423b;font-weight:600;letter-spacing:.04em}
.hydro-refined .dyoj-login-shell .dyoj-login-intro{font-size:12px;color:#777b6e;margin-bottom:24px}
.hydro-refined .dyoj-login-shell .dyoj-login-form>label:not(.dyoj-login-remember){color:#505a4e;font-size:12px;font-weight:500;margin-bottom:17px}
.hydro-refined .dyoj-login-shell .dyoj-login-form input:not([type=checkbox]):not([type=hidden]){background:#fff9;border:1px solid #afa89050;border-radius:9px;height:45px;box-shadow:inset 0 1px 2px #4c462705;color:#35423b;font-size:13px;font-weight:400;margin-top:7px}
.hydro-refined .dyoj-login-shell .dyoj-login-form input::placeholder{color:#92968a;font-weight:400}
html.hydro-refined .dyoj-login-shell input:focus-visible{outline:2px solid #71846a!important;outline-offset:2px}
.hydro-refined .dyoj-login-shell .dyoj-login-remember{color:#6d7668;font-size:11px;margin-bottom:21px}
.hydro-refined .dyoj-login-shell .dyoj-login-remember input{accent-color:#546b52}
html.hydro-refined .dyoj-login-shell .dyoj-login-form .primary.button{background:#455d4c!important;border-color:#455d4c!important;color:#fff!important;border-radius:9px;height:45px;font-size:13px;box-shadow:0 4px 14px #35493618}
html.hydro-refined .dyoj-login-shell .dyoj-login-form .primary.button:hover{background:#374e3f!important;border-color:#374e3f!important}
html.hydro-refined .dyoj-login-shell .dyoj-login-form .primary.button:active{transform:translateY(1px)}
.hydro-refined .dyoj-login-shell .dyoj-login-help{color:#777c6f;font-size:11px;margin-top:22px}
.hydro-refined .dyoj-login-shell .dyoj-login-footer{color:#515d4e;text-shadow:0 1px 8px #fff9;font-size:11px;margin-top:20px;letter-spacing:.03em}
.hydro-refined .dyoj-login-shell--plain .dyoj-login-landscape,.hydro-refined .dyoj-login-shell--plain .dyoj-season-canvas{display:none}
.hydro-refined .dyoj-login-shell--plain .dyoj-login-card{background:#faf9f4}
.hydro-refined .dyoj-appearance-form fieldset{border:0;padding:0;margin:0 0 24px}
.hydro-refined .dyoj-appearance-form legend{font-size:14px;font-weight:600;margin-bottom:12px}
.hydro-refined .dyoj-scene-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:680px}
.hydro-refined .dyoj-scene-options>label{position:relative;border:1px solid var(--ref-line);border-radius:9px;padding:10px;cursor:pointer;display:grid;gap:8px}
.hydro-refined .dyoj-scene-options>label:has(input:checked){border-color:var(--ref-accent);box-shadow:0 0 0 1px var(--ref-accent)}
.hydro-refined .dyoj-scene-options input{position:absolute;right:18px;top:18px;accent-color:var(--ref-accent)}
.hydro-refined .dyoj-scene-thumbnail{display:block;height:112px;border-radius:5px;background:#ebe7de}
.hydro-refined .dyoj-scene-thumbnail--autumn{background:url('/dyoj-autumn-grove.png') center/cover}
.hydro-refined .dyoj-scene-options strong{font-size:13px;font-weight:600}
.hydro-refined .dyoj-scene-options small{font-size:11px;color:var(--ref-muted);line-height:1.5}
.hydro-refined .dyoj-appearance-motion{display:grid;gap:8px;max-width:320px;font-size:13px;margin:0 0 18px}
.hydro-refined .dyoj-appearance-motion select{width:100%;height:40px;border:1px solid var(--ref-line);border-radius:5px;background:var(--ref-panel);color:var(--ref-ink);padding:0 10px}
.hydro-refined .dyoj-appearance-interaction{display:flex;align-items:center;gap:8px;font-size:13px;margin-bottom:16px}
.hydro-refined .dyoj-appearance-interaction input{margin:0}
.hydro-refined .dyoj-appearance-saved{padding:12px 15px;background:var(--ref-accent-soft);color:var(--ref-accent);border-radius:6px;font-size:13px;margin-bottom:22px}
@media(max-width:600px){.hydro-refined .dyoj-login-shell .dyoj-login-page{padding:24px 18px!important}.hydro-refined .dyoj-login-shell .dyoj-login-card{padding:28px 27px 25px;background:rgba(250,248,241,.85)}.hydro-refined .dyoj-login-landscape-image{background-position:48% center}.hydro-refined .dyoj-scene-options{grid-template-columns:1fr}.hydro-refined .dyoj-scene-thumbnail{height:135px}}
@media(prefers-reduced-motion:reduce){.hydro-refined .dyoj-login-landscape-image,.hydro-refined .dyoj-login-light{animation:none!important;transform:none!important}}
@supports not (backdrop-filter:blur(1px)){.hydro-refined .dyoj-login-shell .dyoj-login-card{background:rgba(250,248,241,.96)}}
/* ===== 班级与课程 ===== */
.hydro-refined .dyoj-class-page .section__header{border:0}
.hydro-refined .dyoj-class-toolbar{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;margin:0 0 22px}
.hydro-refined .dyoj-class-tabs{display:inline-flex;gap:2px;margin:0;padding:4px;list-style:none;border:1px solid var(--ref-line);border-radius:12px;background:var(--ref-canvas)}
.hydro-refined .dyoj-class-tabs--inner{display:flex;margin:0;padding:0;gap:24px;border:0;border-bottom:1px solid var(--ref-line);border-radius:0;background:none}
.hydro-refined .dyoj-class-tab{display:flex;gap:8px;align-items:center;padding:8px 14px;border-radius:9px;color:var(--ref-muted);font-size:14px;font-weight:500;white-space:nowrap;transition:background .15s,color .15s}
.hydro-refined .dyoj-class-tabs--inner .dyoj-class-tab{padding:12px 2px;border-radius:0;border-bottom:2px solid transparent;margin-bottom:-1px}
.hydro-refined .dyoj-class-tab:hover{color:var(--ref-ink);background:var(--ref-hover)}
.hydro-refined .dyoj-class-tabs--inner .dyoj-class-tab:hover{background:none;color:var(--ref-ink)}
.hydro-refined .dyoj-class-tab.is-active{background:var(--ref-panel);color:var(--ref-accent);font-weight:600;box-shadow:0 1px 2px rgba(16,24,40,.06)}
.hydro-refined .dyoj-class-tabs--inner .dyoj-class-tab.is-active{background:none;box-shadow:none;border-bottom-color:var(--ref-accent)}
.hydro-refined .dyoj-class-count{min-width:20px;padding:0 6px;border-radius:999px;background:var(--ref-line);color:var(--ref-muted);font-size:11px;line-height:18px;text-align:center}
.hydro-refined .dyoj-class-tab.is-active .dyoj-class-count{background:var(--ref-primary);color:#fff}
.hydro-refined .dyoj-class-tools{display:flex;gap:10px;align-items:center}
.hydro-refined .dyoj-class-search{position:relative;display:flex;align-items:center}
.hydro-refined .dyoj-class-search .icon{position:absolute;left:13px;color:var(--ref-muted);pointer-events:none}
.hydro-refined .dyoj-class-search .textbox{width:280px;height:40px;padding-left:36px;margin:0;border-radius:10px;background:var(--ref-panel)}
.hydro-refined .dyoj-class-tools .button{height:40px;padding:0 18px;border-radius:10px;font-size:14px}
.hydro-refined .dyoj-class-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px;margin:0;padding:0;list-style:none}
.hydro-refined .dyoj-class-card{position:relative;display:flex;border:1px solid var(--ref-line);border-radius:14px;background:var(--ref-panel);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.hydro-refined .dyoj-class-card:hover{transform:translateY(-2px);border-color:transparent;box-shadow:0 14px 30px -12px rgba(16,24,40,.28)}
.hydro-refined .dyoj-class-card-link{display:flex;flex-direction:column;gap:14px;width:100%;padding:20px 20px 0;color:var(--ref-ink)}
.hydro-refined .dyoj-class-card-head{display:flex;gap:14px;align-items:center;min-width:0}
.hydro-refined .dyoj-class-avatar{display:inline-flex;flex:none;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,rgba(52,127,203,.16),rgba(52,127,203,.06));color:var(--ref-accent);font-size:22px;font-weight:600}
.hydro-refined .dyoj-class-avatar--lg{width:64px;height:64px;border-radius:18px;font-size:28px}
.hydro-refined .dyoj-class-card:nth-child(3n+2) .dyoj-class-avatar{background:linear-gradient(135deg,rgba(196,123,40,.18),rgba(196,123,40,.05));color:#b8721f}
.hydro-refined .dyoj-class-card:nth-child(3n) .dyoj-class-avatar{background:linear-gradient(135deg,rgba(47,133,90,.18),rgba(47,133,90,.05));color:#2f855a}
.hydro-refined .dyoj-class-card-title{display:flex;min-width:0;flex-direction:column;gap:5px}
.hydro-refined .dyoj-class-card-title strong{overflow:hidden;font-size:16px;font-weight:600;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.hydro-refined .dyoj-class-members{display:inline-flex;gap:5px;align-items:center;width:fit-content;padding:2px 8px;border-radius:999px;background:var(--ref-canvas);color:var(--ref-muted);font-size:12px}
.hydro-refined .dyoj-class-card-desc{display:-webkit-box;margin:0;overflow:hidden;color:var(--ref-muted);font-size:13px;line-height:1.65;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.hydro-refined .dyoj-class-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding:12px 0;border-top:1px solid var(--ref-line);color:var(--ref-muted);font-size:12px}
.hydro-refined .dyoj-class-kind{padding:2px 9px;border-radius:999px;background:var(--ref-canvas);font-size:11px;letter-spacing:.02em}
.hydro-refined .dyoj-class-enter{display:inline-flex;gap:2px;align-items:center;color:var(--ref-accent);font-size:13px;font-weight:600}
.hydro-refined .dyoj-class-card:hover .dyoj-class-enter .icon{transform:translateX(2px);transition:transform .18s ease}
.hydro-refined .dyoj-class-empty{display:flex;flex-direction:column;gap:8px;align-items:center;padding:70px 20px;border:1px dashed var(--ref-line);border-radius:14px;color:var(--ref-muted);text-align:center}
.hydro-refined .dyoj-class-empty p{margin:0}
.hydro-refined .dyoj-class-create{margin:0 0 20px;padding:20px;border:1px solid var(--ref-line);border-radius:14px;background:var(--ref-canvas)}
.hydro-refined .dyoj-class-form{display:grid;gap:14px}
.hydro-refined .dyoj-class-form label{display:grid;gap:7px;margin:0;color:var(--ref-muted);font-size:13px}
.hydro-refined .dyoj-class-form .textbox{margin:0;border-radius:10px}
.hydro-refined .dyoj-class-form-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.hydro-refined .dyoj-class-form-actions{display:flex;gap:10px}
.hydro-refined .dyoj-class-form-actions .button{border-radius:10px}
.hydro-refined .dyoj-class-check{display:flex!important;grid-auto-flow:column;gap:9px!important;align-items:center;justify-content:start;color:var(--ref-ink)!important;font-size:13px}
.hydro-refined .dyoj-class-hero{position:relative;margin:0 0 6px;padding:24px 26px;border:1px solid var(--ref-line);border-radius:16px;background:linear-gradient(135deg,var(--ref-accent-soft),var(--ref-panel) 62%)}
.hydro-refined .dyoj-class-head{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;padding:0 0 22px}
.hydro-refined .dyoj-class-head-main{display:flex;gap:16px;align-items:center;min-width:0}
.hydro-refined .dyoj-class-head h1{margin:3px 0 7px;font-size:26px;font-weight:650;letter-spacing:-.01em}
.hydro-refined .dyoj-class-head p{margin:0}
.hydro-refined .dyoj-class-head-meta{display:flex;flex-wrap:wrap;gap:7px}
.hydro-refined .dyoj-class-head-meta span{display:inline-flex;gap:4px;align-items:center;padding:3px 10px;border-radius:999px;background:var(--ref-panel);color:var(--ref-muted);font-size:12px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.hydro-refined .dyoj-class-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0;padding:0;list-style:none}
.hydro-refined .dyoj-class-stats li{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid var(--ref-line);border-radius:13px;background:var(--ref-panel)}
.hydro-refined .dyoj-class-stats strong{color:var(--ref-ink);font-size:24px;font-weight:620;line-height:1.1}
.hydro-refined .dyoj-class-stats span{color:var(--ref-muted);font-size:12px}
.hydro-refined .dyoj-class-lead{margin:16px 0 0;font-size:15px;line-height:1.8}
.hydro-refined .dyoj-class-section-head{display:flex;align-items:baseline;justify-content:space-between;margin:28px 0 13px}
.hydro-refined .dyoj-class-section-head h2{margin:0;font-size:16px;font-weight:600}
.hydro-refined .dyoj-class-section-head a{font-size:13px}
.hydro-refined .dyoj-class-member-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.hydro-refined .dyoj-class-member-chips li{padding:6px 13px;border:1px solid var(--ref-line);border-radius:999px;background:var(--ref-panel);font-size:13px}
.hydro-refined .dyoj-class-badge{margin-left:7px;padding:1px 8px;border-radius:999px;background:var(--ref-accent-soft);color:var(--ref-accent);font-size:11px;font-weight:500}
.hydro-refined .dyoj-class-block{margin:0 0 26px;padding:22px;border:1px solid var(--ref-line);border-radius:14px;background:var(--ref-panel)}
.hydro-refined .dyoj-class-block h2{margin:0 0 14px;font-size:15px;font-weight:600}
.hydro-refined .dyoj-class-requests{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.hydro-refined .dyoj-class-requests li{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:10px;background:var(--ref-canvas)}
.hydro-refined .dyoj-class-requests p{margin:4px 0 0}
.hydro-refined .dyoj-class-request-actions{display:flex;gap:8px}
.hydro-refined .dyoj-class-inline-form{margin:0}
.hydro-refined .dyoj-class-add .textbox{margin:0 0 12px;max-width:320px;border-radius:10px}
.hydro-refined .dyoj-class-candidates{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:4px;max-height:300px;overflow:auto;padding:8px;border:1px solid var(--ref-line);border-radius:11px;background:var(--ref-canvas)}
.hydro-refined .dyoj-class-candidate{display:flex!important;gap:9px;align-items:center;margin:0;padding:8px 10px;border-radius:8px;color:var(--ref-ink)!important;font-size:13px}
.hydro-refined .dyoj-class-candidate:hover{background:var(--ref-panel)}
.hydro-refined .dyoj-class-candidate input{margin:0}
.hydro-refined .dyoj-class-candidate small{margin-left:auto;font-size:11px}
.hydro-refined .dyoj-class-member-table{border-radius:10px;overflow:hidden}
.hydro-refined .dyoj-class-member-table thead th{background:var(--ref-canvas);font-size:12px;font-weight:600;letter-spacing:.02em}
.hydro-refined .dyoj-class-member-table tbody tr:hover{background:var(--ref-hover)}
.hydro-refined .dyoj-class-danger-zone{border-color:rgba(197,74,74,.35);background:rgba(197,74,74,.03)}
.hydro-refined .dyoj-class-tabs--inner{margin:18px 0 0}
.hydro-refined .dyoj-class-tabs--inner~.dyoj-class-block{margin-top:22px}
.hydro-refined .dyoj-course-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px;padding-top:22px}
.hydro-refined .dyoj-course-side{align-self:start;padding:14px;border:1px solid var(--ref-line);border-radius:14px;background:var(--ref-panel)}
.hydro-refined .dyoj-course-side-title{margin:2px 6px 10px;color:var(--ref-muted);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.hydro-refined .dyoj-course-cats{display:grid;gap:2px;margin:0;padding:0;list-style:none}
.hydro-refined .dyoj-course-cat{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:9px;color:var(--ref-ink);font-size:13px;transition:background .15s,color .15s}
.hydro-refined .dyoj-course-cat span{color:var(--ref-muted);font-size:11px}
.hydro-refined .dyoj-course-cat:hover{background:var(--ref-hover)}
.hydro-refined .dyoj-course-cat.is-active{background:var(--ref-accent-soft);color:var(--ref-accent);font-weight:600}
.hydro-refined .dyoj-course-cat.is-active::before{display:none}
.hydro-refined .dyoj-course-cat.is-active span{color:var(--ref-accent)}
.hydro-refined .dyoj-course-tools{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin:0 0 18px}
.hydro-refined .dyoj-course-tools>.button{height:40px;padding:0 18px;border-radius:10px}
.hydro-refined .dyoj-course-form{display:grid;gap:12px;width:100%;padding:20px;border:1px solid var(--ref-line);border-radius:14px;background:var(--ref-canvas)}
.hydro-refined .dyoj-course-form label{display:grid;gap:7px;margin:0;color:var(--ref-muted);font-size:13px}
.hydro-refined .dyoj-course-form .textbox{margin:0;border-radius:10px}
.hydro-refined .dyoj-course-grid{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.hydro-refined .dyoj-course-card{border:1px solid var(--ref-line);border-radius:14px;background:var(--ref-panel);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.hydro-refined .dyoj-course-card:hover{transform:translateY(-2px);border-color:transparent;box-shadow:0 14px 30px -14px rgba(16,24,40,.3)}
.hydro-refined .dyoj-course-card-link{display:flex;gap:16px;align-items:flex-start;padding:18px 20px;color:var(--ref-ink)}
.hydro-refined .dyoj-course-icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:56px;height:56px;border-radius:15px;background:linear-gradient(135deg,rgba(52,127,203,.18),rgba(52,127,203,.06));color:var(--ref-accent);font-size:22px}
.hydro-refined .dyoj-course-card:nth-child(3n+2) .dyoj-course-icon{background:linear-gradient(135deg,rgba(196,123,40,.2),rgba(196,123,40,.05));color:#b8721f}
.hydro-refined .dyoj-course-card:nth-child(3n) .dyoj-course-icon{background:linear-gradient(135deg,rgba(47,133,90,.2),rgba(47,133,90,.05));color:#2f855a}
.hydro-refined .dyoj-course-body{display:grid;gap:9px;flex:1;min-width:0}
.hydro-refined .dyoj-course-head{display:flex;gap:12px;align-items:center;justify-content:space-between}
.hydro-refined .dyoj-course-head strong{font-size:16.5px;font-weight:600;line-height:1.4}
.hydro-refined .dyoj-course-state{display:inline-flex;gap:6px;align-items:center;padding:3px 10px;border-radius:999px;background:var(--ref-canvas);color:var(--ref-muted);font-size:12px;white-space:nowrap}
.hydro-refined .dyoj-course-dot{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.75}
.hydro-refined .dyoj-course-state.is-progress{background:var(--ref-accent-soft);color:var(--ref-accent)}
.hydro-refined .dyoj-course-state.is-done{background:rgba(47,133,90,.12);color:#2f855a}
.hydro-refined .dyoj-course-desc{display:-webkit-box;margin:0;overflow:hidden;color:var(--ref-muted);font-size:13px;line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.hydro-refined .dyoj-course-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:2px}
.hydro-refined .dyoj-course-chips{display:flex;gap:6px;flex-wrap:wrap}
.hydro-refined .dyoj-chip{padding:2px 9px;border-radius:999px;background:var(--ref-canvas);color:var(--ref-muted);font-size:11.5px}
.hydro-refined .dyoj-course-percent{color:var(--ref-muted);font-size:12px;font-variant-numeric:tabular-nums}
.hydro-refined .dyoj-course-progress{height:6px;border-radius:999px;background:var(--ref-canvas);overflow:hidden}
.hydro-refined .dyoj-course-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--ref-accent),#6aa9ea);transition:width .4s ease}
.hydro-refined .dyoj-course-grid--compact{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.hydro-refined .dyoj-course-grid--compact .dyoj-course-card{position:relative;overflow:hidden}
.hydro-refined .dyoj-course-grid--compact .dyoj-course-card-link{flex-direction:row;align-items:center;gap:12px;padding:14px 16px 18px}
.hydro-refined .dyoj-course-grid--compact .dyoj-course-icon{width:38px;height:38px;border-radius:10px;font-size:16px}
.hydro-refined .dyoj-course-text{display:grid;gap:3px;min-width:0}
.hydro-refined .dyoj-course-grid--compact strong{overflow:hidden;font-size:14px;font-weight:600;white-space:nowrap;text-overflow:ellipsis}
.hydro-refined .dyoj-course-grid--compact .dyoj-course-meta{color:var(--ref-muted);font-size:11.5px}
.hydro-refined .dyoj-course-grid--compact .dyoj-course-progress{position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:0}
.hydro-refined .dyoj-class-member-chips li{display:inline-flex;align-items:center;gap:6px}
.hydro-refined .dyoj-class-overview{padding-top:22px}
@media(max-width:1000px){.hydro-refined .dyoj-class-form-row{grid-template-columns:repeat(2,minmax(0,1fr))}.hydro-refined .dyoj-course-layout{grid-template-columns:1fr}.hydro-refined .dyoj-course-side{padding:10px}.hydro-refined .dyoj-course-cats{grid-auto-flow:column;grid-auto-columns:max-content;overflow-x:auto;padding-bottom:2px}.hydro-refined .dyoj-course-cat{gap:8px}}
@media(max-width:600px){.hydro-refined .dyoj-class-toolbar{flex-direction:column;align-items:stretch}.hydro-refined .dyoj-class-tabs{width:100%;overflow-x:auto}.hydro-refined .dyoj-class-tools{justify-content:space-between}.hydro-refined .dyoj-class-search{flex:1}.hydro-refined .dyoj-class-search .textbox{width:100%}.hydro-refined .dyoj-class-form-row{grid-template-columns:1fr}.hydro-refined .dyoj-class-stats{grid-template-columns:1fr;gap:10px}.hydro-refined .dyoj-class-hero{padding:18px 16px}.hydro-refined .dyoj-class-head h1{font-size:21px}.hydro-refined .dyoj-class-avatar{width:44px;height:44px;font-size:19px;border-radius:12px}.hydro-refined .dyoj-class-avatar--lg{width:52px;height:52px;border-radius:14px}.hydro-refined .dyoj-class-tabs--inner{gap:18px;overflow-x:auto}.hydro-refined .dyoj-course-card-link{gap:13px;padding:16px}.hydro-refined .dyoj-course-icon{width:46px;height:46px;border-radius:12px;font-size:19px}.hydro-refined .dyoj-course-head strong{font-size:15px}.hydro-refined .dyoj-class-block{padding:16px}}
.hydro-refined .dyoj-class-create[hidden],.hydro-refined .dyoj-course-form[hidden],.hydro-refined .dyoj-class-candidate[hidden]{display:none!important}
/* 窄屏防溢出：网格/弹性子项必须允许收缩 */
.hydro-refined .dyoj-course-layout>*{min-width:0}
.hydro-refined .dyoj-course-side{max-width:100%}
.hydro-refined .dyoj-course-cats{max-width:100%}
.hydro-refined .dyoj-class-card-link,.hydro-refined .dyoj-course-card-link{min-width:0}
.hydro-refined .dyoj-class-card-title,.hydro-refined .dyoj-course-body{min-width:0}
.hydro-refined .dyoj-class-tabs{max-width:100%}
.hydro-refined .dyoj-login-shell .dyoj-login-card{position:relative}
.hydro-refined .dyoj-leaf-ledge{position:absolute;left:0;top:-34px;width:100%;height:50px;z-index:3;pointer-events:none}
.hydro-refined .dyoj-login-shell--plain .dyoj-leaf-ledge{display:none}
@media(prefers-reduced-motion:reduce){.hydro-refined .dyoj-leaf-ledge{display:none}}

/* Shared DYOJ wordmark: custom geometric lettering with soft square counters. */
html.hydro-refined .dyoj-brand .dyoj-wordmark{display:block;width:90px;height:27px;flex:none;color:#284da5;overflow:visible}
html.hydro-refined .dyoj-brand .dyoj-wordmark-accent{color:#3878d8}
html.hydro-refined.theme--dark .dyoj-brand .dyoj-wordmark{color:#d6e3ff}
html.hydro-refined.theme--dark .dyoj-brand .dyoj-wordmark-accent{color:#91b8ff}
html.hydro-refined .header--mobile .dyoj-brand .dyoj-wordmark{width:78px;height:24px;color:#fff}
html.hydro-refined .header--mobile .dyoj-brand .dyoj-wordmark-accent{color:#d3e6ff}
html.hydro-refined .dyoj-login-shell .dyoj-login-brand{gap:14px}
html.hydro-refined .dyoj-login-shell .dyoj-login-brand .dyoj-wordmark{width:116px;height:35px;color:#284da5}
html.hydro-refined .dyoj-login-shell .dyoj-login-brand .dyoj-wordmark-accent{color:#3878d8}
@media(forced-colors:active){html.hydro-refined .dyoj-brand .dyoj-wordmark,html.hydro-refined .dyoj-brand .dyoj-wordmark-accent{color:LinkText}}

/* Menu interaction uses a soft surface, without Hydro's colored left rail.
   Keep the transparent border width so text does not shift between states. */
html.hydro-refined :is(a,button).menu__link,
html.hydro-refined :is(a,button).menu__link:is(:hover,:active,:focus,.active,.nav--active) {
  border-left-color:transparent;
  box-shadow:none;
  transition:background-color 140ms ease,color 140ms ease;
}
html.hydro-refined :is(a,button).menu__link:not(.disabled):hover {
  background:var(--ref-hover);color:var(--ref-accent);
}
html.hydro-refined :is(a,button).menu__link:is(.active,.nav--active),
html.hydro-refined :is(a,button).menu__link:is(.active,.nav--active):hover {
  background:var(--ref-accent-soft);color:var(--ref-accent);font-weight:600;
}
html.hydro-refined :is(a,button).menu__link:focus-visible {
  outline:2px solid var(--ref-accent);outline-offset:-2px;
}
@media(prefers-reduced-motion:reduce){html.hydro-refined :is(a,button).menu__link{transition:none}}
