.pl-progress{display:flex;flex-direction:column;gap:6px;margin:4px 0 0}.pl-progress-track{position:relative;height:8px;border-radius:var(--r-pill);background:var(--accent-soft);overflow:hidden}.pl-progress-fill{height:100%;border-radius:var(--r-pill);background:var(--accent);transition:width .15s ease-out}.pl-progress-label{font-size:13px;font-weight:500;color:var(--muted)}.pl-chapters{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.pl-chapter{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 14px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--card);color:var(--ink);font-size:14px;font-weight:700;text-decoration:none;transition:background-color .12s ease-out,border-color .12s ease-out}.pl-chapter:hover{border-color:var(--accent);background:var(--accent-soft)}.pl-chapter:focus-visible,.pl-missed-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.pl-chapter-read{border-color:var(--accent-soft);background:var(--accent-soft);color:var(--accent-text)}.pl-check{font-size:12px;font-weight:800;color:var(--accent-text)}.pl-note{margin:0;font-size:14px;line-height:1.5;color:var(--muted)}.pl-dash{gap:12px}.pl-dash-day{margin:0;font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--ink)}.pl-dash-foot{display:flex;margin-top:auto;padding-top:4px}.pl-dash-invite-body{margin:0;font-size:15px;line-height:1.5;color:var(--muted)}.pl-dash-invite-link{align-self:flex-start;margin-top:auto}.pl-section{max-width:1100px;margin:0 auto 28px}.pl-section-title{margin:0 0 12px;font-size:20px;font-weight:800;letter-spacing:-.02em;color:var(--ink)}.pl-load-error{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}.pl-current-plan{max-width:760px;gap:12px}.pl-current-plan>.db-card-head{margin-bottom:-4px}.pl-card-name{margin:0;font-size:20px;font-weight:800;letter-spacing:-.02em;line-height:1.25;color:var(--ink)}.pl-today{display:flex;flex-direction:column;gap:8px}.pl-subhead{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:6px 0 0;font-size:15px;font-weight:800;color:var(--ink)}.pl-done-badge{display:inline-flex;align-items:center;min-height:24px;padding:0 10px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-text);font-size:12px;font-weight:700}.pl-catch-up{display:flex;flex-direction:column;gap:6px;margin-top:4px;padding:14px 16px;border-radius:var(--r-md);background:var(--raised)}.pl-catch-up .pl-subhead{margin:0}.pl-missed{display:flex;flex-direction:column;gap:2px;margin:0;padding:0;list-style:none}.pl-missed-link{display:flex;align-items:center;gap:12px;min-height:36px;margin:0 -8px;padding:4px 8px;border-radius:10px;color:var(--ink);font-size:14px;font-weight:600;text-decoration:none}.pl-missed-link:hover{background:var(--card)}.pl-missed-link:hover span:last-child{color:var(--accent-text)}.pl-missed-day{flex:none;min-width:60px;font-size:13px;font-weight:700;color:var(--muted)}.pl-catalog{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:16px;gap:16px;margin:0;padding:0;list-style:none}.pl-card{gap:8px}.pl-card-description{flex:1 1;margin:0;font-size:14px;line-height:1.5;color:var(--muted)}.pl-card-foot{display:flex;justify-content:flex-start;margin-top:auto;padding-top:8px}.pl-current{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-text);font-size:13px;font-weight:700}@media (max-width:720px){.pl-chapter,.pl-missed-link{min-height:44px}.pl-dash-day{font-size:20px}}