:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #f1f2f2;--surface: #e6e8e8;--subtle: #dee2e2;--border: #778186;--line: #bcc2c3;--text: #24282b;--muted: #5a6266;--accent: #42494d;--on-accent: #f6f5f2;color-scheme:light;color:var(--text);background:var(--bg)}:root[data-theme=dark]{--bg: #1b1e20;--surface: #25292c;--subtle: #303537;--border: #70787a;--line: #464b4d;--text: #f0eeea;--muted: #adb1b2;--accent: #d9ceb9;--on-accent: #242628;color-scheme:dark}*{box-sizing:border-box}body{margin:0;min-width:280px}button,input,select{font:inherit}button,select,input[type=checkbox]{cursor:pointer}button{color:inherit}button:disabled{opacity:.5;cursor:not-allowed}button,select,input{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}:root[data-focus-input=pointer] button:focus{outline:none}button,select,input{min-height:44px}button{touch-action:manipulation}h1,h2,p{margin:0}svg{flex-shrink:0}.app{width:100%;max-width:640px;min-height:100dvh;margin:0 auto;padding:24px;display:flex;flex-direction:column}.masthead{position:relative;display:flex;align-items:center;flex-direction:column;gap:4px;height:118px;flex-shrink:0;padding-top:8px}.masthead img{object-fit:contain}.masthead h1{font-size:30px;line-height:36px;letter-spacing:-.035em;font-weight:400}.masthead p{font-size:13px;line-height:18px;color:var(--muted)}.icon-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--muted);flex-shrink:0;border-radius:6px}.theme-toggle{position:absolute;right:0;top:0}.setup,.setup-content{flex:1;display:flex;flex-direction:column;min-width:0}.setup-controls{min-width:0}.mode-tabs{display:flex;height:48px;border-bottom:1px solid var(--line);margin-bottom:8px}.mode-tabs button{width:50%;height:48px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);font-size:15px;line-height:20px}.mode-tabs button[aria-pressed=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:500}.duration-section{display:flex;flex-direction:column;gap:6px;padding:8px 0}.duration-section h2{font-size:16px;line-height:24px;font-weight:400}.duration-presets{display:flex;gap:8px}.duration-presets button{flex:1;min-width:0;height:46px;padding:0 4px;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--muted);font-size:15px}.duration-presets button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.duration-help{color:var(--muted);font-size:13px;line-height:20px}.setting-row{display:flex;flex-direction:column;gap:4px;padding:20px 0;border-bottom:1px solid var(--line)}.setting-line{display:flex;align-items:center;justify-content:space-between;height:32px;font-size:16px;line-height:24px}.supporting{color:var(--muted);font-size:14px;line-height:22px}.audio-summary{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left}.audio-summary .setting-line{width:100%}.trailing-action{display:flex;align-items:center;justify-content:space-between;width:112px;color:var(--muted);font-size:14px;line-height:22px}.select-wrap{position:relative;width:136px;flex-shrink:0}.select-wrap select{width:100%;height:44px;padding:0 34px 0 12px;border:1px solid var(--border);border-radius:8px;appearance:none;background:var(--surface);color:var(--text);font-size:16px}.select-wrap svg{position:absolute;right:12px;top:14px;color:var(--muted);pointer-events:none}.plain-select{width:112px}.plain-select select{padding-left:0;padding-right:26px;border:0;background:transparent}.plain-select svg{right:0}select option{background:var(--surface);color:var(--text)}.setup-footer{margin-top:auto;padding-top:16px}.finish-preview{display:flex;flex-direction:column;gap:2px;min-height:56px}.finish-preview>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.finish-preview span{color:var(--muted);font-size:15px;line-height:22px}.finish-preview time{font-size:24px;line-height:30px;letter-spacing:-.025em;text-align:right}.finish-preview p{color:var(--muted);font-size:13px;line-height:20px}.details-button{width:100%;height:44px;display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;color:var(--muted);font-size:13px;line-height:20px}.primary-button,.secondary-button{display:flex;align-items:center;justify-content:center;width:100%;min-height:56px;padding:12px 18px;border:1px solid var(--accent);border-radius:8px;background:var(--accent);color:var(--on-accent);font-size:16px;line-height:24px;font-weight:500}.start-button{justify-content:space-between}.start-button span:last-child{font-size:15px;font-weight:400}.secondary-button{background:transparent;color:var(--text);border-color:var(--border);font-weight:400}.validation-message{margin-top:16px;padding:12px;border:1px solid var(--border);border-radius:8px;font-size:14px;line-height:22px}.dialog{color:var(--text);background:var(--surface);border:1px solid var(--border);position:fixed;inset:0;padding:24px;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}.dialog[open]{display:flex;flex-direction:column;gap:16px}.dialog>*{flex-shrink:0}.dialog::backdrop{background:#0009}.dialog--sheet{width:min(640px,100%);max-width:100%;margin:auto auto 0;border-radius:20px 20px 0 0;border-bottom:0}.dialog--modal{margin:auto;width:min(354px,calc(100% - 32px));max-width:100%;border-radius:16px}.dialog-heading{display:flex;align-items:center;justify-content:space-between;min-height:44px;gap:4px}.dialog h2{font-size:26px;line-height:34px;letter-spacing:-.025em;font-weight:400}.dialog--modal h2{font-size:24px;line-height:30px}.reminder-copy{color:var(--muted);font-size:15px;line-height:23px}.checkbox-row{display:flex;align-items:center;gap:12px;min-height:44px;font-size:14px;line-height:22px;cursor:pointer}.checkbox-row input{width:22px;height:22px;min-height:22px;margin:0;accent-color:var(--accent);flex-shrink:0}.dialog--modal .primary-button{min-height:52px}.audio-options{display:flex;flex-direction:column;gap:4px}.audio-option{display:flex;align-items:center;justify-content:space-between;min-height:48px;gap:12px;font-size:14px;line-height:20px}.dialog-form{display:flex;flex-direction:column;gap:16px}.duration-entry{display:flex;align-items:center;justify-content:space-between;gap:12px}.duration-entry input{width:136px;border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text);background:var(--bg);font-size:20px}.session-details{display:flex;flex-direction:column;gap:14px;margin:0}.session-details>div,.details-total{display:flex;justify-content:space-between;gap:12px;font-size:16px;line-height:24px}.session-details dd{margin:0;color:var(--muted);font-variant-numeric:tabular-nums}.details-total{padding-top:16px;border-top:1px solid var(--border);font-size:20px;line-height:28px}.guided-options{gap:20px;padding:20px 0}.guided-instructions{display:flex;flex-direction:column;gap:8px}.guided-instructions .select-wrap{width:100%}.session{flex:1;display:flex;flex-direction:column}.session-center{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px 0}.phase-indicator{color:var(--accent);font-size:22px;line-height:30px;font-weight:400;text-align:center}.time-display{font-size:clamp(58px,20vw,82px);line-height:96px;letter-spacing:-.04em;font-weight:300;font-variant-numeric:tabular-nums}.quiet-button{background:transparent;color:var(--muted);font-size:14px;border:0;padding:8px 16px;text-decoration:underline;text-underline-offset:4px}.screen-hint{text-align:center;color:var(--muted);padding-top:16px;font-size:13px;line-height:20px}.complete{flex:1;display:flex;flex-direction:column;justify-content:center;gap:32px;text-align:center}.complete h2{font-weight:400;font-size:26px;line-height:34px;margin-bottom:12px}.complete p{color:var(--muted);font-size:16px;line-height:24px}@media(min-width:640px){.app{max-width:760px;min-height:auto;padding:clamp(32px,5vh,64px) 32px}.masthead{display:grid;grid-template-columns:42px minmax(0,1fr) 44px;grid-template-rows:auto auto;column-gap:16px;row-gap:2px;height:auto;padding:0 0 32px;margin-bottom:24px;border-bottom:1px solid var(--line)}.masthead img{grid-column:1;grid-row:1 / 3}.masthead h1{grid-column:2;grid-row:1;font-size:clamp(30px,3vw,36px);line-height:1.2}.masthead p{grid-column:2;grid-row:2;font-size:14px;line-height:22px}.theme-toggle{position:static;grid-column:3;grid-row:1 / 3}.mode-tabs{width:min(100%,320px);margin-bottom:28px}.setup-content{gap:32px}.duration-section{gap:12px;padding:0 0 8px}.duration-section h2{font-size:20px;line-height:28px}.duration-presets{gap:12px}.duration-presets button{height:56px;font-size:16px}.duration-help{font-size:14px;line-height:22px}.setting-row{padding:24px 0;gap:8px}.setup-footer{margin-top:0;padding-top:0}.finish-preview time{font-size:28px;line-height:36px}.details-button{margin-block:8px}.guided-options{gap:20px}.dialog{padding:32px;max-height:calc(100dvh - 48px)}.dialog--sheet{width:min(480px,calc(100% - 48px));margin:auto;border:1px solid var(--border);border-radius:16px}.dialog--modal{width:min(440px,calc(100% - 48px))}.dialog--modal h2{font-size:26px;line-height:34px}.session{min-height:min(580px,calc(100dvh - 220px))}.session-center{padding-block:clamp(24px,6vh,64px)}.time-display{font-size:clamp(82px,9vw,112px);line-height:1.2}.session-footer{width:min(100%,360px);margin-inline:auto}.audio-progress{max-width:440px}.complete{width:min(100%,480px);min-height:min(480px,calc(100dvh - 220px));margin-inline:auto;padding-block:32px}}@media(min-width:1024px){.app{max-width:1080px;padding-inline:48px}.masthead{margin-bottom:32px}.setup-content{display:grid;grid-template-columns:minmax(0,1fr) 352px;gap:clamp(32px,4vw,64px);align-items:start}.setup-footer{padding:28px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.finish-preview{gap:8px}.finish-preview>div{flex-direction:column;align-items:flex-start;gap:8px}.finish-preview time{font-size:40px;line-height:48px;text-align:left}.details-button{justify-content:flex-start;margin-block:20px 12px}}@media(max-height:540px){.dialog{padding-block:16px;max-height:calc(100dvh - 24px)}}@media(max-width:350px){.app{padding:20px 16px}.masthead h1{font-size:28px}.dialog{padding:20px}.dialog--modal h2{font-size:22px}.finish-preview time{font-size:22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}}.audio-progress{width:100%;height:4px;accent-color:var(--accent)}
