/* Today page styles — single owner.
 * Loaded after desktop-shell.css. Safe balanced extract.
 */


@media (min-width:981px) {
  body.route-has-context #desktop-today { right:var(--desktop-right-width) !important; }
  /* Fixed workspace width is controlled by the two visible side rails. */
  #desktop-today { width:auto !important; max-width:none !important; }
  body.context-collapsed #desktop-today { right:0 !important; }
  #desktop-today .today-grid { min-width:0; }
  #desktop-today .progress-card,
  #desktop-today .progress-panel,
  #desktop-today .heatmap-frame,
  #desktop-today .heatmap-stage { min-width:0 !important; max-width:100% !important; }
  #desktop-today .heatmap { grid-template-columns:repeat(var(--heat-columns),minmax(0,1fr)) !important; }
  #desktop-today .heatmap-frame { overflow-x:hidden !important; }
}
#desktop-today .heatmap-grids {
  position:relative;
}

#desktop-today .heatmap-grids .heatmap-real {
  top:0 !important;
  left:0;
  right:0;
}
#desktop-today .heatmap-stage .heatmap,
#desktop-today .heatmap-stage .heatmap-real,
#desktop-today .heatmap-stage.show-heatmap .heatmap-intro,
#desktop-today .heatmap-stage.show-heatmap .heatmap-real {
  transition:none !important;
}

/* Stronger, more legible heat scale for the dark learning dashboard. */
body.desktop-dark #desktop-today .heatmap-frame {
  border-color: rgba(126, 143, 190, .38) !important;
  background: linear-gradient(145deg, #161a25, #11141d) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}
body.desktop-dark #desktop-today .heatmap-months { color: #aeb8ce !important; }
body.desktop-dark #desktop-today .heatmap :is(.heat-level-0,.heat-level-1) { --cell-color: #2b303c !important; }
body.desktop-dark #desktop-today .heatmap .heat-level-2 { --cell-color: #286966 !important; }
body.desktop-dark #desktop-today .heatmap .heat-level-3 { --cell-color: #21998e !important; }
body.desktop-dark #desktop-today .heatmap .heat-level-4 {
  --cell-color: #58dfd0 !important;
  box-shadow: 0 0 10px rgba(88, 223, 208, .32);
}
body.desktop-dark #desktop-today .heatmap .heat-level-2,
body.desktop-dark #desktop-today .heatmap .heat-level-3 { box-shadow: 0 0 6px rgba(51, 205, 190, .14); }
@media (min-width:981px) {
  #desktop-today { width:auto !important; max-width:none !important; }
  body.route-has-context #desktop-today { right:var(--desktop-right-width) !important; }
  body.context-collapsed #desktop-today { right:0 !important; }
}

/* Today learning progress: browse vs focus split */
#desktop-today .streak-card .stat-row {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
#desktop-today .today-split-note {
  margin: 12px 0 14px;
  color: #8b949e;
  font-size: 12px;
  line-height: 1.55;
}
#desktop-today .today-section-list {
  margin: 0 0 14px;
  padding: 12px 0 2px;
  border-top: 1px solid rgba(255,255,255,.08);
}
#desktop-today .today-section-list h3 {
  margin: 0 0 10px;
  color: #d7dee6;
  font-size: 13px;
  font-weight: 700;
}
#desktop-today .today-browse-row small {
  color: #7ee7d8 !important;
  font-weight: 700;
}
body.desktop-light #desktop-today .today-split-note { color: #6a7682; }
body.desktop-light #desktop-today .today-section-list { border-top-color: #dbe3ea; }
body.desktop-light #desktop-today .today-section-list h3 { color: #243036; }
body.desktop-light #desktop-today .today-browse-row small { color: #169e91 !important; }

#desktop-today .today-revision-plan { grid-column:span 12; margin:0; padding:22px; border:1px solid #ebe8f2; border-radius:6px; background:#fff; }
#desktop-today .revision-plan-layout { display:grid; grid-template-columns:minmax(360px,1.05fr) minmax(0,1fr); gap:24px; margin-top:18px; }
#desktop-today .today-revision-plan header { display:flex; align-items:center; justify-content:space-between; gap:16px; }
#desktop-today .today-revision-plan header span { color:#169e91; font-size:10px; font-weight:700; }
#desktop-today .today-revision-plan h2 { margin:4px 0 0; color:#211f28; font-size:16px; }
#desktop-today .today-revision-plan header button,#desktop-today .today-revision-plan form button { min-height:32px; padding:0 11px; border:1px solid #35d6c5; border-radius:4px; background:transparent; color:#169e91; font-size:11px; }
#desktop-today .revision-plan-room-link { margin-left:8px; }
#desktop-today .today-plan-checkin { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:14px 0 0; padding:10px 12px; border:1px solid rgba(53,214,197,.28); border-radius:4px; background:rgba(53,214,197,.06); }
#desktop-today .today-plan-checkin-copy { min-width:0; display:flex; flex-direction:column; gap:2px; }
#desktop-today .today-plan-checkin-copy strong { color:#211f28; font-size:12px; font-weight:700; }
#desktop-today .today-plan-checkin-copy span { color:#5f596b; font-size:11px; }
#desktop-today .today-plan-checkin-actions { display:inline-flex; align-items:center; gap:8px; flex-shrink:0; }
#desktop-today .today-plan-checkin-actions button { min-height:28px; padding:0 12px; border:0; border-radius:4px; background:#35d6c5; color:#071b19; font-size:11px; font-weight:700; cursor:pointer; }
#desktop-today .today-plan-checkin-actions button:disabled { background:#c9eae5; color:#4a6f6a; cursor:default; }
#desktop-today .today-plan-checkin-link { color:#169e91; font-size:11px; font-weight:600; text-decoration:none; white-space:nowrap; }
#desktop-today .today-plan-checkin.is-done { border-color:#ebe8f2; background:#f8f6fc; }
body.desktop-dark #desktop-today .today-plan-checkin { border-color:rgba(53,214,197,.28); background:rgba(53,214,197,.08); }
body.desktop-dark #desktop-today .today-plan-checkin-copy strong { color:#ecebf0; }
body.desktop-dark #desktop-today .today-plan-checkin-copy span { color:#9b96a5; }
body.desktop-dark #desktop-today .today-plan-checkin.is-done { border-color:#2b2b33; background:#1a1a20; }
body.desktop-dark #desktop-today .today-plan-checkin-link { color:#58dfd0; }
#desktop-today .revision-calendar { margin-top:18px; padding:15px; border:1px solid #f0eef4; background:#fdfdfe; }
#desktop-today .revision-plan-layout .revision-calendar { margin-top:0; }
#desktop-today .revision-calendar-head { display:flex; align-items:center; justify-content:center; gap:12px; }
#desktop-today .revision-calendar-head strong { min-width:102px; color:#312d3b; font-size:13px; text-align:center; }
#desktop-today .revision-calendar-head button { width:26px; height:26px; padding:0; border:1px solid #ebe8f2; border-radius:4px; background:#fff; color:#706b7b; }
#desktop-today .revision-weekdays,#desktop-today .revision-calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:5px; }
#desktop-today .revision-weekdays { margin:14px 0 6px; color:#918a9c; font-size:10px; text-align:center; }
#desktop-today .revision-calendar-grid > i { min-height:55px; }
#desktop-today .revision-calendar-grid button { min-height:55px; padding:7px; border:1px solid transparent; border-radius:4px; background:#f8f6fc; color:#4d4858; text-align:left; }
#desktop-today .revision-calendar-grid button b,#desktop-today .revision-calendar-grid button small { display:block; }
#desktop-today .revision-calendar-grid button b { font-size:12px; } #desktop-today .revision-calendar-grid button small { margin-top:6px; color:#169e91; font-size:9px; }
#desktop-today .revision-calendar-grid button.has-plan { border-color:rgba(53,214,197,.45); background:rgba(53,214,197,.09); }
#desktop-today .revision-calendar-grid button.today b::after { content:'今天'; margin-left:4px; color:#918a9c; font-size:9px; font-weight:400; }
#desktop-today .revision-calendar-grid button.active { border-color:#35d6c5; box-shadow:0 0 0 1px #35d6c5 inset; }
#desktop-today .today-revision-plan form { display:grid; grid-template-columns:minmax(0,1fr) 130px 130px 82px auto; gap:8px; margin-top:16px; }
#desktop-today .today-revision-plan form input,#desktop-today .today-revision-plan form select { min-height:34px; border:1px solid #ebe8f2; border-radius:4px; background:#f8f6fc; color:#211f28; padding:0 9px; font-size:11px; }
#desktop-today .today-revision-plan form .plan-carry { display:inline-flex; align-items:center; align-self:center; gap:8px; min-height:34px; margin:0; color:#514c5c; font-size:11px; font-weight:600; white-space:nowrap; cursor:pointer; }
#desktop-today .today-revision-plan form .plan-carry input[type="checkbox"] { width:18px; min-width:18px; height:18px; min-height:18px; margin:0; padding:0; appearance:auto; accent-color:#35d6c5; cursor:pointer; }
#desktop-today .today-revision-plan form button { background:#35d6c5; color:#071b19; }
#desktop-today .today-revision-plan > p { margin:16px 0 7px; color:#777184; font-size:12px; }
#desktop-today .today-revision-plan article { display:grid; grid-template-columns:22px minmax(0,1fr) auto; gap:10px; align-items:center; min-height:51px; border-top:1px solid #f0eef4; }
#desktop-today .today-revision-plan article > button:first-child { width:18px; height:18px; padding:0; border:1px solid rgba(53,214,197,.6); border-radius:50%; background:#fff; color:#169e91; }
#desktop-today .today-revision-plan strong,#desktop-today .today-revision-plan small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
#desktop-today .today-revision-plan strong { font-size:12px; } #desktop-today .today-revision-plan small { margin-top:3px; color:#918a9c; font-size:10px; }
#desktop-today .today-revision-plan article > button:last-child { min-height:30px; padding:0 11px; border:1px solid #35d6c5; border-radius:4px; background:#35d6c5; color:#071b19; font-size:10px; font-weight:700; }
#desktop-today .today-revision-plan article > button:last-child:hover { background:#58dfd0; border-color:#58dfd0; }
#desktop-today .today-revision-plan .done strong,#desktop-today .today-revision-plan .done small { color:#a8a3b0; text-decoration:line-through; }
#desktop-today .revision-plan-tasks { min-width:0; padding:4px 0; }
#desktop-today .revision-plan-tasks > p { margin:0 0 8px; }
#desktop-today .revision-plan-tasks article { grid-template-columns:22px minmax(0,1fr) auto auto; }
#desktop-today .revision-plan-tasks article > button:nth-last-child(2) { width:24px; min-height:28px; padding:0; border:0; background:transparent; color:#918a9c; font-size:16px; }
body.desktop-dark #desktop-today .today-revision-plan { border-color:#2b2b33; background:#15151a; } body.desktop-dark #desktop-today .today-revision-plan h2,body.desktop-dark #desktop-today .today-revision-plan strong { color:#ecebf0; } body.desktop-dark #desktop-today .today-revision-plan > p,body.desktop-dark #desktop-today .today-revision-plan small { color:#8d8995; } body.desktop-dark #desktop-today .today-revision-plan article { border-color:#25252d; } body.desktop-dark #desktop-today .today-revision-plan form input,body.desktop-dark #desktop-today .today-revision-plan form select { border-color:#2b2b33; background:#1d1d23; color:#ecebf0; }
body.desktop-dark #desktop-today .today-revision-plan form .plan-carry { color:#d7d4df; }
body.desktop-dark #desktop-today .today-revision-plan form .plan-carry input[type="checkbox"] { accent-color:#35d6c5; }
body.desktop-dark #desktop-today .revision-calendar { border-color:#25252d; background:#111115; } body.desktop-dark #desktop-today .revision-calendar-head strong { color:#ecebf0; } body.desktop-dark #desktop-today .revision-calendar-head button { border-color:#2b2b33; background:#1d1d23; color:#a8a4b0; } body.desktop-dark #desktop-today .revision-calendar-grid button { background:#1d1d23; color:#d7d4df; } body.desktop-dark #desktop-today .revision-calendar-grid button.has-plan { border-color:rgba(53,214,197,.42); background:rgba(53,214,197,.09); } body.desktop-dark #desktop-today .revision-calendar-grid button.active { border-color:#58dfd0; box-shadow:0 0 0 1px #58dfd0 inset; }
body.desktop-dark #desktop-today .today-revision-plan header span,
body.desktop-dark #desktop-today .today-revision-plan header button,
body.desktop-dark #desktop-today .today-revision-plan form button,
body.desktop-dark #desktop-today .revision-calendar-grid button small,
body.desktop-dark #desktop-today .today-revision-plan article > button:first-child { color:#35d6c5; }
body.desktop-dark #desktop-today .today-revision-plan header button { border-color:rgba(53,214,197,.55); }
body.desktop-dark #desktop-today .today-revision-plan form button { background:#35d6c5; color:#071b19; }
body.desktop-dark #desktop-today .revision-calendar-grid button.has-plan { border-color:rgba(53,214,197,.42); background:rgba(53,214,197,.09); }

/* Progress is a full-width reading band, not a narrow sidebar card. */
#desktop-today .today-grid .streak-card { grid-column:span 12 !important; width:100%; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); column-gap:30px; align-items:start; }
#desktop-today .today-grid .streak-card h2 { grid-column:1 / -1; margin-bottom:4px; }
#desktop-today .today-grid .streak-card .stat-row { grid-column:1 / -1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:10px; }
#desktop-today .today-grid .streak-card .today-split-note { grid-column:1 / -1; margin:16px 0 4px; }
#desktop-today .today-grid .streak-card .today-section-list { grid-column:1 / -1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0 24px; margin-top:10px; padding:14px 0 0; }
#desktop-today .today-grid .streak-card .today-section-list h3 { grid-column:1 / -1; }
#desktop-today .today-grid .streak-card .today-section-list .activity { min-width:0; }
#desktop-today .today-grid .streak-card > .activity { min-height:46px; }
@media (max-width:900px) { #desktop-today .today-grid .streak-card .today-section-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:780px) { #desktop-today .today-grid .streak-card { display:block; } #desktop-today .today-grid .streak-card .stat-row { grid-template-columns:1fr 1fr; } #desktop-today .today-grid .streak-card .today-section-list { grid-template-columns:1fr 1fr; gap:0 14px; } }
@media (max-width:900px) { #desktop-today .revision-plan-layout { grid-template-columns:1fr; } }
@media (max-width:780px) { #desktop-today .today-revision-plan form { grid-template-columns:1fr; } }

/* Keep task creation as a single, quiet todo row on desktop. */
@media (min-width:901px) {
  #desktop-today .today-revision-plan form { grid-template-columns:minmax(0,2fr) minmax(0,1.25fr) minmax(130px,.9fr) 88px 96px; align-items:center; }
  #desktop-today .today-revision-plan form [name="goalDue"],#desktop-today .today-revision-plan form [name="reminder"],#desktop-today .today-revision-plan form .plan-carry { display:none !important; }
  #desktop-today .today-revision-plan form input,#desktop-today .today-revision-plan form select { min-width:0; }
  #desktop-today .today-revision-plan form .plan-custom-kind:not([hidden]) { grid-column:1 / -1; }
}
