/* Warm, quiet surfaces. Color belongs to the world; contrast belongs to the controls. */
:root{--bg0:#14130f;--bg1:#1c1a15;--shell-edge:#24251f;--base:#0b0d0b;--ink:#eee8da;--bright:#f3eddf;--ink-dim:#c1b7a3;--ink-faint:#a69b86;--line:rgba(227,217,195,.14);--panel:rgba(232,222,200,.045);--panel-faint:rgba(232,222,200,.022);--serif:'Cormorant Garamond',Georgia,serif;--sans:Inter,system-ui,sans-serif}
body.light{--base:#d8d4c8;--bg0:#f2eee4;--bg1:#ece8db;--shell-edge:#e6e3d7;--bright:#302f25;--ink:#39382e;--ink-dim:#605b4e;--ink-faint:#736b5a;--line:rgba(60,58,41,.19);--panel:rgba(62,59,41,.04);--panel-faint:rgba(62,59,41,.025)}
body{padding:20px;min-height:100dvh;background:radial-gradient(ellipse at 50% 35%,#232a23 0,var(--base) 66%);overflow:hidden}
body.light{background:radial-gradient(ellipse at 50% 35%,#edeadd,var(--base) 76%)}
button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,[role=button]:focus-visible,summary:focus-visible{outline:2px solid var(--bright);outline-offset:5px}
button{color:inherit}button .ic{width:20px;height:20px}button,a{-webkit-tap-highlight-color:transparent}a{color:var(--ink);text-underline-offset:4px}
.os-phone{width:430px;height:calc(100dvh - 40px);max-height:940px;min-height:640px;border-radius:30px;background:radial-gradient(ellipse at 50% 35%,color-mix(in srgb,var(--accent) 8%,var(--bg1)),var(--bg0) 74%);box-shadow:0 35px 100px #0005,inset 0 0 0 1px #ede1c010}
.os-aura{opacity:.32}.os-aura .a1{width:280px;top:18%;left:5%;opacity:.2}.os-aura .a2{bottom:26%;opacity:.13}.os-aura .a3{display:none}.os-grain{opacity:.035;animation:none}.os-vignette{box-shadow:inset 0 0 95px 0 #0002;border-radius:30px}
.os-app{padding:0 28px 24px}.os-scene{scroll-padding-top:80px}.os-constel{height:589px;flex:none;margin-top:0}.os-title{display:none}.os-hscrim{display:none}.os-explore,.os-sliders{display:none}.os-sub{display:none}
.rt-brand{position:absolute;top:29px;left:28px;z-index:10;display:flex;align-items:center;gap:8px;font-family:var(--serif);font-size:27px;letter-spacing:-.025em;color:var(--ink)}.rt-brand-mark{display:block;width:36px;height:36px;flex:none;object-fit:contain}
.os-corner{top:27px;right:25px;height:38px;border:1px solid var(--line);border-radius:99px;background:var(--panel-faint);padding:0 13px;gap:7px;opacity:1;color:var(--ink-dim);font-size:11px;letter-spacing:.02em}.os-corner svg{fill:none;width:16px;height:16px}.os-corner.on{filter:none;border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.os-corner:hover{background:var(--panel);transform:none;color:var(--bright)}
.os-themetog{top:26px;left:auto;right:126px;transform:none;background:none;border:0;padding:8px;opacity:1;color:var(--ink-faint)}.os-themetog svg{width:18px;height:18px}.os-themetog.wink{animation:none}.os-themetog:hover{transform:none;color:var(--bright)}
.rt-welcome{position:absolute;top:90px;left:-5px;right:-5px;text-align:center;pointer-events:none;transition:opacity .7s,transform .7s}.rt-eyebrow{font-family:var(--sans);font-size:10px;font-weight:500;line-height:1.5;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-faint)}
.rt-welcome h1{font-family:var(--serif);font-size:42px;font-weight:400;letter-spacing:-.035em;line-height:1.03;margin-top:14px;color:var(--bright)}h1 em,h2 em{font-weight:400;color:var(--ink-dim)}
.os-hero{cursor:pointer;border-radius:50%;outline-offset:8px}.os-hero .os-corona{opacity:.3;animation-duration:12s}.os-heromount{opacity:.94}.os-rotor{animation:none}.os-orbitline{opacity:.18}.os-orbitline.flash{animation:none}.os-orbit{pointer-events:none}.os-ctrl{pointer-events:auto}.os-cbtn{width:48px;height:48px;box-shadow:none;background:var(--panel-faint);color:var(--ink-dim);padding:0}.os-clab{font-size:9px;letter-spacing:.08em;text-transform:none;color:var(--ink-dim);margin-top:3px}
#osc-begin .os-cbtn{width:74px;height:74px;color:#202219;background:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 80%,#fff);box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 5%,transparent),0 7px 30px #0002}#osc-begin .ic{width:25px;height:25px}#osc-begin .os-clab{font-size:14px;font-weight:500;letter-spacing:.015em;text-transform:capitalize;color:var(--bright);margin-top:6px;white-space:nowrap}
.os-ctrl:hover .os-cbtn{transform:translateY(-2px);border-color:var(--accent)}.os-ctrl:active .os-cbtn{transform:scale(.96)}.os-cbtn.looping{animation:none}
.rt-world-label{position:absolute;top:386px;left:60px;right:60px;text-align:center;pointer-events:none}.rt-world-label>span{display:block;font-family:var(--serif);font-size:23px;color:var(--ink)}.rt-world-label small{display:block;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-top:4px}.rt-duration{position:absolute;top:548px;left:0;right:0;text-align:center;font-size:10px;letter-spacing:.03em;color:var(--ink-faint)}
.rt-route{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0 13px;flex:none}.rt-route button{position:relative;display:flex;align-items:center;flex-direction:column;gap:5px;border:0;background:none;color:var(--ink-faint);font-family:var(--serif);font-size:17px;min-height:40px}.rt-route .rt-route-number{font-family:var(--sans);font-size:9px;letter-spacing:.12em;opacity:.9}.rt-route button.active{color:var(--bright)}.rt-route button i{position:absolute;width:3px;height:3px;bottom:-8px;background:transparent;border-radius:50%}.rt-route button.active i{background:var(--accent)}.rt-route button:hover{color:var(--bright)}
.rt-home-bottom{flex:none;text-align:center}.rt-preview{background:none;border:0;font-size:11px;display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:20px 0 16px;color:var(--ink-dim)}.rt-preview svg{width:16px;height:16px;transition:transform .2s}.rt-preview:hover svg{transform:translateX(4px)}
.rt-home-links{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:5px}.rt-home-links button{font-size:10px;color:var(--ink-faint);background:none;border:0;min-height:32px}.rt-home-links button:hover{color:var(--bright)}.rt-home-links i{height:3px;width:3px;border-radius:50%;background:var(--ink-faint);opacity:.5}.rt-signoff{font-size:12px;line-height:1.7;color:var(--ink-faint);margin:22px 0 12px}.rt-signoff em{font-family:var(--serif);font-size:17px}
.rt-memory-note{width:100%;display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:0;border-left:1px solid var(--accent);padding:6px 15px;background:transparent;margin:17px 0 6px;gap:8px}.rt-memory-note .rt-eyebrow{font-size:9px}.rt-memory-note q{font-family:var(--serif);font-size:21px;line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rt-memory-note small{font-size:10px;color:var(--ink-faint);display:flex;align-items:center;gap:8px}.rt-memory-note svg{height:13px;width:13px}
/* During the practice only the world and its words remain. */
.rt-caption{position:absolute;top:494px;left:2px;right:2px;z-index:5;text-align:center;font-family:var(--serif);font-size:27px;line-height:1.25;color:var(--bright);opacity:0;transform:translateY(8px);transition:opacity .65s,transform .65s;pointer-events:none;text-wrap:pretty}.rt-caption.on{opacity:1;transform:none}
.rt-phase-count{display:none;position:absolute;top:94px;left:0;right:0;text-align:center;font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);z-index:9}.rt-pause-pane{display:none;position:absolute;top:560px;left:0;right:0;text-align:center}.rt-pause-copy{font-family:var(--serif);font-size:22px;color:var(--ink-dim);margin-bottom:20px}
.rt-in-session .rt-welcome,.rt-in-session .rt-world-label,.rt-in-session .rt-duration,.rt-in-session .rt-home-bottom,.rt-in-session .rt-route{display:none}.rt-in-session .os-constel{min-height:760px;height:100%}.rt-in-session .os-title{display:block;top:125px;font-size:42px;font-weight:400;padding:0 25px;line-height:1.1;animation:none}.rt-in-session .rt-phase-count{display:block}.rt-in-session .rt-brand{opacity:.45}.rt-in-session .os-corner,.rt-in-session .os-themetog{visibility:hidden}.rt-in-session #osc-guide,.rt-in-session #osc-mix{visibility:hidden}.rt-paused .rt-pause-pane{display:block}.rt-paused .os-hero .os-heromount *{animation-play-state:paused!important}.rt-paused .os-ring{opacity:.24}.rt-in-session:not(.rt-paused) .os-orbit{visibility:hidden}.rt-in-session.os-peek:not(.rt-paused) .os-orbit{visibility:visible}.rt-in-session.os-peek:not(.rt-paused) .rt-caption{top:545px}.rt-in-session.os-peek .os-orbit{pointer-events:none}
.rt-notice{position:absolute;z-index:40;bottom:22px;left:24px;right:24px;pointer-events:none;border:1px solid var(--line);background:var(--bg1);padding:14px 18px;border-radius:14px;color:var(--bright);font-size:12px;line-height:1.5;box-shadow:0 8px 30px #0004;opacity:0;transform:translateY(8px);transition:.25s}.rt-notice.on{opacity:1;transform:none}
/* Accessible sheets: native modal focus, scrollable content, reachable actions. */
.rt-dialog{position:fixed;inset:0;margin:auto;width:min(430px,calc(100vw - 28px));height:auto;max-height:calc(100dvh - 48px);padding:0;border:1px solid var(--line);border-radius:26px;background:var(--bg0);color:var(--ink);box-shadow:0 40px 100px #0007;overflow:hidden}
.rt-dialog::backdrop{background:#090c09c9;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.rt-dialog[open]{animation:sheet-in .64s cubic-bezier(.22,1,.36,1) both;transform-origin:50% 75%}
.rt-dialog[open]::backdrop{animation:sheet-backdrop-in .6s ease-out both}
.rt-dialog[open] .rt-sheet{animation:sheet-content-in .65s cubic-bezier(.22,1,.36,1) .07s both}
@keyframes sheet-in{from{opacity:0;transform:translateY(28px) scale(.965)}to{opacity:1;transform:none}}
@keyframes sheet-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes sheet-content-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.rt-dialog[open].rt-closing{animation:sheet-out .4s cubic-bezier(.4,0,.2,1) both;pointer-events:none}
.rt-dialog[open].rt-closing::backdrop{animation:sheet-backdrop-out .4s ease-in-out both}
.rt-dialog[open].rt-closing .rt-sheet{animation:none}
@keyframes sheet-out{from{opacity:1;transform:none}to{opacity:0;transform:translateY(14px) scale(.985)}}
@keyframes sheet-backdrop-out{from{opacity:1}to{opacity:0}}
@media(max-width:520px){.rt-dialog[open]{transform-origin:50% 100%}@keyframes sheet-in{from{opacity:0;transform:translateY(44px) scale(.985)}to{opacity:1;transform:none}}}
.rt-sheet{position:relative;max-height:calc(100dvh - 50px);overflow-y:auto;overscroll-behavior:contain;padding:48px 30px 28px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.rt-close{position:absolute;right:15px;top:15px;display:grid;place-items:center;border:1px solid var(--line);background:transparent;border-radius:50%;width:34px;height:34px;color:var(--ink-dim);z-index:2}.rt-close .ic{width:15px;height:15px}.rt-close:hover{background:var(--panel);color:var(--bright)}
.rt-sheet h2{font-family:var(--serif);font-size:43px;line-height:1.03;letter-spacing:-.035em;font-weight:400;color:var(--bright);margin:14px 0}.rt-sheet h3{font-family:var(--serif);font-size:24px;font-weight:500;line-height:1.2;color:var(--ink)}.rt-intro{font-size:12px;line-height:1.8;color:var(--ink-dim);margin:14px 0 24px;text-wrap:pretty}.rt-small{font-size:10px;color:var(--ink-faint);line-height:1.7;margin:15px 0 0}.rt-flourish{display:flex;align-items:center;gap:15px;margin:4px 0 25px;color:var(--accent);width:100%;justify-content:center}.rt-flourish span{width:38px;height:1px;background:var(--line)}.rt-flourish i{font-style:normal;font-size:20px}
.rt-dialog[data-kind=act] .rt-sheet,.rt-dialog[data-kind=saved] .rt-sheet{text-align:center}.rt-dialog[data-kind=act] h2,.rt-dialog[data-kind=saved] h2{font-size:44px}.rt-dialog[data-kind=act] .rt-intro{margin-bottom:28px}.rt-act-form{text-align:left;display:flex;flex-direction:column}.rt-act-form>label,.rt-field-label{font-size:18px;font-family:var(--serif);color:var(--bright);display:block;margin:20px 0 9px}.rt-act-form>label:first-child{margin-top:0}.rt-act-form>label>span{font-size:10px;font-family:var(--sans);margin-left:7px;color:var(--ink-faint)}
.rt-sheet input:not([type=radio]):not([type=range]),.rt-sheet textarea,.rt-sheet select{width:100%;border:1px solid var(--line);border-radius:11px;background:var(--panel-faint);color:var(--bright);font-size:16px;line-height:1.45;padding:12px 14px;outline:none;transition:box-shadow .2s,border-color .2s}.rt-sheet textarea{resize:vertical;min-height:64px}.rt-sheet input::placeholder,.rt-sheet textarea::placeholder{color:var(--ink-faint);font-style:italic}.rt-sheet input:focus,.rt-sheet textarea:focus,.rt-sheet select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent)}.rt-sheet select{appearance:auto;color-scheme:dark}.light .rt-sheet select{color-scheme:light}.rt-sheet select option{background:var(--bg0)}
.rt-cue-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.rt-cue-chips button{border:1px solid var(--line);background:transparent;border-radius:30px;padding:6px 8px;min-height:30px;font-size:9px;color:var(--ink-dim)}.rt-cue-chips button:hover{border-color:var(--accent);color:var(--bright)}.rt-optional{border-top:1px solid var(--line);margin:23px 0 6px;padding-top:14px}.rt-optional summary{font-size:11px;color:var(--ink-dim);cursor:pointer;line-height:1.6}.rt-optional summary span{font-size:9px;color:var(--ink-faint);margin-left:6px}.rt-optional label{display:block;font-size:11px;margin:16px 0 8px}.rt-error{font-size:12px;line-height:1.6;color:#efb898;margin:12px 0}.rt-error:empty{display:none}
.rt-primary{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;border:1px solid var(--accent);background:var(--accent);color:#22241d;border-radius:99px;font-size:12px;font-weight:500;letter-spacing:.01em;padding:13px 20px;margin-top:22px;transition:transform .2s,filter .2s}.rt-primary:hover{filter:brightness(1.07);transform:translateY(-1px)}.rt-primary:active{transform:scale(.985)}.rt-primary .ic{height:17px;width:17px}.rt-text-button{display:flex;justify-content:center;align-items:center;gap:8px;background:none;border:0;min-height:42px;padding:10px 4px;font-size:11px;line-height:1.5;color:var(--ink-dim);margin:7px auto 0}.rt-text-button .ic{width:14px;height:14px}.rt-text-button:hover{color:var(--bright)}
.rt-plan-quote{font-family:var(--serif);font-size:28px;line-height:1.25;color:var(--ink);margin:30px 0;padding:25px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow-wrap:anywhere}.rt-dialog[data-kind=saved] .rt-sheet{padding-top:65px;padding-bottom:40px}.rt-dialog[data-kind=saved] .rt-intro{max-width:270px;margin:0 auto 30px}
/* A reflection, with no denominator and no missing-day calendar. */
.rt-return-step{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0;margin:28px 0 20px}.rt-return-step blockquote{font-family:var(--serif);font-size:29px;line-height:1.22;margin-top:15px;overflow-wrap:anywhere}.rt-check-options{display:flex;flex-direction:column;gap:8px}.rt-check-options button{display:flex;align-items:center;gap:12px;min-height:47px;border:1px solid var(--line);background:none;border-radius:11px;font-size:12px;padding:12px 15px;text-align:left;color:var(--ink-dim)}.rt-check-options button.selected{border-color:var(--accent);background:var(--panel);color:var(--bright)}.rt-check-options button:hover{border-color:var(--accent)}.rt-check-options svg{width:17px;height:17px;color:var(--accent)}.rt-feedback{font-size:11px;color:var(--ink-dim);line-height:1.7;margin:17px 0 6px;text-align:center;min-height:36px}.rt-history{margin-top:30px;border-top:1px solid var(--line);padding-top:23px}.rt-history h3{font-size:23px;margin-bottom:16px}.rt-history>button{width:100%;display:grid;grid-template-columns:1fr 18px;text-align:left;gap:5px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;padding:15px 0;color:var(--ink-dim)}.rt-history>button>span{font-family:var(--serif);font-size:21px;line-height:1.2}.rt-history>button>small{font-size:9px;color:var(--ink-faint)}.rt-history>button>svg{grid-column:2;grid-row:1/3;align-self:center;width:16px;height:16px}.rt-empty{font-family:var(--serif);font-size:24px;line-height:1.4;color:var(--ink-dim);text-align:center;margin:30px 0}
/* Settings stay off the daily path. */
.rt-tabs{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);margin:20px 0 18px}.rt-tabs button{border:0;background:transparent;border-bottom:1px solid transparent;color:var(--ink-faint);padding:13px 4px;font-size:12px}.rt-tabs button.active{color:var(--bright);border-color:var(--accent)}.rt-phase-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 28px}.rt-phase-tabs button{border:1px solid var(--line);background:transparent;color:var(--ink-dim);border-radius:25px;padding:8px 10px;font-size:10px}.rt-phase-tabs button.active{border-color:var(--accent);color:var(--bright)}.rt-heading-dot{color:var(--accent)}
.rt-knowledge article{padding:22px 0;border-top:1px solid var(--line)}.rt-knowledge-label{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);margin-bottom:9px}.rt-knowledge p{font-size:12px;line-height:1.8;color:var(--ink-dim);margin:11px 0}.rt-knowledge small{display:block;color:var(--ink-faint);font-size:10px;line-height:1.6}.rt-knowledge a{display:inline-block;font-size:11px;margin-top:15px}.rt-word-list{list-style:none}.rt-word-list button{display:grid;grid-template-columns:20px 1fr 15px;gap:10px;align-items:start;text-align:left;line-height:1.4;width:100%;padding:20px 0;border:0;border-bottom:1px solid var(--line);background:transparent;font-family:var(--serif);font-size:22px;color:var(--ink)}.rt-word-list button>span{font-family:var(--sans);font-size:9px;padding-top:7px;color:var(--ink-faint)}.rt-word-list .ic{width:13px;height:13px;margin-top:8px;color:var(--ink-faint)}
fieldset{border:0;margin:24px 0}legend{font-size:11px;color:var(--ink-dim);margin-bottom:14px}.rt-choice-stack{display:flex;flex-direction:column;gap:9px}.rt-choice-stack>button,.rt-choice-stack>label{display:flex;align-items:center;gap:12px;justify-content:space-between;width:100%;min-height:68px;text-align:left;padding:17px 15px;border:1px solid var(--line);border-radius:12px;background:transparent;color:var(--ink);cursor:pointer}.rt-choice-stack>label{justify-content:flex-start}.rt-choice-stack>button.active,.rt-choice-stack>label:has(input:checked){border-color:var(--accent);background:var(--panel)}.rt-choice-stack b{font-size:13px;font-weight:500;display:block}.rt-choice-stack small{display:block;font-size:11px;line-height:1.6;color:var(--ink-dim);margin-top:5px}.rt-choice-stack input{accent-color:var(--accent);width:16px;height:16px;flex:none}.rt-choice-stack .ic{width:17px;height:17px;color:var(--accent);flex:none}
.rt-segments{display:flex;border:1px solid var(--line);border-radius:10px;padding:4px;gap:4px}.rt-segments button{flex:1;background:transparent;border:0;border-radius:7px;font-size:11px;padding:11px 4px;color:var(--ink-dim)}.rt-segments button.active{background:var(--accent);color:#22241d}.rt-range{margin:29px 0}.rt-range label{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-dim);margin-bottom:15px}.rt-range output{color:var(--ink-faint);font-size:10px}.rt-range input{width:100%;accent-color:var(--accent);height:20px;cursor:pointer}.rt-world-settings{display:flex;flex-direction:column;gap:10px}.rt-world-settings label{display:flex;align-items:center;justify-content:space-between;font-family:var(--serif);font-size:22px}.rt-world-settings select{width:55%;font-family:var(--sans);font-size:12px}
.rt-recordings{margin-top:20px}.rt-recordings article{padding:18px 0;border-bottom:1px solid var(--line)}.rt-recordings article>p{font-family:var(--serif);font-size:22px;line-height:1.35;margin-bottom:13px}.rt-recordings article>div{display:flex;align-items:center;gap:7px}.rt-recordings button{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:none;border-radius:30px;padding:9px 10px;font-size:10px;min-height:35px;color:var(--ink-dim)}.rt-recordings button .ic{width:13px;height:13px}.rt-recordings article.recording button[data-rec]{color:#efb898;border-color:#efb898}.rt-record-status{font-size:10px;color:var(--ink-faint)}.rt-recordings article.has-recording{border-bottom-color:color-mix(in srgb,var(--accent) 40%,var(--line))}.rt-data{border-top:1px solid var(--line);margin-top:32px;padding-top:25px}.rt-data>p{font-size:11px;line-height:1.8;color:var(--ink-dim);margin-top:10px}.rt-data>div{display:flex;gap:12px;justify-content:space-between;margin-top:20px;flex-wrap:wrap}.rt-data button{border:0;background:transparent;color:var(--ink-dim);font-size:11px;padding:10px 0;display:flex;align-items:center;gap:7px}.rt-data button .ic{width:14px;height:14px}
/* Original artwork motion, with the same easy ten-second breath. */
.rt-breath{transform-origin:118px 118px;animation:rt-breath 10s cubic-bezier(.45,0,.35,1) infinite}@keyframes rt-breath{0%{transform:scale(.72)}40%,50%{transform:scale(1)}100%{transform:scale(.72)}}.rt-mote{animation:rt-mote 9s ease-in-out infinite;opacity:0}@keyframes rt-mote{0%{transform:translateY(0);opacity:0}15%{opacity:.75}70%{opacity:.4}100%{transform:translateY(-84px);opacity:0}}.rt-rise{animation:rt-rise 14s ease-in-out infinite}@keyframes rt-rise{0%,100%{transform:translateY(8px)}50%{transform:translateY(-10px)}}
body.light .rt-brand .ic,body.light .rt-check-options svg,body.light .rt-choice-stack .ic,body.light .rt-flourish{color:var(--deep)}body.light .rt-error{color:#87422c}body.light .rt-in-session .rt-brand{opacity:1}
@media(max-width:520px){body{padding:0;display:block;background:var(--bg0)}.os-phone{width:100vw;height:100dvh;max-height:none;min-height:0;border-radius:0;box-shadow:none}.os-vignette{border-radius:0}.rt-dialog{width:100vw;max-height:100dvh;border-radius:22px 22px 0 0;margin:auto 0 0;border-bottom:0}.rt-sheet{max-height:calc(100dvh - 2px);padding-bottom:max(25px,env(safe-area-inset-bottom))}.rt-brand{top:calc(29px + env(safe-area-inset-top))}.os-corner{top:calc(27px + env(safe-area-inset-top))}.os-themetog{top:calc(26px + env(safe-area-inset-top))}.os-app{padding-top:env(safe-area-inset-top);padding-bottom:max(24px,env(safe-area-inset-bottom))}}
@media(max-width:370px){.os-app{padding-left:20px;padding-right:20px}.rt-welcome h1{font-size:36px}.rt-sheet{padding-left:22px;padding-right:22px}.rt-dialog[data-kind=act] h2,.rt-dialog[data-kind=saved] h2{font-size:39px}.rt-route button{font-size:15px}.rt-cue-chips button{font-size:9px}.rt-act-form>label>span{font-size:9px}.rt-caption{font-size:24px}.rt-brand{left:20px}.os-corner{right:18px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.os-clab{white-space:nowrap}.rt-paused .os-orbit{opacity:1;filter:none;transition-duration:.2s}.rt-paused .rt-caption{opacity:0;transition-duration:.15s}

.os-phone:not(.rt-in-session) .rt-caption{display:none}

/* Header mark and static flourishes share the torus silhouette. */
.rt-brand{gap:9px}.rt-in-session .rt-brand{opacity:1}.rt-in-session .rt-brand>span{opacity:.45}.rt-flourish>img{width:48px;height:48px;display:block;flex:none}

/* One shared clock carries daylight through dusk, night and dawn. */
.torus{--torus-cycle:18s;width:64px;height:64px;display:block}
.torus-loops,.torus-equator,.torus-orbit{transform-origin:128px 128px}
.torus-loops{animation:torusBreathe 9s ease-in-out infinite}
.torus-equator,.torus-orbit{animation:torusSpin var(--torus-cycle) linear infinite}
.torus-body{transform-origin:0 0;animation:torusCounterspin var(--torus-cycle) linear infinite}
.torus-night{opacity:0;animation:torusNight var(--torus-cycle) linear infinite}
.torus-disc{fill:#fff0be;animation:torusDaylight var(--torus-cycle) linear infinite}
.torus-moon-shadow{transform:translate(40px,-12px);animation:torusMoon var(--torus-cycle) linear infinite}
.torus-halo{opacity:.85;animation:torusHalo var(--torus-cycle) linear infinite}
.torus-glow-color{animation:torusGlow var(--torus-cycle) linear infinite}
.torus-thread-low{animation:torusThreadLow var(--torus-cycle) linear infinite}
.torus-thread-high{animation:torusThreadHigh var(--torus-cycle) linear infinite}
body.light .torus #dr-cycle-night stop:first-child{stop-opacity:.12}
body.light .torus #dr-cycle-night stop:nth-child(2){stop-opacity:.06}
body.light .torus-disc{fill:#b57a28;animation-name:torusDaylightLight}
@keyframes torusBreathe{0%,100%{transform:scale(.975)}50%{transform:scale(1.03)}}
@keyframes torusSpin{to{transform:rotate(360deg)}}
@keyframes torusCounterspin{to{transform:rotate(-360deg)}}
@keyframes torusNight{0%,20%,80%,100%{opacity:0}38%,62%{opacity:1}}
@keyframes torusDaylight{0%,18%,82%,100%{fill:#fff0be}27%,73%{fill:#e6a26b}38%,62%{fill:#deecf4}}
@keyframes torusDaylightLight{0%,18%,82%,100%{fill:#b57a28}27%,73%{fill:#b57248}38%,62%{fill:#46617c}}
@keyframes torusMoon{0%,22%,78%,100%{transform:translate(40px,-12px)}38%,62%{transform:translate(9px,-6px)}}
@keyframes torusHalo{0%,18%,82%,100%{opacity:.85}27%,73%{opacity:.55}38%,62%{opacity:.15}}
@keyframes torusGlow{0%,18%,82%,100%{stop-color:#f4cc76}27%,73%{stop-color:#e6a26b}38%,62%{stop-color:#b9d4ee}}
@keyframes torusThreadLow{0%,18%,82%,100%{stop-color:#b58b75}38%,62%{stop-color:#607c9e}}
@keyframes torusThreadHigh{0%,18%,82%,100%{stop-color:#e4bf65}38%,62%{stop-color:#a7c3da}}
@media(prefers-reduced-motion:reduce){.torus *{animation:none!important}}

.rt-brand{top:7px;left:20px;width:80px;height:80px;gap:0}.rt-brand .torus{width:80px;height:80px;flex:none}.rt-in-session .rt-brand{opacity:1}
@media(max-width:520px){.rt-brand{top:calc(7px + env(safe-area-inset-top));left:20px}}

.rt-sage-study{display:inline-block;padding:4px 10px 12px;color:var(--ink-dim);font-size:11px;text-underline-offset:4px}.rt-sage-study:hover{color:var(--bright)}

.rt-phase-times .rt-range{margin:20px 0}.rt-phase-times .rt-range label{margin-bottom:8px}.rt-time-total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:16px;color:var(--ink-dim);font-size:12px}.rt-time-total output{font-family:var(--serif);font-size:24px;color:var(--bright)}

.rt-time-details{border-top:1px solid var(--line);padding-top:13px}.rt-time-details summary{font-size:11px;color:var(--ink-dim);cursor:pointer;padding:5px 0}.rt-time-details[open] summary{margin-bottom:15px}

/* Emerge refinement: Lumina spacing and motion, existing Emerge skin. */
.rt-welcome{top:62px}.rt-welcome h1{margin-top:12px}
.rt-preview{position:relative;isolation:isolate;width:fit-content;max-width:100%;margin:20px auto 8px;padding:12px 18px;min-height:44px;border:0;border-radius:999px;background:none;font-size:12px;color:#202219;font-weight:500;transition:transform var(--dur-base) var(--ease-out),color .25s}
/* A smaller visible pill inside the comfortable touch target. */
.rt-preview::before{content:"";position:absolute;inset:4px 0;z-index:-1;pointer-events:none;border-radius:inherit;background:color-mix(in srgb,var(--accent) 94%,transparent);transform:scale(1);transition:background .45s ease,transform .5s cubic-bezier(.22,1,.36,1)}
.rt-preview:hover,.rt-preview:focus-visible{background:none;color:#202219}
.rt-preview:hover::before,.rt-preview:focus-visible::before{background:var(--accent);transform:scale(1.035,1.08)}
.rt-preview svg{width:14px;height:14px;transition:transform var(--dur-base) var(--ease-bounce)}.rt-preview:active{transform:scale(.98)}
.rt-dialog[data-kind=mix] .rt-sheet{padding-top:48px}.rt-dialog[data-kind=mix] fieldset{padding:0;margin:32px 0 0;border:0;min-width:0}.rt-dialog[data-kind=mix] legend{font-family:var(--serif);font-size:32px;line-height:1.15;color:var(--bright);letter-spacing:-.02em;text-transform:none;font-weight:400;margin-bottom:8px}
.rt-dialog[data-kind=mix] .rt-small{font-size:12px;line-height:1.6;margin-top:8px}.rt-dialog[data-kind=mix] .rt-range{margin:24px 0}.rt-dialog[data-kind=mix] .rt-range label{font-size:14px;font-weight:500}.rt-dialog[data-kind=mix] .rt-range output{font-size:13px;color:var(--ink-dim)}.rt-dialog[data-kind=mix] input[type=range]{height:32px}
.rt-time-details{padding:0;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-faint);margin:24px 0 16px}.rt-time-details summary{padding:16px;font-size:15px;color:var(--bright);min-height:60px}.rt-time-details summary span{display:inline-block;vertical-align:middle}.rt-time-details summary small{display:block;font-size:11px;font-weight:400;color:var(--ink-faint);margin-top:6px}.rt-time-details[open] summary{margin-bottom:0;border-bottom:1px solid var(--line)}.rt-time-details .rt-range{padding:0 16px}.rt-time-total{margin-top:20px;padding-top:20px;font-size:13px}.rt-time-total output{font-size:30px}
.rt-sound-levels,.rt-worlds{border-top:1px solid var(--line)!important;padding-top:32px!important}.rt-listen{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--panel-faint);color:var(--ink-dim);font-size:12px;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-base) var(--ease-out)}.rt-listen svg{width:16px;height:16px;transition:transform var(--dur-base) var(--ease-bounce)}.rt-listen:hover:not(:disabled){background:var(--panel);color:var(--bright)}.rt-listen:hover:not(:disabled) svg{transform:scale(1.12)}.rt-listen:active:not(:disabled){transform:scale(.96)}.rt-listen:disabled{cursor:default}
.rt-world-settings{gap:24px;margin-top:24px}.rt-world-row>label{display:block;font:500 14px var(--sans);margin-bottom:10px}.rt-world-row>div{display:flex;gap:8px}.rt-world-row select{width:100%;min-width:0;flex:1;appearance:none;background:var(--panel-faint);padding-right:30px;background-image:linear-gradient(45deg,transparent 50%,var(--ink-dim) 50%),linear-gradient(135deg,var(--ink-dim) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}.rt-listen-icon{flex:none;width:44px;padding:0}.rt-listening{margin:28px 0;display:flex;align-items:center;gap:12px;justify-content:space-between}.rt-listening p{font-size:12px;color:var(--ink-dim);line-height:1.5}.rt-listening button{flex:none}.rt-close{width:44px;height:44px}
.rt-dialog[data-kind=guide] .rt-choice-stack{gap:12px;margin-top:28px}.rt-dialog[data-kind=guide] .rt-choice-stack button{padding:20px}.rt-dialog[data-kind=guide] .rt-choice-stack b{font-family:var(--serif);font-size:27px;font-weight:400}.rt-dialog[data-kind=guide] .rt-choice-stack small{font-size:12px;line-height:1.6;margin-top:8px}
@media(prefers-reduced-motion:reduce){.rt-preview,.rt-preview svg,.rt-listen,.rt-listen svg{transition:none;transform:none!important}}

.rt-dialog[data-kind=guide] .rt-sheet{padding-top:72px}

/* Scroll-independent dismissal and compact sound-world choices. */
.rt-dialog>.rt-close{position:absolute;top:12px;right:12px;z-index:20;background:var(--bg0);box-shadow:0 0 0 5px var(--bg0)}
.rt-sheet{scroll-padding-top:68px;scroll-padding-bottom:24px}
.rt-time-details summary{display:flex;align-items:flex-start;gap:10px;list-style:none;line-height:21px}.rt-time-details summary::-webkit-details-marker{display:none}.rt-time-details summary::before{content:'';flex:none;width:0;height:0;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:5px solid currentColor;margin-top:6px;transform-origin:2px 4px;transition:transform var(--dur-fast) var(--ease-out)}.rt-time-details[open] summary::before{transform:rotate(90deg)}.rt-time-details summary span{min-width:0;display:block}
.rt-world-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rt-world-row{min-width:0;border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px 12px;background:var(--panel-faint)}.rt-world-row>label{font:400 23px/1.2 var(--serif);margin-bottom:12px}.rt-world-row>div{display:flex;flex-direction:column;gap:10px}.rt-world-row select{width:100%;flex:none;min-height:44px;font-size:16px;padding:10px 26px 10px 8px;background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%}.rt-world-row .rt-listen-icon{width:100%;gap:6px;min-height:44px;font-size:12px}.rt-world-row.is-listening{border-color:var(--accent)}.rt-world-row.is-listening .rt-listen{background:color-mix(in srgb,var(--accent) 12%,var(--bg0));color:var(--bright)}
@media(max-width:370px){.rt-world-row{padding:12px 8px}.rt-world-row>label{font-size:21px}.rt-world-settings{gap:10px}}

/* Native dialogs carry a browser max-width unless explicitly reset. */
.rt-dialog{box-sizing:border-box;max-width:none}
@media(max-width:520px){.rt-dialog{left:0;right:0;width:100%;max-width:100%;margin:auto 0 0;max-height:100dvh}.rt-sheet{max-height:calc(100dvh - 2px);padding-bottom:max(32px,env(safe-area-inset-bottom));scroll-padding-bottom:max(32px,env(safe-area-inset-bottom))}}

/* A steady, quiet way out of immersion. Touch targets stay generous. */
.rt-practice-controls{position:absolute;z-index:35;bottom:0;left:0;right:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:10px 18px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg0);border-radius:0 0 30px 30px}
.rt-practice-controls[hidden],.rt-resume-home[hidden],[data-preview][hidden]{display:none}
.rt-practice-controls button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:52px;min-width:44px;border:0;border-radius:12px;background:transparent;color:var(--ink-dim);font-family:var(--sans);font-size:10px;letter-spacing:.02em}
.rt-practice-controls button svg{width:21px;height:21px}.rt-practice-controls button:hover,.rt-practice-controls button:focus-visible{background:var(--panel);color:var(--bright)}.rt-practice-controls button:active{background:var(--panel);transform:scale(.97)}
.rt-in-session .os-scene{padding-bottom:100px;scroll-padding-bottom:110px}.rt-in-session .os-orbit{visibility:hidden!important;pointer-events:none}
.rt-resume-home{padding:24px 0 12px}.rt-resume-home p{font-family:var(--serif);font-size:24px;margin:0 0 16px}.rt-backup-plan{font-size:14px;line-height:1.7;color:var(--ink-dim);border-left:1px solid var(--accent);padding-left:16px;margin:20px 0}
.rt-dialog[data-kind=session-mix] .rt-range{margin:28px 0}.rt-dialog[data-kind=session-mix] .rt-primary{margin-top:24px}
@media(max-width:520px){.rt-practice-controls{border-radius:0}}

.rt-dialog[data-kind=session-mix]{inset:auto 0 0;height:fit-content;max-height:calc(100dvh - 24px);margin:0 auto}
.rt-dialog[data-kind=session-mix] .rt-sheet{max-height:calc(100dvh - 26px)}

/* Quiet, explicit ownership of browser-local returns. */
.rt-storage-copy{font-size:12px;line-height:1.7;color:var(--ink-dim);margin:30px 0 0;text-align:center}
.rt-storage-warning{font-size:12px;line-height:1.7;color:var(--ink);border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:16px;margin:20px 0;overflow-wrap:anywhere}
.rt-data .rt-backup-actions{display:flex;flex-direction:column;gap:10px}
.rt-data .rt-backup-actions button{justify-content:space-between;border:1px solid var(--line);border-radius:12px;padding:14px 16px;min-height:48px;font-size:13px;color:var(--ink)}
.rt-data .rt-backup-actions button:hover{border-color:var(--accent);background:var(--panel)}
.rt-data button{min-height:44px}.rt-data [hidden]{display:none}
.rt-data [data-wipe]{margin-top:20px;color:var(--ink-dim)}
.rt-backup-filename{font-size:12px;line-height:1.6;color:var(--ink-dim);overflow-wrap:anywhere}
.rt-backup-counts{display:flex;flex-wrap:wrap;gap:10px 20px;list-style:none;padding:20px 0;margin:20px 0;border-block:1px solid var(--line);font-size:14px;color:var(--ink)}
.rt-restore-settings{display:flex;gap:12px;align-items:center;font-size:13px;line-height:1.6;min-height:44px;color:var(--ink)}
.rt-sheet .rt-restore-settings input[type=checkbox]{width:18px;min-width:18px;height:18px;padding:0;margin:0;accent-color:var(--accent);flex:0 0 18px}
.rt-history>button>span{overflow-wrap:anywhere;min-width:0}
.rt-dialog button:disabled{opacity:.5;cursor:wait}

/* Keep hidden orbit controls measurable when mobile browser chrome resizes. */
.rt-duration{top:554px}.os-phone:not(.rt-in-session) .os-constel{height:602px}

/* September phone polish: aligned header and more air around Begin. */
.rt-brand{top:15px;left:20px}
.os-corner{top:27px;right:28px;width:58px;height:58px;border-radius:20px;padding:8px 3px;gap:4px;flex-direction:column;justify-content:center;font-size:9px;letter-spacing:0}
.os-corner svg{width:20px;height:20px}
.os-themetog{top:20px;left:50%;right:auto;width:44px;height:44px;transform:translateX(-50%);display:grid;place-items:center;padding:0}
.os-themetog:hover{transform:translateX(-50%)}
#osc-begin .os-cbtn{width:64px;height:64px}
#osc-begin .ic{width:23px;height:23px}
.rt-world-label{top:380px}
.rt-world-label>span{line-height:1.05}
.rt-world-label small{line-height:1.2;margin-top:2px}
@media(max-width:520px){.rt-brand{top:calc(15px + env(safe-area-inset-top))}.os-corner{top:calc(27px + env(safe-area-inset-top));right:28px}.os-themetog{top:calc(20px + env(safe-area-inset-top))}}

/* Phase entry and balanced secondary actions. */
.rt-welcome{top:64px}
.rt-welcome h1{font-size:clamp(31px,9.2vw,40px);line-height:1.08;text-wrap:balance}
/* Wind's concentric return rings: quiet backward motion, stationary lettering. */
.os-corner{display:grid;place-items:center;width:80px;height:80px;top:17px;right:27px;border:0;border-radius:50%;padding:0;gap:0;background:none;color:var(--ink);box-shadow:none;transition:color .2s}
.os-corner .rt-return-orbits,.os-corner .rt-return-label{grid-area:1/1;pointer-events:none}
.os-corner .rt-return-orbits{width:80px;height:80px;fill:none;stroke:var(--accent);stroke-width:.65;stroke-linecap:round;opacity:.65;transition:opacity .2s;transform-origin:center;animation:rt-return-flourish 36s cubic-bezier(.65,0,.35,1) infinite}
.os-corner .rt-return-label{position:relative;font:600 16px/1 var(--sans);letter-spacing:0;color:var(--bright)}
.rt-return-orbit{transform-origin:40px 40px}
.rt-return-orbit-outer{transform:rotate(-65deg);animation:rt-return-outer 48s linear infinite}
.rt-return-orbit-inner{transform:rotate(8deg);animation:rt-return-inner 32s linear infinite}
.os-corner:hover,.os-corner:active{background:none;transform:none}
.os-corner:hover .rt-return-orbits{opacity:.9}
.os-corner:active .rt-return-orbits{opacity:1}
.rt-in-session .rt-return-orbit,.rt-taking-breath .rt-return-orbit,.rt-in-session .rt-return-orbits,.rt-taking-breath .rt-return-orbits{animation-play-state:paused}
@keyframes rt-return-outer{from{transform:rotate(-65deg)}to{transform:rotate(-425deg)}}
@keyframes rt-return-inner{from{transform:rotate(8deg)}to{transform:rotate(-352deg)}}
/* One soft extra turn, then back to the unhurried orbit. The label stays still. */
@keyframes rt-return-flourish{0%,86%{transform:rotate(0)}100%{transform:rotate(-360deg)}}
.rt-home-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px;margin:0}
.rt-home-links button{display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-start;gap:8px;padding:12px 4px;min-height:64px;border:0;border-radius:10px;background:none;text-align:left;transition:background .25s,color .25s,transform .25s}
.rt-home-links button>.ic{width:16px;height:16px;flex:none;margin-top:2px;color:var(--accent);opacity:.8}
.rt-home-links button b{display:block;font-family:var(--serif);font-size:17px;line-height:20px;font-weight:400;color:var(--ink-dim);white-space:nowrap;transition:color .25s}
.rt-home-links button small{display:block;margin-top:4px;font-size:10px;line-height:1.5;color:var(--ink-faint)}
.rt-home-links button:hover{background:var(--panel-faint);transform:translateY(-2px)}
.rt-home-links button:hover b{color:var(--bright)}
.rt-home-links button:active{transform:scale(.98)}
body.light .rt-home-links button>.ic{color:var(--deep)}
.rt-lineage{padding:0 0 26px;margin:6px 0 28px;border-bottom:1px solid var(--line)}
.rt-lineage h2{margin:10px 0 18px}
.rt-lineage p:not(.rt-eyebrow){font-size:13px;line-height:1.8;color:var(--ink-dim)}
.rt-lineage a{display:inline-block;font-size:12px;margin:18px 0;min-height:24px}
.rt-lineage small{display:block;font-size:11px;line-height:1.7;color:var(--ink-faint)}
.rt-preference-note{padding:16px;border-left:2px solid var(--accent);background:var(--panel-faint);font-size:12px;line-height:1.8;color:var(--ink-dim);margin:20px 0}
@media(max-width:520px){.os-corner{top:calc(17px + env(safe-area-inset-top))}}
@media(max-width:370px){.rt-home-links{gap:10px}.rt-home-links button b{font-size:16px}.rt-welcome h1{font-size:32px}}

/* The mark offers one quiet breath, with an explicit keyboard/touch exit. */
.rt-logo-button{position:relative;display:block;width:80px;height:80px;padding:0;border:0;border-radius:50%;background:none;transition:background .4s,box-shadow .4s}
.rt-logo-button:disabled{opacity:1}
.rt-logo-button .torus{pointer-events:none}
.rt-logo-button:not(:disabled):hover{background:color-mix(in srgb,var(--accent) 6%,transparent);box-shadow:0 0 22px color-mix(in srgb,var(--accent) 9%,transparent)}
.rt-dialog[data-kind=breath]{position:fixed;inset:0;margin:auto;width:min(430px,100vw);height:min(620px,100dvh);max-height:100dvh;border:0;border-radius:32px;background:transparent;box-shadow:none;overflow:visible;color:var(--bright)}
.rt-dialog[data-kind=breath]::backdrop{background:color-mix(in srgb,var(--bg0) 92%,transparent);backdrop-filter:blur(12px)}
.rt-dialog[data-kind=breath] .rt-sheet{height:100%;max-height:100%;padding:48px 24px 32px;display:grid;place-items:center;overflow:auto}
.rt-dialog[data-kind=breath]>.rt-close{background:transparent;box-shadow:none}
.rt-breath-reset{position:relative;text-align:center;width:100%;z-index:1}
/* A small sky of its own: breathing circles, a turning ellipse and drifting lights. */
.rt-moment-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;color:#9fb8c4;mask-image:radial-gradient(ellipse at 50% 42%,#000 25%,transparent 73%);animation:rt-moment-colors 16s ease-in-out infinite}
.rt-moment-atmosphere svg{display:block;width:100%;height:100%;overflow:hidden}
.rt-moment-rings,.rt-moment-orbit{fill:none;stroke:currentColor;stroke-width:.7;transform-origin:215px 240px}
.rt-moment-rings{opacity:.26;animation:rt-moment-breathe 10s cubic-bezier(.45,0,.35,1) infinite}
.rt-moment-rings circle:nth-child(2){stroke-dasharray:2 12;opacity:.65}
.rt-moment-rings circle:nth-child(3){opacity:.5}
.rt-moment-orbit{opacity:.18;animation:rt-moment-orbit 36s linear infinite}
.rt-moment-particle{fill:currentColor;opacity:.4;animation:rt-moment-drift 9s ease-in-out var(--drift-delay) infinite alternate}
.rt-moment-stars{fill:none;stroke:currentColor;stroke-width:.7;opacity:.3;animation:rt-moment-shimmer 6s ease-in-out infinite}
@keyframes rt-moment-colors{0%,100%{color:#9fb8c4}35%{color:#d5b67c}70%{color:#bba9cc}}
@keyframes rt-moment-breathe{0%,100%{transform:scale(.86);opacity:.18}40%,50%{transform:scale(1.15);opacity:.3}}
@keyframes rt-moment-orbit{from{transform:rotate(-25deg)}to{transform:rotate(335deg)}}
@keyframes rt-moment-drift{from{transform:translate(-8px,24px);opacity:.16}to{transform:translate(12px,-28px);opacity:.6}}
@keyframes rt-moment-shimmer{0%,100%{opacity:.12}50%{opacity:.5}}
body.light .rt-moment-atmosphere{filter:brightness(.6)}
.rt-reset-mark{display:block;width:200px;height:200px;margin:28px auto;padding:0;border:0;border-radius:50%;background:none}
.rt-reset-mark .torus{--torus-cycle:20s;width:200px;height:200px;animation:rt-one-breath 10s ease-in-out both}
.rt-reset-mark .torus *{animation-iteration-count:1;animation-fill-mode:both}
.rt-breath-reset h2{font:400 46px/1.1 var(--serif);margin:0 0 16px}
.rt-breath-reset .rt-small{font-size:12px}
.rt-reset-exit{min-height:44px;margin-top:28px;padding:10px 18px;border:1px solid var(--line);border-radius:30px;background:var(--panel-faint);font-size:12px;color:var(--ink-dim)}
.rt-reset-exit:hover{background:var(--panel);color:var(--bright)}
@keyframes rt-one-breath{0%,100%{transform:scale(.8)}40%{transform:scale(1.12)}}
body.light .rt-reset-mark #dr-reset-night stop:first-child{stop-opacity:.12}
body.light .rt-reset-mark #dr-reset-night stop:nth-child(2){stop-opacity:.06}

/* Wider worlds: large travel, soft edges, and unhurried cycles. */
.rt-atmosphere{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;color:var(--accent);opacity:0;transition:opacity .7s;mask-image:linear-gradient(transparent 0,#000 18%,#000 80%,transparent 100%)}
.rt-atmosphere>svg{width:100%;height:100%;display:block;overflow:hidden}
.rt-air-ring{vector-effect:non-scaling-stroke;fill:none;stroke:currentColor;stroke-width:.9;transform-origin:215px 380px;opacity:0;animation:rt-air-wave 10s cubic-bezier(.45,0,.35,1) infinite}
.rt-sky-particle{animation:rt-sky-rise 22s linear infinite;opacity:0}
.rt-sky-ember{fill:currentColor;stroke:none}
.rt-ember-warmth{transform-origin:215px 530px;animation:rt-warmth 16s ease-in-out infinite}
.rt-connection-wave{fill:none;stroke:currentColor;stroke-width:.8;transform-origin:215px 390px;opacity:0;animation:rt-connect-wave 16s ease-out infinite}
.rt-connection-wave circle{vector-effect:non-scaling-stroke}
.rt-connection-stars{opacity:.25;transform-origin:215px 390px;animation:rt-constellation 36s ease-in-out infinite}
.rt-sky-sun{animation:rt-sky-sun 26s ease-in-out infinite}
.rt-dawn-sky{opacity:.2;animation:rt-dawn-light 26s ease-in-out infinite}
.rt-create-bloom{fill:none;stroke:currentColor;stroke-width:.8;opacity:0;transform-origin:215px 330px;animation:rt-create-bloom 26s ease-in-out infinite}
.rt-create-bloom .rt-create-thread{stroke-width:.55;opacity:.55}
.rt-create-bloom circle{opacity:.5}
.rt-horizon-wave{fill:none;stroke:currentColor;stroke-width:.7;opacity:.08;transform-origin:215px 520px;animation:rt-horizon-wave 12s ease-in-out infinite}
body.light .rt-atmosphere{color:var(--deep)}
.os-hero .rt-expanding-ring{transform-origin:118px 118px;opacity:0;animation:rt-hero-wave 10s cubic-bezier(.45,0,.35,1) infinite;pointer-events:none}
.rt-connect-left,.rt-connect-right{transform-origin:118px 118px;animation:rt-connect-left 14s ease-in-out infinite}
.rt-connect-right{animation-name:rt-connect-right}
.rt-breath{animation:rt-breath-open 10s cubic-bezier(.45,0,.35,1) infinite}
.rt-mote{animation-name:rt-ember-rise;pointer-events:none}
.rt-rise{animation:rt-full-dawn 26s ease-in-out infinite}
/* Browsing stays simple; the world opens when a practice begins. */
.os-phone:not(.rt-in-session) .rt-atmosphere *{animation-play-state:paused!important}
.os-phone:not(.rt-in-session) .rt-expanding-ring{display:none}
.os-phone:not(.rt-in-session) .rt-breath{animation-name:rt-breath}
.os-phone:not(.rt-in-session) .rt-mote{animation-name:rt-mote}
.os-phone:not(.rt-in-session) .rt-mote:nth-of-type(n+10){display:none}
.os-phone:not(.rt-in-session) .rt-connect-pair{transform:scale(.84);transform-origin:118px 118px}
.os-phone:not(.rt-in-session) .rt-connect-left,.os-phone:not(.rt-in-session) .rt-connect-right{animation:none;transform:none}
.os-phone:not(.rt-in-session) .rt-rise{animation:rt-rise 14s ease-in-out infinite}
.rt-in-session .rt-atmosphere{opacity:.9}
body.light .rt-in-session .rt-atmosphere{opacity:.75}
.rt-paused .rt-atmosphere *,.rt-taking-breath .rt-atmosphere *,.rt-taking-breath .os-heromount *,.rt-backgrounded .os-phone *{animation-play-state:paused!important}
@keyframes rt-air-wave{0%,100%{transform:scale(.72);opacity:.07}40%,50%{transform:scale(1.85);opacity:.2}}
@keyframes rt-sky-rise{0%{transform:translate(0,0);opacity:0}12%{opacity:.32}72%{opacity:.26}94%{opacity:.12}100%{transform:translate(var(--drift),-1160px);opacity:0}}
@keyframes rt-warmth{0%,100%{transform:scale(.8);opacity:.35}50%{transform:scale(1.3);opacity:.85}}
@keyframes rt-connect-wave{0%{transform:scale(.55) rotate(-12deg);opacity:0}15%{opacity:.25}80%{opacity:.12}100%{transform:scale(3.1) rotate(12deg);opacity:0}}
@keyframes rt-constellation{0%,100%{transform:rotate(-9deg);opacity:.15}50%{transform:rotate(9deg);opacity:.4}}
@keyframes rt-sky-sun{0%,8%,100%{transform:translateY(120px);opacity:0}25%,75%{opacity:.8}45%,55%{transform:translateY(-205px);opacity:1}}
@keyframes rt-dawn-light{0%,8%,100%{opacity:.12}45%,55%{opacity:1}}
@keyframes rt-create-bloom{0%,28%{opacity:0;transform:scale(.62) rotate(-9deg)}46%,56%{opacity:.32;transform:scale(1) rotate(0)}72%{opacity:.14;transform:scale(1.14) rotate(5deg)}92%,100%{opacity:0;transform:scale(1.22) rotate(9deg)}}
@keyframes rt-horizon-wave{0%,100%{transform:scaleX(.75);opacity:.07}50%{transform:scaleX(1.5);opacity:.2}}
@keyframes rt-hero-wave{0%,100%{transform:scale(.72);opacity:.12}40%,50%{transform:scale(1.36);opacity:.3}}
@keyframes rt-breath-open{0%,100%{transform:scale(.72)}40%,50%{transform:scale(1.36)}}
@keyframes rt-ember-rise{0%{transform:translateY(18px);opacity:0}15%{opacity:.65}65%{opacity:.24}100%{transform:translateY(-300px);opacity:0}}
@keyframes rt-connect-left{0%,100%{transform:translateX(13px) scale(.87)}50%{transform:translateX(-18px) scale(1.18)}}
@keyframes rt-connect-right{0%,100%{transform:translateX(-13px) scale(.87)}50%{transform:translateX(18px) scale(1.18)}}
@keyframes rt-full-dawn{0%,8%,100%{transform:translateY(64px)}45%,55%{transform:translateY(-65px)}}
@media(prefers-reduced-motion:reduce){
  .rt-atmosphere *,.rt-reset-mark .torus,.rt-reset-mark .torus *{animation:none!important}
  .rt-in-session .rt-atmosphere,body.light .rt-in-session .rt-atmosphere{opacity:.3}.rt-air-ring,.rt-connection-wave{opacity:.12}
  .rt-sky-particle{display:none}.rt-sky-sun{transform:translateY(-150px);opacity:.5}
  .rt-rise{transform:translateY(-45px)}.rt-dawn-sky{opacity:.5}
  .rt-create-bloom{opacity:.14;transform:none}
}

/* Keep the long Remember line on two lines, even on the smallest phones. */
.rt-welcome h1[data-phase=remember]{font-size:clamp(28px,8.3vw,36px)}
/* A quiet header veil appears only once content scrolls beneath the controls. */
.os-hscrim{display:block;position:absolute;inset:0 0 auto;height:180px;z-index:8;background:linear-gradient(to bottom,var(--bg0) 0%,var(--bg0) 22%,color-mix(in srgb,var(--bg0) 94%,transparent) 35%,color-mix(in srgb,var(--bg0) 68%,transparent) 55%,color-mix(in srgb,var(--bg0) 32%,transparent) 73%,color-mix(in srgb,var(--bg0) 9%,transparent) 89%,transparent 100%);opacity:0;pointer-events:none;transition:opacity .4s}
.rt-scrolled:not(.rt-in-session) .os-hscrim{opacity:1}

/* Short phones keep the complete cue above the practice controls. */
@media(max-width:520px) and (max-height:740px){
  .rt-in-session .os-hero{top:180px;width:160px;height:160px}
  .rt-in-session .rt-caption,.rt-in-session.os-peek:not(.rt-paused) .rt-caption{top:min(420px,calc(100dvh - 210px))}
}

/* The practice mark settles at the center of the header. */
.rt-in-session .rt-brand{left:50%;transform:translateX(-50%)}
.rt-moment-sound{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;margin:20px auto 0;padding:10px 17px;border:1px solid var(--line);border-radius:30px;background:var(--panel-faint);font:500 12px/1.3 var(--sans);color:var(--ink)}
.rt-moment-sound>.ic{width:18px;height:18px;color:var(--accent)}
.rt-moment-sound:hover{background:var(--panel);border-color:var(--accent)}
.rt-moment-sound:active{transform:scale(.97)}
.rt-moment-sound-status{font:400 11px/1.5 var(--sans);color:var(--ink-dim);margin:8px 0 0}
.rt-moment-sound-status:empty{display:none}
.rt-dialog[data-kind=breath] .rt-reset-exit{margin-top:14px}
@media(max-height:700px){
  .rt-dialog[data-kind=breath] .rt-sheet{padding:40px 24px 20px}
  .rt-reset-mark{width:160px;height:160px;margin:12px auto}
  .rt-reset-mark .torus{width:160px;height:160px}
  .rt-breath-reset h2{font-size:40px}
}
