:root{color-scheme:light dark;--page-bg: #f7f5f0;--surface: #fff;--surface-subtle: #efede7;--text: #1c1b19;--muted: #68635c;--line: #d9d4cb;--accent: #8a351f;--accent-strong: #6f2918;--accent-soft: #f5e5df;--focus: #1769aa;font-family:Segoe UI,Yu Gothic UI,Yu Gothic,Hiragino Kaku Gothic ProN,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--page-bg: #12110f;--surface: #1c1a17;--surface-subtle: #25221e;--text: #f0ede7;--muted: #b7b1a7;--line: #45413b;--accent: #f0a087;--accent-strong: #ffc0ac;--accent-soft: #3a251f;--focus: #8bc5f2}}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--page-bg: #12110f;--surface: #1c1a17;--surface-subtle: #25221e;--text: #f0ede7;--muted: #b7b1a7;--line: #45413b;--accent: #f0a087;--accent-strong: #ffc0ac;--accent-soft: #3a251f;--focus: #8bc5f2}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}html{background:var(--page-bg)}body{background:var(--page-bg);color:var(--text)}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.5}a{color:var(--accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.visually-hidden{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;margin:-1px;clip:rect(0,0,0,0);white-space:nowrap}.site-header{border-bottom:1px solid var(--line);background:var(--page-bg)}.site-header-inner{display:flex;width:min(940px,100%);min-height:4rem;margin:0 auto;padding-right:max(1.25rem,env(safe-area-inset-right));padding-left:max(1.25rem,env(safe-area-inset-left));align-items:center;justify-content:space-between;gap:1.5rem}.site-name,.run-site-name{color:var(--text);font-size:1.05rem;font-weight:700;letter-spacing:-.02em;text-decoration:none}.site-nav{display:flex;align-items:center;gap:1rem}.site-nav a{color:var(--text);font-size:.94rem;text-decoration:none}.site-name:hover,.site-nav a:hover{color:var(--accent)}.theme-toggle{display:grid;width:2.75rem;height:2.75rem;padding:0;border:1px solid transparent;border-radius:8px;place-items:center;background:transparent;color:var(--text)}.theme-toggle:hover{border-color:var(--line);background:var(--surface-subtle);color:var(--accent)}.theme-icon{width:1.2rem;height:1.2rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.theme-icon-moon{display:none}:root[data-theme=dark] .theme-icon-sun{display:none}:root[data-theme=dark] .theme-icon-moon{display:block}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-icon-sun{display:none}:root:not([data-theme=light]) .theme-icon-moon{display:block}}.settings-shell{width:min(720px,100%);margin:0 auto;padding:clamp(2rem,6vw,4rem) max(1rem,env(safe-area-inset-right)) max(3rem,calc(2rem + env(safe-area-inset-bottom))) max(1rem,env(safe-area-inset-left))}.privacy-link{margin:.25rem 0 0;text-align:center;font-size:.82rem}.privacy-link a{color:var(--muted);text-underline-offset:.2em}.intro{margin-bottom:clamp(2rem,6vw,3.5rem)}.eyebrow{margin:0 0 .55rem;color:var(--accent);font-size:.75rem;font-weight:750;letter-spacing:.14em}.intro h1,.complete-card h1{margin:0;font-size:clamp(2rem,7vw,3.5rem);font-weight:680;letter-spacing:-.045em;line-height:1.18}.intro>p:last-child{max-width:39rem;margin:1rem 0 0;color:var(--muted);font-size:1rem;line-height:1.8}.settings-card{padding:clamp(1.1rem,4vw,1.65rem);border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 12px 35px #271e140d}.settings-card+.settings-card{margin-top:1rem}.step-heading{display:flex;align-items:center;gap:.8rem}.step-heading>span{display:grid;width:2rem;height:2rem;border-radius:999px;flex:0 0 auto;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:.85rem;font-weight:800}.step-heading h2{margin:0;font-size:1.15rem}.step-heading p{margin:.18rem 0 0;color:var(--muted);font-size:.82rem}.choice-grid{display:grid;margin-top:1.2rem;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem}.choice-grid button,.mode-switch button,.chip-row button{min-height:3rem;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--text)}.choice-grid button{display:grid;min-height:4.1rem;padding:.55rem .35rem;place-content:center;gap:.16rem}.choice-grid button strong{font-size:1rem}.choice-grid button span{color:var(--muted);font-size:.69rem}.choice-grid button[aria-pressed=true],.mode-switch button[aria-pressed=true],.chip-row button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-strong);box-shadow:inset 0 0 0 1px var(--accent)}.choice-grid button[aria-pressed=true] span{color:var(--accent)}.phase-fields{display:grid;margin-top:1rem;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.phase-fields label,.custom-amount{display:grid;gap:.4rem;color:var(--muted);font-size:.78rem;font-weight:650}.number-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.35rem}.phase-fields input,.custom-amount input{width:100%;min-width:0;min-height:2.8rem;padding:.55rem;border:1px solid var(--line);border-radius:9px;background:var(--page-bg);color:var(--text);font-variant-numeric:tabular-nums}.field-error{margin:.8rem 0 0;color:#b42318;font-size:.82rem}.mode-switch{display:grid;margin-top:1.2rem;padding:.25rem;border-radius:13px;grid-template-columns:1fr 1fr;gap:.25rem;background:var(--surface-subtle)}.mode-switch button{border-color:transparent;background:transparent;font-weight:700}.amount-picker{margin-top:1rem}.chip-row{display:flex;flex-wrap:wrap;gap:.5rem}.chip-row button{min-height:2.75rem;padding:.45rem .8rem;font-size:.85rem;font-weight:650}.custom-amount{max-width:13rem;margin-top:.8rem}.calculation-result{display:grid;margin-top:1.1rem;padding:.95rem 1rem;border-left:3px solid var(--accent);border-radius:0 9px 9px 0;gap:.22rem;background:var(--surface-subtle)}.calculation-result strong{font-size:1rem}.calculation-result span,.calculation-result small{color:var(--muted);font-size:.78rem}.start-button,.primary-action{border:1px solid var(--accent-strong);background:var(--accent);color:#fff;font-weight:750}.start-button{width:100%;min-height:3.8rem;margin-top:1rem;border-radius:14px;box-shadow:0 9px 22px color-mix(in srgb,var(--accent) 22%,transparent);font-size:1.1rem}.start-button:not(:disabled):hover,.primary-action:hover{background:var(--accent-strong)}.advanced-settings{margin-top:1rem;padding:.95rem 1rem;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.advanced-settings summary{font-size:.9rem;font-weight:700;cursor:pointer}.advanced-settings>p{margin:.8rem 0 0;color:var(--muted);font-size:.78rem;line-height:1.6}.sound-toggle{display:flex;min-height:3.5rem;margin-top:1rem;align-items:center;gap:.8rem;cursor:pointer}.sound-toggle input{width:1.3rem;height:1.3rem;accent-color:var(--accent)}.sound-toggle span,.sound-toggle small{display:block}.sound-toggle strong{font-size:.88rem}.sound-toggle small{margin-top:.1rem;color:var(--muted);font-size:.75rem}kbd{padding:.1rem .35rem;border:1px solid var(--line);border-radius:4px;background:var(--surface-subtle);color:var(--text);font-family:inherit;font-size:.75rem}.safety-note{max-width:38rem;margin:2rem auto 0;color:var(--muted);font-size:.8rem;line-height:1.7;text-align:center}.run-shell,.complete-shell{position:relative;display:grid;width:100%;min-height:100vh;min-height:100dvh;padding:max(1rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));background:radial-gradient(circle at 50% 45%,var(--accent-soft),transparent 48%),var(--page-bg)}.run-shell{grid-template-rows:auto minmax(0,1fr) auto}.run-site-name{align-self:start;justify-self:start;font-size:.88rem;opacity:.72}.run-content{display:grid;width:min(32rem,100%);min-height:0;margin:0 auto;place-content:center;justify-items:center}.preparation-content{display:grid;width:min(28rem,100%);margin:0 auto;grid-template-columns:minmax(0,1fr);place-content:center;text-align:center}.preparation-content h1{margin:0;font-size:clamp(1.75rem,7vw,2.5rem)}.preparation-count{margin:clamp(1.5rem,8vh,3.5rem) 0 1.25rem;color:var(--accent);font-size:clamp(5rem,24vw,8rem);font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:-.06em;line-height:.85}.preparation-progress{width:100%;height:.8rem;overflow:hidden;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.preparation-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-strong))}.preparation-content>p:last-child{margin:1rem 0 0;color:var(--muted);font-size:.9rem}.preparation-actions{display:grid;width:min(28rem,100%);margin:0 auto}.preparation-actions button{min-height:3.35rem;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);font-weight:700}.phase-status{min-height:3.6rem}.phase-status p{margin:0;font-size:clamp(1.65rem,7vw,2.6rem);font-weight:700;letter-spacing:.03em}.rhythm-visual{position:relative;display:grid;width:min(68vw,19rem);aspect-ratio:1;margin:.8rem 0;place-items:center}.rhythm-visual svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:rotate(-90deg)}.rhythm-visual circle{fill:none;stroke-width:5}.ring-track{stroke:var(--line)}.ring-progress{stroke:var(--accent);stroke-linecap:round}.breath-orb{width:72%;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--accent) 38%,transparent);border-radius:999px;background:radial-gradient(circle at 35% 28%,rgb(255 255 255 / 30%),transparent 35%),color-mix(in srgb,var(--accent) 72%,var(--surface));box-shadow:0 18px 55px color-mix(in srgb,var(--accent) 24%,transparent);transform:scale(var(--rhythm-scale))}.seconds{position:absolute;color:#fff;font-size:clamp(4rem,19vw,7rem);font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:-.06em;line-height:1;text-shadow:0 1px 8px rgb(0 0 0 / 18%)}.run-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem 1rem;color:var(--muted);font-size:.9rem;font-variant-numeric:tabular-nums}.run-actions,.complete-actions{display:grid;width:min(32rem,100%);margin:0 auto;grid-template-columns:1.35fr 1fr 1fr;gap:.65rem}.run-actions button,.complete-actions button{min-height:3.35rem;padding:.65rem;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);font-weight:700}.run-actions .primary-action,.complete-actions .primary-action{border-color:var(--accent-strong);background:var(--accent);color:#fff}.complete-shell{place-items:center}.complete-shell .run-site-name{position:absolute;top:max(1rem,env(safe-area-inset-top));left:max(1rem,env(safe-area-inset-left))}.complete-card{width:min(30rem,100%);padding:clamp(1.5rem,7vw,3rem);border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:0 20px 60px #271e1414;text-align:center}.complete-mark{display:grid;width:3.5rem;height:3.5rem;margin:0 auto 1rem;border-radius:999px;place-items:center;background:var(--accent-soft);color:var(--accent);font-size:1.5rem;font-weight:800}.complete-summary{display:grid;margin:1.5rem 0;gap:.25rem}.complete-summary strong{font-size:1.2rem}.complete-summary span{color:var(--muted)}.complete-actions{grid-template-columns:1fr 1fr}@media(max-width:600px){.site-header-inner{padding-right:max(1rem,env(safe-area-inset-right));padding-left:max(1rem,env(safe-area-inset-left))}.pattern-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pattern-grid button:last-child{grid-column:1 / -1}.phase-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.run-shell{padding-bottom:max(.75rem,env(safe-area-inset-bottom))}.run-actions{gap:.45rem}}@media(max-height:590px)and (orientation:landscape){.run-shell{grid-template-columns:auto minmax(0,1fr) minmax(19rem,.8fr);grid-template-rows:1fr;align-items:center;gap:1rem}.run-site-name{position:absolute;top:max(.75rem,env(safe-area-inset-top));left:max(.75rem,env(safe-area-inset-left))}.run-content{grid-column:2}.phase-status{min-height:2.5rem}.rhythm-visual{width:min(48vh,15rem);margin:.2rem 0}.run-actions{grid-column:3;grid-template-columns:1fr}.preparation-content{grid-column:2}.preparation-count{margin:1rem 0}.preparation-actions{grid-column:3}}@media(prefers-reduced-motion:no-preference){.breath-orb{transition:transform .1s linear}.ring-progress{transition:stroke-dashoffset .1s linear}.preparation-progress span{transition:width .1s linear}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.breath-orb{transform:scale(.9)}}
