/* Progress-only layout: keeps the shared practice pages and their carousel intact. */
body.view-progress #main { max-width:1220px; width:100%; padding:26px 28px 50px; margin:0 auto; box-sizing:border-box; }
body.view-progress #progress-dashboard { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:16px; margin:0; padding:0; }
#progress-dashboard > *, #progress-dashboard .progress-consistency-stack > * { min-width:0; }
#progress-dashboard [hidden] { display:none !important; }
#progress-dashboard .progress-overview-row { display:contents; }
#progress-dashboard .dashboard-heading { grid-column:1/-1; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; padding:0 4px; }
#progress-dashboard .dashboard-heading h1 { font-size:clamp(28px,3.6vw,44px); line-height:1.15; letter-spacing:-1.6px; margin:0; }
#progress-dashboard .dashboard-heading p { margin:8px 0 0; color:#676b70; font-size:17px; }
#progress-dashboard .dashboard-metrics { grid-column:1/-1; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:4px 0 0; }
#progress-dashboard .dashboard-stat { display:flex; align-items:center; gap:14px; border:1px solid #eddbd0; border-radius:12px; padding:16px; min-width:0; background:linear-gradient(120deg,#fffaf6,#fff0e9); }
#progress-dashboard .dashboard-stat:nth-child(even) { background:linear-gradient(120deg,#fafcf7,#edf3e9); border-color:#dce5d8; }
#progress-dashboard .dashboard-stat:nth-child(3) { background:linear-gradient(120deg,#fffaf3,#fff4e5); }
#progress-dashboard .dashboard-stat img { object-fit:contain; flex:none; }
#progress-dashboard .dashboard-stat-emoji { width:52px; font-size:43px; text-align:center; }
#progress-dashboard .dashboard-stat div > span { display:block; font-size:12px; margin-bottom:3px; }
#progress-dashboard .dashboard-stat strong { display:block; font-size:30px; line-height:1.15; font-weight:700; letter-spacing:-1px; }
#progress-dashboard .dashboard-stat b { font-weight:inherit; }
#progress-dashboard .dashboard-stat small { font-size:.72em; }
#progress-dashboard .paper-card,#progress-dashboard #daily-plan,#progress-dashboard #progress-panel-activity { border:1px solid var(--line); border-radius:var(--radius-limit,14px); background:var(--surface,#fffdfa); box-shadow:var(--shadow-soft); }
#progress-dashboard h2 { font-size:21px; line-height:1.25; margin:0; letter-spacing:-.7px; }
#progress-dashboard .dashboard-round-icon { display:inline-grid; place-items:center; width:31px; height:31px; border-radius:50%; background:linear-gradient(#61a38a,#246d55); color:white; font-size:22px; vertical-align:middle; margin-right:5px; flex:none; }
#progress-dashboard .dashboard-round-icon.coral { background:linear-gradient(#ffa981,#e46c4d); }
#progress-dashboard .dashboard-round-icon.gold { background:linear-gradient(#ffd892,#f4ad46); }
/* Today's plan: same recommendation engine, now a vertical list. */
#progress-dashboard #daily-plan { grid-column:1; grid-row:3; display:block; position:relative; padding:20px; margin:0; min-height:0; background:linear-gradient(145deg,#fffdf9,#fff6e9); overflow:hidden; }
#progress-dashboard .dashboard-plan-heading { position:relative; min-height:85px; padding-right:135px; }
#progress-dashboard .dashboard-plan-heading h2 { font-size:27px; }
#progress-dashboard .dashboard-plan-heading p { font-size:13px; color:#6b6b71; margin:6px 0 0; line-height:1.5; }
#progress-dashboard .dashboard-plan-heading > span { position:absolute; right:112px; top:0; font-size:10px; padding:8px; border:1px solid #eadfd2; border-radius:12px 12px 0 12px; background:#fffdfa; white-space:nowrap; }
#progress-dashboard .daily-plan-guide { display:block; position:static; width:auto; padding:0; margin:0; }
#progress-dashboard .daily-plan-fox-orbit { position:absolute; right:16px; top:4px; width:125px; height:110px; margin:0; background:none; border:0; box-shadow:none; pointer-events:none; }
#progress-dashboard .daily-plan-fox { position:static; width:125px; height:125px; object-fit:contain; transform:none; filter:none; }
#progress-dashboard .daily-plan-orbit-meter,#progress-dashboard .daily-plan-orbit-step,#progress-dashboard .daily-plan-count { display:none; }
#progress-dashboard .daily-plan-focus { display:grid; grid-template-columns:38px minmax(0,1fr); gap:8px 10px; width:auto; min-width:0; margin:0; padding:12px; border:1px solid #eee0cd; border-radius:10px; background:#fffdf9; box-shadow:none; }
#progress-dashboard .daily-plan-focus-art,#progress-dashboard .daily-plan-focus-art img { width:36px; height:36px; }
#progress-dashboard .daily-plan-focus small { font-size:11px; letter-spacing:0; text-transform:none; color:#397c63; }
#progress-dashboard .daily-plan-focus strong { font-size:18px; }
#progress-dashboard #daily-plan-focus-reason { display:none; }
#progress-dashboard .learning-focus-details { grid-column:1/-1; order:3; border:0; background:none; font-size:11px; padding:0; }
#progress-dashboard .learning-focus-details summary { justify-content:flex-start; gap:6px; }
#progress-dashboard .learning-focus-details summary::after { font-size:13px; }
#progress-dashboard .daily-plan-session { grid-column:1/-1; margin:0; }
#progress-dashboard .daily-plan-session-options { border:0; background:none; padding:0; gap:8px; }
#progress-dashboard .daily-plan-session-options button { background:#f4f1eb; border:1px solid #e4dfd6; color:#27343a; border-radius:8px; min-height:34px; }
#progress-dashboard .daily-plan-session-options button[aria-pressed=true] { background:linear-gradient(#ff927c,#eb7159); border-color:#e67760; color:#fff; box-shadow:inset 0 1px 2px #fff8,0 2px 4px #bf53351c; }
#progress-dashboard .daily-plan-bubble { border:0; padding:0; margin:10px 0 0; border-radius:0; background:none; box-shadow:none; width:auto; min-width:0; }
#progress-dashboard .daily-plan-bubble::before,#progress-dashboard .daily-plan-bubble::after,#progress-dashboard .daily-plan-carousel-controls,#progress-dashboard .daily-plan-card-footer { display:none; }
#progress-dashboard .daily-plan-carousel { overflow:visible; margin:0; padding:0; }
#progress-dashboard .daily-plan-steps { display:flex; flex-direction:column; overflow:visible; width:auto; gap:0; margin:0; padding:0; scroll-snap-type:none; mask-image:none; }
#progress-dashboard .daily-plan-card { display:grid; grid-template-columns:40px minmax(0,1fr) auto; grid-template-rows:auto; align-items:center; gap:4px 10px; flex:none; min-width:0; width:100%; min-height:87px; height:auto; padding:12px 0; margin:0; border:0; border-bottom:1px solid #e9dfd2; border-radius:0; background:none; box-shadow:none; transform:none; box-sizing:border-box; }
#progress-dashboard .daily-plan-card:last-child { border-bottom:0; }
#progress-dashboard .daily-plan-card::before,#progress-dashboard .daily-plan-card::after { display:none; }
#progress-dashboard .daily-plan-card-art { grid-column:1; grid-row:1/3; width:40px; height:44px; padding:0; }
#progress-dashboard .daily-plan-card-art img { width:40px; height:44px; object-fit:contain; }
#progress-dashboard .daily-plan-card-copy { grid-column:2; grid-row:1; align-self:center; padding:0; }
#progress-dashboard .daily-plan-card-copy > small { display:none; }
#progress-dashboard .daily-plan-card-copy strong { font-size:14px; line-height:1.35; }
#progress-dashboard .daily-plan-card-copy p { font-size:10px; line-height:1.5; margin:4px 0 0; color:#737078; }
#progress-dashboard .daily-plan-card-actions { grid-column:3; grid-row:1/3; display:flex; flex-direction:column; border:0; margin:0; padding:0; align-items:stretch; gap:4px; }
#progress-dashboard .daily-plan-card-duration { display:none; }
#progress-dashboard .daily-plan-card-action { padding:10px; min-height:38px; border:1px solid #efbeaa; background:#fffaf3; color:#ad4931; border-radius:8px; font-size:11px; line-height:1.3; box-shadow:none; white-space:nowrap; }
#progress-dashboard .daily-plan-card.is-current .daily-plan-card-action { background:linear-gradient(#fa9179,#e86a50); color:#fff; border-color:#e2735c; }
#progress-dashboard .daily-plan-card-skip { grid-row:2; grid-column:2; justify-self:start; font-size:10px; margin:0; padding:2px 0; min-height:20px; }
#progress-dashboard .daily-plan-punches { grid-column:2; grid-row:3; padding:0; margin:0; justify-content:flex-start; }
#progress-dashboard .daily-plan-punches i { width:9px; height:9px; }
#progress-dashboard .daily-plan.is-complete { display:block; }
/* Supporting cards. */
#progress-dashboard .progress-consistency-stack { grid-column:2; grid-row:3; display:flex; flex-direction:column; gap:14px; margin:0; }
#progress-dashboard .progress-rhythm-card { padding:20px; margin:0; flex:1; min-height:0; }
#progress-dashboard .progress-rhythm-head { align-items:flex-start; margin:0 0 20px; gap:8px; }
#progress-dashboard .progress-rhythm-head p { font-size:12px; color:#717077; margin:6px 0 0; }
#progress-dashboard #progress-rhythm-share { background:none; border:0; box-shadow:none; font-size:10px; padding:6px 0; color:#657166; white-space:nowrap; }
#progress-dashboard .progress-heatmap { gap:5px; min-height:94px; align-content:center; }
#progress-dashboard .progress-heatmap i { border-radius:4px; background:#fff0df; border:1px solid #f2d7b8; box-shadow:inset 0 1px 3px #ffffffa0; color:#773d13; }
#progress-dashboard .progress-heatmap i.active { background:#f8b16b; border-color:#e9994b; }
#progress-dashboard .progress-heatmap i.strong { background:#ce641e; border-color:#b55315; color:#fff; }
#progress-dashboard .progress-rhythm-stats { display:flex; justify-content:space-between; gap:8px; border-top:1px solid #ece8df; padding-top:14px; margin-top:14px; font-size:11px; }
#progress-dashboard .progress-rhythm-stats strong { font-size:18px; color:#263e35; }
#progress-dashboard .dashboard-rhythm-note { margin:12px 0 0; font-size:11px; color:#658371; }
#progress-dashboard .dashboard-milestone { padding:18px 20px; }
#progress-dashboard .dashboard-milestone header { display:flex; align-items:center; gap:6px; }
#progress-dashboard .dashboard-milestone h2 { font-size:19px; }
#progress-dashboard .dashboard-milestone p { font-size:11px; color:#747078; margin:4px 0 0; }
#progress-dashboard #dashboard-levels { margin-left:auto; font-size:10px; white-space:nowrap; }
#progress-dashboard #dashboard-level-progress { display:block; appearance:none; border:0; border-radius:10px; width:100%; height:14px; margin:18px 0 8px; overflow:hidden; background:#eceae4; }
#dashboard-level-progress::-webkit-progress-bar { background:#eceae4; border-radius:10px; box-shadow:inset 0 1px 3px #0001; }
#dashboard-level-progress::-webkit-progress-value { background:linear-gradient(#78b99b,#398263); border-radius:10px; }
#dashboard-level-progress::-moz-progress-bar { background:#4d9473; border-radius:10px; }
#progress-dashboard .dashboard-milestone-caption { display:flex; gap:12px; justify-content:space-between; font-size:10px; color:#626871; }
/* Activity and explanations sit on the same baseline. */
#progress-dashboard #progress-panel-activity { grid-column:1; grid-row:4; margin:0; padding:18px; position:relative; }
#progress-dashboard .progress-activity-tabs { display:flex; justify-content:flex-end; gap:0; margin:0 0 12px; padding:0; border:0; }
#progress-dashboard .progress-activity-card,#progress-dashboard .progress-metric-card { padding:0; margin:0; border:0; background:none; box-shadow:none; }
#progress-dashboard .progress-activity-card > header { margin:0 0 12px; }
#progress-dashboard .progress-activity-total { gap:4px; }
#progress-dashboard .progress-activity-total > strong { font-size:24px; }
#progress-dashboard .progress-activity-total > span { font-size:9px; }
#progress-dashboard .progress-activity-total small { font-size:9px; }
#progress-dashboard .progress-activity-chart,#progress-dashboard .progress-metric-chart { height:180px; min-height:180px; }
#progress-dashboard .progress-activity-legend { display:flex; flex-wrap:wrap; gap:5px 12px; margin-top:12px; padding:0; }
#progress-dashboard .progress-activity-key { display:inline-flex; gap:4px; padding:0; border:0; background:none; box-shadow:none; font-size:10px; width:auto; min-width:0; }
#progress-dashboard .progress-activity-key i { font-size:12px; width:auto; }
#progress-dashboard .progress-activity-link-arrow { display:none; }
#progress-dashboard #learning-summary { grid-column:2; grid-row:4; padding:20px; margin:0; }
#progress-dashboard .learning-heading { margin:0 0 12px; gap:8px; flex-wrap:nowrap; }
#progress-dashboard .learning-heading h2 { font-size:19px; }
#progress-dashboard .learning-heading p { font-size:11px; margin:5px 0 0; line-height:1.5; }
#progress-dashboard .dashboard-explanation { border-bottom:1px solid #e9e3da; padding:12px 0; }
#progress-dashboard .dashboard-explanation > summary { display:flex; align-items:center; gap:12px; cursor:pointer; list-style:none; }
#progress-dashboard .dashboard-explanation > summary::-webkit-details-marker { display:none; }
#progress-dashboard .dashboard-explanation > summary::after { content:'›'; margin-left:auto; }
#progress-dashboard .dashboard-explanation > summary strong { display:block; font-size:13px; }
#progress-dashboard .dashboard-explanation > summary small { display:block; margin-top:4px; font-size:11px; color:#737078; }
#progress-dashboard .learning-grid,#progress-dashboard .learning-help { grid-template-columns:1fr; gap:10px; }
#progress-dashboard .learning-grid > div { padding:12px; }
#progress-dashboard .learning-help details { padding:10px; }
#progress-dashboard .dashboard-review-row { padding:16px 0; border-bottom:1px solid #e9e3da; }
#progress-dashboard .dashboard-review-row:last-child { border-bottom:0; }
#progress-dashboard .dashboard-review-row .learning-heading { margin:0; }
#progress-dashboard .dashboard-review-row h3 { margin:0; font-size:14px; }
#progress-dashboard .progress-premium-strip { grid-column:2; grid-row:5; justify-self:end; align-self:center; width:auto; min-height:0; display:block; border:0; box-shadow:none; background:none; padding:0; margin:0; z-index:1; }
#progress-dashboard .progress-premium-icon,#progress-dashboard .progress-premium-copy,#progress-dashboard #progress-premium-price { display:none; }
#progress-dashboard .progress-premium-plan { display:block; padding:8px 0; }
#progress-dashboard #progress-premium-action { font-size:12px; border:0; box-shadow:none; padding:0; min-height:0; color:#b45236; background:none; }
#progress-dashboard .progress-profile-overview { grid-column:1/-1; grid-row:7; margin:0; padding:0; }
#progress-dashboard .progress-profile-overview > summary { cursor:pointer; font-size:13px; padding:12px 0; color:#64656a; }
#progress-dashboard .progress-profile-overview > summary span { float:right; font-size:11px; }
#progress-dashboard .progress-identity { margin-top:8px; }
#progress-dashboard #push-settings { grid-column:1/-1; grid-row:8; }
@media(min-width:1100px) {
}
@media(max-width:1099px) and (min-width:761px) {
 body.view-progress #main { padding-top:18px; }
 #progress-dashboard .dashboard-stat { gap:6px; padding:12px; }
 #progress-dashboard .dashboard-stat img,#progress-dashboard .dashboard-stat-emoji { width:38px; height:38px; font-size:33px; }
 #progress-dashboard .dashboard-stat strong { font-size:25px; }
 #progress-dashboard .daily-plan-card { grid-template-columns:32px minmax(0,1fr); }
 #progress-dashboard .daily-plan-card-actions { grid-column:2; grid-row:4; align-items:flex-start; }
}
@media(max-width:760px) {
 body.view-progress #main { padding:24px 14px 110px; }
 body.view-progress #progress-dashboard { display:flex; flex-direction:column; gap:12px; }
 #progress-dashboard .dashboard-heading { align-items:flex-start; padding:0; }
 #progress-dashboard .dashboard-heading h1 { font-size:28px; letter-spacing:-1.1px; }
 #progress-dashboard .dashboard-heading p { font-size:13px; margin-top:6px; }
 #progress-dashboard .dashboard-share span { display:none; }
 #progress-dashboard .dashboard-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:4px 0 0; }
 #progress-dashboard .dashboard-stat { gap:8px; padding:12px 9px; border-radius:9px; }
 #progress-dashboard .dashboard-stat img,#progress-dashboard .dashboard-stat-emoji { width:36px; height:42px; font-size:33px; }
 #progress-dashboard .dashboard-stat strong { font-size:25px; }
 #progress-dashboard .dashboard-stat div > span { font-size:10px; }
 #progress-dashboard #daily-plan { padding:16px; order:1; }
 #progress-dashboard .dashboard-plan-heading { min-height:84px; padding-right:100px; }
 #progress-dashboard .dashboard-plan-heading h2 { font-size:24px; }
 #progress-dashboard .dashboard-plan-heading p { font-size:11px; }
 #progress-dashboard .dashboard-plan-heading > span { right:79px; font-size:8px; padding:6px; }
 #progress-dashboard .daily-plan-fox-orbit { right:8px; width:100px; height:102px; }
 #progress-dashboard .daily-plan-fox { width:104px; height:104px; }
 #progress-dashboard .daily-plan-focus { padding:10px; }
 #progress-dashboard .daily-plan-focus strong { font-size:17px; }
 #progress-dashboard .daily-plan-card { grid-template-columns:32px minmax(0,1fr) auto; min-height:68px; gap:4px 8px; }
 #progress-dashboard .daily-plan-card-art,#progress-dashboard .daily-plan-card-art img { width:32px; height:36px; }
 #progress-dashboard .daily-plan-card-copy strong { font-size:12px; }
 #progress-dashboard .daily-plan-card-copy p { display:none; }
 #progress-dashboard .daily-plan-card-action { font-size:0; min-width:32px; padding:7px; min-height:32px; border:0; background:none; color:#33414a; }
 #progress-dashboard .daily-plan-card-action::after { content:'›'; font-size:22px; }
 #progress-dashboard .daily-plan-card.is-current .daily-plan-card-action { background:#ef7a62; color:white; border-radius:8px; }
 #progress-dashboard .daily-plan-card-skip { font-size:9px; }
 #progress-dashboard .progress-consistency-stack { order:2; gap:12px; }
 #progress-dashboard .progress-rhythm-card { padding:16px; }
 #progress-dashboard .progress-heatmap { min-height:65px; }
 #progress-dashboard .dashboard-milestone { padding:16px; }
 #progress-dashboard #progress-panel-activity { order:3; padding:16px; }
 #progress-dashboard #learning-summary { order:4; padding:16px; }
 #progress-dashboard .progress-premium-strip { order:7; align-self:flex-start; }
 #progress-dashboard .progress-profile-overview { order:1; }
 #progress-dashboard #push-settings { order:9; }
}
@media(prefers-reduced-motion:reduce) { #progress-dashboard * { scroll-behavior:auto; } }
/* Reset inherited carousel and full-width overview positioning. */
#progress-dashboard .daily-plan-fox-orbit::before,#progress-dashboard .daily-plan-fox-orbit::after { display:none; }
#progress-dashboard .daily-plan-card-skip { position:static; inset:auto; width:auto; transform:none; }
#progress-dashboard .daily-plan-punches { grid-column:2; grid-row:3; justify-self:start; width:auto; }
#progress-dashboard .progress-rhythm-card { display:block; }
#progress-dashboard .progress-rhythm-head { width:100%; }
#progress-dashboard .progress-rhythm-head h2 { display:flex; align-items:center; gap:4px; }
#progress-dashboard .progress-rhythm-stats > span { display:flex; align-items:baseline; gap:5px; padding:0; background:none; border:0; }
#progress-dashboard .progress-consistency-stack > .progress-rhythm-card { order:0; }
#progress-dashboard .dashboard-milestone { order:1; }
#progress-dashboard .progress-activity-tabs { background:none; box-shadow:none; border-radius:0; }
#progress-dashboard .dashboard-review-row .learning-heading > div { flex:1; min-width:0; width:auto; }
#progress-dashboard .dashboard-plan-heading { min-height:72px; }
#progress-dashboard .daily-plan-card { min-height:74px; padding:9px 0; }
#progress-dashboard .daily-plan-card.is-puzzle { grid-template-columns:40px minmax(0,1fr) auto; }
#progress-dashboard .progress-heatmap { max-width:100%; }
@media(min-width:1100px) {
}
@media(max-width:760px) {
 #progress-dashboard .daily-plan-card.is-puzzle { grid-template-columns:32px minmax(0,1fr) auto; }
 #progress-dashboard .dashboard-plan-heading { min-height:78px; }
 #progress-dashboard .daily-plan-card { min-height:62px; }
 #progress-dashboard .progress-rhythm-head p { font-size:11px; }
 #progress-dashboard .progress-rhythm-stats { font-size:10px; }
 #progress-dashboard .progress-rhythm-stats strong { font-size:16px; }
}
#progress-dashboard .daily-plan-card-copy { display:block; }
#progress-dashboard .daily-plan-card-copy .daily-plan-punches { margin-top:6px; }
#progress-dashboard .daily-plan-punch { width:10px; height:10px; background:#e2e0d9; border:1px solid #d8d6cf; box-shadow:none; }
#progress-dashboard .daily-plan-punch.is-filled { background:#ee7b65; border-color:#dc6a54; }
@media(min-width:1100px) {
 #progress-dashboard .daily-plan-card-copy p { margin:3px 0 0; }
 #progress-dashboard .daily-plan-card-skip { grid-row:1; grid-column:2; align-self:end; justify-self:end; font-size:9px; }
 #progress-dashboard .daily-plan-card { min-height:78px; }
 #progress-dashboard .daily-plan-card-actions { grid-row:1; }
 #progress-dashboard .daily-plan-card-art { grid-row:1; }
}
#progress-dashboard .progress-activity-overview { display:block; min-height:0; }
#progress-dashboard .progress-activity-plot { min-height:0; }
#progress-dashboard #progress-activity-chart { position:relative; }
#progress-dashboard #dashboard-activity-empty { position:absolute; top:38%; left:0; right:0; text-align:center; margin:0; color:#75736e; font-size:12px; pointer-events:none; }
#progress-dashboard .progress-activity-card > header { border:0; padding:0; }
#progress-dashboard .progress-activity-chart { height:160px; min-height:160px; }
#progress-dashboard .progress-activity-tabs { position:absolute; top:20px; right:18px; }
#progress-dashboard #progress-activity-title { padding-right:180px; }
#progress-dashboard .progress-activity-card > header { display:block; min-height:60px; }
#progress-dashboard .progress-activity-total { display:flex; justify-content:flex-start; align-items:baseline; margin:6px 0 0; }
#progress-dashboard .progress-activity-total > strong { font-size:13px; }
#progress-dashboard .progress-activity-total small { display:inline-flex; }
#progress-dashboard .progress-metric-card { padding-top:40px; }
@media(max-width:760px) {
 #progress-dashboard .progress-activity-tabs { top:17px; right:14px; }
 #progress-dashboard #progress-activity-title { padding-right:130px; font-size:17px; }
 #progress-dashboard #progress-activity-title .dashboard-round-icon { width:26px; height:26px; font-size:17px; }
}
#progress-dashboard .progress-activity-tabs { z-index:2; }
#progress-dashboard .progress-activity-total { flex-direction:row; gap:5px; text-align:left; }
#progress-dashboard .progress-activity-total > span { font-family:var(--sans); letter-spacing:0; text-transform:none; font-size:10px; color:#747078; }
@media(min-width:1100px) {
 #progress-dashboard .dashboard-plan-heading { min-height:66px; }
 #progress-dashboard .daily-plan-focus { position:relative; }
 #progress-dashboard .learning-focus-details:not([open]) { position:absolute; right:12px; top:18px; }
 #progress-dashboard .daily-plan-card { min-height:68px; }
}
@media(max-width:360px) {
 #progress-dashboard .dashboard-plan-heading > span { display:none; }
}

/* Use the site's shared navigation, tab controls and paper treatment. */
#progress-dashboard .dashboard-detail-workspace { grid-column:1/-1; grid-row:4; display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:16px; min-width:0; }
#progress-dashboard .dashboard-detail-workspace > .progress-section-tabs { grid-column:1/-1; grid-row:1; margin:0; }
#progress-dashboard .dashboard-detail-workspace > .progress-tab-panel { grid-column:1/-1; grid-row:2; min-width:0; margin:0; }
#progress-dashboard .dashboard-detail-workspace > #progress-panel-activity { grid-column:1; grid-row:2; }
#progress-dashboard .dashboard-detail-workspace > .progress-tab-panel { scroll-margin-top:100px; }
#progress-dashboard .dashboard-share { white-space:nowrap; font-size:13px; }
#progress-dashboard .dashboard-review-row .learning-heading > :last-child:is(a,button) { flex:none; width:auto; max-width:100px; font-size:11px; min-height:36px; padding:7px 10px; }
#progress-dashboard .dashboard-section-icon { display:inline-block; width:42px; height:42px; object-fit:contain; vertical-align:middle; flex:none; margin-right:6px; }
#progress-dashboard .daily-plan-session-options button[aria-pressed=true] { background:#087e69; border-color:#087e69; color:white; box-shadow:0 3px 0 #075e50; }
#progress-dashboard .daily-plan-card-action { box-shadow:inset 0 1px 0 #ffffffb3,0 3px 0 #d5c7b6; }
#progress-dashboard .daily-plan-card.is-current .daily-plan-card-action { background:var(--accent,#ea765f); color:var(--ink); border-color:#b94d39; box-shadow:inset 0 1px 0 #ffffff94,0 3px 0 #b94d39; }
@media(max-width:760px) {
 #progress-dashboard .dashboard-detail-workspace { order:3; display:flex; flex-direction:column; gap:12px; }
 #progress-dashboard .dashboard-detail-workspace > .progress-section-tabs { order:0; }
 #progress-dashboard .dashboard-detail-workspace > .progress-tab-panel { order:1; }
 #progress-dashboard .dashboard-section-icon { width:34px; height:34px; margin-right:4px; }
}
#progress-dashboard .progress-activity-tabs button { min-height:34px; padding:7px 10px; font-size:11px; }
@media(max-width:760px) {
 #progress-dashboard .dashboard-detail-workspace > #progress-panel-activity { order:1; }
 #progress-dashboard .progress-activity-tabs button { min-height:32px; padding:6px 8px; font-size:10px; }
}

/* Keep the original right column; stack the explanation and compact plan on the left. */
#progress-dashboard .dashboard-training-column { grid-column:1; grid-row:3; display:flex; flex-direction:column; gap:14px; min-width:0; }
#progress-dashboard .dashboard-training-column > #learning-summary,
#progress-dashboard .dashboard-training-column > #daily-plan { width:100%; box-sizing:border-box; margin:0; }
#progress-dashboard .dashboard-training-column > #learning-summary { order:0; }
#progress-dashboard .dashboard-training-column > #daily-plan { order:1; padding:14px; }
#progress-dashboard .dashboard-plan-heading { min-height:44px; padding-right:90px; }
#progress-dashboard .dashboard-plan-heading h2 { font-size:23px; }
#progress-dashboard .dashboard-plan-heading p { display:none; }
#progress-dashboard .dashboard-plan-heading > span { right:70px; top:0; font-size:9px; padding:5px; }
#progress-dashboard .daily-plan-fox-orbit { width:78px; height:73px; right:10px; top:0; }
#progress-dashboard .daily-plan-fox { width:78px; height:78px; }
#progress-dashboard .daily-plan-focus { padding:8px 10px; gap:5px 8px; }
#progress-dashboard .daily-plan-focus-art,#progress-dashboard .daily-plan-focus-art img { width:30px; height:30px; }
#progress-dashboard .daily-plan-focus strong { font-size:16px; }
#progress-dashboard .daily-plan-focus small { font-size:10px; }
#progress-dashboard .daily-plan-bubble { margin-top:5px; }
#progress-dashboard .daily-plan-card { min-height:53px; padding:6px 0; }
#progress-dashboard .daily-plan-card-copy p { display:none; }
#progress-dashboard .daily-plan-card-art,#progress-dashboard .daily-plan-card-art img { width:32px; height:34px; }
#progress-dashboard .daily-plan-card-copy strong { font-size:13px; }
#progress-dashboard .progress-consistency-stack { grid-column:2; grid-row:3; display:flex; flex-direction:column; align-self:start; gap:14px; }
#progress-dashboard .dashboard-detail-workspace { grid-row:4; }
#progress-dashboard .dashboard-detail-workspace > #progress-panel-activity { grid-column:1/-1; }
#progress-dashboard .progress-premium-strip { grid-row:5; }
@media(max-width:760px) {
 #progress-dashboard .dashboard-training-column { order:8; gap:12px; }
 #progress-dashboard .daily-plan-card-copy strong { font-size:12px; }
 #progress-dashboard .daily-plan-card-action { min-height:36px; }
 #progress-dashboard .dashboard-plan-heading > span { display:none; }
}
/* Compact plan toolbar: no separate hero or tall focus card. */
#progress-dashboard .dashboard-training-column > #daily-plan { display:grid; grid-template-columns:170px minmax(0,1fr); align-items:center; gap:4px 12px; padding:10px 12px; }
#progress-dashboard .dashboard-plan-heading { grid-column:1; grid-row:1; min-height:0; padding:0 0 0 31px; }
#progress-dashboard .dashboard-plan-heading h2 { font-size:18px; white-space:nowrap; }
#progress-dashboard .dashboard-plan-heading > span { display:none; }
#progress-dashboard .daily-plan-fox-orbit { width:30px; height:30px; left:12px; right:auto; top:14px; }
#progress-dashboard .daily-plan-fox { width:30px; height:30px; }
#progress-dashboard .daily-plan-guide { grid-column:2; grid-row:1; }
#progress-dashboard .daily-plan-focus { padding:0; border:0; background:none; border-radius:0; grid-template-columns:24px minmax(0,1fr) auto; gap:3px 6px; }
#progress-dashboard .daily-plan-focus-art,#progress-dashboard .daily-plan-focus-art img { width:24px; height:24px; }
#progress-dashboard .daily-plan-focus strong { font-size:13px; }
#progress-dashboard .daily-plan-focus small { display:none; }
#progress-dashboard .daily-plan-session { grid-column:3; grid-row:1; }
#progress-dashboard .daily-plan-session-options { gap:4px; }
#progress-dashboard .daily-plan-session-options button { min-height:30px; padding:5px 8px; font-size:11px; }
#progress-dashboard .learning-focus-details:not([open]),#progress-dashboard .learning-focus-details[open] { position:static; grid-column:1/-1; grid-row:2; font-size:10px; padding:0; }
#progress-dashboard .learning-focus-details summary { justify-content:flex-end; }
#progress-dashboard .daily-plan-bubble { grid-column:1/-1; margin:2px 0 0; }
#progress-dashboard .daily-plan-card,#progress-dashboard .daily-plan-card.is-puzzle { grid-template-columns:28px minmax(0,1fr) auto; grid-template-rows:auto; min-height:44px; padding:5px 0; gap:2px 8px; mask-image:none; -webkit-mask-image:none; }
#progress-dashboard .daily-plan-card-art,#progress-dashboard .daily-plan-card-art img { width:26px; height:28px; grid-row:1; }
#progress-dashboard .daily-plan-card-copy { grid-row:1; }
#progress-dashboard .daily-plan-card-copy strong { font-size:12px; }
#progress-dashboard .daily-plan-card-copy .daily-plan-punches { margin-top:3px; }
#progress-dashboard .daily-plan-card-actions { grid-column:3; grid-row:1; flex-direction:row; align-items:center; gap:6px; }
#progress-dashboard .daily-plan-card-action { min-height:30px; padding:7px 9px; font-size:10px; }
#progress-dashboard .daily-plan-card-done { margin:0; font-size:9px; }
#progress-dashboard .daily-plan-card-skip { grid-column:2; grid-row:1; justify-self:end; align-self:end; font-size:9px; min-height:16px; padding:0; }
@media(max-width:1099px) {
 #progress-dashboard .dashboard-training-column > #daily-plan { grid-template-columns:minmax(0,1fr); gap:7px; }
 #progress-dashboard .dashboard-plan-heading { grid-column:1; grid-row:1; min-height:27px; }
 #progress-dashboard .daily-plan-guide { grid-column:1; grid-row:2; }
 #progress-dashboard .daily-plan-bubble { grid-column:1; grid-row:3; margin:0; }
 #progress-dashboard .daily-plan-card-copy strong { padding-right:32px; display:block; }
}
@media(max-width:760px) {
 #progress-dashboard .daily-plan-card-action { min-height:34px; font-size:0; padding:5px 8px; }
 #progress-dashboard .daily-plan-card-done { display:none; }
 #progress-dashboard .daily-plan-card-copy strong { font-size:12px; }
 #progress-dashboard .daily-plan-session-options button { min-height:32px; padding:5px 7px; }
}

/* Continuous overview: detailed collections open in place. */
#progress-dashboard #dashboard-continuous { display:block; min-width:0; }
#progress-dashboard .dashboard-training-modes { margin-top:20px; border-top:1px solid var(--line); padding-top:18px; }
#progress-dashboard .dashboard-training-modes h3 { margin:0; font-size:17px; }
#progress-dashboard .dashboard-training-modes header p { margin:5px 0 14px; font-size:12px; color:var(--muted,#737078); }
#progress-dashboard #dashboard-mode-list { display:block; }
#progress-dashboard .dashboard-mode-cards,
#progress-dashboard .dashboard-mode-unplayed-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:start; }
#progress-dashboard .dashboard-mode-row { min-width:0; border:1px solid var(--line); border-radius:12px; background:var(--sheet,#fffdfa); }
#progress-dashboard .dashboard-mode-row > summary { display:grid; grid-template-columns:34px minmax(0,1fr) 14px; align-items:center; gap:0 7px; padding:14px; min-height:44px; cursor:pointer; list-style:none; }
#progress-dashboard .dashboard-mode-row > summary > img { width:34px; height:34px; grid-row:1; object-fit:contain; }
#progress-dashboard .dashboard-mode-row > summary:hover { background:var(--brand-soft,#fff0eb); border-radius:inherit; }
#progress-dashboard .dashboard-mode-row > summary:focus-visible { outline:2px solid var(--brand-dark,#ad4635); outline-offset:3px; border-radius:inherit; }
#progress-dashboard .dashboard-mode-row[open] { grid-column:1/-1; }
#progress-dashboard summary::-webkit-details-marker { display:none; }
#progress-dashboard .dashboard-mode-summary-copy { min-width:0; grid-column:2/-1; }
#progress-dashboard .dashboard-mode-summary-copy strong { font-size:15px; }
#progress-dashboard .dashboard-mode-latest { grid-column:1/3; margin-top:13px; font-size:11px; color:var(--muted,#68615c); }
#progress-dashboard .dashboard-mode-latest-short { display:none; }
#progress-dashboard .dashboard-mode-total { grid-column:1/-1; display:grid; gap:3px; margin-top:10px; color:var(--ink); text-align:left; }
#progress-dashboard .dashboard-mode-count { font:700 32px/1.15 var(--sans); letter-spacing:-1px; font-variant-numeric:tabular-nums; }
#progress-dashboard .dashboard-mode-unit { font-size:12px; }
#progress-dashboard .dashboard-mode-chevron { grid-column:3; grid-row:3; align-self:end; font-size:22px; line-height:16px; text-align:center; color:var(--muted); }
#progress-dashboard .dashboard-mode-row[open] > summary .dashboard-mode-chevron { transform:rotate(90deg); }
#progress-dashboard .dashboard-mode-body { padding:0 14px 16px; }
#progress-dashboard .dashboard-mode-description,#progress-dashboard .dashboard-mode-empty { font-size:12px; color:var(--muted,#737078); }
#progress-dashboard .dashboard-mode-unplayed { margin-top:18px; padding-top:12px; border-top:1px solid var(--line); }
#progress-dashboard .dashboard-mode-cards[hidden] + .dashboard-mode-unplayed { margin-top:0; padding-top:0; border-top:0; }
#progress-dashboard .dashboard-mode-unplayed-label { margin:0 0 5px; font-size:11px; color:var(--muted); }
#progress-dashboard .dashboard-mode-unplayed-list { gap:4px 12px; }
#progress-dashboard .dashboard-mode-row.is-empty { background:transparent; border:0; }
#progress-dashboard .dashboard-mode-row.is-empty > summary { display:flex; gap:7px; padding:5px 0; min-height:44px; }
#progress-dashboard .dashboard-mode-row.is-empty > summary > img { width:27px; height:27px; }
#progress-dashboard .dashboard-mode-row.is-empty .dashboard-mode-summary-copy strong { font-size:12px; }
#progress-dashboard .dashboard-mode-row.is-empty .dashboard-mode-total { margin:0; display:block; }
#progress-dashboard .dashboard-mode-row.is-empty .dashboard-mode-count { font:500 12px var(--sans); letter-spacing:0; color:var(--muted); }
#progress-dashboard .dashboard-mode-row.is-empty .dashboard-mode-unit,
#progress-dashboard .dashboard-mode-row.is-empty .dashboard-mode-latest { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#progress-dashboard .dashboard-mode-row.is-empty .dashboard-mode-chevron { align-self:center; }
#progress-dashboard .dashboard-mode-row.is-empty .dashboard-mode-body { padding-inline:0; }
#progress-dashboard .dashboard-insights-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:16px; align-items:start; }
#progress-dashboard .dashboard-insights-row > * { min-width:0; }
#progress-dashboard .dashboard-trophy-overview { padding:20px; }
#progress-dashboard .dashboard-trophy-overview header p { font-size:12px; color:var(--muted,#737078); margin:7px 0 16px; }
#progress-dashboard #dashboard-trophy-preview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
#progress-dashboard #dashboard-trophy-preview figure { display:grid; justify-items:center; align-content:start; gap:5px; margin:0; text-align:center; }
#progress-dashboard #dashboard-trophy-preview img { width:76px; height:76px; object-fit:contain; }
#progress-dashboard #dashboard-trophy-preview figcaption { font-size:12px; font-weight:700; }
#progress-dashboard #dashboard-trophy-preview small { font-size:10px; color:var(--muted,#737078); }
#progress-dashboard #dashboard-trophy-next { display:grid; gap:5px; padding:14px 0; font-size:12px; }
#progress-dashboard #dashboard-trophy-next p { margin:0; color:var(--muted,#737078); }
#progress-dashboard #dashboard-trophy-next progress { width:100%; height:10px; accent-color:#438b70; }
#progress-dashboard .dashboard-disclosure { margin-top:14px; border-top:1px solid var(--line); }
#progress-dashboard .dashboard-disclosure > summary { display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-height:44px; padding:8px 0; list-style:none; cursor:pointer; font-size:13px; font-weight:700; }
#progress-dashboard .dashboard-disclosure > summary::after { content:'+'; margin-left:auto; font-size:18px; color:#356f5c; }
#progress-dashboard .dashboard-disclosure[open] > summary::after { content:'−'; }
#progress-dashboard .dashboard-access-label { font-size:10px; font-weight:550; color:var(--muted,#737078); }
#progress-dashboard .dashboard-trophy-overview:has(#progress-panel-trophies[open]) { grid-column:1/-1; }
#progress-dashboard .progress-puzzle-skills-card { margin:0; padding:20px; }
#progress-dashboard .progress-puzzle-skills-header { flex-wrap:wrap; gap:10px; }
#progress-dashboard .progress-puzzle-skills-heading { min-width:0; }
#progress-dashboard .progress-puzzle-skills-art,#progress-dashboard .progress-puzzle-skills-art img { width:40px; height:40px; }
#progress-dashboard .progress-puzzle-classification-groups { grid-template-columns:1fr; }
#progress-dashboard .progress-profile-overview > #progress-panel-theme { margin:14px 0 0; padding:0 16px 16px; }
@media(max-width:760px) {
 #progress-dashboard .dashboard-insights-row { grid-template-columns:minmax(0,1fr); gap:12px; }
 #progress-dashboard .dashboard-mode-cards,
 #progress-dashboard .dashboard-mode-unplayed-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 #progress-dashboard .dashboard-mode-row > summary { grid-template-columns:31px minmax(0,1fr) 12px; gap:0 6px; padding:12px; }
 #progress-dashboard .dashboard-mode-row > summary > img { width:31px; height:31px; }
 #progress-dashboard .dashboard-mode-summary-copy strong { font-size:14px; }
 #progress-dashboard .dashboard-mode-count { font-size:30px; }
 #progress-dashboard .dashboard-mode-unit { font-size:11px; }
 #progress-dashboard .dashboard-trophy-overview,#progress-dashboard .progress-puzzle-skills-card { padding:16px; }
 #progress-dashboard .progress-puzzle-focus-grid { grid-template-columns:1fr; }
 #progress-dashboard #dashboard-trophy-preview img { width:60px; height:60px; }
}
@media(max-width:380px) {
 #progress-dashboard .dashboard-mode-cards { gap:8px; }
 #progress-dashboard .dashboard-mode-row > summary { grid-template-columns:27px minmax(0,1fr) 10px; gap:0 4px; padding:10px; }
 #progress-dashboard .dashboard-mode-row > summary > img { width:27px; height:27px; }
 #progress-dashboard .dashboard-mode-summary-copy strong { font-size:13px; }
 #progress-dashboard .dashboard-mode-unit { min-height:32px; }
}

/* Skills and achievements share the dashboard's light, compact surfaces. */
#progress-dashboard .dashboard-insights-row { align-items:stretch; }
#progress-dashboard .dashboard-insights-row > #progress-panel-puzzle-skills { display:flex; }
#progress-dashboard .progress-puzzle-skills-card { width:100%; box-sizing:border-box; display:flex; flex-direction:column; gap:16px; }
#progress-dashboard .progress-puzzle-skills-header { padding:0; border:0; background:none; color:inherit; align-items:flex-start; }
#progress-dashboard .progress-puzzle-skills-heading { flex:1; align-items:flex-start; gap:10px; }
#progress-dashboard .progress-puzzle-skills-art { flex:0 0 36px; width:36px; height:36px; border:0; background:none; transform:none; }
#progress-dashboard .progress-puzzle-skills-art img { width:36px; height:36px; }
#progress-dashboard .progress-puzzle-skills-header p { color:var(--muted); font-size:12px; line-height:1.6; }
#progress-dashboard .progress-puzzle-analyzed { padding:6px 9px; border:1px solid #e1e8df; background:#f2f6ef; color:#36614c; border-radius:8px; font-size:10px; gap:4px; }
#progress-dashboard .progress-puzzle-analyzed strong { font-size:14px; }
#progress-dashboard .progress-puzzle-focus-grid { margin:0; gap:10px; padding:0; }
#progress-dashboard .progress-puzzle-focus-grid article { padding:16px; border:1px solid #e0e8dc; background:#f3f7f0; }
#progress-dashboard .progress-puzzle-focus-grid article.is-next { border-color:#edddc5; background:#fff8ed; }
#progress-dashboard .progress-puzzle-focus-grid small { font-size:10px; letter-spacing:0; text-transform:none; font-weight:650; }
#progress-dashboard .progress-puzzle-focus-grid strong { font-size:21px; line-height:1.25; color:#2f4c3d; margin:8px 0; }
#progress-dashboard .progress-puzzle-focus-grid span { font-size:12px; line-height:1.6; color:#626960; }
#progress-dashboard #dashboard-all-skills { margin-top:auto; }
#progress-dashboard .progress-puzzle-skills-guest,#progress-dashboard .progress-puzzle-skills-empty { margin:0; padding:12px; line-height:1.6; }
#progress-dashboard .dashboard-trophy-overview { display:flex; flex-direction:column; gap:14px; }
#progress-dashboard .dashboard-trophy-overview header p { margin:6px 0 0; }
#progress-dashboard #dashboard-trophy-preview { gap:10px; }
#progress-dashboard #dashboard-trophy-preview figure { padding:10px 6px; background:#fff9ed; border:1px solid #f0e4cf; border-radius:12px; gap:4px; }
#progress-dashboard #dashboard-trophy-preview img { width:66px; height:66px; }
#progress-dashboard #dashboard-trophy-preview figcaption { line-height:1.4; }
#progress-dashboard #dashboard-trophy-preview small { color:#527451; }
#progress-dashboard #dashboard-trophy-next { padding:14px; background:#f4f7f1; border:1px solid #e0e8dc; border-radius:12px; gap:5px; }
#progress-dashboard #dashboard-trophy-next > small:first-child { color:#66735f; font-size:10px; }
#progress-dashboard #dashboard-trophy-next strong { font-size:17px; color:#304f3e; }
#progress-dashboard #dashboard-trophy-next progress { appearance:none; border:0; height:8px; margin:7px 0 3px; border-radius:10px; overflow:hidden; background:#dfe8d9; }
#progress-dashboard #dashboard-trophy-next progress::-webkit-progress-bar { background:#dfe8d9; }
#progress-dashboard #dashboard-trophy-next progress::-webkit-progress-value { background:#5b9476; border-radius:10px; }
#progress-dashboard .dashboard-collection-action { display:flex; justify-content:space-between; align-items:center; width:100%; margin-top:auto; min-height:44px; padding:12px 0 0; border:0; border-top:1px solid var(--line); border-radius:0; background:none; box-shadow:none; color:#356f5c; font:700 13px var(--sans); cursor:pointer; }
#progress-dashboard #progress-panel-trophies { padding:20px; margin-top:16px; background:var(--surface,#fffdfa); border:1px solid var(--line); border-radius:14px; scroll-margin-top:100px; }
#progress-dashboard #progress-panel-trophies:not([open]) { display:none; }
#progress-dashboard #progress-panel-trophies > summary { font-size:21px; padding:0 0 14px; }
#progress-dashboard .dashboard-cabinet-close { margin-left:auto; font-size:12px; color:var(--muted); }
#progress-dashboard #progress-panel-trophies > summary::after { margin-left:0; }
#progress-dashboard .progress-trophy-header { padding:0; margin:0 0 16px; border:0; background:none; box-shadow:none; }
#progress-dashboard .progress-trophy-header h2 { display:none; }
#progress-dashboard .progress-trophy-header p { font-size:12px; margin:5px 0 0; }
#progress-dashboard .dashboard-cabinet-tools { display:grid; grid-template-columns:minmax(0,1fr) 180px; gap:12px; margin-bottom:16px; }
#progress-dashboard .dashboard-cabinet-tools label { display:grid; gap:6px; font-size:11px; color:var(--muted); }
#progress-dashboard .dashboard-cabinet-tools input,#progress-dashboard .dashboard-cabinet-tools select { box-sizing:border-box; width:100%; min-width:0; height:42px; padding:8px 12px; border:1px solid var(--line); border-radius:8px; background:#fffdfa; color:inherit; font:inherit; font-size:13px; }
#progress-dashboard #progress-panel-trophies .progress-trophy-tier { border:0; border-radius:0; box-shadow:none; background:none; }
#progress-dashboard #progress-panel-trophies .progress-trophy-grid { grid-template-columns:repeat(6,minmax(0,1fr)); gap:12px; padding:0; background:none; }
#progress-dashboard #progress-panel-trophies .progress-trophy-item { padding:12px 8px; border:1px solid #e8e1d5; border-radius:12px; background:#fffaf1; cursor:pointer; }
#progress-dashboard #progress-panel-trophies .progress-trophy-item.locked { background:#f7f6f2; }
#progress-dashboard #progress-panel-trophies .progress-trophy-image { width:90px; max-width:100%; margin:auto; }
#progress-dashboard #progress-panel-trophies .progress-trophy-copy strong { white-space:normal; font-size:12px; line-height:1.4; margin-top:8px; min-height:34px; }
#progress-dashboard #progress-panel-trophies .progress-trophy-item.earned::after { background:#5b9476; box-shadow:none; }
#progress-dashboard .dashboard-cabinet-pagination { display:flex; align-items:center; justify-content:space-between; gap:8px; border-top:1px solid var(--line); margin-top:18px; padding-top:14px; }
#progress-dashboard .dashboard-cabinet-pagination button { min-height:40px; padding:8px 12px; border:1px solid var(--line); border-radius:8px; background:#fffaf1; color:inherit; font:600 12px var(--sans); cursor:pointer; }
#progress-dashboard .dashboard-cabinet-pagination button:disabled { opacity:.4; cursor:default; }
#progress-dashboard #dashboard-trophy-page { font-size:12px; text-align:center; }
@media(max-width:1000px) {
 #progress-dashboard .progress-puzzle-focus-grid { grid-template-columns:1fr; }
 #progress-dashboard #progress-panel-trophies .progress-trophy-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:760px) {
 #progress-dashboard .progress-puzzle-skills-header { gap:12px; }
 #progress-dashboard .progress-puzzle-skills-heading { flex-basis:100%; }
 #progress-dashboard .progress-puzzle-focus-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 #progress-dashboard .progress-puzzle-focus-grid article { padding:12px; }
 #progress-dashboard .progress-puzzle-focus-grid strong { font-size:17px; overflow-wrap:anywhere; }
 #progress-dashboard #progress-panel-trophies { padding:16px; scroll-margin-top:75px; }
 #progress-dashboard .dashboard-cabinet-tools { grid-template-columns:minmax(0,1fr) 116px; gap:8px; }
 #progress-dashboard #progress-panel-trophies .progress-trophy-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
 #progress-dashboard #progress-panel-trophies .progress-trophy-item { padding:8px 5px; }
 #progress-dashboard #progress-panel-trophies .progress-trophy-copy strong { font-size:11px; }
}
@media(max-width:359px) {
 #progress-dashboard #progress-panel-trophies .progress-trophy-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 #progress-dashboard .progress-puzzle-focus-grid { grid-template-columns:1fr; }
}
#progress-dashboard .dashboard-insights-row:has(#dashboard-all-skills[open]) { align-items:start; }

/* Account and appearance are a visible destination, not a footer disclosure. */
#progress-dashboard .dashboard-heading > div { flex:1; }
#progress-dashboard .dashboard-settings-link { display:flex; align-items:center; justify-content:center; gap:10px; padding:11px 15px; min-height:44px; box-sizing:border-box; border:1px solid var(--line); border-radius:10px; background:var(--surface,#fffdfa); color:#356f5c; font-size:13px; font-weight:700; text-decoration:none; }
#progress-dashboard #dashboard-settings { grid-row:5; padding:16px; border:1px solid var(--line); border-radius:14px; background:var(--surface,#fffdfa); scroll-margin-top:100px; }
#progress-dashboard .dashboard-settings-heading p { margin:7px 0 20px; color:var(--muted); font-size:13px; }
#progress-dashboard .dashboard-account-title { font-size:16px; margin:0 0 10px; }
#progress-dashboard #dashboard-settings .progress-identity { margin:0; padding:16px; background:#f6f8f2; box-shadow:none; }
#progress-dashboard #dashboard-settings > #progress-panel-theme { margin:10px 0 0; padding:0; border:1px solid #e5dccd; border-radius:12px; background:#fffaf1; overflow:hidden; }
#progress-dashboard #progress-panel-theme > summary { display:grid; grid-template-columns:40px minmax(0,1fr) auto 20px; padding:8px 12px; gap:4px 10px; min-height:60px; }
#progress-dashboard #progress-panel-theme > summary::after { grid-column:4; grid-row:1; justify-self:center; margin-left:0; line-height:1; }
#progress-dashboard .dashboard-board-icon { display:grid; grid-column:1; grid-row:1; place-items:center; width:40px; height:40px; flex:none; border:0; border-radius:0; background:transparent; }
#progress-dashboard .dashboard-board-icon img { display:block; width:100%; height:100%; object-fit:contain; }
#progress-dashboard .dashboard-board-copy { display:grid; grid-column:2; grid-row:1; min-width:0; gap:2px; }
#progress-dashboard #progress-panel-theme .dashboard-access-label { grid-column:3; grid-row:1; }
#progress-dashboard #progress-panel-theme .dashboard-access-label:empty { display:none; }
#progress-dashboard .dashboard-board-copy strong { font-size:15px; line-height:1.35; }
#progress-dashboard .dashboard-board-copy small { font-size:11px; font-weight:550; color:var(--muted); line-height:1.4; }
#progress-dashboard #progress-panel-theme .progress-appearance-card { margin:0; box-shadow:none; border-radius:0; border-width:1px 0 0; }
@media(max-width:760px) {
 #progress-dashboard .dashboard-heading { flex-wrap:wrap; }
 #progress-dashboard .dashboard-heading > div { flex-basis:calc(100% - 65px); }
 #progress-dashboard .dashboard-settings-link { display:none; }
 #progress-dashboard #dashboard-settings { padding:12px; scroll-margin-top:80px; }
 #progress-dashboard #progress-panel-theme > summary { grid-template-columns:40px minmax(0,1fr) 20px; padding:8px 10px; }
 #progress-dashboard #progress-panel-theme > summary::after { grid-column:3; }
 #progress-dashboard .dashboard-board-copy { flex:1; }
 #progress-dashboard #progress-panel-theme .dashboard-access-label:not(:empty) { grid-column:2; grid-row:2; padding:0; }
}

/* A compact account row, with room for editing and narrow screens. */
#progress-dashboard #dashboard-settings .progress-identity {
 grid-template-columns:40px minmax(0,1fr) auto;
 gap:12px;
 min-height:68px;
 padding:12px;
 border-color:#dce3d6;
 background:#f6f8f2;
}
#progress-dashboard .progress-identity::before { content:none; }
#progress-dashboard .progress-avatar-control,
#progress-dashboard .progress-avatar { width:40px; height:40px; }
#progress-dashboard .progress-avatar { border-width:2px; box-shadow:none; }
#progress-dashboard .progress-identity #progress-avatar-fallback { font-size:18px; }
#progress-dashboard .progress-avatar-upload { width:22px; height:22px; border-width:2px; }
#progress-dashboard .progress-identity-copy { flex-direction:row; flex-wrap:wrap; justify-content:flex-start; align-items:center; gap:5px 10px; }
#progress-dashboard #progress-member-identity { order:-1; min-width:0; max-width:100%; }
#progress-dashboard .progress-username-display strong { font-size:15px; line-height:1.4; overflow-wrap:anywhere; }
#progress-dashboard .progress-profile-meta { flex:none; }
#progress-dashboard .progress-access-tier { font-size:10px; padding:4px 7px; background:#e8efdf; border-color:transparent; color:#45613b; }
#progress-dashboard .progress-username-message:empty { display:none; }
#progress-dashboard .progress-account-controls { grid-column:auto; align-self:center; }
#progress-dashboard .progress-account-action { width:auto; min-height:36px; padding:6px 8px; background:transparent; border-color:transparent; box-shadow:none; font-size:12px; white-space:nowrap; }
#progress-dashboard .progress-account-action span { position:static; width:auto; height:auto; overflow:visible; clip:auto; }
#progress-dashboard .progress-identity:has(.progress-username-form:not([hidden])) .progress-identity-copy { display:flex; flex-direction:column; align-items:stretch; }
@media(max-width:420px) {
 #progress-dashboard #dashboard-settings .progress-identity { gap:8px; padding:10px; grid-template-columns:36px minmax(0,1fr) auto; }
 #progress-dashboard .progress-avatar-control,
 #progress-dashboard .progress-avatar { width:36px; height:36px; }
 #progress-dashboard .progress-account-action { gap:4px; padding:6px 2px; }
 #progress-dashboard .progress-username-display { gap:3px; }
 #progress-dashboard .progress-username-display strong { font-size:13px; }
 #progress-dashboard .progress-guest-signin { grid-column:1 / -1; }
}

/* The photo itself is the upload target; reveal its affordance on interaction. */
#progress-dashboard .progress-avatar-upload {
 inset:0;
 width:100%;
 height:100%;
 border:0;
 border-radius:50%;
 background:transparent;
 box-shadow:none;
 cursor:pointer;
}
#progress-dashboard .progress-avatar-upload > span {
 display:grid;
 place-items:center;
 width:100%;
 height:100%;
 border-radius:inherit;
 background:rgba(35,53,39,.65);
 color:#fff;
 opacity:0;
 font-size:18px;
}
#progress-dashboard .progress-avatar-control:hover .progress-avatar-upload > span,
#progress-dashboard .progress-avatar-control:focus-within .progress-avatar-upload > span { opacity:1; }
#progress-dashboard .progress-avatar-upload:focus-within { outline:2px solid #356f5c; outline-offset:3px; }

/* Keep the account header in place and give the editor its own full-width row. */
#progress-dashboard #dashboard-settings .progress-identity:has(.progress-username-form:not([hidden])) { align-items:center; }
#progress-dashboard .progress-identity:has(.progress-username-form:not([hidden])) .progress-identity-copy,
#progress-dashboard .progress-identity:has(.progress-username-form:not([hidden])) #progress-member-identity,
#progress-dashboard .progress-identity:has(.progress-username-form:not([hidden])) .progress-profile-meta { display:contents; }
#progress-dashboard .progress-identity:has(.progress-username-form:not([hidden])) .progress-avatar-control { grid-column:1; grid-row:1; }
#progress-dashboard .progress-identity:has(.progress-username-form:not([hidden])) .progress-access-tier { grid-column:2; grid-row:1; justify-self:start; }
#progress-dashboard .progress-identity:has(.progress-username-form:not([hidden])) .progress-account-controls { grid-column:3; grid-row:1; }
#progress-dashboard .progress-identity:has(.progress-username-form:not([hidden])) .progress-username-form {
 grid-column:1 / -1;
 grid-row:2;
 grid-template-columns:minmax(0,1fr) auto auto;
 gap:8px;
 margin:0;
 padding:0;
 border:0;
 border-radius:0;
 background:transparent;
 box-shadow:none;
}
#progress-dashboard .progress-identity .progress-username-form input { min-width:0; width:100%; height:40px; font-size:16px; grid-column:auto; }
#progress-dashboard .progress-identity .progress-username-form button { min-height:40px; border-radius:8px; box-shadow:none; padding:7px 12px; }
#progress-dashboard .progress-identity .progress-username-form button[type="submit"] { background:#356f5c; border-color:#356f5c; box-shadow:none; }
#progress-dashboard .progress-identity:has(.progress-username-form:not([hidden])) .progress-username-message { grid-column:1 / -1; grid-row:3; margin:0; }
@media(max-width:420px) {
 #progress-dashboard .progress-identity:has(.progress-username-form:not([hidden])) .progress-username-form { grid-template-columns:1fr 1fr; }
 #progress-dashboard .progress-identity .progress-username-form input { grid-column:1 / -1; }
}

#progress-dashboard .dashboard-trophy-button {
 display:grid; justify-items:center; align-content:start; gap:5px;
 width:100%; min-width:0; padding:5px; border:0; border-radius:10px;
 background:transparent; color:inherit; font:inherit; text-align:center; box-shadow:none; cursor:pointer;
}
#progress-dashboard .dashboard-trophy-button > span { font-size:12px; font-weight:700; }
#progress-dashboard .dashboard-trophy-button:hover { background:#edf2e7; }
#progress-dashboard .dashboard-trophy-button:focus-visible { outline:2px solid #356f5c; outline-offset:2px; }
#progress-dashboard #dashboard-trophy-next:has(.dashboard-next-trophy-image) { grid-template-columns:80px minmax(0,1fr); column-gap:12px; align-items:center; }
#progress-dashboard #dashboard-trophy-next > .dashboard-next-trophy-image { grid-column:1; grid-row:1 / span 5; padding:0; }
#progress-dashboard .dashboard-next-trophy-image img { width:80px; height:80px; object-fit:contain; }
#progress-dashboard #dashboard-trophy-next:has(.dashboard-next-trophy-image) > :not(.dashboard-next-trophy-image) { grid-column:2; }

#progress-dashboard .progress-rhythm-head .consistency-icon { width:42px; height:42px; object-fit:contain; flex:none; }
#progress-dashboard .progress-heatmap i.today { outline-color:#a64b16; }
@media(max-width:760px) {
 #progress-dashboard .progress-consistency-stack { align-self:stretch; width:100%; }
 #progress-dashboard .progress-rhythm-card { width:100%; box-sizing:border-box; margin-inline:auto; }
}

#progress-dashboard .progress-appearance-preview-wrap {
 grid-template-columns:minmax(0,1fr);
 place-items:center;
 align-self:start;
 padding:24px;
 border-radius:12px;
 background-color:var(--page-background-color,#f4ebdc);
 background-image:var(--page-background-image,radial-gradient(ellipse at center,#fffaf0,#eadcc7));
 background-position:center;
 background-size:var(--page-background-size,cover);
}
#progress-dashboard .progress-appearance-preview { width:min(100%,240px); }

#progress-dashboard .progress-appearance-tabs {
 display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px;
 padding:4px; border:1px solid var(--line); border-radius:10px; background:var(--paper);
}
#progress-dashboard .progress-appearance-tabs button {
 min-width:0; min-height:44px; margin:0; padding:8px 6px; border:0; border-radius:7px;
 background:transparent; box-shadow:none; color:var(--muted); font-size:13px; font-weight:700;
}
#progress-dashboard .progress-appearance-tabs button[aria-selected="true"] { background:#356f5c; color:#fff; box-shadow:0 2px 4px rgba(35,53,39,.12); }
#progress-dashboard .progress-appearance-tabs button:hover:not([aria-selected="true"]) { background:#e8ece4; color:#294f42; }
#progress-dashboard .progress-appearance-tabs button:focus-visible { outline:2px solid #356f5c; outline-offset:2px; }
#progress-dashboard [data-appearance-panel] { min-width:0; }
#progress-dashboard .progress-appearance-controls legend.visually-hidden {
 position:absolute; width:1px; height:1px; margin:-1px; padding:0;
 overflow:hidden; clip-path:inset(50%); white-space:nowrap;
}

#progress-dashboard .progress-sound-header { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:14px; }
#progress-dashboard .progress-sound-header p { flex:1 1 180px; margin:0; color:var(--muted); font-size:12px; line-height:1.6; }
#progress-dashboard .progress-sound-toggle { min-height:44px; padding:8px 12px; border:1px solid var(--line); border-radius:8px; background:var(--paper); color:var(--ink); font:700 12px var(--sans); }
#progress-dashboard .progress-sound-toggle[aria-pressed="true"] { border-color:#356f5c; background:#edf4ef; color:#294f42; }
#progress-dashboard .progress-sound-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
#progress-dashboard .progress-sound-option { display:flex; min-width:0; align-items:center; gap:4px; padding:4px; border:1px solid var(--line); border-radius:10px; background:var(--sheet); }
#progress-dashboard .progress-sound-option:has([aria-pressed="true"]) { border-color:#356f5c; background:#edf4ef; box-shadow:inset 0 0 0 1px #356f5c; }
#progress-dashboard .progress-sound-select { position:relative; flex:1; min-width:0; min-height:54px; padding:6px 18px 6px 8px; border:0; border-radius:6px; background:transparent; color:var(--ink); text-align:left; }
#progress-dashboard .progress-sound-select strong { display:block; font:700 12px/1.4 var(--sans); }
#progress-dashboard .progress-sound-select small { display:block; margin-top:2px; color:var(--muted); font:500 10px/1.5 var(--sans); }
#progress-dashboard .progress-sound-selected { display:none; position:absolute; right:2px; top:7px; color:#356f5c; font-weight:800; }
#progress-dashboard .progress-sound-select[aria-pressed="true"] .progress-sound-selected { display:block; }
#progress-dashboard .progress-sound-preview { display:grid; place-items:center; flex:0 0 44px; width:44px; height:44px; padding:0; border:1px solid var(--line); border-radius:50%; background:var(--paper); color:#356f5c; }
#progress-dashboard .progress-sound-preview:hover { background:#e8ece4; }
#progress-dashboard .progress-sound-preview[aria-busy="true"] { opacity:.5; }
#progress-dashboard :is(.progress-sound-preview,.progress-sound-select,.progress-sound-toggle):focus-visible { outline:2px solid #356f5c; outline-offset:2px; }
#progress-dashboard #progress-sound-status { margin:12px 0 0; font-size:11px; line-height:1.5; }
@media(max-width:480px) {
 #progress-dashboard .progress-sound-options { grid-template-columns:1fr; }
}

/* Icon-only theme choices keep a compact, touch-friendly footprint. */
#progress-dashboard .progress-piece-theme-options,
#progress-dashboard .progress-board-theme-options {
    grid-template-columns:repeat(auto-fill,44px);
    gap:8px;
}
#progress-dashboard .progress-piece-theme-options button,
#progress-dashboard .progress-board-theme-options button {
    width:44px;
    height:44px;
    min-height:44px;
    padding:5px;
    gap:0;
    justify-content:center;
}

/* Dashboard-specific rules must retain the shared panel depth after their layout overrides. */
#progress-dashboard .paper-card,
#progress-dashboard #daily-plan,
#progress-dashboard #progress-panel-activity,
#progress-dashboard .progress-domains-card { box-shadow: var(--panel-shadow); }
#progress-dashboard .dashboard-stat,
#progress-dashboard .progress-puzzle-focus-grid article,
#progress-dashboard #dashboard-trophy-preview figure,
#progress-dashboard #dashboard-trophy-next { box-shadow: var(--panel-shadow-shallow); }
/* The activity charts and focus copy are sections inside a raised card. */
#progress-dashboard .progress-activity-card,
#progress-dashboard .progress-metric-card,
#progress-dashboard .daily-plan-focus { box-shadow: none; }

/* A stable heading and consistent chart panels for the three training views. */
#progress-dashboard .training-section-header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:18px; margin-bottom:20px; border-bottom:1px solid var(--line); }
#progress-dashboard #progress-activity-title { display:flex; align-items:center; gap:10px; padding:0; }
#progress-dashboard .training-section-header p { margin:5px 0 0; color:var(--muted); font-size:12px; }
#progress-dashboard .progress-activity-tabs { position:static; display:flex; flex:none; gap:4px; margin:0; padding:4px; border:1px solid var(--line); border-radius:10px; background:var(--paper); }
#progress-dashboard .progress-activity-tabs button { min-width:76px; min-height:40px; margin:0; padding:9px 16px; border:0; border-radius:7px; background:transparent; box-shadow:none; color:var(--muted); font-size:13px; translate:none; }
#progress-dashboard .progress-activity-tabs button[aria-selected="true"] { background:#356f5c; color:#fff; box-shadow:0 2px 4px rgba(35,53,39,.12); }
#progress-dashboard .progress-activity-tabs button:hover:not([aria-selected="true"]) { background:#e8ece4; color:#294f42; }
#progress-dashboard .progress-activity-tabs button:focus-visible { outline:2px solid #356f5c; outline-offset:2px; }
#progress-dashboard .progress-activity-card > header,
#progress-dashboard .progress-metric-card > header { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:72px; margin:0 0 16px; padding:0; border:0; }
#progress-dashboard .progress-metric-card { padding-top:0; }
#progress-dashboard .training-view-heading h3,
#progress-dashboard .progress-metric-heading h3 { margin:0; font-size:17px; line-height:1.3; letter-spacing:-.3px; }
#progress-dashboard .training-view-heading p,
#progress-dashboard .progress-metric-heading p { margin:5px 0 0; color:var(--muted); font-size:12px; line-height:1.5; }
#progress-dashboard .progress-metric-heading > img { width:38px; height:38px; flex-basis:38px; }
#progress-dashboard .progress-activity-total { display:grid; grid-template-columns:auto auto; column-gap:7px; row-gap:5px; align-items:baseline; justify-content:end; margin:0; text-align:right; }
#progress-dashboard .progress-activity-total > strong,
#progress-dashboard .progress-metric-summary strong { font:700 32px/1.1 var(--sans); letter-spacing:-1px; font-variant-numeric:tabular-nums; }
#progress-dashboard .progress-activity-total > span { font-size:12px; }
#progress-dashboard .progress-activity-total small { grid-column:1/-1; justify-content:flex-end; gap:6px; font-size:11px; color:var(--muted); }
#progress-dashboard .progress-metric-summary span { font:600 11px/1.4 var(--sans); letter-spacing:0; text-transform:none; }
#progress-dashboard .progress-metric-range-tabs { display:flex; justify-content:flex-end; gap:4px; margin:0 0 12px; }
#progress-dashboard .progress-metric-range-tabs button { min-width:44px; min-height:36px; border:1px solid transparent; background:transparent; box-shadow:none; font:700 11px/1 var(--sans); }
#progress-dashboard .progress-metric-range-tabs button[aria-pressed="true"] { border-color:#cddbd1; background:#eaf1e9; color:#29543e; }
#progress-dashboard .progress-activity-chart,
#progress-dashboard .progress-metric-chart { height:220px; min-height:220px; margin:0; padding:12px 10px 4px; border:1px solid #eae5dc; border-radius:10px; background:linear-gradient(180deg,#f8f7f2,#fffdfa); }
#progress-dashboard .progress-activity-legend { gap:8px; margin-top:14px; }
#progress-dashboard .progress-activity-key { gap:5px; padding:7px 9px; border:1px solid var(--line); border-radius:7px; background:var(--surface,#fffdfa); font-size:11px; text-decoration:none; }
#progress-dashboard .progress-activity-key b { font-size:12px; }
#progress-dashboard .progress-activity-key:hover { background:var(--paper); }
#progress-dashboard .progress-activity-key:focus-visible { outline:2px solid #356f5c; outline-offset:2px; }
#progress-dashboard .progress-metric-note { margin:12px 0 0; text-align:left; font-size:12px; }
@media(max-width:600px) {
 #progress-dashboard .training-section-header { flex-direction:column; align-items:stretch; gap:14px; margin-bottom:16px; padding-bottom:16px; }
 #progress-dashboard #progress-activity-title { font-size:20px; }
 #progress-dashboard .progress-activity-tabs button { flex:1; min-width:0; min-height:42px; }
 #progress-dashboard .progress-activity-card > header,
 #progress-dashboard .progress-metric-card > header { align-items:flex-start; gap:12px; }
 #progress-dashboard .training-view-heading p,
 #progress-dashboard .progress-metric-heading p { font-size:11px; }
 #progress-dashboard .progress-metric-heading { gap:0; }
 #progress-dashboard .progress-metric-heading > img { display:none; }
 #progress-dashboard .progress-activity-total { flex:none; grid-template-columns:1fr; gap:3px; }
 #progress-dashboard .progress-activity-total small { display:flex; flex-wrap:wrap; max-width:115px; gap:3px; font-size:10px; }
 #progress-dashboard .progress-activity-total > strong,
 #progress-dashboard .progress-metric-summary strong { font-size:28px; }
 #progress-dashboard .progress-activity-chart,
 #progress-dashboard .progress-metric-chart { height:190px; min-height:190px; padding:8px 4px 2px; }
 #progress-dashboard .progress-activity-legend { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
 #progress-dashboard .progress-activity-key { padding:7px 4px; gap:3px; font-size:10px; }
 #progress-dashboard .progress-activity-key b { font-size:11px; }
}

/* Actionable skill profile: one recommendation, a strength, and a compact preview. */
#progress-dashboard .dashboard-insights-row { align-items:start; }
#progress-dashboard .progress-puzzle-skills-card { width:100%; box-sizing:border-box; display:flex; flex-direction:column; gap:0; padding:22px; background:var(--sheet); }
#progress-dashboard .progress-puzzle-skills-card [hidden] { display:none!important; }
#progress-dashboard .progress-puzzle-skills-header { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:12px; padding:0; margin:0 0 20px; border:0; background:none; color:inherit; }
#progress-dashboard .progress-puzzle-skills-heading { display:flex; align-items:center; gap:10px; min-width:0; }
#progress-dashboard .progress-puzzle-skills-header h2 { font-size:21px; line-height:1.3; margin:0; }
#progress-dashboard .progress-puzzle-skills-art { flex:0 0 32px; width:32px; height:32px; border:0; background:none; transform:none; }
#progress-dashboard .progress-puzzle-skills-art img { width:32px; height:32px; }
#progress-dashboard .progress-puzzle-analyzed { align-self:center; display:flex; align-items:baseline; flex-wrap:wrap; justify-content:flex-end; gap:4px; padding:0; border:0; border-radius:0; background:none; color:var(--muted); font-size:11px; font-weight:500; text-transform:none; }
#progress-dashboard .progress-puzzle-analyzed strong { color:var(--ink); font:700 11px var(--sans); }
#progress-dashboard .dashboard-skills-highlights { display:grid; gap:12px; }
#progress-dashboard .dashboard-skill-focus { display:grid; grid-template-columns:42px minmax(0,1fr) auto; align-items:center; gap:8px 12px; padding:16px; border-radius:12px; background:#fff5ed; }
#progress-dashboard #progress-puzzle-next-label { grid-column:1/-1; margin:0 0 3px; color:#a23e2b; font-size:11px; font-weight:700; }
#progress-dashboard #progress-puzzle-next-icon { width:42px; height:42px; object-fit:contain; }
#progress-dashboard .dashboard-skill-focus-copy { min-width:0; }
#progress-dashboard .dashboard-skill-focus h3 { font-size:18px; line-height:1.3; margin:0 0 3px; overflow-wrap:anywhere; }
#progress-dashboard .dashboard-skill-focus p { margin:0; font-size:12px; line-height:1.6; color:var(--muted); }
#progress-dashboard .dashboard-skill-focus-action,#progress-dashboard .dashboard-skills-signin { display:flex; align-items:center; justify-content:center; gap:6px; min-height:44px; padding:10px 15px; border:0; border-radius:9px; background:var(--brand); color:#281b15; font:700 12px var(--sans); text-decoration:none; box-shadow:0 2px 0 #b24d3b; cursor:pointer; }
#progress-dashboard .dashboard-skill-focus-action:hover,#progress-dashboard .dashboard-skills-signin:hover { filter:brightness(1.05); }
#progress-dashboard .dashboard-skill-focus-action:focus-visible,#progress-dashboard .dashboard-skills-signin:focus-visible { outline:2px solid var(--brand-dark); outline-offset:3px; }
#progress-dashboard .dashboard-skill-focus-progress { grid-column:2/-1; display:flex; align-items:center; gap:10px; margin-top:5px; }
#progress-dashboard .dashboard-skill-focus-progress progress { appearance:none; flex:1; min-width:0; width:100%; height:5px; overflow:hidden; border:0; border-radius:5px; background:#edddd2; }
#progress-dashboard .dashboard-skill-focus-progress progress::-webkit-progress-bar { background:#edddd2; }
#progress-dashboard .dashboard-skill-focus-progress progress::-webkit-progress-value { background:var(--brand); border-radius:5px; }
#progress-dashboard .dashboard-skill-focus-progress progress::-moz-progress-bar { background:var(--brand); border-radius:5px; }
#progress-dashboard #progress-puzzle-next-count { color:var(--muted); font-size:11px; white-space:nowrap; font-variant-numeric:tabular-nums; }
#progress-dashboard .dashboard-skill-strength { display:flex; align-items:center; gap:10px; padding:12px; border-radius:10px; background:#f1f6ed; }
#progress-dashboard .dashboard-skill-strength img { width:32px; height:32px; object-fit:contain; }
#progress-dashboard .dashboard-skill-strength > div { flex:1; min-width:0; font-size:12px; line-height:1.7; }
#progress-dashboard #progress-puzzle-strongest-label { color:#356a50; font-size:12px; margin-right:7px; }
#progress-dashboard #progress-puzzle-strongest-name { font-size:13px; overflow-wrap:anywhere; }
#progress-dashboard #progress-puzzle-strongest-copy { display:flex; align-items:baseline; gap:4px; font-size:14px; white-space:nowrap; font-variant-numeric:tabular-nums; }
#progress-dashboard #progress-puzzle-strongest-copy small { font-size:11px; color:var(--muted); }
#progress-dashboard .dashboard-skills-preview h3 { font:500 11px/1.5 var(--sans); color:var(--muted); margin:20px 0 4px; }
#progress-dashboard .progress-puzzle-skills-card:has(#dashboard-all-skills[open]) .dashboard-skills-preview { display:none; }
#progress-dashboard #dashboard-all-skills { margin:8px 0 0; border:0; }
#progress-dashboard #dashboard-all-skills > summary { min-height:44px; color:#356a50; font-size:12px; padding:12px 0 0; }
#progress-dashboard .progress-puzzle-skills-guest,#progress-dashboard .progress-puzzle-skills-empty { margin:0; padding:0; border:0; background:none; color:var(--muted); font-size:12px; line-height:1.7; }
#progress-dashboard .dashboard-skills-signin { align-self:flex-start; margin-top:16px; }
#progress-dashboard .dashboard-skills-tabs { display:flex; gap:4px; margin:16px 0 4px; padding:4px; border:0; border-radius:9px; background:#f1f6ed; }
#progress-dashboard .dashboard-skills-tabs button { flex:1; min-height:44px; border:0; border-radius:6px; background:transparent; color:var(--muted); font:700 12px var(--sans); cursor:pointer; }
#progress-dashboard .dashboard-skills-tabs button[aria-selected="true"] { background:var(--sheet); color:var(--ink); box-shadow:0 1px 4px #342b241a; }
#progress-dashboard .dashboard-skills-tabs button span { margin-left:4px; font-size:11px; color:var(--muted); }
#progress-dashboard .dashboard-skills-tabs button:focus-visible,#progress-dashboard .dashboard-skill-practice:focus-visible { outline:2px solid var(--brand); outline-offset:2px; }
#progress-dashboard #dashboard-all-skills .progress-puzzle-classification-list { display:grid; grid-template-columns:minmax(0,1fr); margin:0; gap:0; }
#progress-dashboard .dashboard-skill-row { display:grid; grid-template-columns:34px minmax(0,1fr) auto 10px; align-items:center; gap:11px; min-height:64px; box-sizing:border-box; padding:12px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:none; box-shadow:none; color:var(--ink); text-align:left; text-decoration:none; }
#progress-dashboard .dashboard-skill-row:hover { background:#f1f6ed; }
#progress-dashboard .dashboard-skill-icon { width:34px; height:34px; object-fit:contain; }
#progress-dashboard .dashboard-skill-copy { display:grid; gap:3px; min-width:0; }
#progress-dashboard .dashboard-skill-copy > strong { font-size:13px; font-weight:700; line-height:1.35; overflow-wrap:anywhere; }
#progress-dashboard .dashboard-skill-detail { font-size:11px; line-height:1.5; color:var(--muted); }
#progress-dashboard .dashboard-skill-rating { font-size:13px; font-weight:600; white-space:nowrap; font-variant-numeric:tabular-nums; }
#progress-dashboard .dashboard-skill-row.is-building .dashboard-skill-rating { font-size:11px; color:var(--muted); }
#progress-dashboard .dashboard-skill-chevron { color:#356a50; font-size:17px; line-height:1.2; }
#progress-dashboard .dashboard-skill-meter { appearance:none; display:block; width:100%; max-width:140px; height:4px; overflow:hidden; border:0; border-radius:4px; background:var(--line); accent-color:var(--brand); }
#progress-dashboard .dashboard-skill-meter::-webkit-progress-bar { background:var(--line); }
#progress-dashboard .dashboard-skill-meter::-webkit-progress-value { background:var(--brand); border-radius:4px; }
#progress-dashboard .dashboard-skill-meter::-moz-progress-bar { background:var(--brand); border-radius:4px; }
#progress-dashboard .dashboard-skills-details { margin-top:10px; border-top:1px solid var(--line); }
#progress-dashboard .dashboard-skills-details > summary { min-height:44px; padding:12px 0; font-size:11px; color:var(--muted); cursor:pointer; }
#progress-dashboard .dashboard-skills-details h3 { margin:8px 0; font-size:12px; }
#progress-dashboard .dashboard-skills-details p,#progress-dashboard .dashboard-skills-empty { font-size:11px; line-height:1.6; color:var(--muted); }
@media(max-width:1000px) and (min-width:761px),(max-width:480px) {
 #progress-dashboard .progress-puzzle-skills-card { padding:16px; }
 #progress-dashboard .progress-puzzle-skills-header { gap:8px; margin-bottom:16px; }
 #progress-dashboard .progress-puzzle-skills-heading { gap:7px; }
 #progress-dashboard .progress-puzzle-skills-header h2 { font-size:19px; }
 #progress-dashboard .progress-puzzle-skills-art,#progress-dashboard .progress-puzzle-skills-art img { width:28px; height:28px; }
 #progress-dashboard .progress-puzzle-skills-art { flex-basis:28px; }
 #progress-dashboard .dashboard-skill-focus { grid-template-columns:36px minmax(0,1fr); gap:8px 10px; padding:14px; }
 #progress-dashboard #progress-puzzle-next-icon { width:36px; height:36px; }
 #progress-dashboard .dashboard-skill-focus h3 { font-size:17px; }
 #progress-dashboard .dashboard-skill-focus-action { grid-column:1/-1; grid-row:4; width:100%; margin-top:5px; }
 #progress-dashboard .dashboard-skill-focus-progress { grid-column:1/-1; grid-row:3; margin-top:7px; }
 #progress-dashboard .dashboard-skill-strength { padding:10px; }
 #progress-dashboard #progress-puzzle-strongest-label { display:block; font-size:11px; }
 #progress-dashboard #progress-puzzle-strongest-copy { flex-direction:column; align-items:flex-end; gap:0; }
}
@media(max-width:359px) {
 #progress-dashboard .progress-puzzle-skills-header { grid-template-columns:minmax(0,1fr); gap:6px; }
 #progress-dashboard .progress-puzzle-analyzed { justify-content:flex-start; padding-left:35px; }
 #progress-dashboard .dashboard-skill-row { gap:8px; }
}

#progress-dashboard .dashboard-heading > .progress-guest-account { flex:0 0 100%; display:flex; align-items:center; justify-content:space-between; gap:16px; box-sizing:border-box; padding:18px; background:linear-gradient(120deg,#fffaf3,#fff0df); }
#progress-dashboard .dashboard-heading:has(> .progress-guest-account:not([hidden])) { position:sticky; top:12px; z-index:30; align-self:start; }
#progress-dashboard .dashboard-heading:has(> .progress-guest-account[hidden]) { display:none; }
#progress-dashboard .dashboard-summary { grid-column:1 / -1; display:grid; gap:16px; }
#progress-dashboard .dashboard-summary > .dashboard-settings-link { justify-self:start; }
#progress-dashboard .dashboard-heading:has(> .progress-guest-account[hidden]) + .dashboard-summary { grid-row:1 / 3; }
#progress-dashboard .progress-guest-account h2 { font-size:21px; }
#progress-dashboard .progress-guest-account p { margin:6px 0 0; font-size:13px; line-height:1.5; }
#progress-dashboard .progress-guest-account-actions { display:flex; gap:10px; flex-shrink:0; }
#progress-dashboard .progress-guest-account-actions .button { min-height:44px; white-space:nowrap; font-size:13px; }
#progress-dashboard .progress-profile-providers { width:min(100%, 320px); flex-shrink:0; align-self:center; }
#progress-dashboard .progress-profile-providers > p { margin:0; font-size:14px; line-height:1.4; }
#progress-dashboard .progress-profile-providers > .mobile-auth-message { font-size:12px; }
@media(max-width:760px) {
 #progress-dashboard .dashboard-heading > .progress-guest-account { align-items:stretch; flex-direction:column; padding:14px; gap:12px; }
 #progress-dashboard .progress-guest-account-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
 #progress-dashboard .progress-guest-account-actions .button { padding:10px 6px; font-size:12px; min-width:0; }
}

/* Expanded practice reports keep results and Chess DNA in separate views. */
#progress-dashboard .dashboard-mode-open-caption,
#progress-dashboard .dashboard-mode-open-unit { display:none; }
#progress-dashboard .dashboard-mode-row[open] > summary { grid-template-columns:40px minmax(0,1fr) auto 20px; gap:12px; padding:18px; border-bottom:1px solid var(--line); border-radius:12px 12px 0 0; }
#progress-dashboard .dashboard-mode-row[open] > summary > img { width:40px; height:40px; }
#progress-dashboard .dashboard-mode-row[open] .dashboard-mode-summary-copy { grid-column:2; grid-row:1; }
#progress-dashboard .dashboard-mode-row[open] .dashboard-mode-summary-copy strong { font-size:17px; }
#progress-dashboard .dashboard-mode-row[open] .dashboard-mode-open-caption { display:block; margin-top:3px; font-size:11px; font-weight:500; color:var(--muted); }
#progress-dashboard .dashboard-mode-row[open] .dashboard-mode-total { grid-column:3; grid-row:1; margin:0; text-align:right; }
#progress-dashboard .dashboard-mode-row[open] .dashboard-mode-count { font:700 30px/1.15 var(--sans); letter-spacing:-1px; color:var(--ink); }
#progress-dashboard .dashboard-mode-row[open] .dashboard-mode-unit,
#progress-dashboard .dashboard-mode-row[open] .dashboard-mode-latest { display:none; }
#progress-dashboard .dashboard-mode-row[open] .dashboard-mode-open-unit { display:block; font-size:11px; font-weight:500; color:var(--muted); }
#progress-dashboard .dashboard-mode-row[open] .dashboard-mode-chevron { grid-column:4; grid-row:1; align-self:center; transform:rotate(-90deg); }
#progress-dashboard .dashboard-mode-row.is-empty[open] { border:1px solid var(--line); background:var(--sheet,#fffdfa); }
#progress-dashboard .dashboard-mode-row.is-empty[open] > summary { display:grid; }
#progress-dashboard .dashboard-mode-row .dashboard-mode-body { padding:20px; }
#progress-dashboard .dashboard-mode-report-tabs { display:flex; gap:22px; margin:0 0 19px; border-bottom:1px solid var(--line); }
#progress-dashboard .dashboard-mode-report-tabs button { min-height:44px; margin:0 0 -1px; padding:0 0 10px; border:0; border-bottom:2px solid transparent; border-radius:0; background:transparent; box-shadow:none; color:var(--muted); font:700 12px var(--sans); }
#progress-dashboard .dashboard-mode-report-tabs button[aria-selected="true"] { border-bottom-color:var(--brand-dark,#ad4635); color:var(--brand-dark,#ad4635); }
#progress-dashboard .dashboard-mode-report-tabs button:focus-visible { outline:2px solid var(--brand-dark,#ad4635); outline-offset:3px; }
#progress-dashboard .is-puzzle-report .dashboard-mode-report-performance { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; align-items:center; padding:5px 0 10px; }
#progress-dashboard .dashboard-mode-report-score { display:grid; gap:5px; }
#progress-dashboard .dashboard-mode-report-rate { font:700 58px/1.1 var(--sans); letter-spacing:-2.5px; font-variant-numeric:tabular-nums; }
#progress-dashboard .dashboard-mode-report-score > span { font-size:12px; }
#progress-dashboard .dashboard-mode-report-rated { font-size:11px; color:var(--muted); }
#progress-dashboard .dashboard-mode-report-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 24px; margin:0; }
#progress-dashboard .is-puzzle-report .dashboard-mode-report-stats { grid-template-columns:minmax(0,1fr); }
#progress-dashboard .dashboard-mode-report-stats > div { display:flex; align-items:baseline; justify-content:space-between; gap:8px; padding-bottom:9px; border-bottom:1px solid var(--line); min-width:0; }
#progress-dashboard .dashboard-mode-report-stats dt { font-size:12px; color:var(--muted); }
#progress-dashboard .dashboard-mode-report-stats dd { margin:0; font-size:20px; font-weight:700; text-align:right; font-variant-numeric:tabular-nums; }
#progress-dashboard .dashboard-mode-report-meta { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-top:18px; font-size:11px; color:var(--muted); }
#progress-dashboard .dashboard-mode-description { margin:14px 0 0; font-size:11px; }
#progress-dashboard .dashboard-mode-empty { margin:0 0 14px; }
#progress-dashboard .dashboard-mode-report-actions { display:flex; justify-content:flex-end; margin-top:18px; }
#progress-dashboard .dashboard-mode-report-actions > a { font-size:12px; min-height:44px; }
#progress-dashboard .dashboard-mode-body #progress-puzzle-stats { display:block; margin:0; }
#progress-dashboard .dashboard-mode-dna-total { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:0 0 15px; text-align:left; }
#progress-dashboard .dashboard-mode-dna-total strong { font:700 30px/1.15 var(--sans); letter-spacing:-1px; }
#progress-dashboard .dashboard-mode-dna-total > span:last-child { font-size:12px; color:var(--muted); }
#progress-dashboard .dashboard-mode-milestone { padding:13px; margin-bottom:18px; background:var(--paper-strong,#f5f0e9); border-radius:9px; }
#progress-dashboard .dashboard-mode-milestone > div { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:5px 10px; font-size:12px; }
#progress-dashboard .dashboard-mode-milestone #dashboard-level-progress { display:block; width:100%; height:6px; margin:10px 0; border:0; border-radius:9px; overflow:hidden; background:#e2d9cc; accent-color:var(--success,#267844); }
#progress-dashboard .dashboard-mode-milestone > progress::-webkit-progress-bar { background:#e2d9cc; border:0; border-radius:9px; }
#progress-dashboard .dashboard-mode-milestone > progress::-webkit-progress-value { background:var(--success,#267844); border-radius:9px; }
#progress-dashboard .dashboard-mode-milestone > progress::-moz-progress-bar { background:var(--success,#267844); border-radius:9px; }
#progress-dashboard .dashboard-mode-milestone .dashboard-mode-milestone-caption { font-size:11px; color:var(--muted); }
#progress-dashboard .dashboard-mode-domains h4 { margin:0 0 7px; font-size:12px; font-weight:700; }
#progress-dashboard .dashboard-mode-domains #progress-domain-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; }
#progress-dashboard .dashboard-mode-domains .progress-domain-row { display:block; padding:8px 0; margin:0; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; box-shadow:none; }
#progress-dashboard .dashboard-mode-domains .progress-domain-row > div { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0; }
#progress-dashboard .dashboard-mode-domains .progress-domain-row strong { font-size:11px; white-space:nowrap; }
#progress-dashboard .dashboard-mode-domains .progress-domain-row > i { display:none; }
#progress-dashboard .dashboard-mode-domains .point-domain-label { font-size:12px; }
#progress-dashboard .dashboard-mode-domains .point-domain-icon { width:20px; height:20px; flex-basis:20px; }
@media(max-width:760px) {
 #progress-dashboard .dashboard-mode-row[open] > summary { grid-template-columns:34px minmax(0,1fr) auto 16px; gap:8px; padding:14px 12px; }
 #progress-dashboard .dashboard-mode-row[open] > summary > img { width:34px; height:34px; }
 #progress-dashboard .dashboard-mode-row[open] .dashboard-mode-summary-copy strong { font-size:15px; }
 #progress-dashboard .dashboard-mode-row[open] .dashboard-mode-count { font-size:27px; }
 #progress-dashboard .dashboard-mode-row .dashboard-mode-body { padding:17px 14px; }
 #progress-dashboard .is-puzzle-report .dashboard-mode-report-performance { gap:16px; }
 #progress-dashboard .dashboard-mode-report-rate { font-size:48px; }
 #progress-dashboard .dashboard-mode-report-stats { grid-template-columns:minmax(0,1fr); }
 #progress-dashboard .dashboard-mode-report-actions > a { width:100%; }
 #progress-dashboard .dashboard-mode-domains #progress-domain-list { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:380px) {
 #progress-dashboard .dashboard-mode-row[open] > summary { grid-template-columns:30px minmax(0,1fr) auto 12px; gap:5px; padding:12px 9px; }
 #progress-dashboard .dashboard-mode-row[open] > summary > img { width:30px; height:30px; }
 #progress-dashboard .dashboard-mode-row .dashboard-mode-body { padding:14px 12px; }
}

/* Summaries keep the activity and its result on two compact rows. */
 #progress-dashboard .dashboard-mode-row:not([open]):not(.is-empty) > summary { grid-template-columns:28px minmax(0,1fr) auto; gap:6px 7px; padding:12px; }
 #progress-dashboard .dashboard-mode-row:not([open]):not(.is-empty) > summary > img { width:28px; height:28px; }
 #progress-dashboard .dashboard-mode-row:not([open]):not(.is-empty) .dashboard-mode-summary-copy { grid-column:2; grid-row:1; }
 #progress-dashboard .dashboard-mode-row:not([open]):not(.is-empty) .dashboard-mode-latest { grid-column:3; grid-row:1; margin:0; white-space:nowrap; }
 #progress-dashboard .dashboard-mode-row:not([open]):not(.is-empty) .dashboard-mode-latest-full { display:none; }
 #progress-dashboard .dashboard-mode-row:not([open]):not(.is-empty) .dashboard-mode-latest-short { display:inline-flex; align-items:center; gap:4px; font-variant-numeric:tabular-nums; }
 #progress-dashboard .dashboard-mode-latest-short::before { content:''; width:12px; height:12px; flex:none; background:currentColor; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center / contain no-repeat; }
 #progress-dashboard .dashboard-mode-row:not([open]):not(.is-empty) .dashboard-mode-total { grid-column:1/3; grid-row:2; display:flex; align-items:baseline; flex-wrap:wrap; gap:5px; margin:0; }
 #progress-dashboard .dashboard-mode-row:not([open]):not(.is-empty) .dashboard-mode-count { font:700 18px/1.3 var(--sans); letter-spacing:0; }
 #progress-dashboard .dashboard-mode-row:not([open]):not(.is-empty) .dashboard-mode-chevron { grid-column:3; grid-row:2; justify-self:end; align-self:center; }
@media(max-width:760px) {
 #progress-dashboard .dashboard-mode-row:not([open]):not(.is-empty) > summary { grid-template-columns:22px minmax(0,1fr) auto; gap:6px 4px; padding:10px 8px; }
 #progress-dashboard .dashboard-mode-row:not([open]):not(.is-empty) > summary > img { width:22px; height:22px; }
 #progress-dashboard .dashboard-mode-row:not([open]):not(.is-empty) .dashboard-mode-summary-copy strong { font-size:12px; }
 #progress-dashboard .dashboard-mode-row:not([open]):not(.is-empty) .dashboard-mode-latest { font-size:10px; }
 #progress-dashboard .dashboard-mode-row:not([open]):not(.is-empty) .dashboard-mode-latest-short { gap:3px; }
 #progress-dashboard .dashboard-mode-row:not([open]):not(.is-empty) .dashboard-mode-total { grid-column:1/-1; padding-right:12px; gap:4px; }
 #progress-dashboard .dashboard-mode-row:not([open]):not(.is-empty) .dashboard-mode-unit { min-height:0; }
}
@media(max-width:380px) {
 #progress-dashboard .dashboard-mode-cards { grid-template-columns:minmax(0,1fr); }
}

/* Compact account identity and the shared Update account dialog. */
#progress-dashboard .dashboard-settings-heading h2 { margin:0 0 10px; }
#progress-dashboard #dashboard-settings .progress-account-compact { display:flex; align-items:center; gap:10px; min-height:60px; padding:8px 12px; }
#progress-dashboard .progress-account-compact > .progress-avatar { display:grid; place-items:center; flex:none; width:36px; height:36px; }
#progress-dashboard .progress-account-compact .progress-identity-copy { display:grid; flex:1; min-width:0; gap:2px; }
#progress-dashboard .progress-account-compact #progress-player-name { font-size:14px; line-height:1.4; overflow-wrap:anywhere; }
#progress-dashboard .progress-account-compact .progress-access-tier { justify-self:start; margin-top:0; padding:2px 7px; }
#progress-dashboard .progress-account-compact > .button { width:auto; flex:none; min-height:44px; padding:9px 12px; font-size:12px; white-space:nowrap; background:var(--surface,#fffdfa); color:var(--ink); }
#progress-dashboard #account-settings-card { margin:0; padding:0; }
#progress-dashboard #settings-status:empty { display:none; }
#progress-dashboard #settings-status { margin:10px 0 0; font-size:12px; }
#progress-dashboard #settings-pending-notice { margin-top:10px; text-align:left; font-size:12px; }
body.view-progress #account-settings-dialog { position:fixed; inset:0 0 var(--account-keyboard-offset,0px); width:min(400px,calc(100vw - 24px)); max-width:calc(100vw - 24px); max-height:calc(var(--account-visible-height,100dvh) - 24px); margin:auto; padding:14px; border-radius:12px; }
body.view-progress #account-settings-dialog .account-dialog-head { padding:0; margin:0 0 8px; border:0; align-items:center; }
#account-settings-dialog .account-dialog-head h2 { font:700 20px/1.2 var(--sans); letter-spacing:-.7px; }
#account-settings-dialog .account-dialog-head .account-close { position:static; flex:none; min-width:44px; min-height:44px; }
#account-settings-dialog .account-update-tabs { display:flex; width:max-content; max-width:100%; gap:2px; padding:2px; margin:0 auto 10px; border:0; background:#f1ede6; border-radius:8px; box-shadow:none; }
#account-settings-dialog .account-update-tabs button { flex:none; min-width:0; min-height:28px; margin:0; padding:4px 8px; border:0; border-radius:5px; background:transparent; box-shadow:none; color:#68625a; font:700 12px/1.4 var(--sans); white-space:nowrap; transform:none; }
#account-settings-dialog .account-update-tabs button[aria-selected="true"] { color:#335c46; background:var(--surface,#fffdfa); }
#account-settings-dialog .account-update-tabs button:hover:not(:disabled):not([aria-selected="true"]) { background:#e8e2d8; }
#account-settings-dialog .account-form { padding:0; gap:10px; }
#account-settings-dialog .account-form label { gap:4px; }
#account-settings-dialog .account-form label > span:first-child { font-size:12px; text-transform:none; letter-spacing:0; }
#account-settings-dialog .account-form label small,#account-settings-dialog #settings-intro,#account-settings-dialog #settings-email-help,#account-settings-dialog #settings-current-email { font-size:11px; line-height:1.6; color:#726b61; overflow-wrap:anywhere; }
#account-settings-dialog input { font-family:var(--sans); }
#account-settings-dialog .account-update-profile { display:grid; grid-template-columns:56px minmax(0,1fr); align-items:start; gap:10px; }
#account-settings-dialog .account-update-photo { display:grid; justify-items:center; gap:0; }
#account-settings-dialog .account-update-photo .progress-avatar { width:46px; height:46px; }
#account-settings-dialog .account-update-username { min-width:0; }
#account-settings-dialog .account-photo-upload { position:relative; display:flex; align-items:center; justify-content:center; width:56px; min-height:44px; color:#365f50; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
#account-settings-dialog .account-photo-upload input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
#account-settings-dialog .account-photo-upload:focus-within { outline:2px solid var(--green,#365f50); outline-offset:3px; border-radius:4px; }
#account-settings-dialog .account-update-actions { display:grid; grid-template-columns:1fr 1.5fr; gap:10px; }
#account-settings-dialog .account-update-actions .button { min-width:0; min-height:44px; padding:10px 8px; font-size:12px; }
#account-settings-dialog .account-update-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid var(--line); margin-top:12px; padding-top:8px; font-size:11px; color:#726b61; }
#account-settings-dialog .account-update-footer button { min-height:44px; }
#account-settings-dialog #progress-account-action { border:0; box-shadow:none; text-decoration:none; }
#account-settings-dialog .account-pending-email { margin:0 0 10px; padding:10px 0; font-size:12px; overflow-wrap:anywhere; }
#account-settings-dialog :focus-visible { outline:2px solid var(--green,#365f50); outline-offset:3px; }
@media(max-width:350px) {
 #progress-dashboard #dashboard-settings .progress-account-compact { gap:8px; padding:8px 9px; }
 #progress-dashboard .progress-account-compact #progress-player-name { font-size:12px; }
 #progress-dashboard .progress-account-compact > .button { padding:9px; font-size:11px; }
}

#account-settings-dialog .account-photo-upload > span { font:700 12px/1.4 var(--sans); letter-spacing:0; text-transform:none; }
