*,:before,:after{box-sizing:border-box;margin:0;padding:0}@font-face{font-family:Neulis Alt;font-style:normal;font-weight:300;font-display:swap;src:url(/NeulisAlt-Light.ttf)format("truetype")}:root{--bg:#f6f1e8;--surface:#fefbf6;--ink:#0a1a10;--ink-muted:#4e594f;--accent:#6faf86;--accent-deep:#2b6241;--accent-glow:#6faf864d;--line:#1324191f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Work Sans,system-ui,sans-serif}body{background:var(--bg);color:var(--text);justify-content:center;align-items:flex-start;height:100dvh;display:flex;overflow:hidden}#root{justify-content:center;align-items:flex-start;width:100%;height:100dvh;padding:24px;display:flex;overflow:hidden}@media (width<=600px),(height<=750px){#root{padding:12px}}.app{flex-direction:column;align-items:center;gap:clamp(16px,3vh,40px);width:100%;max-width:480px;height:100%;min-height:0;display:flex}.app>*{flex:none}.app>.settings{overscroll-behavior:contain;scrollbar-width:none;flex:0 auto;width:100%;min-height:0;overflow-y:auto}.app>.settings::-webkit-scrollbar{display:none}button{-webkit-tap-highlight-color:transparent;outline:none}button:focus-visible{outline:2px solid var(--accent-deep);outline-offset:2px}.title{color:var(--ink);text-align:center;font-family:Piazzolla,serif;font-size:1.5rem;font-style:italic;font-weight:500;line-height:1.15}.description{color:var(--ink-muted);text-align:center;max-width:300px;font-size:.82rem;line-height:1.6}.brand-header{align-items:center;gap:8px;display:flex}.brand-logo{width:20px;height:20px;fill:var(--accent-deep)}.brand-word{letter-spacing:.28em;text-indent:.28em;color:var(--ink);font-family:Neulis Alt,Work Sans,system-ui,sans-serif;font-size:.8rem;font-weight:300}.tabs{background:var(--surface);border:1px solid var(--line);border-radius:999px;width:100%;padding:4px;display:flex;position:relative}.tabs-indicator{background:var(--accent);border-radius:999px;width:calc(20% - 2px);transition:transform .35s cubic-bezier(.4,0,.2,1);position:absolute;top:4px;bottom:4px;left:4px}.tab{z-index:1;letter-spacing:.02em;color:var(--ink-muted);cursor:pointer;background:0 0;border:none;flex:1;padding:9px 4px;font-family:Work Sans,system-ui,sans-serif;font-size:.68rem;font-weight:600;transition:color .2s;position:relative}.tab-active{color:var(--ink)}.flow-setting{flex-direction:row;justify-content:space-between;align-items:center;gap:10px;width:100%;max-width:320px;display:flex}.flow-setting .rounds-selector{gap:10px}.flow-setting .rounds-selector button{width:30px;height:30px;font-size:.95rem}.rounds-selector .btn-jump{opacity:.8;border-radius:50px;width:auto;padding:0 10px;font-size:.75rem}.flow-setting .rounds-value{min-width:7ch;font-size:1.05rem}.flow-setting label{font-size:.8rem}.co2-schedule{color:var(--ink-muted);opacity:.85;text-align:center;font-size:.75rem;line-height:1.6}.disclaimer{color:var(--ink-muted);text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;max-width:300px;padding:10px 14px;font-size:.75rem;line-height:1.5}.install-hint{color:var(--ink-muted);text-align:center;opacity:.8;font-size:.75rem;line-height:1.5}.settings{flex-direction:column;align-items:center;gap:16px;display:flex}.settings label{color:var(--ink-muted);font-size:.85rem;font-weight:400}.rounds-selector{align-items:center;gap:16px;display:flex}.rounds-selector button{border:1px solid var(--accent);width:38px;height:38px;color:var(--accent-deep);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;font-family:Work Sans,system-ui,sans-serif;font-size:1.1rem;transition:all .2s;display:flex}@media (hover:hover){.rounds-selector button:hover{background:var(--accent-glow)}}.rounds-value{color:var(--ink);text-align:center;font-variant-numeric:tabular-nums;min-width:3ch;font-size:1.4rem;font-weight:600}.actions{flex-direction:column;align-items:center;gap:18px;display:flex}.sound-toggle{color:var(--ink-muted);border:1px solid var(--line);text-align:center;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border-radius:999px;min-width:calc(11ch + 3em);padding:7px 14px;font-family:Work Sans,system-ui,sans-serif;font-size:.72rem;font-weight:500;transition:all .2s}@media (hover:hover){.sound-toggle:hover{border-color:var(--accent);color:var(--accent-deep)}}.sound-toggle.sound-on{border-color:var(--accent);color:var(--accent-deep)}.preset-row{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:4px;display:flex}.preset-btn{color:var(--ink-muted);border:1px solid var(--line);text-align:center;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border-radius:999px;padding:7px 14px;font-family:Work Sans,system-ui,sans-serif;font-size:.72rem;font-weight:500;transition:all .2s}@media (hover:hover){.preset-btn:hover{border-color:var(--accent);color:var(--accent-deep)}}.preset-btn-save{opacity:.8;border-style:dashed;min-width:calc(13ch + 3em)}@media (hover:hover){.preset-btn-save:hover{opacity:1;border-style:solid}}.preset-btn-active{border-color:var(--accent);color:var(--accent-deep);background:var(--accent-glow)}.toggle-row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.streak-row{background:var(--surface);border:1px solid var(--line);border-radius:14px;justify-content:space-between;align-items:center;width:100%;padding:10px 14px;display:flex}.streak-label{color:var(--ink);font-size:.75rem;font-weight:600}.streak-dots{gap:5px;display:flex}.streak-dot{border:1.5px solid var(--line);border-radius:50%;width:9px;height:9px}.streak-dot-filled{border-color:var(--accent);background:var(--accent)}.streak-dot-filled.streak-dot-current{box-shadow:0 0 0 2px var(--accent-glow)}.streak-celebrate{background:var(--accent-glow);color:var(--accent-deep);text-align:center;border-radius:14px;align-self:stretch;padding:10px 16px;font-size:.9rem;font-weight:600}.ring{flex:none;justify-content:center;align-items:center;display:flex;position:relative}.ring-svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.ring-track{fill:none;stroke:var(--line)}.ring-progress{fill:none;stroke:var(--accent);stroke-linecap:round;transition:stroke-dashoffset .25s linear}.ring-content{z-index:1;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.bubble-outer{justify-content:center;align-items:center;width:168px;height:168px;display:flex}.bubble{background:radial-gradient(circle at 50% 50%, var(--accent-glow) 0%, var(--accent-glow) 45%, transparent 75%);border:2px solid var(--accent);width:100%;height:100%;box-shadow:0 0 32px var(--accent-glow);transform-origin:50%;will-change:transform;border-radius:50%;transition-property:transform}.timer-display{flex-direction:column;align-items:center;gap:20px;display:flex}.phase-label{min-height:1.8rem;color:var(--ink);font-family:Piazzolla,serif;font-size:1.4rem;font-style:italic;font-weight:500;transition:opacity .3s}.countdown{color:var(--ink);font-variant-numeric:tabular-nums;font-family:Work Sans,system-ui,sans-serif;font-size:4.4rem;font-weight:700;line-height:1;transition:font-size .2s}.countdown-half{font-size:2.6rem}.countdown-compact{font-size:2.3rem}.countdown-prep{color:var(--accent-deep);font-size:3.1rem}.info{color:var(--ink-muted);font-size:.82rem;font-weight:400}.controls{gap:16px;display:flex}.btn{letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border:none;border-radius:999px;padding:15px 44px;font-family:Work Sans,system-ui,sans-serif;font-size:.85rem;font-weight:700;transition:all .2s}.btn-start{background:var(--accent);color:var(--ink);box-shadow:0 10px 26px var(--accent-glow)}@media (hover:hover){.btn-start:hover{background:#7fbd97}}.btn-stop{color:var(--accent-deep);border:1px solid var(--accent);background:0 0}@media (hover:hover){.btn-stop:hover{background:var(--accent-glow)}}.phase-enter{animation:.3s fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.countdown-tick{animation:.3s tickIn}@keyframes tickIn{0%{opacity:.4;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.journey-player{flex-direction:column;align-items:center;gap:32px;width:100%;display:flex}.journey-play-btn{background:var(--accent);width:72px;height:72px;color:var(--ink);cursor:pointer;box-shadow:0 8px 24px var(--accent-glow);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.6rem;transition:all .2s;display:flex}@media (hover:hover){.journey-play-btn:hover{background:#7fbd97}}.journey-progress-container{flex-direction:column;gap:8px;width:100%;max-width:320px;display:flex}.journey-progress{appearance:none;cursor:pointer;background:linear-gradient(to right, var(--accent) 0%, var(--accent) calc(var(--progress,0) * 100%), var(--line) calc(var(--progress,0) * 100%), var(--line) 100%);border-radius:2px;outline:none;width:100%;height:4px}.journey-progress::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;width:16px;height:16px;box-shadow:0 0 0 3px var(--accent-glow);border-radius:50%}.journey-progress::-moz-range-thumb{background:var(--accent);cursor:pointer;width:16px;height:16px;box-shadow:0 0 0 3px var(--accent-glow);border:none;border-radius:50%}.journey-time{color:var(--ink-muted);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:.8rem;display:flex}@media (width<=600px),(height<=900px){.app{gap:clamp(10px,2.2vh,28px)}.title{font-size:clamp(1.1rem,2.3vh,1.4rem)}.description{max-width:300px;font-size:clamp(.72rem,1.7vh,.9rem);line-height:1.35}.settings{gap:clamp(6px,1.3vh,14px)}.flow-setting{max-width:clamp(260px,85%,320px)}.flow-setting label{font-size:clamp(.75rem,1.7vh,.9rem)}.flow-setting .rounds-selector{gap:clamp(8px,1.3vh,14px)}.flow-setting .rounds-selector button{width:clamp(26px,4.2vh,36px);height:clamp(26px,4.2vh,36px);font-size:clamp(.85rem,1.9vh,1rem)}.flow-setting .rounds-value{min-width:7ch;font-size:clamp(.95rem,2vh,1.15rem)}.preset-row{max-width:clamp(280px,90%,340px)}.preset-btn{padding:clamp(4px,.8vh,7px) clamp(10px,2vh,16px);font-size:clamp(.68rem,1.4vh,.78rem)}.sound-toggle{padding:clamp(4px,1vh,8px) clamp(12px,2.2vh,18px);font-size:clamp(.68rem,1.5vh,.8rem)}.toggle-row{gap:clamp(6px,1.2vh,10px);max-width:clamp(300px,90%,360px)}.actions{gap:clamp(10px,1.8vh,18px)}.streak-row{padding:clamp(6px,1.2vh,10px) 14px}.tab{padding:clamp(7px,1.4vh,9px) 4px}.timer-display{gap:clamp(12px,2.2vh,20px)}.phase-label{font-size:clamp(1.1rem,2.6vh,1.4rem)}.countdown{font-size:clamp(2.6rem,8.5vh,4.4rem)}.countdown-half{font-size:clamp(1.7rem,5vh,2.6rem)}.countdown-compact{font-size:clamp(1.5rem,4.4vh,2.3rem)}.countdown-prep{font-size:clamp(2rem,6vh,3.1rem)}.bubble-outer{width:clamp(120px,24vh,168px);height:clamp(120px,24vh,168px)}.btn{padding:12px 36px}.install-hint{display:none}}.ring-active{width:clamp(168px,46vh,210px);height:clamp(168px,46vh,210px)}.ring-prep{width:clamp(122px,33vh,150px);height:clamp(122px,33vh,150px)}@media (prefers-reduced-motion:reduce){.ring-progress{transition:none}.bubble{transition:none!important}}.splash{z-index:100;pointer-events:none;background:#2b4238;flex-direction:column;justify-content:center;align-items:center;gap:32px;animation:2.4s forwards splashFade;display:flex;position:fixed;inset:0}.splash-logo{width:110px;height:110px}.splash-word{letter-spacing:.3em;text-indent:.3em;color:#fffefd;font-family:Neulis Alt,Work Sans,system-ui,sans-serif;font-size:1.9rem;font-weight:300}@keyframes splashFade{0%,83%{opacity:1}to{opacity:0}}
