/* Reduce stress page: breathing flower, Schulte grid, follow-the-light canvas, today panel */
.calm-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:18px;align-items:start}
@media (max-width:920px){.calm-grid{grid-template-columns:1fr}}
.cm-tabs{display:flex;gap:4px;background:var(--surface2);border-radius:14px;padding:4px;margin-bottom:18px;overflow-x:auto;scrollbar-width:none}
.cm-tabs button{flex:1 0 auto;display:flex;align-items:center;justify-content:center;gap:8px;font:600 14px var(--body);border:0;border-radius:11px;padding:10px 14px;background:transparent;color:var(--muted);cursor:pointer;transition:background .25s,color .25s,box-shadow .25s;white-space:nowrap}
.cm-tabs button .ic{width:18px;height:18px}
.cm-tabs button[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px var(--shadow),0 0 0 1px var(--line)}
.cm-tabs button[aria-selected="true"] .ic{color:var(--calm)}
/* breathe */
.bre-stage{position:relative;width:min(100%,360px);aspect-ratio:1;margin:0 auto}
.bre{width:100%;height:100%;overflow:visible}
.bre-track{fill:none;stroke:var(--empty);stroke-width:6}
.bre-prog{fill:none;stroke:var(--calm);stroke-width:6;stroke-linecap:round;transform:rotate(-90deg);transition:stroke-dashoffset .3s linear}
#b-flower{--s:.42;--o:0;transform:rotate(calc(var(--o) * 60deg));transform-origin:0 0}
.petal{fill:var(--pc);opacity:calc(.32 + var(--o) * .3);mix-blend-mode:multiply;transform:rotate(var(--a)) translate(0,calc(var(--s) * -58px)) scale(calc(.55 + var(--s) * .55));transform-box:view-box}
:root[data-theme-eff="dark"] .petal{mix-blend-mode:screen}
.bre-label{position:absolute;inset:0;display:grid;place-content:center;text-align:center;pointer-events:none}
.bre-label b{font:900 clamp(26px,5vw,36px) var(--display);text-transform:uppercase;letter-spacing:.04em;color:var(--ink);text-shadow:0 2px 14px var(--surface)}
.bre-label span{font:900 54px var(--display);color:var(--ink);opacity:.75;font-variant-numeric:tabular-nums;line-height:1;min-height:54px}
.cm-controls{display:grid;gap:16px;margin-top:16px}
.cm-controls.row{grid-template-columns:auto repeat(3,minmax(0,1fr));align-items:end;margin:0 0 16px}
@media (max-width:560px){.cm-controls.row{grid-template-columns:repeat(3,minmax(0,1fr))}.cm-controls.row>div:first-child{grid-column:1/-1}}
.cm-controls .hint{margin-top:8px}
.cm-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.big-btn{padding:14px 34px;font-size:16px;border-radius:999px}
/* schulte grid */
.gstat{background:var(--surface2);border-radius:14px;padding:8px 12px;min-width:0}
.gstat span{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.gstat b{font:900 24px var(--display);font-variant-numeric:tabular-nums;color:var(--calm)}
.schulte{position:relative;display:grid;grid-template-columns:repeat(var(--n),1fr);gap:8px;width:min(100%,460px);margin:0 auto;aspect-ratio:1}
.cell{font:800 clamp(20px,4.6vw,34px) var(--display);border:0;border-radius:16px;background:var(--surface2);color:var(--ink);cursor:pointer;font-variant-numeric:tabular-nums;transition:transform .15s,background .3s,color .3s;-webkit-tap-highlight-color:transparent}
.cell:hover{background:var(--hover)}
.cell:active{transform:scale(.94)}
.cell.hit{background:hsl(var(--h) 70% 55% / .22);color:hsl(var(--h) 60% 45%);transform:scale(.96)}
:root[data-theme-eff="dark"] .cell.hit{color:hsl(var(--h) 80% 70%)}
.cell.miss{animation:shake .35s}
@keyframes shake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.schulte .fix{position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--calm);box-shadow:0 0 0 5px color-mix(in srgb,var(--calm) 25%,transparent);pointer-events:none}
.schulte.won .cell{animation:glow 1.2s ease}
@keyframes glow{40%{box-shadow:0 0 0 3px color-mix(in srgb,var(--calm) 50%,transparent)}}
/* follow the light */
.follow-wrap{position:relative;border-radius:20px;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,color-mix(in srgb,var(--calm) 10%,var(--surface2)),var(--surface2))}
#f-cv{display:block;width:100%;height:min(62vh,440px);touch-action:none;cursor:crosshair}
.f-hud{position:absolute;inset:12px 14px auto;display:flex;justify-content:space-between;font:700 13px var(--body);color:var(--muted);pointer-events:none;font-variant-numeric:tabular-nums}
.f-over{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;text-align:center;padding:20px;background:color-mix(in srgb,var(--surface) 55%,transparent);backdrop-filter:blur(3px)}
.f-over p{max-width:40ch;margin:0;font-size:15px}
/* today panel */
.switch{position:relative;width:52px;height:32px;border-radius:99px;border:0;background:var(--empty);cursor:pointer;transition:background .25s;flex:0 0 auto}
.switch i{position:absolute;top:3px;inset-inline-start:3px;width:26px;height:26px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.25);transition:inset-inline-start .25s cubic-bezier(.3,1.4,.5,1)}
.switch[aria-checked="true"]{background:var(--good)}
.switch[aria-checked="true"] i{inset-inline-start:23px}
.cm-row{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--surface2);border-radius:14px;padding:10px 12px}
.cm-row .lab{display:flex;align-items:center;gap:6px}
.cm-row .ic{width:16px;height:16px}
#cm-streak{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--gold)}
#cm-help{display:flex;gap:10px;font-size:13px;color:var(--muted);margin:0;line-height:1.45}
#cm-help .ic{color:var(--sugar);flex:0 0 auto;margin-top:1px}
/* dim the world while a session runs */
body.calm-on .site-h,body.calm-on .intro,body.calm-on .crumbs,body.calm-on .content,body.calm-on .foot{opacity:.25;transition:opacity 1.2s}
body .site-h,body .intro,body .content,body .foot,body .today{transition:opacity .6s}
.cell.mid{box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--calm) 55%,transparent)}
@media (max-width:480px){.cm-tabs button{flex:1 1 0;min-width:0;flex-direction:column;gap:3px;font-size:12px;padding:8px 4px;white-space:normal;text-align:center;line-height:1.2}}
