:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--font-ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-voice: Georgia, "Iowan Old Style", "Palatino Linotype", Palatino, serif;--ink-950: oklch(9% .018 255);--ink-900: oklch(13% .024 250);--ink-850: oklch(17% .026 242);--ink-800: oklch(21% .028 238);--parchment: oklch(94% .025 92);--muted: oklch(73% .026 96);--line: oklch(100% 0 0 / .14);--line-strong: oklch(100% 0 0 / .28);--shadow: 0 24px 70px oklch(0% 0 0 / .48);--scene-sky-top: oklch(22% .035 245);--scene-sky-bottom: oklch(39% .045 235);--scene-land: oklch(18% .028 250);--scene-accent: oklch(74% .07 215);--scene-glow: oklch(82% .1 83);--scene-mist: oklch(78% .025 240 / .45);--scene-text: oklch(94% .018 95);background:var(--ink-950);color:var(--parchment)}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--ink-950)}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden;background:linear-gradient(180deg,#01060e,#000103 72%),var(--ink-950);-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline:2px solid var(--scene-glow);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.46}#app{min-height:100vh;isolation:isolate}.app-shell{position:relative;min-height:100vh;overflow:hidden;background:linear-gradient(180deg,var(--scene-sky-top),var(--ink-950) 64%),var(--ink-950)}.home-shell,.complete-shell{display:grid;grid-template-rows:auto 1fr;padding:clamp(18px,4vw,42px);isolation:isolate;animation:route-fade-in .62s cubic-bezier(.2,.8,.2,1) both}.home-scene-canvas{position:absolute;inset:0;z-index:0;width:100%;height:100%;pointer-events:none;opacity:.5;filter:saturate(.92) contrast(1.08)}.home-shell:before,.complete-shell:before{position:absolute;inset:0;z-index:-2;content:"";background:linear-gradient(115deg,oklch(80% .08 88 / .12),transparent 34%),linear-gradient(245deg,oklch(72% .1 166 / .12),transparent 42%),linear-gradient(180deg,var(--scene-sky-top),var(--scene-sky-bottom) 36%,var(--scene-land))}.home-shell:after,.complete-shell:after{position:absolute;inset:0;z-index:-1;pointer-events:none;content:"";background:repeating-linear-gradient(90deg,oklch(100% 0 0 / .028) 0,oklch(100% 0 0 / .028) 1px,transparent 1px,transparent 84px),linear-gradient(180deg,transparent 0%,oklch(0% 0 0 / .52) 100%);mask-image:linear-gradient(180deg,transparent,black 18%,black 86%,transparent)}.home-ambient{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.92;background:linear-gradient(170deg,transparent 0 35%,var(--scene-mist) 36%,transparent 47%),linear-gradient(20deg,transparent 0 46%,oklch(100% 0 0 / .075) 47%,transparent 56%),radial-gradient(ellipse at 50% 118%,oklch(4% .015 250 / .86),transparent 58%)}.home-header,.journey-layout,.completion-panel{position:relative;z-index:1}.home-header{display:flex;align-items:start;justify-content:space-between;gap:clamp(16px,4vw,40px);width:min(1220px,100%);margin:0 auto clamp(18px,4vw,34px)}.eyebrow{margin:0 0 8px;color:var(--scene-glow);font-size:.76rem;font-weight:780;letter-spacing:.13em;text-transform:uppercase}h1,h2,p,blockquote,dl{margin-block:0}.home-header h1,.completion-panel h1{max-width:11ch;color:var(--scene-text);font-family:var(--font-voice);font-size:clamp(3.5rem,12vw,8.8rem);font-weight:560;line-height:.86;letter-spacing:0;text-wrap:balance}.progress-strip,.completion-stats{display:grid;grid-template-columns:repeat(3,minmax(86px,1fr));gap:1px;min-width:min(420px,100%);overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--line);box-shadow:var(--shadow)}.progress-strip div,.completion-stats div{min-width:0;padding:14px 16px;background:#010409b8;backdrop-filter:blur(18px)}.progress-strip dt,.completion-stats dt{color:var(--muted);font-size:.72rem;font-weight:720;text-transform:uppercase}.progress-strip dd,.completion-stats dd{margin:5px 0 0;color:var(--scene-text);font-family:var(--font-voice);font-size:clamp(1.5rem,3.2vw,2.4rem);line-height:1}.journey-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.72fr);gap:clamp(18px,3vw,34px);align-items:stretch;width:min(1220px,100%);min-height:min(690px,calc(100vh - 170px));margin:0 auto}.journey-map{position:relative;min-height:560px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,oklch(100% 0 0 / .06),transparent 34%),linear-gradient(150deg,oklch(40% .05 170 / .28),transparent 42%),linear-gradient(20deg,oklch(67% .1 68 / .2),transparent 34%),#00030ab8;box-shadow:var(--shadow)}.journey-map:before{position:absolute;inset:auto -12% -8% -10%;height:62%;content:"";background:linear-gradient(168deg,transparent 0 52%,oklch(20% .045 130 / .74) 53% 68%,transparent 69%),linear-gradient(20deg,transparent 0 38%,oklch(17% .04 54 / .64) 39% 54%,transparent 55%);filter:blur(.2px)}.journey-map:after{position:absolute;inset:0;pointer-events:none;content:"";background:linear-gradient(180deg,transparent 54%,oklch(0% 0 0 / .42)),repeating-linear-gradient(-20deg,transparent 0,transparent 24px,oklch(100% 0 0 / .035) 25px,transparent 26px);opacity:.68}.road-svg{position:absolute;inset:4%;z-index:1;width:92%;height:92%;overflow:visible}.road-shadow,.road-line,.road-progress{fill:none;stroke-linecap:round;stroke-linejoin:round;pathLength:100}.road-shadow{stroke:#00000075;stroke-width:8;filter:blur(5px);transform:translateY(2px)}.road-line{stroke:#ceb78f94;stroke-dasharray:2.3 3.6;stroke-width:3.4}.road-progress{stroke:var(--scene-glow);stroke-width:4.5;filter:drop-shadow(0 0 10px var(--scene-glow))}.waypoint-marker{position:absolute;left:var(--x);top:var(--y);z-index:2;display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;width:min(230px,36vw);min-height:58px;padding:8px 10px 8px 8px;border:1px solid var(--line);border-radius:8px;background:#000308c2;box-shadow:0 14px 36px #00000057;cursor:pointer;transform:translate(-22px,-28px);backdrop-filter:blur(18px);transition:border-color .18s ease,background .18s ease,transform .18s ease}.waypoint-marker:hover{border-color:var(--scene-glow);background:#020c17d1;transform:translate(-22px,-31px)}.marker-sigil{display:grid;place-items:center;width:42px;aspect-ratio:1;border:1px solid var(--line-strong);border-radius:50%;background:radial-gradient(circle at 50% 36%,var(--scene-glow),oklch(48% .12 70) 52%,oklch(11% .03 250) 72%);color:#040100;font-weight:850;box-shadow:0 0 22px #fac8713d}.waypoint-marker.is-complete .marker-sigil{background:radial-gradient(circle at 50% 38%,#a6e8a7,oklch(43% .12 150) 60%,#010610 74%)}.marker-copy{display:grid;min-width:0;gap:3px;text-align:left}.marker-copy strong,.marker-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.marker-copy strong{color:var(--scene-text);font-size:.9rem;font-weight:760}.marker-copy span{color:var(--muted);font-size:.74rem}.waypoint-ledger{display:grid;gap:10px;align-content:start;min-width:0}.waypoint-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:17px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(90deg,oklch(100% 0 0 / .05),transparent 54%),#00030ac7;box-shadow:0 18px 44px #0000003d;backdrop-filter:blur(18px)}.waypoint-card.is-complete{border-color:#8aca8b6b}.waypoint-card p{margin-bottom:4px;color:var(--scene-glow);font-size:.72rem;font-weight:780;text-transform:uppercase}.waypoint-card h2{color:var(--scene-text);font-family:var(--font-voice);font-size:clamp(1.45rem,2.6vw,2rem);font-weight:560;line-height:1;letter-spacing:0}.waypoint-card span{color:var(--muted);font-size:.9rem;line-height:1.4}.card-meta{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px}.card-meta span{min-height:26px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;background:#ffffff0d;color:#cdc7b5;font-size:.75rem;font-weight:690}.primary-action,.secondary-action,.control-button,.icon-button,.segmented-control button,.layer-toggles button{min-height:44px;border:1px solid var(--line);border-radius:8px;cursor:pointer;touch-action:manipulation;transition:transform .16s ease,border-color .16s ease,background .16s ease,color .16s ease}.primary-action,.secondary-action,.control-button{display:inline-flex;gap:8px;align-items:center;justify-content:center;padding:10px 14px;white-space:nowrap}.primary-action{background:var(--scene-glow);color:#080200;font-weight:820;box-shadow:0 12px 26px #0000003d}.secondary-action,.control-button{background:#ffffff0f;color:var(--scene-text)}.primary-action:hover,.secondary-action:hover,.control-button:hover,.icon-button:hover,.segmented-control button:hover,.layer-toggles button:hover{border-color:var(--scene-glow);transform:translateY(-1px)}.session-shell{position:relative;min-height:100vh;overflow:hidden;background:var(--ink-950);color:var(--scene-text);animation:route-fade-in .72s cubic-bezier(.2,.8,.2,1) both}.is-route-exiting{pointer-events:none;animation:route-fade-out .26s ease both}.scene-canvas{position:fixed;inset:0;width:100vw;height:100vh;background:var(--scene-sky-top);animation:scene-rise-in .9s cubic-bezier(.2,.8,.2,1) both}.session-scrim{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,oklch(0% 0 0 / .34),transparent 26%,transparent 58%,oklch(0% 0 0 / .74)),linear-gradient(90deg,oklch(0% 0 0 / .38),transparent 28%,transparent 70%,oklch(0% 0 0 / .32))}.session-topbar{position:relative;z-index:2;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;width:min(1180px,calc(100% - clamp(24px,5vw,64px)));margin:0 auto;padding-block:clamp(18px,4vw,34px)}.icon-button{display:grid;place-items:center;width:46px;aspect-ratio:1;background:#00030894;color:var(--scene-text);font-size:1.35rem;backdrop-filter:blur(18px)}.session-topbar p{margin-bottom:3px;color:var(--scene-glow);font-size:.72rem;font-weight:780;text-transform:uppercase}.session-topbar h1{overflow:hidden;color:var(--scene-text);font-family:var(--font-voice);font-size:clamp(1.7rem,4vw,3.4rem);font-weight:560;line-height:1;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.session-time{display:grid;min-width:94px;gap:2px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#00030894;text-align:right;backdrop-filter:blur(18px)}.session-time span:first-child{font-family:var(--font-voice);font-size:1.6rem;line-height:1}.session-time span:last-child{color:var(--muted);font-size:.72rem;font-weight:760;text-transform:uppercase}.meditation-stage{position:relative;z-index:1;display:grid;place-items:center;min-height:calc(100vh - 220px);padding:20px clamp(18px,4vw,46px) 190px}.ember-system{position:relative;display:grid;place-items:center;width:clamp(190px,36vw,390px);aspect-ratio:1;transform:scale(var(--breath-scale));transition:transform .28s linear}.ember-halo,.ember-orb{position:absolute;border-radius:50%}.ember-halo{inset:8%;opacity:var(--breath-light);background:radial-gradient(circle,var(--scene-glow),transparent 58%),radial-gradient(circle,var(--scene-accent),transparent 72%);filter:blur(22px)}.ember-orb{inset:29%;display:grid;place-items:center;border:1px solid oklch(100% 0 0 / .34);background:radial-gradient(circle at 42% 36%,oklch(100% .055 92),var(--scene-glow) 32%,var(--scene-accent) 58%,oklch(12% .03 250) 74%),var(--scene-glow);box-shadow:inset 0 -20px 38px #0000004d,0 0 48px var(--scene-glow),0 0 110px #f4ca842e}.ember-orb span{width:22%;aspect-ratio:1;border-radius:50%;background:oklch(100% .02 100 / .78);filter:blur(5px)}.guidance-line{position:absolute;right:clamp(18px,7vw,88px);bottom:clamp(152px,20vh,238px);width:min(760px,calc(100% - 36px));color:var(--scene-text);font-family:var(--font-voice);font-size:clamp(1.7rem,4.8vw,4.35rem);font-weight:520;line-height:1.08;letter-spacing:0;text-align:right;text-shadow:0 3px 24px oklch(0% 0 0 / .7);text-wrap:balance}.guidance-line:before{content:open-quote}.guidance-line:after{content:close-quote}.breath-progress{position:fixed;left:0;right:0;bottom:0;z-index:3;height:3px;background:#ffffff1f}.breath-progress span{display:block;width:0%;height:100%;background:linear-gradient(90deg,var(--scene-accent),var(--scene-glow));box-shadow:0 0 18px var(--scene-glow)}.session-controls{position:fixed;right:clamp(14px,3vw,34px);bottom:max(clamp(18px,3vw,34px),env(safe-area-inset-bottom));left:clamp(14px,3vw,34px);z-index:4;display:grid;grid-template-columns:repeat(2,auto) minmax(270px,1fr) minmax(190px,.5fr) minmax(220px,auto) auto;gap:10px;align-items:center;padding:10px;padding-bottom:max(10px,env(safe-area-inset-bottom));border:1px solid var(--line);border-radius:8px;background:#000104b8;box-shadow:var(--shadow);backdrop-filter:blur(22px) saturate(1.2)}.control-button span,.primary-action span,.secondary-action span{line-height:1}.segmented-control{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;min-width:0;padding:4px;border:1px solid var(--line);border-radius:8px;background:#ffffff0b}.segmented-control button,.layer-toggles button{min-width:0;padding:8px 10px;background:transparent;color:#cac4b2;font-size:.82rem;font-weight:750}.segmented-control button.is-active,.segmented-control button[aria-pressed=true],.layer-toggles button[aria-pressed=true]{border-color:#ffffff3d;background:#ffffff1f;color:var(--scene-text)}.volume-control{display:grid;grid-template-columns:auto minmax(80px,1fr);gap:9px;align-items:center;min-width:0;padding-inline:9px;color:var(--muted);font-size:.78rem;font-weight:740;text-transform:uppercase}.volume-control input{width:100%;min-width:0;accent-color:var(--scene-glow)}.layer-toggles{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;min-width:0}.layer-toggles button{display:inline-flex;gap:6px;align-items:center;min-height:36px}.layer-toggles button.is-muted,.layer-toggles button[aria-pressed=false]{color:#a8a498ad;text-decoration:line-through}.session-notice{position:fixed;left:50%;bottom:116px;z-index:5;max-width:min(520px,calc(100% - 32px));color:#efd2b0;font-size:.86rem;text-align:center;transform:translate(-50%)}.complete-shell{place-items:center}.complete-ambient{opacity:.7}.completion-panel{display:grid;gap:22px;justify-items:start;width:min(920px,100%);padding:clamp(22px,5vw,48px);border:1px solid var(--line);border-radius:8px;background:#000308b8;box-shadow:var(--shadow);backdrop-filter:blur(22px)}.completion-panel h1{max-width:12ch;font-size:clamp(2.8rem,8vw,6.4rem)}.completion-note{color:var(--muted);font-size:1rem}.completion-actions{display:flex;flex-wrap:wrap;gap:10px}@keyframes route-fade-in{0%{opacity:0}to{opacity:1}}@keyframes route-fade-out{0%{opacity:1}to{opacity:0}}@keyframes scene-rise-in{0%{opacity:0;transform:scale(1.012)}to{opacity:1;transform:scale(1)}}@supports (min-height: 100svh){body,#app,.app-shell,.session-shell{min-height:100svh}.scene-canvas{height:100svh}}@media(max-width:1080px){.home-header,.journey-layout{width:min(860px,100%)}.home-header{display:grid}.journey-layout{grid-template-columns:1fr}.journey-map{min-height:540px}.session-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented-control,.volume-control,.layer-toggles{grid-column:1 / -1}.layer-toggles{justify-content:start}}@media(max-width:720px){.home-shell,.complete-shell{padding:16px}.home-header h1,.completion-panel h1{max-width:9ch}.progress-strip,.completion-stats{grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}.progress-strip div,.completion-stats div{padding:12px 10px}.journey-map{min-height:500px}.waypoint-marker{grid-template-columns:38px minmax(0,1fr);width:min(208px,54vw);transform:translate(-18px,-26px)}.waypoint-marker:hover{transform:translate(-18px,-28px)}.marker-sigil{width:38px}.waypoint-card{grid-template-columns:1fr}.primary-action{width:100%}.session-topbar{grid-template-columns:auto minmax(0,1fr);width:calc(100% - 28px)}.session-time{grid-column:1 / -1;grid-template-columns:auto auto;justify-content:space-between;text-align:left}.meditation-stage{min-height:calc(100vh - 310px);padding-bottom:calc(330px + env(safe-area-inset-bottom))}.ember-system{width:clamp(168px,64vw,280px)}.guidance-line{right:16px;bottom:calc(282px + env(safe-area-inset-bottom));width:calc(100% - 32px);text-align:left}.session-controls{right:10px;bottom:max(12px,env(safe-area-inset-bottom));left:10px;grid-template-columns:1fr 1fr;max-height:min(48vh,318px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.control-button,.segmented-control button,.layer-toggles button{min-height:44px}.volume-control{grid-template-columns:1fr;gap:6px}.session-notice{bottom:280px}}@media(max-width:460px){.home-header h1{font-size:3.15rem}.progress-strip dd,.completion-stats dd{font-size:1.4rem}.journey-map{min-height:440px}.waypoint-marker{width:164px}.marker-copy span{display:none}.session-topbar h1{font-size:1.55rem}.session-topbar{gap:10px;padding-block:14px}.icon-button{width:44px}.session-time{padding:8px 10px}.meditation-stage{min-height:calc(100vh - 286px);padding:8px 14px calc(306px + env(safe-area-inset-bottom))}.ember-system{width:min(60vw,220px)}.guidance-line{bottom:calc(292px + env(safe-area-inset-bottom));font-size:clamp(1.35rem,7vw,1.72rem);line-height:1.12}.session-controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:min(47vh,304px);padding:8px;padding-bottom:max(8px,env(safe-area-inset-bottom))}.control-button{grid-column:span 2;padding:10px 8px}.segmented-control,.volume-control,.layer-toggles{grid-column:1 / -1}.segmented-control button{padding:8px 6px;font-size:.76rem}.volume-control{padding-inline:4px}.layer-toggles button{flex:1 1 calc(33.333% - 6px);justify-content:center;min-height:42px;padding-inline:6px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.ember-system{transform:scale(1)}}
