:root{--paper:#F8F6F1;--paper-2:#F1EEE7;--ink:#2C2A27;--ink-2:#6E6A63;--ink-3:#A49E94;--line:rgba(44,42,39,.14);--line-soft:rgba(44,42,39,.08);--cool:#7E9CA8;--warm:#D5A273;--orb-core:#CBDADC;--orb-mid:#A6BEC4;--halo:#DCE8E6;--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;--ui:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Segoe UI",Arial,sans-serif;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}body[data-mood=cool]{--orb-core:#C5D2DC;--orb-mid:#97B0C1;--halo:#D8E3EA}body[data-mood=warm]{--orb-core:#EBDAC3;--orb-mid:#D8B18A;--halo:#F1E5D6}body[data-mood=still]{--orb-core:#D9E4E5;--orb-mid:#BACDD1;--halo:#E4EDEC}*{box-sizing:border-box}[hidden]{display:none!important}html,body,#root{height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--ui);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow:hidden}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 90% 60% at 50% 30%,rgba(255,255,255,.7),transparent 70%)}button,input{font-family:inherit;color:inherit}button{cursor:pointer;background:none;border:none;padding:0}button:focus-visible,input:focus-visible{outline:1px solid var(--cool);outline-offset:4px}#orb-wrap{position:fixed;left:50%;top:33%;transform:translate(-50%,-50%);width:340px;height:340px;z-index:3;display:grid;place-items:center;pointer-events:none;transition:opacity 1.1s ease,transform 1.1s ease}body[data-mode=page] #orb-wrap{opacity:.075;transform:translate(-50%,-50%) scale(.9)}.halo{position:absolute;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,var(--halo) 0%,transparent 70%);opacity:.8;filter:blur(18px);animation:breathe 11s ease-in-out infinite}.orb{position:absolute;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle at 46% 42%,#fffffff5,#fff0 36%),radial-gradient(circle at 50% 50%,var(--orb-core) 0%,var(--orb-mid) 44%,transparent 71%);filter:blur(11px);opacity:.94;animation:breathe 9s ease-in-out infinite;transition:background 1.4s ease}.glow{position:absolute;width:92px;height:92px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.8),transparent 72%);filter:blur(9px);animation:breathe 9.6s ease-in-out infinite}@keyframes breathe{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.075);opacity:1}}body[data-view=action] .orb,body[data-view=action] .halo,body[data-view=action] .glow{animation:none}body[data-view=action] .halo{opacity:.7}body[data-phase=in] .orb{transform:scale(1.3);transition:transform 4s ease-in-out}body[data-phase=hold] .orb{transform:scale(1.3);transition:transform 4s linear}body[data-phase=out] .orb{transform:scale(.98);transition:transform 6s ease-in-out}body[data-view=closing] #orb-wrap{transform:translate(-50%,-50%) scale(.86)}body[data-view=crisis] #orb-wrap{opacity:0}.clue{position:absolute;left:70%;top:66%;width:26px;height:26px;display:grid;place-items:center;pointer-events:auto;border-radius:50%}.clue span{display:block;width:5px;height:5px;border-radius:50%;background:var(--warm);box-shadow:0 0 0 5px #d5a27321;animation:pulse 4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.35)}}.clue-text{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);width:min(430px,86vw);text-align:center;font-family:var(--serif);font-size:17px;line-height:1.6;color:var(--ink-2);animation:fade .8s ease both}@keyframes fade{0%{opacity:0;transform:translate(-50%,6px)}to{opacity:1;transform:translate(-50%)}}#app{position:relative;z-index:2;height:100%}.view{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 24px 11vh;opacity:0;visibility:hidden;transform:translateY(9px);transition:opacity .75s ease,transform .75s ease,visibility .75s}.view.is-active{opacity:1;visibility:visible;transform:translateY(0)}.view--page{justify-content:flex-start;padding-top:10vh;padding-bottom:9vh;overflow-y:auto;text-align:left}.view--action{justify-content:flex-end;padding-bottom:12vh}.landing-block,.center-block{width:min(440px,88vw);text-align:center}.serif-line{font-family:var(--serif);font-size:clamp(25px,3.5vw,32px);font-weight:400;line-height:1.42;letter-spacing:-.012em;margin:0 0 18px;color:var(--ink)}.quiet-note{font-size:12.5px;color:var(--ink-3);letter-spacing:.015em;margin:0 0 22px}.textlink{display:inline-block;font-size:13px;color:var(--ink-2);border-bottom:1px solid var(--line);padding-bottom:3px;transition:color .3s ease,border-color .3s ease}.textlink:hover{color:var(--ink);border-color:var(--ink-2)}.textlink.muted{color:var(--ink-3);border-color:transparent}.textlink.muted:hover{color:var(--ink-2)}.solidlink{display:inline-block;font-size:13px;color:var(--ink);border:1px solid var(--line);border-radius:22px;padding:10px 22px;transition:border-color .3s ease,background .3s ease}.solidlink:hover{border-color:var(--ink-2);background:#ffffff80}#arrive{display:block;width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:clamp(18px,2.5vw,21px);text-align:center;color:var(--ink);padding:12px 4px 14px;outline:none;transition:border-color .5s ease}#arrive::placeholder{color:var(--ink-3);opacity:1}#arrive:focus{border-bottom-color:var(--cool)}#landing-note{font-family:var(--serif);font-size:15px;color:var(--ink-3);margin:0 0 20px;font-style:italic}#sit-link{margin-top:20px;font-size:12.5px;color:var(--ink-3);border:none}#sit-link:hover{color:var(--ink-2)}.pay-line{font-family:var(--serif);font-size:16px;line-height:1.6;color:var(--ink-2);margin:26px 0 18px}.pay-actions{display:flex;gap:26px;justify-content:center;align-items:center}.breath-word{font-family:var(--serif);font-size:clamp(27px,4vw,34px);font-weight:400;letter-spacing:.01em;margin:0 0 8px;color:var(--ink);transition:opacity .5s ease}.dots{display:flex;gap:9px;justify-content:center;margin:20px 0 26px}.dots i{width:4px;height:4px;border-radius:50%;background:var(--line);display:block}.dots i.on{background:var(--ink-3)}.memory-line{font-family:var(--serif);font-size:clamp(20px,3vw,25px);line-height:1.55;color:var(--ink);margin:0 0 16px}.page-inner{width:min(520px,88vw);text-align:left}.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin:0 0 20px}.page-title{font-family:var(--serif);font-weight:400;font-size:clamp(28px,4.4vw,39px);line-height:1.25;letter-spacing:-.02em;margin:0 0 18px;color:var(--ink)}.page-body{font-size:14px;line-height:1.75;color:var(--ink-2);margin:0 0 34px;max-width:460px}.fine{font-size:12px;color:var(--ink-3);line-height:1.7;margin:22px 0}.plan-list{border-top:1px solid var(--line-soft);margin-bottom:4px}.plan{display:grid;grid-template-columns:1fr auto;gap:4px 16px;width:100%;text-align:left;padding:20px 2px;border-bottom:1px solid var(--line-soft);transition:padding-left .35s ease,background .35s ease}.plan:hover{padding-left:10px;background:#ffffff6b}.plan-name{font-family:var(--serif);font-size:20px;color:var(--ink)}.plan-price{font-size:13px;color:var(--ink-2);text-align:right;align-self:center}.plan-desc{grid-column:1/-1;font-size:12.5px;color:var(--ink-3)}.email-form{display:flex;flex-direction:column;gap:18px;align-items:flex-start;margin-bottom:26px}#email{width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:19px;padding:10px 2px 13px;outline:none}#email::placeholder{color:var(--ink-3)}#email:focus{border-bottom-color:var(--cool)}.mail-sent{font-family:var(--serif);font-size:19px;color:var(--ink);margin:0 0 24px}.alt-logins{display:flex;flex-direction:column;gap:14px;align-items:flex-start;margin-bottom:34px}.resource-list{border-top:1px solid var(--line-soft);margin-bottom:30px}.resource{display:grid;grid-template-columns:1fr auto;gap:2px 16px;padding:16px 2px;border-bottom:1px solid var(--line-soft)}.resource span{font-size:11.5px;letter-spacing:.06em;color:var(--ink-3);text-transform:uppercase;grid-column:1/-1}.resource b{font-family:var(--serif);font-weight:400;font-size:17px;color:var(--ink)}.resource em{font-style:normal;font-size:13px;color:var(--ink-2);align-self:center;text-align:right}.setting-list{border-top:1px solid var(--line-soft);margin-bottom:14px}.setting{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;text-align:left;padding:16px 2px;border-bottom:1px solid var(--line-soft);font-size:14px;color:var(--ink);transition:padding-left .3s ease}button.setting:hover{padding-left:9px}.setting em{font-style:normal;font-size:12.5px;color:var(--ink-3)}#setting-toast{margin:16px 0}.pair-code{font-family:var(--serif);font-size:34px;letter-spacing:.22em;color:var(--ink);padding:6px 0 26px}.steps{margin:0 0 28px;padding-left:20px;color:var(--ink-2);font-size:13.5px;line-height:2}.steps li{padding-left:4px}.pair-form{display:flex;flex-direction:column;gap:16px;align-items:flex-start;margin:0 0 22px}.pair-input{width:100%;background:transparent;border:none;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:20px;letter-spacing:.12em;padding:10px 2px 13px;outline:none;transition:border-color .5s ease}.pair-input::placeholder{color:var(--ink-3);letter-spacing:normal;font-size:15px}.pair-input:focus{border-bottom-color:var(--cool)}.dev-link{color:var(--ink-2);border-bottom:1px solid var(--line)}.dev-link:hover{color:var(--ink);border-color:var(--ink-2)}.period-toggle{display:flex;gap:22px;margin:0 0 26px}.period-toggle button{font-size:13px;color:var(--ink-3);border-bottom:1px solid transparent;padding-bottom:3px;transition:color .3s ease,border-color .3s ease}.period-toggle button.on{color:var(--ink);border-color:var(--line)}.period-toggle button:hover{color:var(--ink-2)}#legal-footer{position:fixed;left:20px;bottom:20px;z-index:5;font-size:10.5px;letter-spacing:.02em;color:var(--ink-3);opacity:.55;max-width:60vw}#legal-footer a{color:var(--ink-3);text-decoration:none;border-bottom:1px solid transparent}#legal-footer a:hover{opacity:1;border-color:var(--ink-3)}.legal-links{font-size:12px;color:var(--ink-3);margin:0 0 24px}.legal-links a{color:var(--ink-2);text-decoration:none;border-bottom:1px solid var(--line)}.legal-links a:hover{color:var(--ink)}#settings-link{position:fixed;right:22px;bottom:20px;z-index:5;font-size:11px;letter-spacing:.06em;color:var(--ink-3);opacity:.6;transition:opacity .3s ease}#settings-link:hover{opacity:1}#proto-toggle{position:fixed;right:20px;top:18px;z-index:8;font-family:var(--mono);font-size:10px;letter-spacing:.1em;color:var(--ink-3);opacity:.5;transition:opacity .3s ease}#proto-toggle:hover{opacity:1}#proto-panel{position:fixed;top:0;right:0;z-index:9;width:290px;height:100%;overflow-y:auto;background:#fbfaf7;border-left:1px solid var(--line);padding:24px 22px 40px;transform:translate(100%);transition:transform .4s cubic-bezier(.4,0,.2,1);font-family:var(--ui)}#proto-panel.open{transform:translate(0)}.proto-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.proto-head span{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--ink-2)}#proto-close{font-size:11px;color:var(--ink-3)}.proto-note{font-size:11.5px;line-height:1.6;color:var(--ink-3);margin:0 0 20px}.proto-state{background:var(--paper-2);border-radius:6px;padding:10px 12px;font-family:var(--mono);font-size:10.5px;line-height:1.8;color:var(--ink-2);margin-bottom:20px}.proto-label{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin:18px 0 8px}.proto-grid{display:flex;flex-direction:column;gap:2px}.proto-grid button{text-align:left;font-size:12px;color:var(--ink-2);padding:7px 9px;border-radius:5px;transition:background .2s ease,color .2s ease}.proto-grid button:hover{background:var(--paper-2);color:var(--ink)}.proto-grid button.current{background:#e9edea;color:var(--ink)}@media(max-width:640px){#orb-wrap{top:29%;width:280px;height:280px}.halo{width:300px;height:300px}.orb{width:180px;height:180px}.view{padding-bottom:9vh}.view--page{padding-top:8vh}#proto-panel{width:86vw}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
