@import "https://api.fontshare.com/v2/css?f[]=cabinet-grotesk@600,700,800&f[]=switzer@400,500,600,700&display=swap";@import "https://fonts.googleapis.com/css2?family=Literata:ital,opsz,wght@0,7..72,400;0,7..72,500;1,7..72,400&display=swap";:root{--porcelain:#f4f5f2;--ink:#19211f;--evergreen:#125a4c;--dawn:#f2a265;--mist:#6e7b75;--nightfall:#0b1719;--light-0:#ffb482;--light-1:#ffd9a6;--light-2:#fff4e2;--light-3:#a8ecd6;--light-4:#8fd9de;--light-5:#aec9f2;--sweep-aurora:linear-gradient(120deg in oklch, #ffb482, #ffd9a6, #fff4e2, #a8ecd6, #8fd9de, #aec9f2);--sweep-edge:linear-gradient(90deg, transparent, #ffc79a, #a8ecd6, #aec9f2, transparent);--bloom:radial-gradient(circle, #fff4e2eb, #ffd9a68c 32%, #f2a26542 56%, transparent 72%);--surface:#fff;--ground:#f4f5f2;--ink-2:#6e7b75;--ink-3:#9aa5a0;--hairline:#19211f14;--evergreen-hover:#1a6656;--evergreen-tint:#e7efeb;--dawn-tint:#fdf0e3;--focus:#125a4c59;--danger:#d1584b;--skeleton:#e7eae6;--tier-safety:#125a4c;--tier-target:#f2a265;--tier-reach:#9cc3ef;--tier-bar:linear-gradient(90deg, #125a4c, #f2a265 52%, #9cc3ef);--radius-card:22px;--radius-ctl:14px;--radius-chip:999px;--radius-sm:10px;--shadow-sm:0 1px 2px #19211f0d;--shadow-md:0 1px 2px #19211f0d, 0 10px 30px #19211f12;--shadow-lift:0 20px 50px #19211f1a;--t-tap:.12s;--t-micro:.18s;--t-std:.24s;--t-enter:.32s;--t-sheet:.36s;--t-bloom:1.2s;--e-standard:cubic-bezier(.32, .72, 0, 1);--e-tap:cubic-bezier(.4, 0, .2, 1);--e-settle:cubic-bezier(.22, 1, .36, 1);--e-exit:cubic-bezier(.4, 0, 1, 1);--font-display:"Cabinet Grotesk", system-ui, sans-serif;--font-body:"Switzer", system-ui, sans-serif;--font-serif:"Literata", Georgia, serif;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:var(--font-body);background:var(--ground);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overscroll-behavior:none;font-size:16px;line-height:1.6}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700;line-height:1.08}button{cursor:pointer;color:inherit;background:0 0;border:none;font-family:inherit}input,textarea{color:inherit;font-family:inherit}a{color:var(--evergreen);text-decoration:none}::selection{background:#f2a26547}*{scrollbar-width:thin;scrollbar-color:#19211f26 transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#19211f26;border-radius:999px}.tnum{font-variant-numeric:tabular-nums}.select-none{-webkit-user-select:none;user-select:none}:focus-visible{box-shadow:0 0 0 3px var(--focus);border-radius:6px;outline:none}.light-layer{pointer-events:none;border-radius:inherit;position:absolute;inset:0;overflow:hidden}.edge-hairline{background:var(--sweep-edge);opacity:.65;pointer-events:none;height:1.5px;position:absolute;top:0;left:22px;right:22px}.pool{filter:blur(36px);opacity:.6;pointer-events:none;background:radial-gradient(circle,#ffd9a680,#a8ecd647 44%,#0000 68%);border-radius:50%;width:280px;height:220px;animation:20s ease-in-out infinite drift;position:absolute}@keyframes drift{0%,to{opacity:.5;transform:translate(0)scale(1)}50%{opacity:.72;transform:translate(-14px,10px)scale(1.08)}}.bloom-stage{pointer-events:none;z-index:5;place-items:center;display:grid;position:absolute;inset:-30%}.bloom-core{background:var(--bloom);filter:blur(16px);opacity:0;width:70%;height:70%;position:absolute}.bloom-ring{background:var(--sweep-aurora);opacity:0;-webkit-mask-composite:xor;border-radius:50%;width:60%;height:60%;padding:2px;position:absolute;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.bloom-stage.play .bloom-core{animation:bloomCore var(--t-bloom) var(--e-settle) forwards}.bloom-stage.play .bloom-ring{animation:bloomRing var(--t-bloom) var(--e-settle) forwards}@keyframes bloomCore{0%{opacity:0;transform:scale(.86)}40%{opacity:1}to{opacity:.8;transform:scale(1.06)}}@keyframes bloomRing{0%{opacity:0;transform:scale(.9)}30%{opacity:.9}to{opacity:0;transform:scale(1.15)}}.caret{vertical-align:-.15em;background:var(--dawn);border-radius:1px;width:8px;height:1.05em;margin-left:2px;animation:1.1s step-end infinite blink;display:inline-block}@keyframes blink{0%,45%{opacity:1}50%,95%{opacity:.25}}.dots{align-items:center;gap:5px;height:28px;display:inline-flex}.dots i{background:var(--dawn);opacity:.5;border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite dotb}.dots i:nth-child(2){animation-delay:.16s}.dots i:nth-child(3){animation-delay:.32s}@keyframes dotb{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.sk{background:var(--skeleton);border-radius:8px;animation:1.6s ease-in-out infinite skb}@keyframes skb{0%,to{opacity:.5}50%{opacity:.85}}.beam{background:var(--hairline);border-radius:2px;height:2px;position:relative;overflow:hidden}.beam:after{content:"";background:linear-gradient(90deg, transparent, var(--dawn), transparent);width:40%;height:100%;animation:1.8s ease-in-out infinite beam;position:absolute;top:0;left:-40%}@keyframes beam{0%{left:-40%}to{left:100%}}.p-dot{width:12px;height:12px;transition:all var(--t-std) var(--e-settle);background:#dce0db;border-radius:50%;flex:none}.p-dot.lit{background:radial-gradient(circle at 38% 34%,#fff4e2,#ffd9a6 40%,#f2a265 100%);box-shadow:0 2px 8px #f2a26566}.p-dot.now{background:radial-gradient(circle at 38% 34%,#fff7ec,#ffd9a6 42%,#f2a265 78%,#a8ecd6 100%);width:20px;height:20px;box-shadow:0 0 0 6px #f2a2651f,0 4px 14px #f2a26580}.mark{background:radial-gradient(circle at 36% 32%,#fff7ec 0%,#ffd9a6 30%,#f2a265 55%,#a8ecd6 78%,#9cc3ef 100%);border-radius:50%;box-shadow:0 4px 16px #f2a26566,inset 0 1px 3px #fff9}.rise{animation:rise var(--t-enter) var(--e-standard) both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.fade{animation:fade var(--t-std) ease both}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.pool,.beam:after,.dots i,.caret{animation:none!important}.caret{opacity:1}}.btn{font-family:var(--font-body);border-radius:var(--radius-ctl);min-width:64px;height:46px;transition:transform var(--t-tap) var(--e-tap), background var(--t-micro), box-shadow var(--t-micro), filter var(--t-tap);white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:15px;font-weight:600;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--evergreen);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--evergreen-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{filter:brightness(.96);transform:scale(.97)}.btn-ghost{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1px var(--hairline)}.btn-ghost:hover{background:#fbfbfa}.btn-quiet{color:var(--evergreen);background:0 0;min-width:0;height:40px;padding:0 10px}.btn-quiet:hover{background:var(--evergreen-tint)}.btn-quiet.on-dark:hover{background:#ffffff14}.btn-danger{background:var(--danger);color:#fff}.btn:disabled{color:var(--ink-3);box-shadow:none;cursor:default;background:#dbe1dc;transform:none}.btn.sm{height:38px;padding:0 14px;font-size:14px}.btn.block{width:100%}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}.spinner.dark{border-color:#19211f33;border-top-color:var(--evergreen)}@keyframes spin{to{transform:rotate(360deg)}}.chip{border-radius:var(--radius-chip);height:32px;color:var(--ink);transition:transform var(--t-micro) var(--e-settle), background var(--t-micro);-webkit-user-select:none;user-select:none;background:#eff2f5;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex}.chip.active{background:var(--evergreen-tint);color:var(--evergreen);font-weight:600}.chip.pop{animation:pop .22s var(--e-settle)}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.chip.tappable{cursor:pointer}.chip.tappable:active{transform:scale(.96)}.src{color:var(--ink-2);background:#6e7b751a;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:500}.card{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-md);padding:20px;position:relative}.card.flat{box-shadow:none;border:1px solid var(--hairline)}.card-tappable{cursor:pointer;transition:transform var(--t-micro) var(--e-settle), box-shadow var(--t-micro)}.card-tappable:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}.card-tappable:active{transform:scale(.99)}.label{letter-spacing:.14em;text-transform:uppercase;color:var(--mist);font-size:11px;font-weight:600}.meta{color:var(--ink-2);font-size:13px;line-height:1.5}.section-title{font-family:var(--font-display);letter-spacing:-.015em;font-size:24px;font-weight:600}.card-title{font-size:18px;font-weight:600}.empty{text-align:center;color:var(--ink-2);flex-direction:column;align-items:center;gap:14px;padding:40px 20px;display:flex}.empty .ic{background:var(--evergreen-tint);width:56px;height:56px;color:var(--evergreen);border-radius:18px;place-items:center;display:grid}.toaster{left:0;right:0;bottom:calc(96px + var(--safe-b));z-index:200;pointer-events:none;flex-direction:column;align-items:center;gap:8px;padding:0 16px;display:flex;position:fixed}.toast{pointer-events:auto;background:var(--ink);color:#fff;box-shadow:var(--shadow-lift);border-radius:14px;max-width:440px;padding:12px 16px;font-size:14px;font-weight:500}.toast.err{background:#3a2422;box-shadow:0 10px 30px #d1584b40}.tabbar{height:calc(64px + var(--safe-b));padding-bottom:var(--safe-b);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid var(--hairline);z-index:100;-webkit-user-select:none;user-select:none;background:#ffffffdb;justify-content:space-around;align-items:flex-start;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--ink-3);transition:color var(--t-micro);flex-direction:column;flex:1;align-items:center;gap:3px;padding-top:10px;display:flex}.tab.active{color:var(--evergreen)}.tab .ti{transition:transform var(--t-std) var(--e-settle)}.tab.active .ti{transform:scale(1.12)}.tab span{font-size:10.5px;font-weight:600}.orb-slot{flex:1;justify-content:center;display:flex;position:relative}.orb{width:52px;height:52px;transition:transform var(--t-tap) var(--e-tap);border-radius:50%;place-items:center;display:grid;position:absolute;top:-26px;box-shadow:0 8px 24px #f2a26573}.orb:active{transform:scale(.94)}.orb.here{animation:6s ease-in-out infinite orbBreathe}@keyframes orbBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}.orb .ping{background:var(--bloom);opacity:0;border-radius:50%;position:absolute;inset:-6px}.orb.ping .ping{animation:1.4s ease-out orbPing}@keyframes orbPing{0%{opacity:0;transform:scale(.8)}25%{opacity:.8}to{opacity:0;transform:scale(1.5)}}.rail{background:var(--surface);border-right:1px solid var(--hairline);z-index:100;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:6px;width:72px;padding:18px 0;display:flex;position:fixed;top:0;bottom:0;left:0}.rail .rlogo{width:40px;height:40px;margin-bottom:12px}.rail .rtab{width:48px;height:48px;color:var(--ink-3);transition:all var(--t-micro);border-radius:14px;place-items:center;display:grid;position:relative}.rail .rtab:hover{background:var(--ground);color:var(--ink)}.rail .rtab.active{background:var(--evergreen-tint);color:var(--evergreen)}.shell{min-height:100dvh}.scroll{min-height:100dvh;padding-bottom:calc(100px + var(--safe-b))}.wrap{max-width:760px;margin:0 auto;padding:0 18px}.appbar{z-index:40;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:calc(14px + var(--safe-t)) 18px 12px;background:#f4f5f2cc;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}@media (width>=900px){.scroll{padding-bottom:40px;padding-left:72px}.tabbar{display:none}.wrap{max-width:860px;padding:0 40px}.appbar{padding-left:112px}}@media (width<=899px){.rail{display:none}}.seg{background:#eef1ee;border-radius:12px;gap:2px;padding:3px;display:inline-flex}.seg button{height:34px;color:var(--ink-2);transition:all var(--t-micro);border-radius:9px;padding:0 14px;font-size:13.5px;font-weight:600}.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.field{background:var(--surface);border-radius:var(--radius-ctl);width:100%;box-shadow:inset 0 0 0 1px var(--hairline);transition:box-shadow var(--t-micro);padding:12px 14px;font-size:15px}.field:focus{box-shadow:inset 0 0 0 1.5px var(--evergreen), 0 0 0 3px var(--focus)}.rule{background:var(--hairline);border:0;height:1px;margin:0}.sheet-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:150;background:#0b171966;position:fixed;inset:0}.sheet{z-index:151;background:var(--surface);box-shadow:var(--shadow-lift);max-height:88dvh;padding:8px 18px calc(24px + var(--safe-b));border-radius:24px 24px 0 0;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.sheet .grip{background:var(--hairline);border-radius:999px;width:40px;height:4px;margin:8px auto 12px}.modal{z-index:150;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal .modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0b171966;position:absolute;inset:0}.modal .box{background:var(--surface);box-shadow:var(--shadow-lift);border-radius:22px;width:100%;max-width:460px;max-height:88dvh;padding:24px;overflow-y:auto}.md{color:var(--ink);font-size:15.5px;line-height:1.62}.md>:first-child{margin-top:0}.md p{margin:0 0 10px}.md p:last-child{margin-bottom:0}.md ul,.md ol{margin:0 0 10px;padding-left:20px}.md li{margin:3px 0}.md strong{font-weight:600}.md h1,.md h2,.md h3{font-family:var(--font-display);letter-spacing:-.01em;margin:14px 0 6px;font-weight:600}.md code{background:#19211f0f;border-radius:5px;padding:1px 5px;font-size:.9em}.md a{color:var(--evergreen);text-decoration:underline}@media (width>=900px){.md{font-size:16px}}.canvas{font-family:var(--font-serif);color:var(--ink);white-space:pre-wrap;font-size:18px;line-height:1.72}.hl{background:linear-gradient(#0000 62%,#ffd9a68c 62%)}.coach-main{height:calc(100dvh - 64px - var(--safe-b));flex-direction:column;display:flex}@media (width>=900px){.coach-main{height:100dvh;padding-left:72px}}.scroll{animation:pageIn var(--t-std) ease both}@keyframes pageIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.orb{overflow:visible}.stagger>*{animation:rise var(--t-enter) var(--e-standard) both}.stagger>:first-child{animation-delay:0s}.stagger>:nth-child(2){animation-delay:45ms}.stagger>:nth-child(3){animation-delay:90ms}.stagger>:nth-child(4){animation-delay:.135s}.stagger>:nth-child(5){animation-delay:.18s}.stagger>:nth-child(6){animation-delay:.225s}.stagger>:nth-child(n+7){animation-delay:.26s}.btn,.chip,.tab,.orb,.card-tappable{-webkit-tap-highlight-color:transparent}
