.reflection-section{position:relative;overflow:hidden;background:linear-gradient(150deg,#123b42 0%,#176d70 48%,#214d54 100%);color:#fff}
.reflection-section:before{content:"";position:absolute;inset:-30% auto auto -16%;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(245,196,105,.22),transparent 68%);pointer-events:none}.reflection-heading{position:relative}.reflection-heading h2,.reflection-heading p{color:#fff}.reflection-heading p{opacity:.84}
.reflection-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.reflection-card{display:flex;flex-direction:column;min-width:0;padding:28px;border:1px solid rgba(255,255,255,.2);border-radius:30px;background:rgba(255,255,255,.96);color:var(--ink);box-shadow:0 22px 60px rgba(3,30,35,.25)}
.reflection-number{color:var(--gold);font-weight:900;letter-spacing:.14em}.reflection-card h3{margin:12px 0 8px;color:var(--mulberry);font-family:Georgia,serif;font-size:clamp(1.55rem,2.2vw,2rem);line-height:1.1}.reflection-card>p{color:var(--muted);font-size:.9rem}
.mirror-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:16px 0}.mirror-step{min-height:44px;padding:8px 4px;border:1px solid var(--line);border-radius:12px;background:var(--linen);color:var(--muted);font:inherit;font-size:.7rem;font-weight:900;cursor:pointer}.mirror-step.active{border-color:var(--teal);background:var(--teal);color:#fff}.mirror-panel,.reset-detail,.carry-result{min-height:160px;padding:18px;border-radius:20px;background:linear-gradient(145deg,#edf8f5,#fff8e8)}.mirror-panel h4,.reset-detail h4,.carry-result strong{display:block;margin:0 0 8px;color:var(--mulberry);font-family:Georgia,serif;font-size:1.25rem}.mirror-panel p,.reset-detail p,.carry-result p{margin:0;color:var(--muted)}
.reflection-label{display:grid;gap:7px;margin-top:14px;color:var(--mulberry);font-size:.76rem;font-weight:900}.reflection-label textarea{width:100%;resize:vertical;padding:13px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--ink);font:inherit;line-height:1.5}.reflection-label textarea:focus,.carry-fields select:focus{outline:3px solid rgba(7,156,167,.25);border-color:var(--teal)}
.reflection-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:17px}.reflection-actions .button{min-height:44px;padding:9px 14px;font-size:.74rem}.reflection-message{min-height:1.4em;margin:9px 0 0;color:var(--crimson-dark);font-size:.75rem;font-weight:800}
.reset-progress{height:10px;margin:15px 0 5px;overflow:hidden;border-radius:999px;background:#e1e9e5}.reset-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--gold));transition:width .25s ease}.reset-count{margin:0 0 10px!important;font-size:.72rem!important;font-weight:900}.reset-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:12px}.reset-day{aspect-ratio:1;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--muted);font:inherit;font-size:.7rem;font-weight:900;cursor:pointer}.reset-day.active{border-color:var(--teal);box-shadow:0 0 0 3px rgba(7,156,167,.16)}.reset-day.complete{background:var(--teal);color:#fff}
.carry-fields{display:grid;gap:11px;margin:16px 0}.carry-fields label{display:grid;gap:6px;color:var(--mulberry);font-size:.72rem;font-weight:900}.carry-fields select{width:100%;padding:11px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);font:inherit}.carry-result{display:grid;align-content:center}.carry-result .carry-line{font-family:Georgia,serif;font-size:1.35rem;line-height:1.35;color:var(--mulberry)}
@media(max-width:1050px){.reflection-grid{grid-template-columns:1fr 1fr}.carry-card{grid-column:1/-1}}
@media(max-width:700px){.reflection-grid{grid-template-columns:1fr}.carry-card{grid-column:auto}.reflection-card{padding:21px;border-radius:22px}.reflection-actions{display:grid}.reflection-actions .button{width:100%}.mirror-steps{grid-template-columns:1fr 1fr}.reset-days{gap:4px}.reset-day{min-height:38px;aspect-ratio:auto}.mirror-panel,.reset-detail,.carry-result{min-height:0}}
@media(prefers-reduced-motion:reduce){.reset-progress span{transition:none}}
@media print{.reflection-actions,.mirror-steps,.reset-days{display:none!important}.reflection-section{background:#fff;color:#000}.reflection-card{box-shadow:none}}
