.ui-icon { display:inline-block; width:20px; height:20px; vertical-align:middle; flex:none; pointer-events:none; }
.ui-sr-only { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip-path:inset(50%)!important; white-space:nowrap!important; border:0!important; }
button.ui-icon-only { display:inline-flex; align-items:center; justify-content:center; min-width:36px; min-height:36px; padding:6px; }
button.ui-icon-only.delete { color:#718096; background:transparent; border-color:transparent; }
button.ui-icon-only.delete:hover, button.ui-icon-only.delete:focus-visible { color:#bc3c48; background:#fff1f2; }
.ui-disclosure-summary { list-style:none; }
.ui-disclosure-summary::-webkit-details-marker { display:none; }
.ui-disclosure-chevron { width:15px; height:15px; margin-left:8px; color:#778394; transition:transform .24s ease; }
details[open]>.ui-disclosure-summary>.ui-disclosure-chevron { transform:rotate(180deg); }
details[data-disclosure-motion=closing]>.ui-disclosure-summary>.ui-disclosure-chevron { transform:none; }
.routine-disclosure-toggle i { display:none!important; }
.connection-symbol::before { content:none!important; }
.connection-symbol .ui-icon { width:15px; height:15px; transition:transform .24s ease; }
.connection-dock[open] .connection-symbol .ui-icon { transform:rotate(180deg); }
.routine-disclosure>.ui-disclosure-summary>.ui-disclosure-chevron { margin-left:auto; }
.site-mobile-bar button [data-ui-icon] { line-height:1; }
@media(pointer:coarse) { button.ui-icon-only { min-width:44px; min-height:44px; } }
@media(prefers-reduced-motion:reduce) { .ui-disclosure-chevron { transition:none; } }

html.site-shell-ready {
  scrollbar-gutter: stable;
  --rail-left: 240px;
  --rail-right: 300px;
  --rail-ink: #172a39;
  --rail-blue: #3967e9;
  --site-mobile-header-height: calc(112px + env(safe-area-inset-top, 0px));
  scroll-padding-top: calc(var(--site-mobile-header-height) + 12px);
}

body.has-site-shell {
  box-sizing: border-box !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: var(--site-mobile-header-height) 0 0 !important;
}

.has-site-shell .page-navigation-actions {
  display: none !important;
}

.has-site-shell .site-header .page-navigation-actions {
  display: flex !important;
}

.has-site-shell .site-header .page-navigation-actions>a[href="./index.html"] {
  display: none !important;
}

.has-site-shell .summary-view-controls>.header-action-link {
  display: none !important;
}

.site-rail, .site-mobile-bar {
  box-sizing: border-box;
  font-family: Inter,"Microsoft JhengHei",system-ui,sans-serif;
  line-height: 1.6;
}

.site-rail * {
  box-sizing: border-box;
}

.site-rail {
  position: fixed;
  z-index: 1100;
  top: 0;
  bottom: 0;
  width: min(310px,88vw);
  padding: 26px 22px;
  overflow-y: auto;
  overscroll-behavior: contain;
  visibility: hidden;
  scrollbar-width: thin;
}

.site-rail a {
  color: inherit;
  text-decoration: none;
}

.site-rail button {
  font: inherit;
  cursor: pointer;
}

.site-rail a:focus-visible, .site-rail button:focus-visible, .site-mobile-bar a:focus-visible, .site-mobile-bar button:focus-visible {
  outline: 3px solid #85a7ff;
  outline-offset: 3px;
}

.site-rail-left {
  left: 0;
  display: flex;
  flex-direction: column;
  background: #29384b;
  color: #edf3fc;
  border-radius: 0 16px 16px 0;
}

.site-rail-right {
  right: 0;
  background: #f7f9f8;
  color: var(--rail-ink);
  border-left: 1px solid #dce4e2;
  border-radius: 16px 0 0 16px;
}

.site-rail-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.site-brand {
  display: flex;
  align-items: center;
  gap: 10px;
}

.site-brand>span:first-child {
  display: grid;
  place-items: center;
  width: 30px;
  height: 32px;
  border: 1px solid #afc4dc;
  border-radius: 7px;
  font-size: 20px;
}

.site-brand strong {
  font-size: 15px;
}

.site-brand small {
  display: block;
  margin-top: 4px;
  font-size: 9px;
  letter-spacing: 2px;
  color: #afc4dc;
}

.site-mobile-section-heading { display: none; }

.site-rail-date {
  display: grid;
  gap: 8px;
  margin-top: 42px;
  padding-top: 26px;
  border-top: 1px solid #4a596c;
}

.site-rail-date>span:first-child {
  font-size: 11px;
  letter-spacing: 2px;
  color: #afc4dc;
}

.site-rail-date strong {
  font: 400 44px/1.2 Georgia,serif;
  min-height: 58px;
}

.site-rail-date-control {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
  min-height: 58px;
  border-radius: 8px;
  cursor: pointer;
  color: inherit;
}

.site-rail-date-control:focus-within {
  outline: 3px solid #85a7ff;
  outline-offset: 4px;
}

.site-rail .site-date-edit {
  color: #afc4dc;
  font-size: 17px;
}

.site-rail .site-date-input {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  height: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  cursor: pointer;
}

.site-rail-date>span:last-child {
  font-size: 13px;
  color: #afc4dc;
}

.site-week {
  margin: 45px 0 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  border-radius: 0;
}

.site-week>span {
  font-size: 12px;
  color: #afc4dc;
}

.site-week>strong {
  display: block;
  margin-top: 10px;
  font-size: 32px;
  line-height: 1.2;
}

.site-week b {
  font-weight: 750;
}

.site-week small {
  font-size: 15px;
  font-weight: 400;
  color: #afc4dc;
}

.site-week p {
  margin: 8px 0;
  font-size: 12px;
  color: #afc4dc;
  min-height: 1.6em;
}

.site-week-ticks {
  display: grid;
  grid-template-columns: repeat(7,minmax(0,1fr));
  gap: 5px;
  margin-top: 16px;
  min-height: 35px;
}

.site-week-ticks a {
  display: block;
  min-height: 44px;
  padding-top: 12px;
  border-top: 7px solid #536276;
  border-radius: 5px;
  font-size: 10px;
  text-align: center;
  color: #afc4dc;
}

.site-week-ticks a:hover { background: rgba(134,181,255,.12); }

.site-week-ticks .has-record {
  border-color: #86b5ff;
}

.site-summary-link {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-top: 28px;
  padding: 18px 0;
  border-top: 1px solid #4a596c;
  font-size: 12px;
  font-weight: 750;
}

.site-summary-link[aria-current=page] {
  color: #a5c7ff;
}

.site-rail-bottom {
  margin-top: auto;
  padding-top: 50px;
  color: #afc4dc;
  font-size: 11px;
}

.site-rail-bottom p {
  margin: 4px 0;
  min-height: 1.6em;
}

.site-workspace-home {
  display: block;
  border-radius: 8px;
}

.site-workspace-home strong {
  display: block;
  font-size: 25px;
  font-weight: 800;
  letter-spacing: -.7px;
  line-height: 1.3;
}

.site-workspace-home[aria-current=page] {
  color: var(--rail-blue);
}

.site-workspace-home>span {
  display: block;
  margin-top: 7px;
  font-size: 11px;
  color: #71899c;
}

.site-rail .site-tools {
  display: block;
  margin: 22px 0 0;
  padding: 0;
  border: 0;
  border-top: 1px solid #d8e1de;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.site-tools>a {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 13px 0;
  border-bottom: 1px solid #d8e1de;
  border-radius: 8px;
}

.site-tools>a[aria-current=page] {
  color: var(--rail-blue);
}

.site-tool-icon {
  display: grid;
  place-items: center;
  width: 29px;
  height: 29px;
  flex: none;
  border: 1px solid #d1dcdb;
  border-radius: 8px;
  font-size: 16px;
  color: #5a7281;
}

.site-tools strong {
  display: block;
  font-size: 12px;
}

.site-tools small {
  display: block;
  margin-top: 4px;
  font-size: 10px;
  color: #778a82;
}

.site-tool-arrow {
  margin-left: auto;
  color: #638ee5;
}

.site-rail .site-overdue {
  margin: 22px 0 0;
  padding: 14px;
  border: 1px solid #d8e1de;
  border-radius: 14px;
  background: #fff;
  box-shadow: none;
}

.site-overdue header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 10px;
  border-bottom: 1px solid #e3e8e5;
  background: transparent;
}

.site-rail h2 {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 12px;
  line-height: 1.6;
}

.site-overdue header>span {
  font-size: 10px;
  color: #82938f;
}

.site-overdue-empty {
  margin: 0;
  padding: 28px 0;
  text-align: center;
  color: #7d9187;
  font-size: 12px;
}

.site-overdue-item {
  display: block;
  padding: 10px 0;
  border-bottom: 1px solid #e3e8e5;
  overflow-wrap: anywhere;
}

.site-overdue-item strong {
  display: block;
  font-size: 11px;
}

.site-overdue-item small {
  display: block;
  color: #82938f;
  font-size: 10px;
}

.site-overdue-all {
  display: block;
  padding-top: 12px;
  font-size: 11px;
  color: #6382ad !important;
}

.site-mobile-bar {
  position: fixed;
  z-index: 1200;
  top: 0;
  left: 0;
  right: 0;
  height: var(--site-mobile-header-height);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: calc(6px + env(safe-area-inset-top, 0px)) 10px 6px;
  border-bottom: 1px solid #d8e1eb;
  background: #fff;
  color: #172a39;
  transition: transform .24s cubic-bezier(.2,.75,.25,1);
}

.site-mobile-bar>a {
  display: grid;
  place-items: center;
  min-height: 32px;
  font-size: 18px;
  font-weight: 800;
  text-decoration: none;
  color: inherit;
}

.site-mobile-home[aria-current=page] { color: var(--rail-blue); }
.site-mobile-bar nav {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 4px;
  width: 100%;
  flex: 1;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.site-mobile-bar button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-width: 0;
  min-height: 48px;
  padding: 4px 2px;
  border: 0;
  border-radius: 13px;
  background: transparent;
  color: #54708a;
  font: 800 12px/1.4 system-ui,sans-serif;
  box-shadow: none;
}

.site-mobile-bar button>span:first-child {
  display: inline-block;
  vertical-align: middle;
  font-size: 20px;
  line-height: 1;
}

.site-mobile-bar button[aria-pressed=true] { background: var(--rail-blue); color: #fff; }

@media (min-width:1200px) {
  html.site-shell-ready { scroll-padding-top: 72px; }
  html.site-shell-ready body {
    padding-left: var(--rail-left) !important;
    padding-right: var(--rail-right) !important;
  }
  body.has-site-shell {
    padding-top: 0 !important;
  }
  .site-rail {
    top: 0;
    transition: none;
    visibility: visible;
    transform: none;
    border-radius: 0;
    padding: 34px 26px;
  }
  .site-brand strong { font-size: 17px; }
  .site-rail-date strong { font-size: 48px; }
  .site-week>strong { font-size: 36px; }
  .site-summary-link { font-size: 14px; }
  .site-workspace-home strong { font-size: 28px; }
  .site-tools strong { font-size: 14px; }
  .site-tools small { font-size: 12px; }
  .site-rail h2 { font-size: 14px; }
  .site-overdue-item strong { font-size: 13px; }
  .site-overdue-item small, .site-overdue-all { font-size: 12px; }
  .site-rail-left {
    width: var(--rail-left);
  }
  .site-rail-right {
    width: var(--rail-right);
  }
  .site-mobile-bar {
    display: none !important;
  }
}

@media (max-width:1199px) {
  /* Android WebView can pan the layout viewport to an animated offscreen
     descendant, even when only the root element clips horizontal overflow. */
  html.site-shell-ready, body.has-site-shell { overflow-x: clip; }
  .site-mobile-motion-layer {
    position: fixed;
    inset: 0;
    z-index: 1000;
    overflow: clip;
    pointer-events: none;
    contain: layout paint;
  }
  html[data-menu-page-entry], html[data-menu-page-departure] { overflow-x: clip; }
  html[data-menu-page-entry=pending] body > :is(main,header,footer,section) { visibility: hidden; }
  html[data-mobile-slide-direction] { overflow-x: clip; }
  .site-mobile-content-hidden { display: none !important; }
  body[data-mobile-nav-hidden=true] .site-mobile-bar { transform: translateY(-100%); pointer-events: none; }
  .site-rail {
    display: none;
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    right: auto;
    width: 100%;
    max-width: var(--site-page-width);
    min-height: calc(100dvh - var(--site-mobile-header-height));
    margin: 0 auto;
    padding: 22px 14px 32px;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: var(--site-page-background);
    color: var(--rail-ink);
  }
  body[data-mobile-section=date] .site-rail-left,
  body[data-mobile-section=tools] .site-rail-right { display: block; visibility: visible; }
  .site-rail .site-mobile-section-heading { display: block; margin: 0 0 14px; color: #172033; font: 700 28px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans TC",sans-serif; }
  .site-rail .site-rail-top { display: none; }
  .site-rail-date, .site-week { margin: 0 0 14px; padding: 18px; border: 1px solid #dbe3ee; border-radius: 18px; background: #fff; }
  .site-rail-date strong { color: var(--rail-blue); }
  .site-rail-date>span:first-child, .site-rail-date>span:last-child,
  .site-rail .site-date-edit, .site-week>span, .site-week small, .site-week p,
  .site-week-ticks a, .site-rail-bottom { color: #61758e; }
  .site-week>strong { color: var(--rail-blue); }
  .site-week-ticks a { border-top-color: #dbe3ee; }
  .site-week-ticks .has-record { border-top-color: var(--rail-blue); }
  .site-rail .site-summary-link { display: block; margin: 0; padding: 16px 18px; border: 1px solid #dbe3ee; border-radius: 16px; background: #fff; color: var(--rail-blue); font-size: 14px; }
  .site-rail-bottom { margin-top: 22px; padding-top: 0; }
  .site-rail .site-tools { margin: 0; padding: 0 16px; border: 1px solid #dbe3ee; border-radius: 18px; background: #fff; }
  .site-tools>a { min-height: 78px; padding: 16px 0; }
  .site-tools>a:last-child { border-bottom: 0; }
  .site-tools strong { font-size: 14px; }
  .site-tools small { font-size: 12px; color: #61758e; }
  .site-rail .site-overdue { margin-top: 14px; padding: 16px; border-color: #dbe3ee; border-radius: 18px; }
  .site-overdue h2 { font-size: 16px; }
  .site-overdue-item { padding: 12px 0; }
  .site-overdue-item strong { font-size: 13px; }
  .site-overdue-item small, .site-overdue-all, .site-overdue header>span { font-size: 12px; }
  .has-site-shell .connection-dock {
    top: calc(var(--site-mobile-header-height) + 8px);
    max-height: calc(100dvh - var(--site-mobile-header-height) - 20px);
  }
  .has-site-shell[data-mobile-nav-hidden=true] .connection-dock:not([open]) { top: 8px; }
}

@media (min-width:1200px) and (max-width:1399px) {
  .has-site-shell .summary-header {
    grid-template-columns: minmax(0,1fr) auto;
  }
  .has-site-shell .summary-period-nav {
    grid-column: 1/-1;
    grid-row: 2;
    min-width: 0;
  }
  .has-site-shell .summary-view-controls {
    grid-column: 2;
    grid-row: 1;
  }
}

.has-site-shell.source-page>header, .has-site-shell.source-page>section {
  margin-left: 14px;
  margin-right: 14px;
}

.has-site-shell.source-page>header {
  padding-top: 22px;
}

.has-site-shell .summary-donut-label-button {
  font-size: 16px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #26384d !important;
  text-shadow: 1.5px 0 white,-1.5px 0 white,0 1.5px white,0 -1.5px white,1px 1px white,-1px -1px white !important;
}

@media print {
  body.has-site-shell {
    padding: 0 !important;
  }
  .site-rail, .site-mobile-bar {
    display: none !important;
  }
}

@media (prefers-reduced-motion:reduce) {
  .site-mobile-bar {
    transition: none;
  }
}

/* v171.6.170 — flat sections, shared by app and standalone pages. */
html.site-shell-ready { --site-page-background:#eef3f8; --flat-surface:#fff; --flat-soft:#f5f8fc; --flat-selected:#eaf0ff; --flat-text:#17263a; --flat-muted:#64748b; --flat-line:#dce5ee; --flat-blue:#315cf2; --flat-green:#18765c; }
body.has-site-shell { color:var(--flat-text); font-family:Inter,"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif; }
body.has-site-shell :is(button,input,select,textarea) { font-family:inherit; }
body.has-site-shell > main:not(.document) { padding-top:26px; padding-bottom:48px; }
body.has-site-shell :is(.page-navigation-header,.summary-header) { margin-bottom:22px; }
body.has-site-shell :is(.page-navigation-header,.summary-header) h1 { color:var(--flat-text); letter-spacing:-.025em; }
body.has-site-shell :is(.panel,.todo-panel,.vocabulary-panel,.progress-panel,.summary-card) { border:0; border-radius:16px; box-shadow:none; background:var(--flat-surface); }
body.has-site-shell :is(.panel-head,.todo-panel-head,.vocabulary-panel-head,.progress-panel-head) { background:transparent; border-bottom:0; }
body.has-site-shell :is(.panel-head,.todo-panel-head,.vocabulary-panel-head,.progress-panel-head) h2 { font-size:17px; }
body.has-site-shell main :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea) { border-color:var(--flat-line); border-radius:10px; box-shadow:none; }
body.has-site-shell main button { border-radius:10px; box-shadow:none; }
body.has-site-shell main button.primary { background:var(--flat-blue); }
body.has-site-shell main :is(.small,.progress-note,.vocabulary-reference-sources) { color:var(--flat-muted); }
body.has-site-shell :is(.footer,.site-footer) { color:var(--flat-muted); }
body.has-site-shell :is(.footer,.site-footer) a { color:inherit; }

/* One selection surface slides on hover; its fill and the clicked row pulse together. */
.has-site-shell .site-rail-left { background:#293b4f; }
.has-site-shell .site-rail-right { background:var(--flat-surface); border-left-color:var(--flat-line); isolation:isolate; }
.has-site-shell .site-workspace-home { width:100%; padding:10px; margin:0; border-radius:10px; }
.has-site-shell :is(.site-workspace-home,.site-tools>a)[aria-current=page] { background:var(--flat-selected); }
.has-site-shell .site-rail-right[data-selection-motion=ready] :is(.site-workspace-home,.site-tools>a)[aria-current=page] { background:transparent; }
.has-site-shell .site-rail-right>.site-navigation-selection { position:absolute; z-index:0; border-radius:10px; pointer-events:none; }
.has-site-shell .site-navigation-selection>span { display:block; width:100%; height:100%; border-radius:inherit; background:var(--flat-selected); transform-origin:center; }
.has-site-shell :is(.site-workspace-home,.site-tools>a) { transform-origin:center; }
.has-site-shell .site-rail-right>:not(.site-navigation-selection) { position:relative; z-index:1; }
.has-site-shell .site-rail .site-tools { display:grid; gap:4px; margin-top:4px; padding:0; border:0; background:transparent; }
.has-site-shell .site-tools>a { min-height:48px; padding:10px; border:0; border-radius:10px; }
.has-site-shell .site-tool-icon { width:24px; height:24px; border:0; background:transparent; color:inherit; }
.has-site-shell .site-tools small { color:var(--flat-muted); font-weight:400; }
.has-site-shell .site-rail .site-overdue { padding:18px 0 0; border:0; border-top:1px solid var(--flat-line); border-radius:0; background:transparent; }
.has-site-shell .site-overdue header { border-bottom:0; }
.has-site-shell .site-overdue-item { border-bottom-color:var(--flat-line); }
.has-site-shell .site-overdue-item strong { font-weight:600; }
.has-site-shell .site-mobile-bar { border-color:var(--flat-line); }
.has-site-shell .site-mobile-bar nav { position:relative; isolation:isolate; gap:0; padding:3px; border-radius:13px; background:var(--flat-soft); }
.has-site-shell .site-mobile-bar nav>.site-mobile-selection { position:absolute; z-index:-1; top:3px; bottom:3px; left:3px; width:calc((100% - 6px)/3); border-radius:10px; background:var(--flat-blue); transform:translateX(calc(var(--mobile-selection,1)*100%)); transition:transform .26s cubic-bezier(.2,.75,.25,1); pointer-events:none; }
.has-site-shell .site-mobile-bar button { border-radius:10px; }
.has-site-shell .site-mobile-bar nav[data-selection-motion=ready] button[aria-pressed=true] { background:transparent; }

/* Existing sliders keep their DOM and state, so the indicator can travel. */
.has-site-shell :is(.metric-segments,.mood-segments,.study-items-segments,.period-switch,.subject-switch,.vocabulary-content-kind-switch,.vocabulary-grouping-switch,.summary-mode-switch) { border:0; border-radius:10px; background:var(--flat-soft); }
.has-site-shell :is(.metric-segment-indicator,.mood-segment-indicator,.study-items-segment-indicator,.period-switch-indicator,.subject-switch-indicator,.vocabulary-content-kind-indicator,.vocabulary-grouping-indicator,.summary-mode-switch>span) { border:0; border-radius:8px; background:var(--flat-blue); box-shadow:none; transition:transform .26s cubic-bezier(.2,.75,.25,1); }
.has-site-shell :is(.metric-segments,.mood-segments,.study-items-segments,.period-switch,.subject-switch,.vocabulary-content-kind-switch,.vocabulary-grouping-switch,.summary-mode-switch) button:is([aria-pressed=true],[aria-selected=true]) { color:#fff; }

/* Home keeps the original large, editable subject cards. */
body.tracker-home.has-site-shell { --accent:var(--flat-blue); --line:var(--flat-line); --muted:var(--flat-muted); }
.tracker-home.has-site-shell .app-header { justify-content:center; text-align:center; }
.tracker-home.has-site-shell .home-brand { justify-content:center; }
.tracker-home.has-site-shell .home-brand>[data-home-icon] { display:none; }
.tracker-home.has-site-shell :is(.home-today,.home-reflection) { margin-top:20px; }
.tracker-home.has-site-shell .panel.study-record-section { border:0; background:transparent; box-shadow:none; }
.tracker-home.has-site-shell .study-record-section>.panel-head { padding-inline:0; }
.tracker-home.has-site-shell .item.subject-card { border-radius:16px; box-shadow:none; }
.tracker-home.has-site-shell .study-record-section .item .item.subject-card { border-radius:0; }
.tracker-home.has-site-shell .item [data-done],.tracker-home.has-site-shell [data-week-done] { width:21px; height:21px; flex:none; accent-color:var(--flat-blue); transform-origin:center; }
.tracker-home.has-site-shell .item-top>[data-done] { align-self:flex-start; margin:5px 0 0; }
.tracker-home.has-site-shell .item-top>[data-done]+div { flex:1; min-width:0!important; }
.tracker-home.has-site-shell .item [data-done]:checked,.tracker-home.has-site-shell [data-week-done]:checked { accent-color:var(--flat-green); }
.tracker-home.has-site-shell .weekly-item-toggle { align-items:flex-start; }
.tracker-home.has-site-shell .weekly-item-toggle>[data-week-done] { margin:0; }
.tracker-home.has-site-shell .weekly-item-label { display:grid; min-width:0; gap:3px; line-height:1.55; white-space:normal; overflow-wrap:anywhere; }
.tracker-home.has-site-shell .weekly-item-range { color:#64748b; font-size:12px; line-height:1.5; }
.tracker-home.has-site-shell #exportBox,.tracker-home.has-site-shell .import-panel { border:0; background:transparent; box-shadow:none; }
.tracker-home.has-site-shell .home-reflection-fields { gap:16px; }

/* Todo stays compact until opened; saved ranges, manual minutes and timers remain. */
.has-site-shell .todo-panel.study-record-section { border:0; background:transparent; overflow:visible; }
.has-site-shell .todo-panel.study-record-section>.todo-panel-body { padding:0; }
.has-site-shell .study-record-section .todo-card { padding:12px 14px; border:0; border-left:3px solid var(--subject-accent); border-radius:16px; background:color-mix(in srgb,var(--subject-accent) 9%,#fff); box-shadow:none; }
.has-site-shell .todo-card[data-expanded=false] { grid-template-columns:minmax(0,1fr) auto; gap:8px; padding:12px 14px; }
.has-site-shell .todo-card[data-expanded=false] h3 { font-size:15px; }
.has-site-shell .todo-card[data-expanded=false] .study-heading-range { font-size:13px; }
.has-site-shell .todo-card[data-expanded=false] .todo-range-summary { font-size:12px; margin-top:3px; }
.has-site-shell .todo-card[data-expanded=false] .todo-card-meta { font-size:11px; margin-top:3px; }
.has-site-shell .todo-actions { gap:3px; }
.has-site-shell .todo-completion-control { display:inline-flex; align-items:center; justify-content:center; gap:5px; min-width:44px; min-height:44px; flex:none; color:var(--flat-muted); font-size:11px; cursor:pointer; }
.has-site-shell .todo-card-heading h3 { min-width:0; padding-top:calc(22px - .7em); line-height:1.4; }
.has-site-shell .todo-card .todo-card-main>:is(.todo-range-summary,.todo-card-meta) { margin-left:52px; }
.has-site-shell input.todo-complete { appearance:auto; display:inline-block; flex:none; width:21px; height:21px; min-width:21px; min-height:21px; margin:0; padding:0; border:initial; border-radius:3px; background:initial; accent-color:var(--flat-blue); cursor:pointer; transform-origin:center; }
.has-site-shell input.todo-complete:checked { accent-color:var(--flat-green); }
.has-site-shell input.todo-complete:disabled { opacity:1; }
.has-site-shell .todo-expand { width:24px; min-width:24px; height:44px; border:0; background:transparent; color:#808b99; }
.has-site-shell .todo-expand:before { font-size:12px; }
.has-site-shell .todo-skip { min-width:40px; min-height:36px; padding:5px 7px; border-color:var(--flat-line); color:var(--flat-muted); font-size:11px; }
.has-site-shell .todo-card-controls { min-width:0; }
.has-site-shell .todo-card[data-completing=true] .todo-completion-control { color:var(--flat-green); }
.has-site-shell .todo-time-modes { position:relative; isolation:isolate; background:var(--flat-soft); }
.has-site-shell .todo-time-modes>span { position:absolute; z-index:-1; top:3px; bottom:3px; left:3px; width:calc((100% - 6px)/2); border-radius:7px; background:var(--flat-selected); transform:translateX(calc(var(--time-selection,0)*100%)); pointer-events:none; }
.has-site-shell .todo-time-modes button[aria-pressed=true] { background:transparent; color:var(--flat-blue); box-shadow:none; }
.has-site-shell .todo-long-term>summary:before { content:none; }

/* A thick divider separates English and Chinese; thin lines separate POS groups. */
.has-site-shell .vocabulary-panel { background:var(--flat-surface); }
.has-site-shell .vocabulary-panel-body { padding:18px; }
.has-site-shell .vocabulary-row { padding:16px; border:1px solid #dbe5f0; border-radius:14px; background:#fbfdff; box-shadow:none; }
.has-site-shell .vocabulary-row.is-card-starred { border-color:#dbb766; box-shadow:inset 3px 0 0 #dbb766; }
.has-site-shell .vocabulary-identity { padding-bottom:12px; border-bottom:3px solid #7d91ac; }
.has-site-shell :is(.vocabulary-word-link,.vocabulary-word-text) { font-size:20px; }
.has-site-shell .vocabulary-readonly-translations { gap:0; border:0; padding:0; border-radius:0; background:transparent; }
.has-site-shell .vocabulary-pos-group { display:grid; grid-template-columns:64px minmax(0,1fr); column-gap:8px; padding:10px 0; }
.has-site-shell .vocabulary-pos-group+.vocabulary-pos-group { border-top:1px solid #cad6e5; }
.has-site-shell .vocabulary-pos-group>strong { grid-column:1; align-self:start; padding-top:7px; white-space:nowrap; }
.has-site-shell .vocabulary-pos-group>.vocabulary-meaning { grid-column:2; border:0; margin:0; padding:4px 0; }
.has-site-shell .vocabulary-pos-group:not(:has(>strong)) { grid-template-columns:minmax(0,1fr); }
.has-site-shell .vocabulary-pos-group:not(:has(>strong))>.vocabulary-meaning { grid-column:1; }
.has-site-shell .vocabulary-translation-group { border:0; border-top:1px solid var(--flat-line); border-radius:0; padding:12px 0 0; background:transparent; }
.has-site-shell .vocabulary-content-kind-switch,.has-site-shell .vocabulary-grouping-switch { width:min(680px,100%); }

/* Material and summary sections use spacing and single separators. */
.has-site-shell .material-row { border:0; border-bottom:1px solid var(--flat-line); border-radius:0; background:transparent; padding:16px 0; }
.has-site-shell .material-group-list .material-row:nth-child(even) { background:transparent; }
.has-site-shell .material-row-head h3 { font-size:16px; }
.has-site-shell .material-group-title { margin-top:12px; }
.has-site-shell .catalog-editor { box-shadow:none; }
.has-site-shell .summary-card { padding:20px; }
.has-site-shell .summary-section-head { border-bottom:0; }
.has-site-shell .summary-personal-metrics>article { border:0; background:var(--flat-soft); box-shadow:none; }
.has-site-shell .summary-completed-item { box-shadow:none; }
.has-site-shell.prompt-page>main :is(nav,section) { border:0; border-radius:16px; box-shadow:none; padding:22px; }
.has-site-shell.prompt-page>main nav .header-action-link { border:0; background:var(--flat-soft); box-shadow:none; }
.has-site-shell .document { border:0; border-radius:16px; box-shadow:none; }
.has-site-shell.source-page>section { border:0; border-radius:16px; box-shadow:none; }

@media(max-width:1199px) {
  .has-site-shell .site-rail-right { border:0; background:var(--site-page-background); }
  .has-site-shell .site-rail-right>.site-rail-top { display:block; margin:0; padding:12px 12px 4px; border-radius:16px 16px 0 0; background:var(--flat-surface); }
  .has-site-shell .site-workspace-home { display:flex; align-items:center; min-height:60px; }
  .has-site-shell .site-workspace-home strong { display:none; }
  .has-site-shell .site-workspace-home>span { display:flex; align-items:center; gap:9px; margin:0; color:inherit; font-size:14px; font-weight:750; }
  /* The desktop marker sits behind the opaque mobile menu surface. Paint the
     selected link itself here, while full-page navigation keeps its slide. */
  .has-site-shell .site-rail-right>.site-navigation-selection { display:none; }
  .has-site-shell .site-rail-right[data-selection-motion=ready] :is(.site-workspace-home,.site-tools>a)[aria-current=page] { background:var(--flat-selected); }
  .has-site-shell .site-rail .site-tools { margin:0; padding:0 12px 12px; border:0; border-radius:0 0 16px 16px; background:var(--flat-surface); }
  .has-site-shell .site-tools>a { min-height:60px; }
  .has-site-shell .site-rail .site-overdue { padding:18px; border:0; border-radius:16px; background:var(--flat-surface); }
  .has-site-shell .site-rail-left { background:var(--site-page-background); }
}
@media(max-width:700px) {
  body.has-site-shell > main:not(.document) { padding-top:20px; }
  .has-site-shell .study-record-section .todo-card { padding:10px; }
  .has-site-shell .todo-card[data-expanded=false] { padding:10px; }
  .has-site-shell .todo-card[data-expanded=false] .todo-actions { width:auto; }
  .has-site-shell .todo-card[data-expanded=false] h3 { font-size:14px; }
  .has-site-shell .todo-card[data-expanded=false] .todo-card-controls { grid-column:auto; }
  .has-site-shell .todo-completion-control>span { display:none; }
  .has-site-shell .todo-panel-body,.has-site-shell .vocabulary-panel-body,.has-site-shell .progress-panel-body { padding:14px; }
  .has-site-shell .summary-card { padding:16px; }
  .has-site-shell .todo-card[data-expanded=true] .todo-card-controls { grid-template-columns:minmax(0,1fr); }
  .has-site-shell .todo-card[data-expanded=true] .todo-actions { justify-self:end; }
  .has-site-shell .vocabulary-identity-head { flex-wrap:nowrap; }
  .has-site-shell .vocabulary-card-actions { flex-wrap:nowrap; }
}
@media(prefers-reduced-motion:reduce) {
  .has-site-shell .site-mobile-selection,.has-site-shell :is(.metric-segment-indicator,.mood-segment-indicator,.study-items-segment-indicator,.period-switch-indicator,.subject-switch-indicator,.vocabulary-content-kind-indicator,.vocabulary-grouping-indicator,.summary-mode-switch>span) { transition:none!important; }
}
