:root{color:#edf6f7;font-synthesis:none;text-rendering:geometricprecision;background:#101820;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}[hidden]{display:none!important}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}html.embedded-phone-frame,html.embedded-phone-frame body{width:var(--embedded-phone-width,390px);min-width:0;max-width:var(--embedded-phone-width,390px);overflow-x:hidden}button,input,select{font:inherit}button{color:#edf6f7;cursor:pointer;background:#edf6f714;border:1px solid #edf6f72e;border-radius:8px;min-width:0;min-height:44px;transition:transform .15s,border-color .15s,background .15s}button:hover:not(:disabled){background:#74e3d324;border-color:#74e3d394;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.45}:where(button,a,input,select,[tabindex]):focus-visible{outline-offset:3px;outline:3px solid #fff2a8}.primary-button{color:#10202a;background:#74e3d3;border-color:#74e3d3;font-weight:750}.intro-screen{display:none}html.intro-active,html.intro-active body{overflow:hidden}html.intro-active .topbar,html.intro-active .layout,html.intro-active .journey-flow,html.intro-active .mobile-welcome,html.intro-active .mobile-journey{display:none!important}.intro-screen:not([hidden]){z-index:50;background:#061018;place-items:center;min-height:100svh;display:grid;position:fixed;inset:0;overflow:hidden}.intro-grounds,.intro-grounds span{position:absolute;inset:0}.intro-grounds{background:#061018;overflow:hidden}.intro-grounds span{background-image:linear-gradient(180deg, #020a0e29, #020a0ec7), radial-gradient(circle at 50% 48%, #fff7d62e, transparent 28%), var(--intro-bg);opacity:0;background-position:50%;background-size:cover;animation:24s linear infinite introGroundCycle;transform:scale(1.045)}.intro-grounds span:nth-child(2){animation-delay:6s}.intro-grounds span:nth-child(3){animation-delay:12s}.intro-grounds span:nth-child(4){animation-delay:18s}.intro-begin-button{z-index:1;color:#fff7d6;letter-spacing:0;text-shadow:0 3px 18px #000000b8;background:0 0;border:0;place-items:center;gap:10px;min-width:0;min-height:0;padding:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,6vw,2.1rem);display:grid;position:relative}.intro-begin-button:hover:not(:disabled){background:0 0;border-color:#0000;transform:translateY(-2px)}.intro-begin-button img{filter:drop-shadow(0 16px 24px #0000007a)drop-shadow(0 0 22px #ffe57f6b);width:min(48vw,214px);max-width:230px}.intro-begin-button span{display:block}.journey-flow,.mobile-welcome,.mobile-journey{display:none}html.journey-active,html.journey-active body{overflow:hidden}html.journey-active .topbar,html.journey-active .layout,html.journey-active .mobile-welcome,html.journey-active .mobile-journey{display:none!important}.journey-flow:not([hidden]){z-index:40;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:100svh;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));background:#081219;display:grid;position:fixed;inset:0;overflow:hidden auto}.journey-backdrop{background:linear-gradient(#030c1038,#030c10db 78%),radial-gradient(circle at 50% 24%,#fff7d629,#0000 30%),url(/training_grounds/pond_background.webp) 50%/cover no-repeat;position:fixed;inset:0;overflow:hidden;transform:translateZ(0)}.journey-glow,.journey-orbit{pointer-events:none;position:absolute}.journey-glow{aspect-ratio:1;filter:blur(2px);background:radial-gradient(circle,#74e3d347,#74e3d314 42%,#0000 72%);border-radius:999px;width:42vmin;animation:12s cubic-bezier(.45,0,.55,1) infinite alternate journey-drift}.journey-glow-one{top:16%;left:8%}.journey-glow-two{background:radial-gradient(circle,#f4c45e3d,#f4c45e14 44%,#0000 74%);width:34vmin;animation-delay:-4s;bottom:10%;right:4%}.journey-orbit{opacity:.7;border:1px solid #fff7d629;border-radius:999px;width:180px;height:180px;animation:18s linear infinite journey-orbit}.journey-orbit:before{content:"";background:#fff7d6;border-radius:999px;width:8px;height:8px;position:absolute;top:-4px;left:50%;box-shadow:0 0 18px #fff7d6cc}.journey-orbit-one{top:18%;left:12%}.journey-orbit-two{width:132px;height:132px;animation-duration:14s;animation-direction:reverse;bottom:20%;right:14%}.journey-topbar{z-index:2;justify-content:space-between;align-items:center;gap:12px;width:min(100%,1180px);margin:0 auto;display:flex;position:relative}.journey-topbar[hidden]{display:none}.journey-back-button,.journey-user-pill{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0812189e;border-radius:999px;min-height:44px}.journey-back-button{padding:0 14px;font-weight:850}.journey-user-pill{border:1px solid #edf6f729;align-items:center;gap:8px;min-width:0;padding:5px 6px 5px 14px;display:flex}.journey-user-pill span{color:#fff7d6;text-overflow:ellipsis;white-space:nowrap;max-width:34vw;font-weight:900;overflow:hidden}.journey-user-pill button{border-radius:999px;min-height:44px;padding:0 12px;font-size:.78rem;font-weight:850}.journey-screen{z-index:1;place-items:center;width:min(100%,1180px);min-height:calc(100svh - 36px);margin:0 auto;display:none;position:relative}.journey-screen.active{display:grid}.journey-topbar:not([hidden])~.journey-screen.active{min-height:calc(100svh - 96px)}.journey-step-nav{z-index:2;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#071016a8;border:1px solid #edf6f724;border-radius:999px;gap:8px;width:min(100%,560px);margin:8px auto 0;padding:6px;display:flex;position:relative}.journey-step-nav button{color:#cfe8e9;border-radius:999px;flex:1 1 0;min-width:0;min-height:44px;padding:0 10px;font-size:.78rem;font-weight:900}.journey-step-nav button.active{color:#dffffa;background:#74e3d32e;border-color:#74e3d3b8}.journey-step-nav button:disabled{opacity:.42}.journey-login-screen{grid-template-columns:minmax(220px,.72fr) minmax(320px,460px);align-content:center;gap:clamp(18px,5vw,72px)}.journey-login-art{aspect-ratio:1;background:radial-gradient(circle,#fff7d66b,#74e3d324 42%,#0000 70%);border-radius:999px;place-items:center;width:min(48vw,440px);animation:1.1s cubic-bezier(.16,1,.3,1) both journey-pop;display:grid;position:relative}.journey-login-art:after{content:"";border:1px solid #fff7d63d;border-radius:999px;animation:16s linear infinite journey-orbit;position:absolute;inset:13%}.journey-login-art img{object-fit:contain;filter:drop-shadow(0 22px 34px #0000006b);width:78%;height:78%}.journey-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#081218c2;border:1px solid #edf6f729;border-radius:8px;width:min(100%,520px);animation:.78s cubic-bezier(.16,1,.3,1) both journey-enter;box-shadow:0 28px 88px #0000005c}.journey-login-card,.journey-step-card,.journey-choice-card{gap:14px;padding:clamp(18px,4vw,34px);display:grid}.journey-step-card{text-align:center}.journey-choice-card{width:min(100%,940px);max-height:calc(100svh - 112px);padding-bottom:max(240px, calc(220px + env(safe-area-inset-bottom)));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-bottom:220px;overflow-y:auto}.journey-choice-card>.journey-step-number,.journey-choice-card>.journey-kicker,.journey-choice-card>h2,.journey-choice-card>#journeyChoiceHint{text-align:center;justify-self:center}.journey-kicker,.journey-message,.journey-tagline,.journey-card p{margin:0}.journey-kicker{color:#93eee2;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:900}.journey-card h1,.journey-card h2{color:#fff7d6;letter-spacing:0;margin:0;line-height:.96}.journey-card h1{font-size:clamp(2.45rem,8vw,4.7rem)}.journey-card h2{font-size:clamp(2rem,6vw,3.65rem)}.journey-tagline,.journey-card p{color:#d8eeee;font-size:1rem;line-height:1.38}.journey-step-number{color:#fff7d6;background:#f4c45e29;border:1px solid #f4c45e80;border-radius:999px;place-items:center;width:42px;height:42px;margin:0 auto;font-weight:950;display:grid}.journey-login-fields{gap:9px;display:grid}.journey-login-fields input,.journey-card select{color:#edf6f7;background:#edf6f71a;border:1px solid #edf6f733;border-radius:8px;min-height:48px;padding:0 13px}.journey-login-fields input::placeholder{color:#a8c6c8}.journey-login-actions{grid-template-columns:1fr;gap:9px;display:grid}.journey-login-links{flex-wrap:wrap;justify-content:center;gap:18px;display:flex}.journey-login-actions button,.journey-step-card>button,.journey-calibration-actions button,.journey-choice-actions button{min-height:50px;font-weight:900}.journey-calibration-actions{grid-template-columns:minmax(0,1fr) minmax(0,.72fr);gap:10px;display:grid}.journey-choice-actions{z-index:12;padding:32px max(18px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));pointer-events:none;background:linear-gradient(#070d1200,#070d12e0 42%,#070d12fa);place-items:center;display:grid;position:fixed;bottom:0;left:0;right:0}#journeyChoiceContinueButton{pointer-events:auto;width:min(900px,100vw - 36px);margin:0;box-shadow:0 12px 40px #00000057}.journey-link-button{color:#93eee2;text-underline-offset:3px;background:0 0;border:0;justify-content:center;align-items:center;min-height:44px;padding:10px 4px;font-size:.88rem;font-weight:850;text-decoration:underline;display:inline-flex}.journey-link-button:hover:not(:disabled){background:0 0;transform:none}.journey-message{color:#b9d6d7;min-height:20px;font-size:.84rem}.journey-profile-tools{gap:12px;padding-top:4px;display:grid}.journey-profile-summary{background:#060f166b;border:1px solid #edf6f724;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.journey-profile-summary span{color:#b9d6d7;font-size:.78rem}.journey-profile-summary strong{color:#fff7d6}.journey-profile-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.journey-profile-actions button,.journey-profile-actions a{color:#edf6f7;text-align:center;background:#edf6f714;border:1px solid #edf6f72e;border-radius:8px;place-items:center;min-height:44px;padding:8px;font-size:.78rem;font-weight:800;text-decoration:none;display:grid}.danger-button{color:#ffd9d6!important;background:#7c292647!important;border-color:#f4847e6b!important}.account-dialog-overlay{z-index:80;padding:max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) max(18px, env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));background:#02080cd1;place-items:center;display:grid;position:fixed;inset:0}.account-dialog{background:#101b23;border:1px solid #edf6f72e;border-radius:12px;gap:12px;width:min(440px,100%);padding:20px;display:grid;box-shadow:0 24px 70px #00000085}.account-dialog h2,.account-dialog p{margin:0}.account-dialog label{color:#c7dede;font-size:.82rem}.account-dialog input{color:#edf6f7;background:#edf6f714;border:1px solid #edf6f73d;border-radius:8px;min-height:46px;padding:0 12px}.account-dialog-actions{grid-template-columns:1fr 1.25fr;gap:9px;display:grid}.account-dialog-actions button{min-height:44px;font-weight:850}@media (width<=460px){.journey-profile-actions{grid-template-columns:1fr}}.journey-disclaimer{color:#d8eeeeb8;font-size:.7rem;line-height:1.32}.journey-status-card{background:#060f1680;border:1px solid #74e3d338;border-radius:8px;gap:4px;padding:13px;display:grid}.journey-status-card span{color:#93eee2;text-transform:uppercase;font-size:.78rem;font-weight:900}.journey-status-card strong{color:#fff7d6;font-size:1.02rem}.journey-progress-label{color:#cce6e7;justify-content:space-between;gap:12px;font-size:.84rem;font-weight:850;display:flex}.journey-progress-label strong{color:#fff7d6}.journey-meter{background:#edf6f71f;border:1px solid #edf6f738;height:15px;margin:2px 0 6px;overflow:hidden}#journeyCalibrationFill{border-radius:inherit;background:linear-gradient(90deg,#ff9b87,#fff2a8 48%,#74e3d3);width:0%;height:100%;transition:width .18s linear;box-shadow:0 0 18px #74e3d361}.journey-choice-section{gap:10px;display:grid}.journey-choice-section[hidden]{display:none}.journey-card-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.journey-card-grid.compact{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.journey-select-card{text-align:left;background:#edf6f712;border:1px solid #edf6f729;border-radius:8px;gap:8px;min-height:128px;padding:10px;display:grid;position:relative;overflow:hidden}.journey-select-card:hover:not(:disabled){transform:translateY(-1px)}.journey-select-card.selected{background:#74e3d329;border-color:#74e3d3cc;box-shadow:inset 0 0 0 1px #74e3d347}.journey-select-card.locked{opacity:.56}.journey-select-card img{aspect-ratio:1.45;object-fit:cover;border-radius:6px;width:100%}.journey-card-grid.compact .journey-select-card img{object-fit:contain;border-radius:999px;width:74px;height:74px;margin:0 auto}.journey-select-card strong{color:#fff7d6;font-size:.92rem;line-height:1.12}.journey-select-card span{color:#b9d6d7;font-size:.75rem;line-height:1.22}.journey-duration-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.journey-duration-grid button{color:#fff7d6;min-height:62px;padding:8px;font-weight:900}.journey-duration-grid button.active{color:#dffffa;background:#74e3d32e;border-color:#74e3d3cc}.journey-sound-row,.journey-sounds-control{gap:8px;display:grid}.journey-sounds-control>button,.sounds-drawer-button{min-height:44px;font-weight:900}.journey-sounds-control>button.active,.sounds-drawer-button.active{color:#dffffa;background:#74e3d329;border-color:#74e3d38a}.journey-sounds-panel,.duration-sounds-panel{background:#edf6f70e;border:1px solid #edf6f71f;border-radius:8px;gap:10px;padding:10px;display:grid}.journey-sounds-panel[hidden],.duration-sounds-panel[hidden]{display:none}.journey-sounds-panel label,.duration-sounds-panel label{color:#c4dcdd;gap:6px;font-size:.82rem;font-weight:850;display:grid}.journey-tuning-row,.session-menu-tuning{background:#edf6f70e;border:1px solid #edf6f71f;border-radius:8px;gap:8px;padding:10px;display:grid}.journey-tuning-row label,.session-menu-tuning label{color:#c4dcdd;justify-content:space-between;align-items:center;gap:12px;font-size:.86rem;font-weight:800;display:flex}.journey-tuning-row strong,.session-menu-tuning strong{color:#93eee2;font-size:.92rem}@keyframes journey-enter{0%{opacity:0;transform:translateY(24px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes journey-pop{0%{opacity:0;transform:translateY(18px)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes journey-drift{0%{transform:translate(-2%,-2%)scale(.94)}to{transform:translate(4%,3%)scale(1.06)}}@keyframes journey-orbit{to{transform:rotate(360deg)}}@keyframes introGroundCycle{0%,to{opacity:0;transform:scale(1.045)}5%,25%{opacity:1}32%{opacity:0;transform:scale(1.09)}}@media (prefers-reduced-motion:reduce){.intro-grounds span,.journey-glow,.journey-orbit,.journey-login-art,.journey-login-art:after,.journey-card,.wisdom-scroll-card.is-animating,.wisdom-scroll-card.is-animating .wisdom-scroll,.wisdom-scroll-card.is-revealed #wisdomQuote:not([hidden]){animation:none}*,:before,:after{scroll-behavior:auto!important}.wisdom-scroll-card.is-animating{opacity:1;transform:none}.wisdom-scroll-card.is-animating .wisdom-scroll{background-position:100% 0}}@media (width<=860px){.journey-flow:not([hidden]){padding:max(12px, env(safe-area-inset-top)) 12px max(12px, env(safe-area-inset-bottom))}.journey-topbar{width:100%}.journey-login-screen{grid-template-columns:1fr;align-content:end;gap:12px;min-height:calc(100svh - 24px)}.journey-login-art{width:min(55vw,210px);margin:4svh auto 0}.journey-login-card,.journey-step-card,.journey-choice-card{padding:16px}.journey-choice-card{padding-bottom:max(240px, calc(220px + env(safe-area-inset-bottom)));scroll-padding-bottom:220px}.journey-login-actions{grid-template-columns:1fr}.journey-duration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journey-sound-row,.journey-sounds-control{grid-template-columns:1fr}.map-overlay-bar{flex-wrap:wrap}.map-overlay-bar>div{flex:100%}.map-overlay-bar label{flex:min(160px,45%);min-width:0}}@media (width<=480px){.journey-card h1{font-size:2.5rem}.journey-card h2{font-size:2.15rem}.journey-user-pill span{max-width:38vw}.journey-card-grid,.journey-card-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}#app{--panel-width:360px;--stage-menu-gap:18px;--stage-width:min(calc((100vh - 96px) * .95), calc(100vw - 28px - var(--panel-width) - var(--stage-menu-gap)));background:linear-gradient(135deg,#74e3d31f,#0000 32%),linear-gradient(215deg,#f4c45e1f,#0000 28%),#101820;min-height:100vh;padding:14px;overflow:hidden}.topbar{justify-content:space-between;align-items:center;gap:16px;width:100%;margin:0 0 12px;display:flex}h1{color:#fff7d6;letter-spacing:0;margin:0;font-size:clamp(1.8rem,4vw,3.35rem);line-height:.95}.status-pill{color:#dceced;text-align:center;background:#edf6f714;border:1px solid #edf6f72e;border-radius:999px;flex:none;min-width:132px;padding:10px 14px;font-size:.9rem;font-weight:750}.top-actions{justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.status-pill[data-mode=connected]{color:#bdf9ef;background:#74e3d329;border-color:#74e3d3a3}.status-pill[data-mode=pending]{color:#ffe5a3;background:#f4c45e24;border-color:#f4c45ea3}.status-pill[data-mode=error]{color:#ffd0ca;background:#ff827824;border-color:#ff8278b8}.layout{grid-template-columns:minmax(0, var(--stage-width)) var(--panel-width);gap:var(--stage-menu-gap);align-items:start;width:fit-content;max-width:100%;margin:0 auto;display:grid}.stage-wrap{aspect-ratio:.95;height:auto;width:var(--stage-width);border:1px solid #edf6f71f;border-radius:8px;justify-self:start;position:relative;overflow:hidden;box-shadow:0 28px 80px #00000052}#stage{width:100%;height:100%;min-height:0;display:block}.readout{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#101820b8;border:1px solid #edf6f724;border-radius:8px;align-items:baseline;gap:12px;padding:10px 12px;display:flex;position:absolute;bottom:18px;left:18px}.readout span{color:#b6d8d8;font-size:.88rem}.readout strong{color:#fff7d6;font-size:1.8rem;line-height:1}.castle-stage .readout{bottom:14px;left:50%;transform:translate(-50%)}.session-hud{inset:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));z-index:8;pointer-events:none;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:14px;display:flex;position:absolute}.session-hud[hidden],.session-menu-sheet[hidden],.mobile-calibration-status[hidden]{display:none}.session-hud-top,.session-hud-controls{pointer-events:auto;justify-content:space-between;align-items:center;gap:10px;display:flex}.session-hud-pill,.session-hud-timer,.session-hud-controls button,.session-menu-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0a1219c2;border:1px solid #edf6f729;box-shadow:0 14px 38px #00000047}.session-hud-pill{border-radius:999px;align-items:baseline;gap:10px;min-width:112px;padding:9px 12px;display:flex}.session-hud-pill span{color:#c7e2e3;font-size:.78rem;font-weight:800}.session-hud-pill strong{color:#fff7d6;font-size:1.28rem;line-height:1}.session-hud-timer{color:#fff7d6;font-variant-numeric:tabular-nums;text-align:center;border-radius:999px;min-width:92px;padding:8px 13px;font-size:1.25rem;font-weight:900}.session-hud-controls{flex:none;justify-content:center}.session-hud-controls button{color:#edf6f7;text-overflow:ellipsis;white-space:nowrap;border-radius:50%;width:48px;min-width:48px;height:48px;min-height:48px;padding:0;font-size:1rem;font-weight:950;overflow:hidden}.session-hud-controls button.active{color:#dffffa;background:#195a53b8;border-color:#74e3d375}.session-audio-panel{width:100%;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:auto;background:#edf6f70e;border:1px solid #edf6f729;border-radius:12px;gap:10px;margin:0;padding:12px;display:grid;position:static}.session-audio-panel[hidden]{display:none}.session-audio-panel label{color:#d8eeee;gap:6px;font-size:.78rem;font-weight:850;display:grid}.session-audio-panel input{accent-color:#74e3d3;width:100%}.session-paused .session-hud-pill,.session-paused .session-hud-timer{background:#382c14c2;border-color:#f4c45e75}.session-menu-sheet{inset:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) auto max(14px, env(safe-area-inset-left));z-index:9;pointer-events:none;place-items:start center;display:grid;position:absolute}.session-menu-card{width:min(420px,100%);max-height:calc(100dvh - max(28px, env(safe-area-inset-top)) - max(18px, env(safe-area-inset-bottom)));pointer-events:auto;border-radius:12px;gap:12px;padding:14px;display:grid;overflow-y:auto}.session-menu-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.session-menu-stats div{background:#0c141c6b;border:1px solid #edf6f71f;border-radius:8px;min-width:0;padding:9px}.session-menu-stats span{color:#a9c7c9;font-size:.7rem;display:block}.session-menu-stats strong{color:#fff7d6;margin-top:2px;font-size:1rem;display:block}.session-menu-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.session-menu-grounds-button{color:#fff7d6;background:#f4c45e1f;border-color:#f4c45e57;width:100%;min-height:44px;font-weight:800}.session-menu-actions button{min-height:44px;padding:0 10px;font-weight:850}#sessionMenuCloseButton{color:#dffffa;background:#74e3d329;border-color:#74e3d361}html.session-running,html.session-running body{width:100%;height:100%;overflow:hidden}html.session-running #app{width:100%;max-width:none;min-height:100dvh;padding:0}html.session-running .topbar,html.session-running .mobile-journey,html.session-running .panel{display:none!important}html.session-running .layout{width:100%;max-width:none;margin:0;display:block}html.session-running .stage-wrap{z-index:50;aspect-ratio:auto;width:100dvw;height:100dvh;max-height:none;box-shadow:none;border:0;border-radius:0;position:fixed;inset:0}html.session-running #stage{width:100%;height:100%}html.session-running .readout,html.session-running .demo-banner{display:none}html.session-running .session-hud{top:max(14px, env(safe-area-inset-top));left:max(14px, env(safe-area-inset-left));right:max(14px, env(safe-area-inset-right));width:auto;max-width:calc(100vw - 28px);position:fixed;bottom:auto;transform:none}html.session-running .session-menu-sheet{inset:max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) auto max(14px, env(safe-area-inset-left));position:fixed}.castle-anchor-debug-panel{z-index:6;color:#edf6f7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#070d12db;border:1px solid #74e3d359;border-radius:8px;gap:8px;width:min(340px,100% - 28px);padding:12px;display:grid;position:absolute;top:14px;right:14px;box-shadow:0 16px 38px #00000057}.castle-anchor-debug-panel[hidden]{display:none}.castle-anchor-debug-panel strong{color:#fff7d6;font-size:.95rem}.castle-anchor-debug-panel p{color:#b6d8d8;margin:0;font-size:.78rem;line-height:1.35}.castle-anchor-debug-panel textarea{resize:vertical;color:#fff7d6;background:#0a1118eb;border:1px solid #edf6f733;border-radius:6px;min-height:132px;padding:8px;font:.72rem/1.35 ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace}.castle-anchor-debug-actions{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.castle-anchor-debug-actions button{color:#edf6f7;cursor:pointer;background:#edf6f71a;border:1px solid #edf6f738;border-radius:6px;min-height:34px;padding:6px 8px;font-weight:700}.castle-anchor-debug-actions button:hover{background:#74e3d329;border-color:#74e3d399}#castleAnchorExportStatus{color:#93eee2;font-size:.78rem}.demo-banner{color:#fff7d6;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#101820b8;border:1px solid #f4c45e6b;border-radius:8px;align-items:baseline;gap:10px;max-width:calc(100% - 32px);padding:8px 11px;display:flex;position:absolute;top:16px;left:16px;box-shadow:0 14px 34px #00000042}.demo-banner strong{font-size:.9rem}.demo-banner span{color:#c4dcdd;font-size:.82rem}.wisdom-overlay{pointer-events:none;justify-items:center;gap:10px;width:min(92%,560px);display:grid;position:absolute;bottom:21%;left:50%;transform:translate(-50%)}.wisdom-overlay button,.wisdom-scroll-card{pointer-events:auto}.wisdom-overlay button{color:#fff7d6;background:#101820c7;border-color:#fff7d680;padding:10px 14px;font-weight:850;box-shadow:0 12px 30px #00000057}.wisdom-scroll-card{aspect-ratio:1;opacity:0;pointer-events:none;filter:drop-shadow(0 22px 28px #00000057);width:min(84%,430px);position:relative;transform:translateY(18px)scale(.9)}.wisdom-scroll-card.is-animating{animation:.7s cubic-bezier(.2,.8,.2,1) forwards wisdomScrollEnter}.wisdom-scroll-card.is-revealed{opacity:1;transform:translateY(0)scale(1)}.wisdom-scroll{background-image:url(/rewards/magical_scroll_unroll/sprite_sheet.webp);background-position:0 0;background-repeat:no-repeat;background-size:1000% 100%;position:absolute;inset:0}.wisdom-scroll-card.is-animating .wisdom-scroll{animation:.9s steps(9,end) forwards wisdomScrollUnroll}.wisdom-scroll-card.is-revealed .wisdom-scroll{background-position:100% 0}#wisdomQuote{color:#5d3717;text-shadow:0 1px #fff4bbb3;text-align:center;text-wrap:balance;letter-spacing:0;opacity:0;box-shadow:none;background:0 0;border:0;justify-content:center;align-items:center;margin:0;padding:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(.72rem,1.25vw,.9rem);font-weight:750;line-height:1.1;display:flex;position:absolute;inset:29% 32%}.reward-next-button{color:#5d3717;pointer-events:auto;background:#fff7d6db;border-color:#5d371747;min-width:58px;min-height:44px;padding:5px 8px;font-size:.72rem;font-weight:900;position:absolute;top:44%;right:-42px}.wisdom-scroll-card.is-revealed #wisdomQuote:not([hidden]){animation:.36s forwards wisdomQuoteFade}.map-overlay{z-index:80;width:100vw;height:100svh;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#070d12e0;grid-template-rows:auto minmax(0,1fr);gap:10px;display:grid;position:fixed;inset:0}.map-overlay-bar{background:#0a1219b8;border:1px solid #edf6f724;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:8px 10px;display:flex}.map-overlay-bar label{color:#b9d6d7;gap:3px;min-width:min(180px,25vw);font-size:.68rem;font-weight:850;display:grid}.map-overlay-bar select{color:#edf6f7;background:#edf6f71a;border:1px solid #edf6f72e;border-radius:8px;min-height:44px;padding:0 9px;font-weight:850}.map-overlay-bar div{gap:1px;min-width:0;display:grid}.map-overlay-bar strong{color:#fff7d6;font-size:.96rem}.map-overlay-bar span{color:#9adfd5;text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;overflow:hidden}.map-overlay-bar button{min-height:44px;padding:4px 10px;font-size:.78rem;font-weight:850}.grounds-overlay{z-index:12;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#070d129e;place-items:center;display:grid;position:absolute;inset:0}.grounds-card{background:#0a1219e6;border:1px solid #edf6f729;border-radius:12px;gap:14px;width:min(740px,100%);max-height:min(86%,720px);padding:14px;display:grid;overflow:auto;box-shadow:0 24px 70px #00000061}.grounds-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.grounds-header div{gap:1px;min-width:0;display:grid}.grounds-header span{color:#93eee2;letter-spacing:.05em;text-transform:uppercase;font-size:.72rem;font-weight:900}.grounds-header strong{color:#fff7d6;font-size:1.18rem;line-height:1.1}.grounds-header button{min-height:44px;padding:4px 11px;font-size:.82rem;font-weight:850}.grounds-section{gap:9px;display:grid}.grounds-grid{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:9px;display:grid}.grounds-grid.compact{grid-template-columns:repeat(auto-fit,minmax(94px,1fr))}.grounds-choice{text-align:left;background:#edf6f712;border-color:#edf6f724;gap:7px;min-height:118px;padding:8px;display:grid}.grounds-choice.compact{min-height:98px}.grounds-choice.selected{background:#74e3d329;border-color:#74e3d3d1;box-shadow:inset 0 0 0 1px #74e3d342}.grounds-choice img{aspect-ratio:1.45;object-fit:cover;border-radius:6px;width:100%}.grounds-choice.compact img{aspect-ratio:1;object-fit:contain;background:#0c141c6b}.grounds-choice strong{color:#fff7d6;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:900;line-height:1.12;overflow:hidden}.wisdom-collection-overlay{z-index:9;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#070d126b;place-items:center;padding:18px;display:grid;position:absolute;inset:0}.wisdom-collection-card{background:#0e161ceb;border:1px solid #f4c45e66;border-radius:8px;gap:14px;width:min(92%,520px);max-height:min(72%,560px);padding:16px;display:grid;box-shadow:0 24px 70px #0000006b}.wisdom-collection-card p{color:#fff7d6;background:#fff7d614;border:1px solid #f4c45e3d;border-radius:8px;min-height:180px;max-height:340px;margin:0;padding:18px;font-family:Georgia,Times New Roman,serif;font-size:clamp(1rem,2vw,1.25rem);line-height:1.45;overflow-y:auto}.wisdom-collection-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.wisdom-collection-actions button{min-height:44px;padding:4px 10px;font-size:.78rem;font-weight:850}@keyframes wisdomScrollEnter{to{opacity:1;transform:translateY(0)scale(1)}}@keyframes wisdomScrollUnroll{to{background-position:100% 0}}@keyframes wisdomQuoteFade{to{opacity:1}}.panel{width:var(--panel-width);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0c141cc7;border:1px solid #edf6f71f;border-radius:8px;align-self:start;gap:10px;max-height:calc(100vh - 92px);padding:14px;display:grid;overflow-y:auto;box-shadow:0 24px 70px #00000047}.action-panel{background:#74e3d30f;border:1px solid #74e3d32e;border-radius:8px;gap:10px;padding:12px;display:grid}.control-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.control-grid button{text-overflow:ellipsis;white-space:nowrap;padding:0 10px;overflow:hidden}.guidance-line{color:#fff7d6;margin:0;font-size:.84rem;font-weight:750;line-height:1.25}.action-status{color:#a9c7c9;min-height:18px;margin:0;padding-top:2px;font-size:.78rem;line-height:1.32}.control-grid .primary-button{grid-column:span 2}.control-grid #startButton{color:#fff7d6;background:#f4c45e29;border-color:#f4c45e6b;font-weight:750}.control-grid.secondary{padding-top:2px}.select-row{gap:8px;display:grid}.select-row label,.select-row>span{color:#c4dcdd;font-size:.9rem}.device-select-row{padding:0}select{color:#edf6f7;background:#edf6f714;border:1px solid #edf6f72e;border-radius:8px;width:100%;min-width:0;min-height:44px;padding:0 10px}select option{color:#edf6f7;background:#101820}.account-panel{background:#edf6f70b;border:1px solid #edf6f71f;border-radius:8px;gap:8px;padding:12px;display:grid}.top-account{grid-template-columns:auto minmax(210px,330px) auto;align-items:center;min-width:min(760px,58vw);padding:8px}.top-account .section-heading{gap:1px;min-width:86px;display:grid}.top-account #accountMessage{color:#b6d8d8;grid-column:1/-1;margin:0;font-size:.76rem;line-height:1.25}.top-account.authenticated,.top-account.guest-practicing{grid-template-columns:auto auto;min-width:auto}.top-account.demo-profile{grid-template-columns:auto;min-width:auto}.top-account.authenticated .account-fields,.top-account.guest-practicing .account-fields,.top-account.demo-profile .account-actions,.top-account.guest-practicing .account-actions{display:none}.top-account.authenticated .account-actions{grid-template-columns:auto}.top-account.authenticated #createAccountButton,.top-account.authenticated #loginButton{display:none}.account-fields{grid-template-columns:1fr 1fr;gap:8px;display:grid}.account-fields input{color:#edf6f7;background:#edf6f714;border:1px solid #edf6f72e;border-radius:8px;min-width:0;min-height:44px;padding:0 10px}.account-fields input::placeholder{color:#8daeb0}.account-actions{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.account-actions button{min-height:44px;padding:4px 8px;font-size:.78rem;font-weight:750}.panel-tabs{background:#edf6f70a;border:1px solid #edf6f71a;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:4px;display:grid}.secondary-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.tab-button{color:#b8d4d5;text-overflow:ellipsis;white-space:normal;overflow-wrap:anywhere;min-width:0;min-height:44px;padding:5px 6px;font-size:.76rem;font-weight:800;line-height:1.05;overflow:hidden}.tab-button.active{color:#fff7d6;background:#74e3d324;border-color:#74e3d394}.tab-panel{gap:12px;display:grid}#accountMessage{color:#a9c7c9;min-height:18px;margin:0;font-size:.76rem}.session-panel{background:#edf6f70e;border:1px solid #edf6f71f;border-radius:8px;gap:10px;padding:12px;display:grid}.session-row{grid-template-columns:auto minmax(86px,1fr) minmax(96px,auto);align-items:center;gap:8px 10px;display:grid}.session-row label{color:#c4dcdd;font-size:.86rem}.duration-action-buttons{grid-template-columns:repeat(2,minmax(86px,1fr));gap:8px;display:grid}.sound-toggle-group{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;display:grid}.sound-toggle{color:#edf6f7;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#edf6f712;border:1px solid #edf6f729;border-radius:8px;justify-content:center;align-items:center;gap:5px;width:100%;min-height:44px;padding:0 8px;display:inline-flex}.sound-toggle span{font-size:.82rem;font-weight:750}.sound-toggle input{accent-color:#79e3d3;width:14px;height:14px}.sound-toggle strong{color:#fff7d6;font-size:.78rem;font-weight:800}.session-time{color:#fff7d6;font-variant-numeric:tabular-nums;letter-spacing:0;font-size:clamp(1.8rem,5vw,2.7rem);font-weight:850;line-height:1}.state-split{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.state-split div{background:#0c141c5c;border:1px solid #edf6f71a;border-radius:8px;min-width:0;padding:9px 8px}.state-split span,.state-split small{color:#a9c7c9;font-size:.72rem;display:block}.state-split strong{color:#fff7d6;font-variant-numeric:tabular-nums;margin:1px 0;font-size:1rem;display:block}.score-strip{background:#0c141c47;border:1px solid #edf6f71a;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;gap:8px;min-height:38px;padding:7px 8px;display:grid}.score-strip div{gap:2px;min-width:0;display:grid}.score-strip span{color:#a9c7c9;font-size:.68rem}.score-strip strong{color:#fff7d6;font-variant-numeric:tabular-nums;font-size:.9rem}.score-strip button{white-space:nowrap;grid-column:1/-1;justify-self:end;min-height:44px;padding:3px 8px;font-size:.72rem;font-weight:750}.rewards-panel{background:#0c141c3d;border:1px solid #edf6f71a;border-radius:8px;gap:9px;padding:9px 10px;display:grid}.xp-row{grid-template-columns:auto 1fr;align-items:center;gap:10px;display:grid}.xp-row span,.companion-row span{color:#a9c7c9;font-size:.74rem}.xp-meter{height:8px}#xpFill{background:linear-gradient(90deg,#74e3d3,#f4c45e);width:0%}.reward-principle{color:#fff7d6;margin:0;font-size:.78rem;line-height:1.35}.companion-row{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;display:grid}.practice-path,.practice-history-detail,.companion-progress,.restoration-panel,.mastery-panel,.wisdom-collection{border-top:1px solid #edf6f71a;gap:7px;padding-top:8px;display:grid}.practice-day-track{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.practice-day-track span{color:#a9c7c9;background:#edf6f70f;border:1px solid #edf6f71f;border-radius:8px;place-items:center;min-height:26px;font-size:.68rem;font-weight:850;display:grid}.practice-day-track span.complete{color:#fff7d6;background:#f4c45e26;border-color:#f4c45e8c}.practice-day-track span.today{outline-offset:2px;outline:2px solid #74e3d380}.practice-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.practice-summary-grid span,.practice-history-metrics span{background:#0c141c4d;border:1px solid #edf6f71a;border-radius:8px;gap:2px;padding:7px;display:grid}.practice-summary-grid small,.practice-history-metrics small{color:#a9c7c9;font-size:.66rem}.practice-summary-grid b,.practice-history-metrics b{color:#fff7d6;font-size:.82rem}.practice-history-list{gap:7px;max-height:310px;padding-right:2px;display:grid;overflow:auto}.practice-history-item{background:#edf6f70b;border:1px solid #edf6f71a;border-radius:8px;gap:7px;padding:8px;display:grid}.practice-history-main{gap:2px;display:grid}.practice-history-main strong{color:#fff7d6;font-size:.82rem}.practice-history-main span{color:#a9c7c9;font-size:.72rem}.practice-history-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;display:grid}.companion-meter{height:8px}#companionProgressFill{border-radius:inherit;background:linear-gradient(90deg,#f4c45e,#74e3d3);width:0%;height:100%}.companion-stage-track{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.companion-stage-track span{aspect-ratio:1;opacity:.42;background:#0c141c57;border:1px solid #edf6f71a;border-radius:8px;place-items:center;display:grid;overflow:hidden}.companion-stage-track span.reached{opacity:1;background:#f4c45e1a;border-color:#f4c45e80}.companion-stage-track img{object-fit:contain;width:92%;height:92%;display:block}.restoration-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.restoration-token{opacity:.54;grid-template-rows:auto auto;grid-template-columns:32px minmax(0,1fr);align-items:center;column-gap:7px;min-width:0;display:grid}.restoration-token.unlocked{opacity:1}.restoration-token i{border-radius:8px;grid-row:1/span 2;place-items:center;width:32px;height:32px;font-style:normal;font-weight:900;display:grid}.reward-token-sprite{background-image:url(/rewards/reward-token-sheet.webp);background-position:var(--token-x) var(--token-y);filter:drop-shadow(0 4px 8px #00000052);background-repeat:no-repeat;background-size:400% 200%}.reward-question{color:#fff7d6;filter:drop-shadow(0 4px 8px #00000052);background:radial-gradient(circle at 35% 25%,#fff7d633,#0c141cd1);border:1px solid #edf6f733}.restoration-token b{color:#edf6f7;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:800;overflow:hidden}.restoration-token small{color:#a9c7c9;font-size:.66rem}.wisdom-collection button{min-height:44px;padding:4px 9px;font-size:.78rem;font-weight:800}.achievement-list{flex-wrap:wrap;gap:6px;display:flex}.achievement-badge{color:#b9d1d2;background:#edf6f70f;border:1px solid #edf6f71f;border-radius:999px;padding:4px 7px;font-size:.68rem;font-weight:750}.achievement-badge.unlocked{color:#fff7d6;background:#f4c45e21;border-color:#f4c45e7a}.meter-block{gap:8px;display:grid}.meter-label{color:#c4dcdd;justify-content:space-between;gap:12px;font-size:.9rem;display:flex}.meter-label span:last-child{color:#8fd2ca}.meter{background:#edf6f714;border:1px solid #edf6f724;border-radius:999px;height:14px;overflow:hidden}#calmFill{border-radius:inherit;background:linear-gradient(90deg,#ff8278,#f4c45e 45%,#74e3d3);width:0%;height:100%;transition:width .16s}#liftFill{border-radius:inherit;background:linear-gradient(90deg,#5bbfba,#fff7d6);width:0%;height:100%;transition:width .18s linear}.lift-meter{height:10px}.metrics{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.metrics div{background:#edf6f70f;border:1px solid #edf6f71f;border-radius:8px;min-width:0;padding:12px 10px}.metrics span{color:#a9c7c9;font-size:.76rem;display:block}.metrics strong{color:#fff7d6;letter-spacing:0;margin-top:3px;font-size:clamp(1rem,2vw,1.18rem);display:block}.calibration-panel{background:#edf6f70e;border:1px solid #edf6f71f;border-radius:8px;gap:8px;padding:12px;display:grid}.feedback-panel{background:#edf6f70b;border:1px solid #edf6f71f;border-radius:8px;gap:12px;padding:12px;display:grid}.calibration-panel p{color:#c4dcdd;min-height:36px;margin:0;font-size:.82rem;line-height:1.35}#calibrationFill{border-radius:inherit;background:linear-gradient(90deg,#f4c45e,#74e3d3);width:0%;height:100%;transition:width .18s linear}.calibration-meter{height:9px}#panelRecalibrateButton,#mobileRecalibrateButton{min-height:44px;font-size:.82rem;font-weight:850}#panelRecalibrateButton{width:100%}.dashboard-section{gap:10px;display:grid}.section-heading{color:#c4dcdd;justify-content:space-between;gap:12px;font-size:.86rem;font-weight:700;display:flex}.section-heading span:last-child{color:#8fd2ca;font-weight:600}.band-list{gap:8px;display:grid}.band-row{background:#edf6f70e;border:1px solid #edf6f71f;border-radius:8px;gap:6px;padding:10px;display:grid}.band-topline{color:#b8d4d5;justify-content:space-between;align-items:baseline;gap:10px;font-size:.78rem;display:flex}.band-topline strong{color:#fff7d6;font-size:.86rem}.band-topline output{color:#edf6f7;font-variant-numeric:tabular-nums;font-weight:800}.band-bar{background:#edf6f714;border-radius:999px;height:7px;overflow:hidden}.band-bar span{border-radius:inherit;background:linear-gradient(90deg,#74e3d3,#f4c45e);width:0%;height:100%;transition:width .16s;display:block}.band-row p{color:#a9c7c9;margin:0;font-size:.75rem;line-height:1.32}.slider-row{gap:8px;display:grid}.feedback-panel .slider-row{gap:6px}.slider-row label{color:#c4dcdd;font-size:.9rem}.slider-row label span{color:#93eee2;font-weight:700}input[type=range]{accent-color:#74e3d3;width:100%}.small-print{color:#a9c7c9;min-height:22px;margin:0;font-size:.86rem}.progression-panel{background:#edf6f70e;border:1px solid #edf6f71f;border-radius:8px;gap:10px;padding:12px;display:grid}.map-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.map-stats div,.castle-stats span{background:#0c141c57;border:1px solid #edf6f71a;border-radius:8px;min-width:0;padding:8px}.map-stats span,.castle-stats small{color:#a9c7c9;text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;display:block;overflow:hidden}.map-stats strong,.castle-stats b{color:#fff7d6;font-variant-numeric:tabular-nums;font-size:.88rem;line-height:1.1;display:block}.progression-map{background:#080e14e0;border:1px solid #edf6f71c;border-radius:8px;height:min(58vh,560px);min-height:460px;position:relative;overflow:hidden auto}.tab-panel[data-tab-panel=map] .progression-map:not(.map-overlay-map){cursor:zoom-in;height:170px;min-height:170px}.tab-panel[data-tab-panel=map] .progression-map:not(.map-overlay-map):before{content:"Open map";z-index:6;color:#fff7d6;background:#070d12b8;border:1px solid #edf6f72e;border-radius:999px;margin:10px;padding:5px 8px;font-size:.72rem;font-weight:900;display:inline-block;position:sticky;top:10px;left:10px}.progression-map:after{content:"";pointer-events:none;background:radial-gradient(circle at 50% 8%,#fff7d62e,#0000 22%),linear-gradient(90deg,#080e149e,#0000 28% 72%,#080e149e);position:absolute;inset:0}.progression-map-canvas{background:linear-gradient(#080c1814,#080c186b),url(/progression/progression_map_large.webp) top/100% 100% no-repeat;min-height:1540px;position:relative}.map-overlay-map{height:100%;min-height:0}.map-overlay-map .progression-map-canvas{min-height:max(2100px,225svh)}.map-overlay-map .map-node{grid-template-columns:58px minmax(0,1fr);gap:9px;width:202px;min-height:72px;padding:8px}.map-overlay-map .map-thumb{width:58px;height:58px}.map-overlay-map .map-copy b{font-size:.86rem}.map-overlay-map .map-copy small{font-size:.68rem}.map-overlay-map .map-reward{grid-template-columns:44px minmax(0,1fr);gap:8px;width:176px;min-height:58px;padding:7px 8px}.map-overlay-map .map-reward i{width:44px;height:44px}.map-overlay-map .map-reward .sidekick-thumb img{max-width:40px;max-height:40px}.map-overlay-map .map-reward b{font-size:.78rem}.map-overlay-map .map-reward small{font-size:.66rem}.map-expand-button{min-height:44px;font-size:.82rem;font-weight:850}.map-path-svg{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.map-path-shadow{fill:none;stroke:#040a0d5c;stroke-linecap:round;stroke-width:1.45px}.map-path-line{fill:none;stroke:#fff7d6b8;stroke-dasharray:.45 1.35;stroke-linecap:round;stroke-width:.46px}.map-node{z-index:2;color:#edf6f7;text-align:left;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a1219b8;border:1px solid #edf6f729;border-radius:8px;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:6px;width:150px;min-height:54px;padding:6px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 10px 24px #00000047}.map-node:hover:not(:disabled){transform:translate(-50%,calc(-50% - 1px))}.map-node.is-current{background:#133f3ec7;border-color:#74e3d3c7}.map-node.is-locked{opacity:.72}.map-node.is-castle{border-color:#f8d4769e}.map-reward{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#091117ad;border:1px solid #edf6f71f;border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:6px;width:132px;min-height:44px;padding:5px 6px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 8px 18px #00000040}.map-reward.is-locked{opacity:.58}.map-reward.is-guide{background:#123736ad;border-color:#74e3d380}.map-reward.is-unlocked,.map-reward.is-guide{opacity:1}.map-reward i{border-radius:8px;place-items:center;width:34px;height:34px;font-style:normal;font-weight:900;display:grid;overflow:hidden}.map-reward .sidekick-thumb{background:#0c141cad;border:1px solid #fff7d633}.map-reward .sidekick-thumb img{object-fit:contain;max-width:31px;max-height:31px;display:block}.map-sidekick.is-guide .sidekick-thumb{box-shadow:0 0 0 1px #74e3d359,0 0 14px #74e3d33d}.map-reward b,.map-reward small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.map-reward b{color:#fff7d6;font-size:.66rem;line-height:1.12}.map-reward small{color:#b8d4d5;font-size:.58rem}.map-thumb{background:#edf6f714;border:1px solid #fff7d633;border-radius:8px;width:42px;height:42px;overflow:hidden}.map-thumb img{object-fit:cover;width:100%;height:100%;display:block}.map-copy{gap:2px;min-width:0;display:grid}.map-copy b,.map-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.map-copy b{color:#fff7d6;font-size:.72rem;line-height:1.12}.map-copy small{color:#b8d4d5;font-size:.6rem}.map-lock{color:#fff7d6;background:#0a1219e0;border:1px solid #fff7d64d;border-radius:999px;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:-7px;right:-7px}.map-lock:before,.map-lock:after{content:"";display:block;position:absolute;left:50%;transform:translate(-50%)}.map-lock:before{border:2px solid #fff7d6;border-bottom:0;border-radius:8px 8px 0 0;width:9px;height:8px;top:4px}.map-lock:after{background:#fff7d6;border-radius:2px;width:12px;height:10px;bottom:4px}.castle-ledger{border-top:1px solid #edf6f71a;gap:8px;padding-top:8px;display:grid}.castle-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.castle-collection{background:#0c141c57;border:1px solid #edf6f71a;border-radius:8px;grid-column:1/-1;padding:8px}.castle-collection p{color:#edf6f7;margin:3px 0 0;font-size:.72rem;line-height:1.32}.progression-map:not(.map-overlay-map) .map-reward{background:#091117c7;border-radius:999px;grid-template-columns:1fr;gap:0;width:42px;min-height:44px;padding:4px}.progression-map:not(.map-overlay-map) .map-reward>span{display:none}.progression-map:not(.map-overlay-map) .map-reward i{border-radius:999px;width:34px;height:34px;margin:auto}.progression-map:not(.map-overlay-map) .map-reward .sidekick-thumb img{max-width:32px;max-height:32px}html.embedded-phone-frame #app{--panel-width:100%;--stage-menu-gap:12px;--stage-width:calc(var(--embedded-phone-width,390px) - 20px);width:var(--embedded-phone-width,390px);max-width:var(--embedded-phone-width,390px);min-height:100svh;padding:10px;overflow:visible}html.embedded-phone-frame .topbar{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:10px}html.embedded-phone-frame h1{font-size:2rem}html.embedded-phone-frame .top-actions{flex-direction:column-reverse;align-items:stretch;gap:8px;width:100%}html.embedded-phone-frame .status-pill{width:100%;min-width:0;padding:8px 12px}html.embedded-phone-frame .top-account{grid-template-columns:1fr;width:100%;min-width:0}html.embedded-phone-frame .layout{grid-template-columns:1fr;width:100%}html.embedded-phone-frame .stage-wrap{aspect-ratio:.9;width:100%}html.embedded-phone-frame .panel{width:100%;max-height:none;padding:10px;overflow:visible}html.embedded-phone-frame .demo-banner{flex-direction:column;align-items:flex-start;gap:2px}html.embedded-phone-frame .control-grid,html.embedded-phone-frame .account-actions,html.embedded-phone-frame .account-fields,html.embedded-phone-frame .metrics,html.embedded-phone-frame .state-split,html.embedded-phone-frame .score-strip{grid-template-columns:1fr}html.embedded-phone-frame .control-grid .primary-button{grid-column:auto}html.embedded-phone-frame .readout{justify-content:space-between;bottom:12px;left:12px;right:12px}@media (width<=860px){#app{padding:16px}.topbar{flex-direction:column;align-items:flex-start}.top-actions{flex-direction:column-reverse;align-items:stretch;width:100%}.top-account{grid-template-columns:1fr;width:100%;min-width:0}.account-fields,.account-actions{grid-template-columns:1fr}.layout{grid-template-columns:1fr;width:100%}.stage-wrap{width:100%}.panel{align-self:stretch;width:100%;max-height:none;overflow:visible}}@media (width<=460px){#app{padding:12px}.control-grid,.account-actions,.account-fields,.metrics,.state-split,.score-strip{grid-template-columns:1fr}.control-grid .primary-button{grid-column:auto}.readout{justify-content:space-between;left:12px;right:12px}}@media (width<=700px){html.mobile-welcome-active,html.mobile-welcome-active body{overflow:hidden}#app{--panel-width:100%;--stage-menu-gap:12px;--stage-width:100%;min-height:100svh;padding:max(10px, env(safe-area-inset-top)) 10px max(12px, env(safe-area-inset-bottom));background:linear-gradient(#050e1333,#050e13db),radial-gradient(circle at 50% 0,#74e3d32e,#0000 34%),#081219;overflow:visible}.topbar{display:none}.mobile-welcome:not([hidden]){z-index:30;min-height:100svh;padding:max(22px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom));background:#071218;display:grid;position:fixed;inset:0;overflow:hidden auto}.mobile-welcome-backdrop{filter:saturate(1.05);background:linear-gradient(#07121814,#071218f0 72%),url(/training_grounds/pond_background.webp) top/cover no-repeat;position:fixed;inset:0}.mobile-welcome-content{z-index:1;align-content:end;gap:16px;width:min(100%,430px);min-height:calc(100svh - 40px);margin:0 auto;display:grid;position:relative}.mobile-welcome-art{aspect-ratio:1;background:radial-gradient(circle,#fff7d657,#74e3d314 42%,#0000 70%);border-radius:999px;place-items:center;width:min(64vw,230px);margin:6svh auto 0;display:grid;position:relative}.mobile-welcome-art img{object-fit:contain;filter:drop-shadow(0 18px 30px #0000005c);width:82%;height:82%;display:block}.mobile-welcome-copy{text-align:center;gap:7px;display:grid}.mobile-kicker{color:#93eee2;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:850}.mobile-welcome-copy h1{color:#fff7d6;margin:0;font-size:clamp(2.9rem,16vw,4.5rem);line-height:.9}.mobile-tagline{color:#e9f4ef;width:min(100%,330px);margin:0 auto;font-size:1.03rem;line-height:1.28}.mobile-login-card,.mobile-profile-card,.mobile-action-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#081218c7;border:1px solid #edf6f724;border-radius:8px;gap:10px;padding:13px;display:grid;box-shadow:0 20px 52px #00000057}.mobile-profile-card[hidden],.mobile-action-card[hidden]{display:none}.mobile-profile-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.mobile-profile-heading span{color:#b8d4d5;font-size:.76rem;font-weight:800}.mobile-profile-heading strong{color:#93eee2;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.mobile-login-fields{gap:8px;display:grid}.mobile-login-fields input{color:#edf6f7;background:#edf6f71a;border:1px solid #edf6f72e;border-radius:8px;min-height:46px;padding:0 12px}.mobile-login-fields input::placeholder{color:#9fc0c2}.mobile-login-actions{grid-template-columns:1.25fr 1fr .8fr;gap:8px;display:grid}.mobile-login-actions button{min-height:44px;padding:0 10px;font-size:.88rem;font-weight:850}#mobileAuthMessage,#mobileProfileMessage,#mobileDeviceInfo{color:#b8d4d5;min-height:18px;margin:0;font-size:.78rem;line-height:1.35}.mobile-welcome-path{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding-bottom:2px;display:grid}.mobile-welcome-path span{color:#fff7d6;text-align:center;background:#fff7d614;border:1px solid #fff7d629;border-radius:8px;place-items:center;min-height:34px;font-size:.7rem;font-weight:850;display:grid}.mobile-journey:not([hidden]){gap:10px;max-width:560px;margin:0 auto 10px;display:grid}.mobile-journey-top{justify-content:space-between;align-items:center;gap:10px;padding:4px 2px 0;display:flex}.mobile-journey-top div{gap:1px;min-width:0;display:grid}#mobileProfileLabel{color:#93eee2;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:800;overflow:hidden}#mobileJourneyTitle{color:#fff7d6;font-size:1.35rem;line-height:1.05}#mobileProfileToggleButton,#mobilePanelSignOutButton{color:#d7eeee;border-radius:999px;min-height:44px;padding:0 10px;font-size:.74rem;font-weight:850}#mobilePanelSignOutButton{border-radius:8px;min-height:44px}.mobile-step-track{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.mobile-step-track .mobile-step-chip{color:#9fbfc1;background:#edf6f70e;border:1px solid #edf6f71f;border-radius:999px;place-items:center;min-height:44px;padding:0 4px;font-size:.66rem;font-weight:850;display:grid}.mobile-step-track .mobile-step-chip.complete{color:#cffff8;background:#74e3d321;border-color:#74e3d375}.mobile-step-track .mobile-step-chip.active{color:#fff7d6;background:#f4c45e24;border-color:#f4c45e8f}#mobileStepLabel{color:#93eee2;letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:900}#mobileActionTitle{color:#fff7d6;margin:0;font-size:1.2rem;line-height:1.1}#mobileActionText{color:#cfe3e4;margin:0;font-size:.9rem;line-height:1.38}.mobile-training-ground-picker{gap:6px;display:grid}.mobile-training-ground-picker span{color:#b8d4d5;font-size:.76rem;font-weight:800}.mobile-action-card #mobilePrimaryButton{min-height:48px;font-size:.98rem}.mobile-action-card #mobileMapButton{color:#fff7d6;min-height:44px;font-size:.84rem;font-weight:850}.mobile-calibration-status{background:#0911186b;border:1px solid #74e3d338;border-radius:8px;gap:8px;padding:10px;display:grid}.mobile-calibration-status div:first-child{color:#c4dcdd;justify-content:space-between;gap:10px;font-size:.78rem;font-weight:800;display:flex}.mobile-calibration-status strong{color:#93eee2}.mobile-calibration-status p{color:#d4eaeb;margin:0;font-size:.82rem;line-height:1.32}.layout{flex-direction:column;gap:10px;width:min(100%,560px);margin:0 auto;display:flex}.stage-wrap{aspect-ratio:.82;border-radius:8px;width:100%;max-height:min(58svh,560px)}.readout{justify-content:space-between;padding:9px 11px;bottom:12px;left:12px;right:12px}.session-hud{inset:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left))}.session-hud-top{align-items:flex-start}.session-hud-pill{min-width:96px;padding:8px 10px}.session-hud-timer{min-width:80px;padding:7px 11px;font-size:1.08rem}.session-hud-controls{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;min-width:0;display:grid}.session-hud-controls button{min-height:44px;padding:0 8px;font-size:.73rem}.panel{background:#091118b8;border-radius:8px;width:100%;max-height:none;padding:10px;overflow:visible}.action-panel{display:none}.panel-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.secondary-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.tab-button{min-height:44px;padding:4px 5px;font-size:.68rem}.session-panel,.calibration-panel,.feedback-panel,.rewards-panel,.progression-panel{padding:10px}.session-row,.duration-action-buttons,.sound-toggle-group,.state-split,.score-strip,.metrics,.practice-history-metrics{grid-template-columns:1fr}.map-stats,.practice-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.progression-map{height:52svh;min-height:390px}.wisdom-overlay{width:96%;bottom:15%}.wisdom-scroll-card{width:min(96%,390px)}#wisdomQuote{font-size:clamp(.68rem,3.2vw,.86rem);inset:29% 30%}}html.embedded-phone-frame .mobile-welcome:not([hidden]){display:grid}html.session-running .session-hud-controls{width:auto;min-width:0;display:flex}html.session-running .session-hud-controls button{width:48px;min-width:48px;max-width:48px}
