/* Shared brand typography, with soft task surfaces for the daily dashboard. */
.daily-dashboard { grid-template-columns:minmax(0,1fr) 300px; gap:28px; align-items:start; }
.daily-main,.daily-dashboard .dashboard-side { min-width:0; }
.daily-hero { padding:30px; background:var(--mint); border:1px solid var(--line); border-radius:24px; }
.daily-hero-top,.daily-plan-line,.daily-completion-line,.daily-section-title,.daily-task-top,.daily-dialog-heading,.daily-practice-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.daily-hero .eyebrow { margin:0; font-size:11px; }
#account-view .daily-hero h2 { margin:24px 0 12px; font-size:clamp(25px,3vw,34px); color:var(--navy); }
.daily-hero>p { color:var(--muted); font-size:14px; line-height:1.7; }
.daily-meta { color:var(--muted); font-size:12px; line-height:1.7; }
.daily-plan-line { justify-content:flex-start; margin-top:22px; font-size:13px; }
#daily-plan-label { border-radius:7px; padding:5px 10px; background:var(--card); color:var(--navy); font-weight:700; }
.daily-plan-line .text-button { margin-left:auto; padding:8px 0; min-height:44px; }
.daily-completion-line { margin:12px 0 8px; color:var(--navy); font-size:13px; }
#daily-progress { display:block; width:100%; height:7px; border:0; border-radius:10px; overflow:hidden; appearance:none; background:var(--mint-strong); }
#daily-progress::-webkit-progress-bar { background:var(--mint-strong); }
#daily-progress::-webkit-progress-value { background:var(--cyan-dark); border-radius:10px; }
#daily-progress::-moz-progress-bar { background:var(--cyan-dark); border-radius:10px; }
#daily-main-action { margin-top:22px; width:auto; min-width:190px; }
#daily-save-status { margin-bottom:0; }
.daily-section-title { margin:30px 0 14px; }
.daily-section-title h3 { margin:0; color:var(--navy); font-size:18px; }
.daily-task-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.daily-task { --muted:#596b7e; display:flex; flex-direction:column; padding:22px; border:1px solid var(--line); border-radius:20px; background:var(--daily-task-surface,var(--card)); min-width:0; }
#daily-task-reviews { --daily-task-surface:#edf7f2; }
#daily-task-sentenceCourses { --daily-task-surface:#edf4fc; }
#daily-task-sentences { --daily-task-surface:#fff3e8; }
#daily-task-podcasts { --daily-task-surface:#f3effa; }
.daily-step { font-size:10px; letter-spacing:.07em; font-weight:700; color:var(--muted); }
.daily-task-status { color:var(--cyan-dark); background:var(--mint); padding:4px 8px; border-radius:6px; font-size:11px; white-space:nowrap; }
.daily-task h3 { margin:18px 0 8px; color:var(--navy); font-size:18px; }
.daily-task-count { display:flex; align-items:baseline; gap:8px; color:var(--muted); font-size:13px; }
.daily-task-count strong { font-size:32px; font-weight:650; line-height:1.4; color:var(--navy); font-variant-numeric:tabular-nums; }
.daily-task>p { font-size:12px; line-height:1.75; color:var(--muted); margin:10px 0 18px; flex:1; }
.daily-task .secondary-button { font-size:13px; min-height:44px; }
.daily-task.is-done { border-color:var(--teal); }
.daily-task.is-optional .daily-task-status { background:var(--paper); color:var(--muted); }
.daily-rules { margin-top:20px; font-size:12px; color:var(--muted); line-height:1.8; }
.daily-rules summary,.daily-practice-card summary { padding:10px 0; cursor:pointer; color:var(--cyan-dark); }
.daily-extra-link { display:flex; justify-content:space-between; margin-top:22px; padding:16px 0; border-top:1px solid var(--line); color:var(--navy); text-decoration:none; font-size:13px; }
.daily-week-panel { padding:24px; border:1px solid var(--line); border-radius:22px; background:var(--card); }
.daily-week-panel .eyebrow { font-size:10px; margin-bottom:12px; }
.daily-week-panel h3 { font-size:17px; color:var(--navy); margin:0; }
.daily-week-number { margin:16px 0; display:flex; align-items:baseline; gap:8px; color:var(--muted); font-size:14px; }
.daily-week-number strong { color:var(--navy); font-size:35px; font-weight:650; }
.daily-week-days { display:grid; grid-template-columns:repeat(7,1fr); gap:5px; }
.daily-week-day { text-align:center; font-size:11px; color:var(--muted); }
.daily-week-day span { display:grid; place-items:center; height:29px; margin-top:7px; border-radius:8px; background:var(--paper); }
.daily-week-day.is-today span { outline:1px solid var(--cyan-dark); background:var(--mint); color:var(--cyan-dark); }
.daily-week-day.is-done span { background:var(--cyan-dark); color:var(--card); }
.daily-lifetime { display:flex; justify-content:space-between; border-top:1px solid var(--line); padding-top:16px; margin-top:20px; font-size:12px; color:var(--muted); }
.daily-lifetime strong { color:var(--navy); }
.daily-stamp-card { display:flex; align-items:center; gap:17px; background:var(--mint); padding:22px; border-radius:20px; margin-top:18px; }
.daily-stamp-card h3 { margin:0 0 6px; color:var(--navy); }
.daily-stamp-card p { font-size:13px; margin:0; color:var(--muted); }
.daily-stamp-symbol { display:grid; place-items:center; flex-shrink:0; width:48px; height:48px; border:2px solid var(--teal); border-radius:50%; color:var(--cyan-dark); font-size:24px; transform:rotate(-8deg); }
.daily-dialog { background:var(--card); color:var(--ink); border:1px solid var(--line); border-radius:22px; padding:28px; width:min(520px,calc(100% - 28px)); max-height:90dvh; box-shadow:var(--shadow); }
.daily-dialog::backdrop { background:rgba(18,53,107,.25); }
.daily-dialog-heading h2 { margin:0; font-size:21px; color:var(--navy); }
.daily-dialog form { gap:18px; }
.daily-dialog label,.daily-practice-card label { font-size:13px; }
.daily-podcast-days { border:0; padding:0; margin:0; min-width:0; }
.daily-podcast-days legend { font-weight:700; font-size:13px; color:var(--navy); margin-bottom:10px; }
#daily-day-options { display:grid; grid-template-columns:repeat(7,1fr); gap:5px; }
#daily-day-options label { display:flex; flex-direction:column; align-items:center; border:1px solid var(--line); border-radius:8px; padding:7px 0; gap:6px; cursor:pointer; }
#daily-day-options label:has(input:checked) { background:var(--mint); border-color:var(--teal); }
.daily-dialog input[type=checkbox] { width:18px; height:18px; min-height:18px; accent-color:var(--cyan-dark); margin:0; }
.daily-dialog .daily-check-label { display:flex; align-items:center; gap:9px; min-height:44px; }
.daily-settings-preview { margin:0; background:var(--mint); border-radius:10px; padding:12px; color:var(--navy); font-size:13px; line-height:1.8; }
.daily-form-error { color:var(--danger); font-size:13px; line-height:1.6; }
.daily-practice-layout { display:grid; grid-template-columns:minmax(220px,.75fr) minmax(0,1.5fr); gap:35px; margin-top:22px; }
.daily-practice-layout aside { min-width:0; }
#daily-practice-context { white-space:pre-line; font-size:14px; color:var(--muted); line-height:1.85; }
.daily-practice-card { background:var(--card); border:1px solid var(--line); border-radius:22px; padding:28px; min-width:0; }
#daily-practice-zh { font-size:20px; color:var(--navy); line-height:1.7; margin:18px 0; }
#daily-practice-answer { margin-top:8px; width:100%; resize:vertical; padding:14px; border-radius:12px; border:1px solid var(--line); color:var(--ink); background:var(--card); font-family:inherit; font-size:16px; line-height:1.7; }
.daily-practice-card .primary-button { margin-top:18px; }
.daily-practice-card h4 { font-size:16px; color:var(--navy); margin:24px 0 10px; }
.daily-practice-card ul { padding-left:20px; font-size:13px; line-height:1.8; color:var(--muted); }
.daily-reference { padding:14px; background:var(--paper); border-radius:10px; font-size:14px; line-height:1.8; overflow-wrap:anywhere; }
.daily-practice-list { display:flex; gap:8px; flex-wrap:wrap; margin-top:24px; }
.daily-practice-list button { min-width:44px; min-height:44px; border:1px solid var(--line); border-radius:10px; color:var(--navy); background:var(--card); }
.daily-practice-list button[aria-current=true] { background:var(--mint); border-color:var(--cyan-dark); }
.daily-dashboard .access-card { background:var(--paper); }
#account-email { overflow-wrap:anywhere; }
@media(max-width:1000px) { .daily-dashboard { grid-template-columns:minmax(0,1fr) 260px; gap:20px; }.daily-task { padding:18px; }.daily-task-top { gap:8px; } }
@media(max-width:760px) { .daily-dashboard { grid-template-columns:1fr; }.daily-dashboard .dashboard-side { display:grid; grid-template-columns:1fr; }.daily-week-panel { order:-1; }.daily-practice-layout { grid-template-columns:1fr; gap:16px; }.daily-practice-layout aside { padding:0 3px; }.daily-dialog { padding:22px; } }
@media(max-width:520px) { .daily-hero { padding:22px; border-radius:20px; }.daily-hero-top { gap:8px; }.daily-task-grid { grid-template-columns:1fr; gap:12px; }.daily-task { padding:20px; }.daily-task-top { flex-wrap:nowrap; }.daily-plan-line { gap:8px; }#daily-estimate { font-size:12px; }.daily-plan-line .text-button { margin-left:0; }.daily-hero #daily-main-action { width:100%; }.daily-practice-card { padding:20px; }.daily-section-title .daily-meta { display:none; }.daily-dialog-heading h2 { font-size:18px; } }
