.practiceLab { max-width:720px; margin:90px auto 0; padding:42px; border:2px solid var(--ink); background:var(--paper); box-shadow:8px 8px 0 var(--accent); }
.practiceLab>header>span,.practiceNote>span { color:var(--accent); font:9px var(--mono); letter-spacing:.16em; }
.practiceLab>header h2 { margin:12px 0 8px; font-size:36px; }
.practiceLab>header p { margin:0; color:var(--muted); }
.habitExplore { margin:34px 0; }
.habitExplore .practiceNote textarea { min-height:110px; }
.practiceNote { display:block; }
.practiceNote textarea { width:100%; min-height:160px; margin-top:12px; padding:16px; border:1px solid var(--line); background:var(--bg); color:var(--ink); font:16px/1.8 var(--serif); resize:vertical; }
.singlePractice { margin-top:34px; }
.singlePractice textarea { min-height:260px; }
.practiceNote small { display:block; margin-top:6px; color:var(--muted); font-size:11px; text-align:right; }
.speakTimer { display:grid; place-items:center; gap:24px; min-height:300px; margin-top:34px; padding:26px; background:var(--ink); color:var(--paper); }
.breathStepLabel { color:var(--accent); font:10px var(--mono); letter-spacing:.12em; text-align:center; }
.breathVisual { display:grid; place-items:center; align-content:center; gap:8px; width:168px; aspect-ratio:1; margin:auto; padding:0; border:1px solid rgba(255,250,240,.35); border-radius:50%; background:var(--accent); color:var(--paper); box-shadow:0 0 0 12px rgba(229,104,57,.08); cursor:pointer; transform:scale(.68); transition:transform 3s linear, box-shadow 3s linear; }
.breathVisual span { color:var(--paper); font:700 25px var(--serif); letter-spacing:.08em; }
.breathVisual b { color:var(--paper); font:700 68px/1 var(--mono); }
.breathVisual:focus-visible { outline:3px solid var(--paper); outline-offset:7px; }
.breathVisual.is-inhaling { transform:scale(1); box-shadow:0 0 0 28px rgba(229,104,57,.12); }
.breathVisual.is-exhaling { transform:scale(.58); box-shadow:0 0 0 12px rgba(229,104,57,.08); }
.cardExport { display:flex; align-items:center; gap:14px; margin-top:18px; }
.cardExport button { padding:12px 18px; border:1px solid var(--ink); background:var(--ink); color:var(--paper); cursor:pointer; }
.cardExport button:hover { background:var(--accent); border-color:var(--accent); }
.cardExport small { color:var(--muted); font-size:11px; }
@media(max-width:760px){.practiceLab{margin-top:65px;padding:27px 22px}.practiceLab>header h2{font-size:30px}.speakTimer{min-height:230px;padding:24px 20px}}
@media(max-width:520px){.cardExport{align-items:stretch;flex-direction:column}.cardExport button{width:100%}}
@media(prefers-reduced-motion:reduce){.breathVisual{transition-duration:.01ms}}
