.practice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:18px}
.practice-tile{border:1px solid var(--line,#e7dce5);border-radius:18px;padding:22px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;background:var(--surface,#fff)}
.practice-tile h3{font-size:20px;line-height:1.3;overflow-wrap:anywhere}.practice-tile p{color:var(--muted,#756570);line-height:1.65;flex:1;margin:0}.practice-tile .btn{margin-top:5px}.practice-tile.featured{border:0;padding:2px 0;background:transparent}
.next-practice .eyebrow,.progress-card .eyebrow{color:var(--rose);margin-bottom:10px}.why{margin:22px 0 10px}
.progress-card{background:linear-gradient(125deg,#fff 40%,#f5edf3)}.progress-top{display:flex;justify-content:space-between;align-items:center;gap:18px}.progress-top p{margin:10px 0}.progress-number{font-size:46px;font-weight:650;white-space:nowrap;color:#58364b}.progress-number small{font-size:20px;font-weight:400;color:#766273}
progress{display:block;width:100%;height:10px;border:0;border-radius:10px;background:#eae0e7;accent-color:#a75579;margin:18px 0}progress::-webkit-progress-bar{background:#eae0e7;border-radius:10px}progress::-webkit-progress-value{background:#a75579;border-radius:10px}progress::-moz-progress-bar{background:#a75579;border-radius:10px}
.week-dots{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin:20px 0}.day-dot{text-align:center;display:grid;justify-items:center;gap:7px;color:#766570;font-size:12px}.day-dot b{display:grid;place-items:center;border-radius:50%;width:36px;height:36px;background:#eee9ed;font-size:18px;font-weight:500}.day-dot.done b{background:#664458;color:#fff}.day-dot.paused b{border:1px dashed #80647a;background:transparent}
.progress-card>.actions{margin:16px 0}.library-toolbar{display:grid;grid-template-columns:2fr 1fr;gap:18px;margin:24px 0 4px}.practice-steps{padding-left:25px;margin:24px 0}.practice-steps li{padding-left:8px;margin:0 0 18px;line-height:1.7}.practice-steps li::marker{font-weight:700;color:#a75579}
.when-options,.feedback-options{border:0;padding:0;margin:20px 0;display:flex;flex-wrap:wrap;gap:10px}.when-options legend,.feedback-options legend{font-weight:600;margin-bottom:12px}.when-options label{display:flex;align-items:center;gap:8px;min-height:48px;border:1px solid #d6c6d1;border-radius:12px;padding:8px 12px}.when-options input{min-height:0;width:18px;height:18px;accent-color:#76465d}.when-options label:has(input:checked),.feedback-options [aria-pressed=true],.notice-choices [aria-pressed=true]{background:#efe1e9;border-color:#8c5773;color:#442039}
.deep-answer,.content-note{border:1px solid #e2d6df;border-radius:14px;padding:16px 18px;margin:18px 0}.deep-answer summary,.content-note summary{cursor:pointer;font-weight:600;min-height:32px;line-height:1.6}.deep-answer[open] summary,.content-note[open] summary{margin-bottom:16px}.deep-answer p,.content-note p{margin-top:12px;line-height:1.65}.deep-answer textarea{min-height:110px}
.occurrence-row{display:flex;gap:18px;justify-content:space-between;align-items:center;padding:21px 0;border-bottom:1px solid #e9dfe6}.occurrence-row h3{margin:10px 0 7px;overflow-wrap:anywhere}.occurrence-row>div{min-width:0}.occurrence-row>.btn{flex-shrink:0}.history-time{margin:9px 0 18px}.occurrence-meta p{margin:14px 0}.practice-actions{margin:20px 0}.completion-note{display:flex;gap:16px;border-radius:16px;padding:20px;background:#eff4ed;margin:24px 0}.completion-note>svg{flex:0 0 25px}.completion-note p{margin-top:8px}
.notice-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}.notice-choices .btn{white-space:normal;text-align:left;justify-content:flex-start}.notice-reflection{border-top:1px solid #e7dce5;padding-top:24px}.notice-reflection h3{line-height:1.5}.notice-reflection .field{margin-top:18px}.notice-reflection .quote{white-space:pre-wrap}.notice-reflection .muted{margin-top:12px}
.growth-settings{margin:0 0 28px}.growth-settings h2+p{margin:12px 0 24px}.settings-checks{display:grid;gap:18px;margin:20px 0}.settings-checks input{flex:0 0 20px}.settings-checks small{color:#756570;line-height:1.6}.growth-settings .small{margin:12px 0 20px;line-height:1.65}.growth-settings form>.btn{margin-right:10px}.milestones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:22px}.milestone{padding:18px;border:1px solid #e7dce5;border-radius:16px;text-align:center}.milestone>span{display:block;font-size:32px;color:#b1a5ae;margin-bottom:10px}.milestone.earned{background:#fff6e5;border-color:#ead1a4}.milestone.earned>span{color:#8b6c2f}.milestone strong{display:block;line-height:1.4}.milestone p{margin-top:8px}
.stamp-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px;margin:28px 0;max-width:600px}.stamp{aspect-ratio:1;display:grid;place-items:center;border:1px dashed #bb9daf;border-radius:50%;font-size:22px;color:#8d7584}.stamp.earned{background:#664458;color:white;border-style:solid}.survey-progress>span{font-weight:600}.survey-progress{margin-bottom:24px}.gentle-reminder{display:flex;align-items:center;gap:16px;justify-content:space-between;margin-bottom:22px;padding:12px 18px;background:#f4eef2;border-radius:14px}.content-note a{color:#6f3555;text-decoration:underline}.growth-settings .field select,.library-toolbar select{width:100%;min-width:0}
@media(max-width:650px){.milestones{grid-template-columns:1fr}.milestone{text-align:left;display:grid;grid-template-columns:36px 1fr;gap:8px 14px}.milestone>span{grid-row:span 2;margin:0}.milestone p{margin:0}.library-toolbar{grid-template-columns:1fr}.library-toolbar .field{margin-bottom:0}.stamp-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:360px}.notice-choices{grid-template-columns:1fr}.progress-top{align-items:flex-start;flex-direction:column}.progress-number{font-size:38px}.gentle-reminder,.occurrence-row{align-items:flex-start;flex-direction:column}.practice-grid{grid-template-columns:1fr}}
@container panel (max-width:360px){.week-dots{gap:3px}.day-dot b{width:29px;height:29px}.notice-choices{grid-template-columns:1fr}.when-options{flex-direction:column}.feedback-options{flex-direction:column}.progress-top{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){progress{transition:none}}
