.progress-story,.story-admin,.story-start{--story-purple:#594495;--story-ink:#27243d;--story-muted:#656171;--story-line:#ddd9e5;color:var(--story-ink);font-size:1rem;line-height:1.6}.progress-story{margin:28px 0 42px}.story-eyebrow{color:#594495;letter-spacing:.04em;margin-bottom:8px;font-size:.875rem;font-weight:700;display:block}.story-heading h2{font-size:clamp(1.8rem,4vw,2.6rem)}.story-heading>p,.story-muted{color:var(--story-muted,#656171);font-size:.9375rem}.story-goal{background:#ece7f5;border:1px solid #dcd3ea;border-radius:22px;padding:clamp(22px,4vw,36px);scroll-margin-top:24px}.story-goal blockquote{color:#39265e;overflow-wrap:anywhere;margin:14px 0 18px;font-family:Georgia,serif;font-size:clamp(1.5rem,3.5vw,2.1rem);line-height:1.45}.story-goal blockquote.story-original{font-size:1.125rem}.story-goal-edit{border-top:1px solid #cfc3df;margin-top:16px;padding-top:16px}.progress-story summary,.story-admin summary,.story-start summary{cursor:pointer;padding:10px 0;font-size:.9375rem;font-weight:600}.story-form{gap:12px;display:grid}.story-form>label{font-size:1.125rem;font-weight:700}.story-form>p{margin:0}.story-form textarea{width:100%;min-height:112px;font:inherit;color:#27243d;resize:vertical;background:#fff;border:1px solid #bfb5ce;border-radius:12px;padding:14px;line-height:1.6}.story-form>button{justify-self:start}.story-form button:disabled{opacity:.65;cursor:wait}.story-suggestion{text-align:left;cursor:pointer;color:#39265e;font:inherit;background:#faf8fd;border:1px dashed #b4a4c8;border-radius:12px;gap:6px;padding:14px;display:grid}.story-suggestion span{font-size:.875rem;font-weight:700}.story-suggestion q{font-size:1rem}.story-period,.story-wins,.story-notes{border:1px solid var(--story-line);background:#fff;border-radius:20px;margin-top:28px;padding:26px}.story-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0;display:grid}.story-totals div{border-left:3px solid #b9e5dc;flex-direction:column-reverse;align-items:flex-start;padding-left:16px;display:flex}.story-totals dt{color:#656171;font-size:.875rem}.story-totals dd{color:#39265e;margin:0;font-size:2rem;font-weight:700}.story-reflections{margin-top:24px}.story-reflection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.story-reflection-grid article{background:#f7f8f7;border-radius:14px;padding:20px}.story-words{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1rem;line-height:1.75}.story-remove{flex-wrap:wrap;align-items:center;gap:12px;font-size:.875rem;display:flex}.story-remove button{color:#594495;cursor:pointer;min-height:40px;font:inherit;background:0 0;border:0;padding:8px 0;text-decoration:underline}.story-success{color:#254b38;background:#e3f1e9;border-radius:12px;padding:16px}.story-error{color:#842f3d;background:#fff1f1;border-radius:12px;padding:12px}.story-recap{background:#f6f3fa;border:1px solid #ddd4eb;border-radius:18px;margin:20px 0;padding:clamp(20px,4vw,30px)}.story-byline{align-items:center;gap:14px;margin-bottom:22px;display:flex}.story-avatar{color:#fff;background:#594495;border-radius:50%;flex-shrink:0;place-items:center;width:46px;height:46px;font-family:Georgia,serif;font-size:1.5rem;display:grid}.story-byline strong,.story-byline div>span{display:block}.story-byline div>span{color:#656171;font-size:.875rem}.story-recap-goal{border-left:3px solid #b9e5dc;padding-left:14px;font-size:.9375rem}.story-recap details{border-top:1px solid #ddd4eb;padding-top:8px}.story-older-win{border-bottom:1px solid var(--story-line);padding:20px 0}.story-today{background:#ece7f5;border:1px solid #dcd3ea;border-radius:20px;justify-content:space-between;align-items:center;gap:22px;margin:8px 0 26px;padding:24px;text-decoration:none;display:flex}.story-today strong{color:#39265e;overflow-wrap:anywhere;font-family:Georgia,serif;font-size:1.25rem;display:block}.story-today p{color:#656171;margin:8px 0 0;font-size:.9375rem}.story-today>span{font-size:1.6rem}.story-admin-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.story-admin .story-goal{margin-bottom:24px}.story-admin .story-recap{margin-top:0}.story-person{background:#fff;border:1px solid #ddd9e5;border-radius:16px;padding:22px;text-decoration:none;display:block}.story-person h2{font-size:1.25rem}.story-person-list{gap:14px;display:grid}.story-person-meta{color:#656171;flex-wrap:wrap;gap:12px;font-size:.875rem;display:flex}.story-admin h1{font-size:clamp(2rem,5vw,3rem)}.story-admin h2{font-size:1.5rem}.story-admin h3{font-size:1.2rem}.story-admin .story-form{background:#fff;border:1px solid #ddd9e5;border-radius:18px;padding:24px}.story-admin .story-form .button-row{margin:0}.story-review{background:#fff;border:2px solid #b9e5dc;border-radius:18px;padding:24px}.story-start{max-width:1000px;margin:auto;padding:28px}.story-start header{justify-content:space-between;align-items:center;gap:18px;padding-bottom:28px;display:flex}.story-start h1{max-width:720px;font-size:clamp(2rem,5vw,3.4rem);line-height:1.1}.story-start-intro{padding:28px 0 8px}.story-start fieldset{border:0;margin:22px 0;padding:0}.story-start legend{margin-bottom:12px;font-weight:700}.story-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.story-choice{cursor:pointer;background:#fff;border:1px solid #c9c1d7;border-radius:14px;align-items:center;gap:12px;padding:18px;display:flex}.story-choice:has(input:checked){background:#ece7f5;border-color:#594495}.story-choice input{accent-color:#594495;flex-shrink:0;width:18px;height:18px}.story-first-week{background:#fff;border:1px solid #ddd9e5;border-radius:22px;margin:26px 0;padding:clamp(22px,4vw,36px)}.story-first-week h2{font-size:1.8rem}.story-week-steps{padding-left:22px}.story-week-steps li{padding:10px 0 12px 8px}.story-week-steps strong{display:block}.story-week-steps p{margin:6px 0}.progress-story :focus-visible,.story-admin :focus-visible,.story-start :focus-visible,.story-today:focus-visible{outline-offset:4px;outline:3px solid #594495}@media (max-width:650px){.story-reflection-grid,.story-admin-grid,.story-choices{grid-template-columns:1fr}.story-period,.story-wins,.story-notes{padding:20px}.story-totals{gap:10px}.story-totals div{padding-left:10px}.story-totals dd{font-size:1.7rem}.story-start{padding:20px}.story-start header{flex-wrap:wrap}}@media (max-width:360px){.story-totals{grid-template-columns:1fr}}
