:root{--bg:#edf3f0;--bg-glow-a:#89b8ad59;--bg-glow-b:#d9e7e000;--ink:#1f3833;--ink-soft:#4a6a62;--ink-faint:#7e9891;--accent:#59867c;--orb-core:#59867c47;--orb-edge:#59867c8c;--ring:#59867c38;--btn-bg:#1f38330f;--btn-bg-hover:#1f38331f;--btn-border:#1f38332e}@media (prefers-color-scheme:dark){:root{--bg:#0d1a1c;--bg-glow-a:#3c6e6447;--bg-glow-b:#0d1a1c00;--ink:#d9e6e2;--ink-soft:#9cb8b0;--ink-faint:#5f7c75;--accent:#8fbfb4;--orb-core:#8fbfb424;--orb-edge:#8fbfb480;--ring:#8fbfb429;--btn-bg:#d9e6e20f;--btn-bg-hover:#d9e6e221;--btn-border:#d9e6e233}}*{box-sizing:border-box;margin:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Jost,Avenir Next,Segoe UI,sans-serif;font-weight:300;overflow:hidden}.breathing{justify-content:center;align-items:center;height:100%;display:flex;position:relative}.breathing .sky{background:radial-gradient(ellipse 90% 70% at 50% 42%, var(--bg-glow-a), var(--bg-glow-b) 70%);pointer-events:none;position:fixed;inset:0}.breathing main{text-align:center;flex-direction:column;align-items:center;gap:clamp(1.2rem,3.5vh,2.4rem);padding:4.5rem 1.5rem 2rem;display:flex;position:relative}@media (width<=600px){.breathing main{padding:2rem 1.5rem 5.5rem}}.breathing .word{letter-spacing:.02em;min-height:1.3em;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2rem,6vw,3.1rem);font-style:italic;font-weight:400}.breathing .stage{aspect-ratio:1;--breath:.72;place-items:center;width:min(62vw,46vh,340px);display:grid;position:relative}.breathing .ring{border:1px solid var(--ring);transform:scale(var(--breath));border-radius:50%;position:absolute;inset:0}.breathing .ring.r2{opacity:.6;inset:-11%}.breathing .ring.r3{opacity:.3;inset:-23%}.breathing .orb{background:radial-gradient(circle at 50% 44%, var(--orb-core) 0%, var(--orb-core) 55%, transparent 74%);box-shadow:inset 0 0 0 1.5px var(--orb-edge), 0 0 70px var(--orb-core);transform:scale(var(--breath));border-radius:50%;place-items:center;display:grid;position:absolute;inset:9%}.breathing .count{font-variant-numeric:tabular-nums;color:var(--ink-soft);letter-spacing:.06em;opacity:0;font-size:clamp(2.4rem,7vw,3.6rem);font-weight:300;transition:opacity 1.4s}.breathing.running .count{opacity:1}.breathing .patterns{gap:.35rem;display:flex}.breathing .patterns button{font:inherit;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:.42rem .95rem .42rem 1.17rem;font-size:.72rem;font-weight:400;transition:color .4s,border-color .4s,background .4s}.breathing .patterns button:hover{color:var(--ink-soft)}.breathing .patterns button.active{color:var(--ink);border-color:var(--btn-border);background:var(--btn-bg)}.breathing .patterns button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.breathing .hint{letter-spacing:.32em;text-transform:uppercase;color:var(--ink-faint);min-height:1.2em;font-size:.82rem}.breathing .controls{align-items:center;gap:1rem;display:flex}.breathing button.quiet{font:inherit;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;padding:.85rem .5rem .85rem .78em;font-size:.85rem;font-weight:400;transition:color .4s}.breathing button.quiet:hover{color:var(--ink-soft)}.breathing button.quiet:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.breathing button.begin{font:inherit;letter-spacing:.28em;text-transform:uppercase;color:var(--ink);background:var(--btn-bg);border:1px solid var(--btn-border);cursor:pointer;border-radius:999px;padding:.85rem 2.6rem .85rem 2.85rem;font-size:.85rem;font-weight:400;transition:background .5s}.breathing button.begin:hover{background:var(--btn-bg-hover)}.breathing button.begin:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.breathing .sessions{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);min-height:1.2em;font-size:.78rem}@media (prefers-reduced-motion:reduce){.breathing .ring,.breathing .orb{transform:scale(.86)!important}}.focus{justify-content:center;align-items:center;height:100%;display:flex;position:relative}.focus .sky{background:radial-gradient(ellipse 90% 70% at 50% 42%, var(--bg-glow-a), var(--bg-glow-b) 70%);pointer-events:none;position:fixed;inset:0}.focus main{text-align:center;flex-direction:column;align-items:center;gap:clamp(1rem,3vh,2rem);padding:4.5rem 1.5rem 2rem;display:flex;position:relative}@media (width<=600px){.focus main{padding:2rem 1.5rem 5.5rem}}.focus .word{letter-spacing:.02em;min-height:1.3em;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2rem,6vw,3.1rem);font-style:italic;font-weight:400}.focus .dial{aspect-ratio:1;width:min(62vw,42vh,320px);position:relative}.focus .dial svg{width:100%;height:100%}.focus .track{fill:none;stroke:var(--ring);stroke-width:2px}.focus .arc{fill:none;stroke:var(--orb-edge);stroke-width:2.5px;stroke-linecap:round;transition:stroke-dashoffset .3s linear}.focus.break .arc{stroke:var(--accent)}.focus .dial-center{flex-direction:column;justify-content:center;align-items:center;gap:.3rem;display:flex;position:absolute;inset:0}.focus .time{font-variant-numeric:tabular-nums;letter-spacing:.05em;color:var(--ink);font-size:clamp(2.6rem,8vw,4rem);font-weight:300}.focus .mode-label{letter-spacing:.34em;text-transform:uppercase;color:var(--ink-faint);padding-left:.34em;font-size:.78rem}.focus .hint{letter-spacing:.28em;text-transform:uppercase;color:var(--ink-faint);min-height:1.2em;font-size:.82rem}.focus button.hint.preset{font:inherit;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-faint);border:none;border-bottom:1px dashed var(--btn-border);cursor:pointer;background:0 0;padding:0 0 .25rem .28em;font-size:.82rem;transition:color .4s}.focus button.hint.preset:hover{color:var(--ink-soft)}.focus button.hint.preset:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.focus input.one-thing{font:inherit;letter-spacing:.08em;text-align:center;color:var(--ink);border:none;border-bottom:1px solid var(--btn-border);background:0 0;width:min(70vw,300px);padding:.4rem .5rem;font-size:.95rem}.focus input.one-thing::placeholder{color:var(--ink-faint)}.focus input.one-thing:focus{border-bottom-color:var(--accent);outline:none}.focus .intention{color:var(--ink-soft);max-width:min(80vw,34ch);font-family:Cormorant Garamond,Georgia,serif;font-size:1.25rem;font-style:italic}.focus button.clear-intention{font:inherit;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-faint);cursor:pointer;background:0 0;border:none;margin-top:-.9rem;padding:0 0 0 .26em;font-size:.7rem;transition:color .4s}.focus button.clear-intention:hover{color:var(--ink-soft)}.focus .controls{align-items:center;gap:1rem;display:flex}.focus button{font:inherit;letter-spacing:.28em;text-transform:uppercase;cursor:pointer;border-radius:999px;font-size:.85rem;font-weight:400;transition:background .5s}.focus button.begin{color:var(--ink);background:var(--btn-bg);border:1px solid var(--btn-border);padding:.85rem 2.6rem .85rem 2.85rem}.focus button.begin:hover{background:var(--btn-bg-hover)}.focus button.quiet{color:var(--ink-faint);background:0 0;border:none;padding:.85rem .5rem .85rem .78em}.focus button.quiet:hover{color:var(--ink-soft)}.focus button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.focus .sessions{letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint);min-height:1.2em;font-size:.78rem}.history{justify-content:center;align-items:center;height:100%;display:flex;position:relative}.history .sky{background:radial-gradient(ellipse 90% 70% at 50% 42%, var(--bg-glow-a), var(--bg-glow-b) 70%);pointer-events:none;position:fixed;inset:0}.history main{text-align:center;flex-direction:column;align-items:center;gap:clamp(1.1rem,3vh,2rem);padding:4.5rem 1.5rem 2rem;display:flex;position:relative}@media (width<=600px){.history main{padding:2rem 1.5rem 5.5rem}}.history .word{letter-spacing:.02em;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2rem,6vw,3.1rem);font-style:italic;font-weight:400}.history .today{letter-spacing:.24em;text-transform:uppercase;color:var(--ink-soft);font-size:.85rem}.history .intentions{color:var(--ink-soft);max-width:min(80vw,36ch);font-family:Cormorant Garamond,Georgia,serif;font-size:1.15rem;font-style:italic;line-height:1.7}.history .dots{grid-template-columns:repeat(7,auto);gap:clamp(.55rem,1.6vw,.85rem);margin-top:clamp(.6rem,2vh,1.4rem);display:grid}.history .dot{border:1px solid var(--ring);border-radius:50%;width:clamp(11px,2.6vw,14px);height:clamp(11px,2.6vw,14px)}.history .dot.lit{background:var(--accent);border-color:#0000}.history .dot.today-dot{border-color:var(--accent)}.history .caption{letter-spacing:.3em;text-transform:uppercase;color:var(--ink-faint);font-size:.72rem}.history .totals{letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint);max-width:34ch;font-size:.78rem;line-height:2}.tool{height:100%}.tool.hidden{display:none}.feature-nav{z-index:10;gap:.4rem;display:flex;position:fixed;top:clamp(1rem,4vh,2rem);left:50%;transform:translate(-50%)}.feature-nav button{font:inherit;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-faint);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:.5rem 1.2rem .5rem 1.46rem;font-size:.75rem;font-weight:400;transition:color .4s,border-color .4s,background .4s}.feature-nav button:hover{color:var(--ink-soft)}.feature-nav button.active{color:var(--ink);border-color:var(--btn-border);background:var(--btn-bg)}.feature-nav button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.feature-nav .breath-dot{background:var(--accent);vertical-align:middle;width:8px;height:8px;transform:scale(calc(var(--breath-live,1) * 1.15));border-radius:50%;margin-left:.6em;display:inline-block}.feature-nav .badge{font-variant-numeric:tabular-nums;letter-spacing:.08em;color:var(--accent);margin-left:.6em}@media (width<=600px){.feature-nav{top:auto;bottom:max(1rem, env(safe-area-inset-bottom))}}
