:root{font-family:Arial,Helvetica,sans-serif;font-synthesis:none;color-scheme:light;--bg:#f3f5fa;--surface:#fff;--ink:#18203b;--muted:#646e85;--line:#e0e5ef;--accent:#2843ef;--accent-soft:#edf0ff;--button:#2843ef;--button-ink:#fff;--hover:#e8ecf5;--placeholder:#7c879c;--ring:#dce3f6;--error:#ad303d;background:var(--bg);color:var(--ink)}:root[data-theme=dark]{color-scheme:dark;--bg:#0c1120;--surface:#151d30;--ink:#eaf0ff;--muted:#a4aec6;--line:#313e58;--accent:#a6b6ff;--accent-soft:#263459;--button:#a6b6ff;--button-ink:#101d4a;--hover:#202c44;--placeholder:#96a3bd;--ring:#293653;--error:#ffabb4}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-height:100svh;display:flex;flex-direction:column}button,input{font:inherit}button{cursor:pointer}button,input,summary{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #d39b28;outline-offset:4px}button{touch-action:manipulation}button:disabled{opacity:.5;cursor:default}h1:focus{outline:none}header{width:100%;max-width:1180px;margin:auto;padding:30px 40px;display:flex;justify-content:space-between;align-items:center;gap:16px}.brand{display:flex;align-items:center;gap:12px;font-size:29px;letter-spacing:-1px;font-weight:600}.brand svg{width:43px;height:31px}.brand svg,.quiet-face svg,.complete-mark{fill:none;stroke:var(--accent);stroke-width:4.5;stroke-linecap:round}.theme-toggle{display:flex;align-items:center;gap:8px;min-height:44px;background:transparent;border:1px solid var(--line);border-radius:11px;color:var(--muted);padding:11px 14px;font-size:14px;font-weight:500;white-space:nowrap}.theme-toggle:hover{background:var(--hover);color:var(--ink)}.theme-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.sun{display:none}html[data-theme=dark] .sun{display:block}html[data-theme=dark] .moon{display:none}main{width:100%;max-width:1080px;margin:22px auto 40px;padding:0 40px;flex:1}.intro{margin:15px 0 38px}h1{font-size:clamp(36px,4.4vw,54px);font-weight:500;letter-spacing:-2px;line-height:1.12;margin:0}.setup-card{display:grid;grid-template-columns:1.12fr 1fr;padding:38px;background:var(--surface);border:1px solid var(--line);border-radius:24px;gap:38px}.intention-side{display:flex;flex-direction:column;min-width:0}.duration-side{border-left:1px solid var(--line);padding-left:38px;min-width:0}.field-title{display:block;font-size:16px;line-height:1.5;font-weight:600;margin:0 0 16px}.optional{font-size:12px;font-weight:400;color:var(--muted);display:inline-block;margin-left:5px}.line-input{border:0;border-bottom:1.5px solid var(--line);border-radius:0;background:transparent;color:var(--ink);padding:5px 0 17px;width:100%;font-size:18px;line-height:1.5}.line-input:focus{border-bottom-color:var(--accent)}input::placeholder{color:var(--placeholder)}details{margin-top:24px}summary{list-style:none;display:flex;align-items:center;justify-content:space-between;color:var(--accent);font-size:14px;min-height:44px;cursor:pointer;gap:20px}summary::-webkit-details-marker{display:none}summary span{font-size:22px;font-weight:300}details[open] summary span{transform:rotate(45deg)}.help-content{padding:14px 0 2px}.help-content label{font-size:14px;font-weight:600}.help-content p{font-size:14px;color:var(--muted);line-height:1.6;margin:8px 0 13px}.help-content input{background:var(--bg);color:var(--ink);padding:12px;border:1px solid var(--line);border-radius:9px;font-size:16px;width:100%}.help-content .example{font-size:13px;margin-bottom:0}.prepare{color:var(--muted);font-size:15px;line-height:1.5;margin:auto 0 0;padding-top:35px}fieldset{border:0;margin:0;padding:0;min-width:0}legend{padding:0}.duration-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.duration-options button{min-height:55px;background:transparent;border:1px solid var(--line);border-radius:11px;color:var(--ink);font-size:17px;white-space:nowrap}.duration-options button span{font-size:13px;color:var(--muted)}.duration-options button:hover{background:var(--hover)}.duration-options button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.duration-options button[aria-pressed=true] span{color:var(--accent)}#custom-toggle{font-size:14px}.custom-field{display:grid;grid-template-columns:auto 1fr;gap:9px 14px;align-items:center;margin-top:17px}.custom-field label{font-size:14px;color:var(--muted)}.custom-field input{width:100%;min-width:0;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--ink);padding:10px 12px}.error{font-size:13px;color:var(--error);grid-column:1/-1;line-height:1.5}.error:empty{display:none}.sound-setting{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:22px 0 20px;flex-wrap:wrap}.sound-setting label{display:flex;align-items:center;gap:8px;position:relative;font-size:13px;line-height:1.5;color:var(--muted);cursor:pointer;min-height:35px}.sound-setting input{position:absolute;opacity:0;width:34px;height:24px;margin:0;cursor:pointer}.switch{width:30px;height:18px;border-radius:20px;background:var(--placeholder);padding:3px;flex:none}.switch:after{content:'';display:block;width:12px;height:12px;border-radius:50%;background:var(--surface);transition:transform .15s}.sound-setting input:checked+.switch{background:var(--accent)}.sound-setting input:checked+.switch:after{transform:translateX(12px)}.sound-setting input:focus-visible+.switch{outline:3px solid #d39b28;outline-offset:4px}.text-button{border:0;background:transparent;color:var(--muted);font-size:14px;padding:10px 3px;min-height:44px}.text-button:hover{color:var(--accent)}.primary,.secondary{min-height:52px;border-radius:12px;font-size:16px;font-weight:600;padding:15px 26px}.primary{background:var(--button);color:var(--button-ink);border:1px solid transparent}.primary:hover{filter:brightness(.94)}.secondary{border:1px solid var(--line);background:transparent;color:var(--ink)}.secondary:hover{background:var(--hover)}#begin{width:100%}.sound-note{font-size:13px;line-height:1.5;color:var(--muted);margin:-10px 0 15px}footer{padding:0 24px 27px;text-align:center;font-size:12px;color:var(--muted)}.session{text-align:center;max-width:760px;margin:24px auto 0}.session-label{color:var(--muted);font-size:14px;margin:0 0 15px}.session h1{font-size:clamp(29px,4vw,44px);letter-spacing:-1.3px;overflow-wrap:anywhere}.session-start{color:var(--muted);font-size:15px;line-height:1.6;max-width:520px;margin:14px auto 0;overflow-wrap:anywhere}.time-space{height:330px;display:flex;justify-content:center;align-items:center;margin-top:12px}.timer-face{width:310px;max-width:100%;aspect-ratio:1;position:relative;display:grid;place-items:center}.ring{position:absolute;width:100%;height:100%;transform:rotate(-90deg)}.ring circle{fill:none;stroke-width:.85}.track{stroke:var(--ring)}.progress{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:289.027;stroke-dashoffset:0;transition:stroke-dashoffset 1s linear}.digits{font-size:clamp(46px,7vw,66px);font-weight:400;letter-spacing:-2.5px;font-variant-numeric:tabular-nums;line-height:1.1}.clock-label{font-size:13px;color:var(--muted);margin:12px 0 0}.quiet-face svg{width:75px;height:60px;stroke-width:3}.quiet-face p{font-size:14px;color:var(--muted);margin:25px 0 0}.session-controls>.text-button{margin:0 0 15px}.action-row{display:flex;align-items:center;justify-content:center;gap:12px}.action-row>button{min-width:138px}.complete{text-align:center;max-width:760px;margin:90px auto}.complete-mark{width:64px;height:45px;margin-bottom:36px}.complete h1{font-size:clamp(32px,4vw,46px)}.complete-intention{font-size:17px;line-height:1.6;color:var(--muted);margin:18px auto 34px;overflow-wrap:anywhere;max-width:540px}.continue-note{color:var(--muted);font-size:14px;line-height:1.5;margin-top:22px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body[data-phase=running] footer,body[data-phase=paused] footer{visibility:hidden}@media(max-width:820px){main{padding:0 24px}.setup-card{gap:26px;padding:28px}.duration-side{padding-left:26px}.field-title{font-size:15px}.line-input{font-size:16px}.sound-setting label{font-size:12px}}@media(max-width:650px){header{padding:22px 24px}.brand{font-size:26px}.brand svg{width:37px}main{margin-top:14px}.intro{margin:12px 0 28px}h1{font-size:38px;letter-spacing:-1.5px}.setup-card{grid-template-columns:1fr;gap:28px;padding:26px 22px}.duration-side{padding:26px 0 0;border-left:0;border-top:1px solid var(--line)}.prepare{padding-top:18px}.field-title{font-size:16px}.sound-setting label{font-size:14px}.duration-options button{min-height:52px}.session{margin-top:35px}.time-space{height:310px}.complete{margin-top:70px}.complete .action-row{flex-wrap:wrap}.theme-toggle{padding:10px 12px}.session-start{font-size:14px}}@media(max-width:360px){header{padding:18px}.brand{font-size:24px;gap:8px}main{padding:0 16px}.theme-toggle{font-size:13px}.setup-card{padding:23px 18px}.action-row>button{min-width:118px}.digits{font-size:48px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.inline-confirmation{max-width:420px;margin:0 auto;border:1px solid var(--line);border-radius:16px;padding:22px;background:var(--surface)}.inline-confirmation>p:first-child{margin:0;font-size:17px;font-weight:600}.confirmation-note,.session-message{font-size:14px;line-height:1.5;color:var(--muted);margin:8px 0 20px}.inline-confirmation .action-row{flex-wrap:wrap}.inline-confirmation .action-row>button{min-width:0;flex:1;white-space:nowrap;padding:13px 16px}.session-message{margin:10px auto 0;max-width:420px}
.intro>p{font-size:16px;line-height:1.6;color:var(--muted);margin:18px 0 0;max-width:480px}
.open-option{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;margin:10px 0 0;padding:14px;border:1px solid var(--line);border-radius:11px;background:transparent;color:var(--ink);font-size:15px;text-align:left}
.open-option>span{font-size:12px;color:var(--muted);text-align:right}
.open-option:hover{background:var(--hover)}
.open-option[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}
.soft-ending{display:flex;align-items:center;gap:9px;min-height:36px;font-size:13px;color:var(--ink);cursor:pointer}
.soft-ending input{width:16px;height:16px;flex:none;accent-color:var(--accent);margin:0}
.ending-settings{margin-top:12px}
.ending-note{color:var(--muted);font-size:12px;line-height:1.5;margin:6px 0 18px}
.sound-note{margin:0 0 15px}
#begin{margin-top:18px}
.return-note{margin-top:23px;padding:16px 18px;background:var(--accent-soft);border-left:2px solid var(--accent);border-radius:0 10px 10px 0;text-align:left}
.note-label{font-size:12px;color:var(--muted);margin:0 0 8px}
.return-step{font-size:16px;line-height:1.5;color:var(--ink);margin:0;overflow-wrap:anywhere}
.return-note .text-button{margin:4px 0 -6px;color:var(--accent);font-size:12px}
.next-step-field{text-align:left;margin:22px 0}
.next-step-field label{font-size:14px;font-weight:600;line-height:1.6;display:block;margin-bottom:10px}
.next-step-field input{display:block;width:100%;min-width:0;background:var(--bg);color:var(--ink);border:1px solid var(--line);border-radius:9px;font-size:16px;line-height:1.5;padding:12px}
.next-step-field>p{font-size:12px;color:var(--muted);line-height:1.5;margin:10px 0 0}
.complete-next-step{max-width:420px;margin:0 auto 28px}
.inline-confirmation .action-row>button{white-space:normal}
@media(max-width:650px){.intro>p{font-size:15px}.open-option>span{max-width:155px}.soft-ending{font-size:14px}}
