body{background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.q-block-label{letter-spacing:.08em;text-transform:uppercase;color:#06b6d4;margin-bottom:6px;font-size:11px;font-weight:700}.open-textarea{color:#2d1f4e;resize:none;box-sizing:border-box;border:2px solid #cffafe;border-radius:16px;outline:none;width:100%;min-height:140px;padding:16px;font-family:inherit;font-size:16px;line-height:1.5;display:block}.open-textarea:focus{border-color:#0891b2}.option-btn.selected{color:#fff;background:#0891b2;border-color:#0891b2}.multiselect-block .option-btn{text-align:left;cursor:pointer;background:#fff;border:2px solid #cffafe;border-radius:14px;width:100%;padding:16px;font-size:16px}.multiselect-block .option-btn.selected{color:#fff;background:#0891b2;border-color:#0891b2}.q-subtitle{color:#888;margin-bottom:20px;font-size:15px;line-height:1.4}.profile-content{box-sizing:border-box;width:100%;max-width:480px;margin:0 auto;padding:24px 20px}.profile-type{word-break:break-word;font-size:28px}.profile-desc{word-break:break-word;font-size:15px;line-height:1.6}@keyframes habby-splash-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes habby-splash-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}@keyframes habby-splash-in-reduced{0%{opacity:0}to{opacity:1}}@keyframes habby-splash-out-reduced{0%{opacity:1}to{opacity:0}}@keyframes habby-splash-shine{0%{transform:translate(-150%)}to{transform:translate(250%)}}*{box-sizing:border-box;margin:0;padding:0}html,body{overscroll-behavior-y:contain;overflow-x:hidden}body{color:#1a1a2e;background:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app{max-width:390px;min-height:100dvh;margin:0 auto}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes headlineDotBlink{0%,to{opacity:.15}50%{opacity:1}}@keyframes paymentBadgePop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes paymentCheckDraw{0%{stroke-dashoffset:24px}to{stroke-dashoffset:0}}@keyframes paymentSpark{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--tx), var(--ty)) scale(0);opacity:0}}@keyframes paymentRingPulse{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}@keyframes countSettle{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-10px)scale(1.04)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes glow-pulse{0%,to{box-shadow:0 8px 32px #0069e059,0 0 60px #0099ff1a}50%{box-shadow:0 12px 48px #0069e080,0 0 80px #09f3}}@keyframes checkin-pulse{0%{transform:scale(1)}45%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes float-up-fade{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-36px)}}@keyframes sweep-ring{0%{stroke-dashoffset:503px}to{stroke-dashoffset:0}}@keyframes circle-number-pop{0%{transform:scale(1)}30%{transform:scale(1.15)}65%{transform:scale(.95)}to{transform:scale(1)}}@keyframes dashboard-bob{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-5px)}}@keyframes celebration-overlay{0%{opacity:0}18%{opacity:1}72%{opacity:1}to{opacity:0}}@keyframes celebration-text{0%{opacity:0;transform:scale(.72)}22%{opacity:1;transform:scale(1.06)}36%{opacity:1;transform:scale(1)}72%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.92)}}.screen-welcome{background:linear-gradient(160deg,#fafdff 0%,#ebf5ff 100%);justify-content:center;align-items:flex-start;min-height:100vh;padding:48px 24px 40px;display:flex}.welcome-content{text-align:center;background:#ffffffb8;border-radius:24px;flex-direction:column;align-items:center;gap:20px;width:100%;padding:36px 24px 28px;display:flex;box-shadow:0 4px 20px #0069e01a}.logo{animation:2.5s ease-in-out infinite pulse}.habby-badge{background:linear-gradient(135deg,#479dff,#0069e0);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.habby-badge-shine{background:linear-gradient(75deg,#fff0 0%,#ffffff8c 50%,#fff0 100%);width:40%;height:200%;animation:3.4s ease-in-out infinite hbShine;position:absolute;top:-50%;left:-60%;transform:rotate(20deg)}@keyframes hbShine{0%{left:-60%}45%{left:120%}to{left:120%}}.screen-route{background:linear-gradient(160deg,#fafdff 0%,#ebf5ff 50%,#fff 100%)}.screen-route .logo{filter:drop-shadow(0 8px 24px #0069e047);animation:3.2s ease-in-out infinite float}.subscription-anchor-row{justify-content:center;gap:8px;margin-top:10px;display:flex}.subscription-anchor{color:#0069e0;cursor:pointer;text-align:center;appearance:none;-webkit-tap-highlight-color:transparent;background:#ebf5ff;border:1px solid #cce7ff;border-radius:8px;outline:none;flex:1;justify-content:center;align-items:center;min-height:44px;padding:8px 16px;font-family:inherit;font-size:14px;font-weight:600;display:flex}.subscription-anchor.selected{background:#cce7ff!important}@media (hover:hover){.subscription-anchor:hover{background:#cce7ff}}.btn-route-continue{color:#fff;cursor:pointer;background:linear-gradient(135deg,#479dff,#0069e0);border:none;border-radius:16px;width:100%;margin-top:8px;padding:18px 48px;font-family:inherit;font-size:17px;font-weight:600;transition:all .15s;box-shadow:0 4px 16px #0069e04d}.btn-route-continue:hover{transform:translateY(-1px);box-shadow:0 6px 24px #0069e073}.btn-route-continue:active{transform:scale(.97);box-shadow:0 2px 8px #0069e033}.welcome-headline{color:#0d2137;text-align:center;font-size:30px;font-weight:700;line-height:1.25}.welcome-body{color:#6b8199;text-align:center;max-width:300px;font-size:16px;line-height:1.65}.welcome-accent{color:#0069e0;text-align:center;max-width:300px;font-size:16px;font-weight:600}.route-goal-block{box-sizing:border-box;text-align:left;background:linear-gradient(135deg,#ebf5ff,#cce7ff);border:1.5px solid #09f;border-radius:16px;width:100%;padding:16px 20px}.route-goal-label{color:#0069e0;text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;font-size:11px;font-weight:700}.route-goal-text{color:#0d2137;font-size:15px;font-weight:500;line-height:1.6}.screen-diagnostic{box-sizing:border-box;flex-direction:column;min-height:100dvh;padding:24px 20px 40px;display:flex}.progress-bar{background:#e5eef7;border-radius:2px;width:100%;height:4px;margin-bottom:12px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#479dff,#0069e0);border-radius:2px;height:100%;transition:width .35s}.q-counter{color:#6b8199;letter-spacing:.04em;margin-bottom:28px;font-size:12px;font-weight:500}.q-block{flex-direction:column;flex:1;gap:16px;width:100%;display:flex}.q-block-label{color:#0069e0;letter-spacing:.04em;background:#cce7ff;border-radius:8px;padding:5px 12px;font-size:11px;font-weight:600;display:inline-block}.q-text{color:#0d2137;font-size:22px;font-weight:700;line-height:1.4}.q-subtitle{color:#6b8199;margin-top:-8px;font-size:14px;line-height:1.45}.options{flex-direction:column;gap:10px;margin-top:8px;display:flex}.option-btn{color:#0d2137;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #e2e8f0;border-radius:14px;outline:none;padding:15px 20px;font-family:inherit;font-size:16px;transition:background .15s,border-color .15s,color .15s,box-shadow .15s}.option-btn:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0000000d}.option-btn:disabled{cursor:default;pointer-events:none}.option-btn:active{color:#0069e0;box-shadow:none;background:#cce7ff;border:2px solid #0069e0;transform:scale(.98)}.multiselect-block{flex-direction:column;gap:10px;width:100%;display:flex}.multiselect-block .option-btn{text-align:left;width:100%}.option-btn.selected,.option-btn.selected:hover,.option-btn.selected:active{font-weight:600;animation:2.6s ease-in-out infinite option-selected-glow;transform:none;box-shadow:0 8px 18px -6px #0069e073,0 0 22px 5px #09f6;color:#0069e0!important;background:#ebf5ff!important;border:2px solid #0069e0!important}@keyframes option-selected-glow{0%,to{box-shadow:0 8px 18px -6px #0069e073,0 0 22px 5px #09f6}50%{box-shadow:0 8px 22px -6px #0069e099,0 0 28px 8px #0099ff8c}}.kvp-checkpoint-pulse{animation:2.6s ease-in-out infinite kvp-checkpoint-inner-pulse}@keyframes kvp-checkpoint-inner-pulse{0%,to{background-color:#0069e08c}50%{background-color:#0069e0}}.screen-request{box-sizing:border-box;flex-direction:column;height:100dvh;padding:24px 20px 0;display:flex}.request-progress{flex-shrink:0}.request-scroll{scrollbar-width:none;flex:1;min-height:0;position:relative;overflow-y:auto}.request-scroll::-webkit-scrollbar{display:none}.request-scroll-fade{pointer-events:none;z-index:1;background:linear-gradient(#fff0 0%,#fff 100%);height:48px;position:absolute;bottom:0;left:0;right:0}.request-scroll-hint{cursor:pointer;z-index:2;background:#eef6ff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;animation:1.6s ease-in-out infinite requestScrollHintBounce;display:flex;position:absolute;bottom:6px;left:50%}@keyframes requestScrollHintBounce{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(4px)}}@media (prefers-reduced-motion:reduce){.request-scroll-hint{animation:none}}@keyframes kvpRingWave{0%,to{stroke:#0069e02e}40%{stroke:#0069e0}}@keyframes kvpSectorFlicker{0%,to{filter:brightness()}50%{filter:brightness(1.6)}}@keyframes kvpStopBlurBreath{0%,to{opacity:.55;transform:scale(1)}50%{opacity:.9;transform:scale(1.12)}}.kvp-stop-blur-inner{animation:3.6s ease-in-out infinite kvpStopBlurBreath}@media (prefers-reduced-motion:reduce){.kvp-stop-blur-inner{animation:none}}.request-footer{flex-shrink:0;padding:16px 0 24px}.dashboard-btn{transition:transform .12s}.dashboard-btn:active{transition:transform 50ms;transform:scale(.97)}.btn-profile-cta{transition:transform .12s}.btn-profile-cta:active{transition:transform 50ms;transform:scale(.97)}.name-input{color:#0d2137;border:1.5px solid #e5eef7;border-radius:14px;outline:none;width:100%;padding:16px 20px;font-family:inherit;font-size:18px;transition:border-color .2s,box-shadow .2s}.name-input:focus{border-color:#0069e0;box-shadow:0 0 0 3px #0069e01a}.open-block{flex-direction:column;gap:12px;width:100%;display:flex}.open-textarea{color:#1a1a2e;resize:none;box-sizing:border-box;border:1.5px solid #cffafe;border-radius:16px;outline:none;width:100%;min-height:160px;padding:16px;font-family:inherit;font-size:16px;line-height:1.55;transition:border-color .2s,box-shadow .2s;display:block}.open-textarea:focus{border-color:#0891b2;box-shadow:0 0 0 3px #0891b214}.scale-block{flex-direction:column;gap:0;width:100%;display:flex}.scale-value-display{color:#0069e0;text-align:center;margin-bottom:28px;font-size:56px;font-weight:700;line-height:1}.scale-input{appearance:none;background:linear-gradient(to right, #0069e0 calc((var(--val) - 1) / 9 * 100%), #e5eef7 calc((var(--val) - 1) / 9 * 100%));border-radius:3px;outline:none;width:100%;height:6px;display:block}.scale-input::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border:3px solid #0069e0;border-radius:50%;width:28px;height:28px;box-shadow:0 2px 8px #0069e04d}.scale-input::-moz-range-thumb{cursor:pointer;background:#fff;border:3px solid #0069e0;border-radius:50%;width:28px;height:28px;box-shadow:0 2px 8px #0069e04d}.scale-labels{justify-content:space-between;margin-top:10px;margin-bottom:36px;display:flex}.scale-labels span{color:#6b8199;max-width:45%;font-size:13px}.scale-labels span:last-child{text-align:right}.btn-start{color:#fff;cursor:pointer;background:linear-gradient(135deg,#479dff,#0069e0);border:none;border-radius:16px;width:100%;padding:18px 48px;font-family:inherit;font-size:17px;font-weight:600;transition:all .15s;box-shadow:0 4px 16px #0069e04d}.btn-start:hover{transform:translateY(-1px);box-shadow:0 6px 24px #0069e073}.btn-start:active{transform:scale(.97);box-shadow:0 2px 8px #0069e033}.btn-start:disabled{box-shadow:none;cursor:not-allowed;background:#cbd5e1;transform:none}.screen-profile-new{min-height:100vh;padding:calc(env(safe-area-inset-top) + 8px + 44px + 12px) 24px 40px;box-sizing:border-box;background:linear-gradient(160deg,#fafdff 0%,#ebf5ff 45%,#fff 100%);flex-direction:column;align-items:center;display:flex}.profile-card{box-sizing:border-box;text-align:center;border-radius:20px;width:100%;margin-bottom:12px;padding:24px 20px}.screen-profile-new>.profile-card:first-child{background:linear-gradient(135deg,#479dff,#0069e0);animation:3s ease-in-out infinite glow-pulse;box-shadow:0 10px 40px #0069e066,inset 0 1px #fff3}.screen-profile-new>.profile-card:first-child .profile-card-title{color:#fff;letter-spacing:-.2px;font-size:22px;font-weight:700;line-height:1.3}.screen-profile-new>.profile-card:nth-child(3){text-align:left;background:#fff;border:1.5px solid #cce7ff;box-shadow:0 4px 20px #0069e01a}.profile-card-title{color:#1a1a2e;font-size:28px;font-weight:700;line-height:1.2}.profile-card-body{color:#4b5563;font-size:15px;font-weight:400;line-height:1.65}.indices-new{flex-direction:column;gap:10px;width:100%;margin:12px 0;display:flex}.index-row-new{box-sizing:border-box;background:#fff;border:1.5px solid #e5eef7;border-radius:14px;justify-content:space-between;align-items:flex-start;width:100%;padding:14px 16px;display:flex;box-shadow:0 2px 12px #0069e012}.index-expandable{cursor:pointer;transition:all .2s}.index-expandable:hover{border-color:#09f;transform:translateY(-1px);box-shadow:0 4px 20px #0069e024}.index-expandable:active{transform:scale(.98)}.index-col{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.index-label-new{color:#0d2137;font-size:14px;font-weight:600}.index-explain{color:#6b8199;font-size:12px;line-height:1.4}.index-progress-bar{background:#f6f7f8;border-radius:2px;width:100%;height:4px;margin-top:8px;overflow:hidden}.index-progress-fill{border-radius:2px;height:100%;transition:width .7s}.index-progress-fill[data-level=high]{background:#34d399}.index-progress-fill[data-level=mid]{background:linear-gradient(90deg,#f59e0b,#fbbf24)}.index-progress-fill[data-level=low]{background:linear-gradient(90deg,#ef4444,#f87171)}.index-detail{color:#6b8199;border-top:1px solid #ebf5ff;margin-top:10px;padding-top:10px;font-size:13px;line-height:1.5}.index-row-behavior{flex-direction:column;align-items:stretch}.index-row-behavior .index-right{max-width:45%}.index-row-behavior .index-value-locked{white-space:normal;text-align:right}.index-row-top{justify-content:space-between;align-items:flex-start;width:100%;display:flex}.index-detail-full{color:#6b8199;border-top:1px solid #ebf5ff;width:100%;margin-top:10px;padding-top:10px;font-size:13px;line-height:1.5}.index-right{flex-direction:column;align-items:flex-end;gap:4px;min-width:64px;margin-left:12px;display:flex}.index-value-new{white-space:nowrap;font-size:15px;font-weight:700}.index-value-high{color:#34d399}.index-value-mid{color:#f59e0b}.index-value-low{color:#ef4444}.index-arrow{color:#09f;white-space:nowrap;font-size:11px;font-weight:500}.section-heading{color:#0069e0;text-transform:uppercase;letter-spacing:.08em;box-sizing:border-box;background:#cce7ff;border:1px solid #cce7ff;border-radius:8px;width:100%;margin:16px 0 8px;padding:8px 16px;font-size:12px;font-weight:600;display:block}.index-value-locked{color:#0069e0;white-space:nowrap;margin-left:8px;font-size:14px;font-weight:600}.locked-profile-card{position:relative;overflow:hidden}.locked-profile-blur-value{filter:blur(5px);opacity:.6;-webkit-user-select:none;user-select:none}.locked-profile-blur-short{filter:blur(4px);opacity:.5;-webkit-user-select:none;user-select:none}.locked-profile-badge-row{justify-content:flex-end;margin-top:10px;display:flex}.locked-profile-badge{z-index:1;letter-spacing:.02em;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:700;display:inline-flex;position:relative}.locked-profile-sheen{pointer-events:none;z-index:0;position:absolute;inset:0}.locked-profile-card-basic{background:linear-gradient(160deg,#fafdff 0%,#ebf5ff 100%);border:1.5px solid #0069e024;box-shadow:0 1px 2px #0d21370a,0 8px 20px #0069e012}.locked-profile-card-basic .locked-profile-sheen{background:radial-gradient(circle at 100% 0,#4fbeff38 0%,#0000 55%)}.locked-profile-card-basic .index-label-new{color:#0d2137}.locked-profile-card-basic .locked-profile-blur-value{color:#0069e0}.locked-profile-card-basic .locked-profile-badge{color:#fff;background:linear-gradient(135deg,#479dff,#0069e0)}.locked-profile-card-pro{background:linear-gradient(160deg,#132a44 0%,#0d2137 100%);border:1.5px solid #4fbeff38;box-shadow:0 10px 26px #00000047}.locked-profile-card-pro .locked-profile-sheen{background:linear-gradient(120deg,#0000 40%,#ffffff0d 50%,#0000 60%)}.locked-profile-card-pro .index-label-new{color:#fafdff}.locked-profile-card-pro .index-explain{color:#cce7ff}.locked-profile-card-pro .locked-profile-blur-value{color:#4fbeff}.locked-profile-card-pro .locked-profile-badge{color:#cce7ff;background:#4fbeff29;border:1px solid #4fbeff66}.pricing-blocks{flex-direction:column;gap:16px;width:100%;margin:8px 0;display:flex}.pricing-card{box-sizing:border-box;border-radius:20px;flex-direction:column;gap:14px;width:100%;padding:24px 20px;display:flex}.pricing-free{background:#fff;border:1.5px solid #e5eef7}.pricing-basic{background:linear-gradient(160deg,#ebf5ff 0%,#cce7ff 100%);border:2px solid #0069e0;box-shadow:0 8px 32px #0069e02e}.pricing-pro{background:#0d2137;border:1.5px solid #ffffff1f;position:relative;box-shadow:0 12px 40px #0d213766}.pricing-pro:before{content:"PRO";letter-spacing:.15em;color:#4fbeff;border:1.5px solid #4fbeff;border-radius:6px;padding:3px 8px;font-size:10px;font-weight:800;position:absolute;top:20px;right:20px}.pricing-title{color:#0d2137;font-size:20px;font-weight:700}.pricing-basic .pricing-title{color:#0d2137}.pricing-pro .pricing-title{color:#fff}.pricing-price{letter-spacing:-1px;font-size:32px;font-weight:800}.pricing-free .pricing-price{color:#0d2137}.pricing-basic .pricing-price{color:#0069e0}.pricing-pro .pricing-price{color:#4fbeff}.pricing-features{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.pricing-features li{color:#6b8199;padding-left:20px;font-size:14px;line-height:1.45;position:relative}.pricing-features li:before{content:"✓";color:#0069e0;font-weight:700;position:absolute;left:0}.pricing-basic .pricing-features li{color:#0d2137}.pricing-basic .pricing-features li:before{color:#0069e0}.pricing-pro .pricing-features li{color:#ffffffd1}.pricing-pro .pricing-features li:before{color:#4fbeff}.pricing-expandable{cursor:pointer}.pricing-expand-btn{color:#09f;background:#0099ff1a;border:1px solid #09f;border-radius:8px;margin-top:4px;padding:3px 10px;font-size:11px;font-weight:500;display:inline-block}.pricing-pro .pricing-expand-btn{color:#4fbeff;background:#4fbeff1f;border-color:#4fbeff}.pricing-expand-text{color:#6b8199;margin-top:8px;font-size:13px;line-height:1.5;display:block}.pricing-pro .pricing-expand-text{color:#ffffffb3}.btn-pricing-free{color:#0d2137;cursor:pointer;background:#f8fafc;border:1.5px solid #e5eef7;border-radius:14px;width:100%;padding:14px;font-family:inherit;font-size:15px;font-weight:600;transition:all .15s}.btn-pricing-free:hover{color:#0069e0;background:#cce7ff;border-color:#0069e0}.btn-pricing-basic{color:#fff;cursor:pointer;background:linear-gradient(135deg,#479dff,#0069e0);border:none;border-radius:14px;width:100%;padding:14px;font-family:inherit;font-size:15px;font-weight:600;transition:all .15s;box-shadow:0 4px 16px #0069e04d}.btn-pricing-basic:hover{transform:translateY(-1px);box-shadow:0 6px 22px #0069e073}.btn-pricing-pro{color:#0d2137;cursor:pointer;background:#fff;border:none;border-radius:14px;width:100%;padding:14px;font-family:inherit;font-size:15px;font-weight:700;transition:all .15s;box-shadow:0 2px 10px #00000014}.btn-pricing-pro:hover{transform:translateY(-1px);box-shadow:0 4px 16px #00000024}.habby-ai-card{box-sizing:border-box;cursor:pointer;background:linear-gradient(135deg,#ecfeff,#cffafe);border:1.5px solid #0891b2;border-radius:16px;align-items:center;gap:14px;width:100%;margin-top:16px;padding:16px 20px;transition:all .2s;display:flex;box-shadow:0 4px 16px #0891b21a}.habby-ai-card:hover{transform:translateY(-1px);box-shadow:0 6px 24px #0891b238}.habby-ai-card-icon{font-size:28px}.habby-ai-card-title{color:#0891b2;font-size:15px;font-weight:700}.habby-ai-card-sub{color:#6b7280;margin-top:2px;font-size:13px}@keyframes day1CtaShine{0%{left:-60%}55%{left:130%}to{left:130%}}.day1-cta-shine{position:relative;overflow:hidden}.day1-cta-shine:after{content:"";background:linear-gradient(115deg,#0000,#0069e038,#0000);width:40%;height:100%;animation:2.8s ease-in-out infinite day1CtaShine;position:absolute;top:0;left:-60%}@keyframes chatButtonAttention{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}.chat-button-attention{animation:.6s ease-in-out 3 chatButtonAttention}@keyframes processBlkPulse{0%{opacity:.25;transform:translateY(6px)scale(.9)}35%{opacity:1;transform:translateY(0)scale(1)}70%{opacity:1;transform:translateY(0)scale(1)}to{opacity:.25;transform:translateY(6px)scale(.9)}}.process-blk{transform-origin:50%;animation:2.8s ease-in-out infinite processBlkPulse}.process-blk1{animation-delay:0s}.process-blk2{animation-delay:.3s}.process-blk3{animation-delay:.6s}.process-blk4{animation-delay:.9s}@keyframes processSparkFloat{0%,to{opacity:0;transform:translateY(4px)}50%{opacity:1;transform:translateY(-6px)}}.process-spark{animation:3.6s ease-in-out infinite processSparkFloat}@keyframes seasonRingBreath{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.season-ring-label{transform-origin:50%;animation:5s ease-in-out infinite seasonRingBreath;display:inline-block}@keyframes seasonRingTrackPulse{0%,to{opacity:.5}50%{opacity:1}}.season-ring-track-pulse{animation:2.6s ease-in-out infinite seasonRingTrackPulse}@keyframes seasonRingMarkerGlow{0%,to{box-shadow:0 0 10px #0069e08c,0 2px 5px #003c9666,inset 0 -2px 3px #00287859}50%{box-shadow:0 0 16px #0069e0d9,0 2px 5px #003c9666,inset 0 -2px 3px #00287859}}.season-ring-marker-glow{animation:2.4s ease-in-out infinite seasonRingMarkerGlow}.chat-screen{z-index:200;background:linear-gradient(160deg,#fafdff 0%,#ebf5ff 100%);flex-direction:column;max-width:390px;height:100dvh;margin:0 auto;display:flex;position:fixed;top:0;left:0;right:0}.chat-header{padding:14px 20px;padding-top:calc(14px + env(safe-area-inset-top));background:linear-gradient(135deg,#ebf5ff,#cce7ff);border-bottom:1px solid #cce7ff;flex-shrink:0;align-items:center;gap:12px;display:flex;box-shadow:0 2px 12px #0069e01a}.chat-back{color:#0069e0;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:4px 8px;font-size:18px;font-weight:700;display:flex}.chat-header-info{flex-direction:column;flex:1;min-width:0;display:flex}.chat-header-title{color:#0069e0;font-size:15px;font-weight:700}.chat-header-sub{color:#6b8199;margin-top:2px;font-size:12px}@keyframes msgSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes recordingIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes recordingOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}@keyframes dotsExit{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.chat-msg,.chat-recording-bar{animation:none}}.chat-messages-wrap{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-sizing:border-box;flex-direction:column;flex:1;gap:10px;min-height:0;padding:16px;display:flex;overflow:hidden auto}.chat-msg{animation:.28s cubic-bezier(.23,1,.32,1) both msgSlideUp;display:flex}.chat-msg.dots-exit{animation:.18s ease-in both dotsExit}.chat-msg.user{justify-content:flex-end}.chat-msg.assistant{justify-content:flex-start}.chat-bubble{word-break:break-word;box-sizing:border-box;border-radius:18px;max-width:80%;padding:11px 15px;font-size:15px;line-height:1.55}.chat-msg.user .chat-bubble{color:#fff;background:linear-gradient(135deg,#0069e0,#09f);border-bottom-right-radius:4px}.chat-msg.assistant .chat-bubble{color:#0d2137;background:#fff;border:1px solid #e8f4f8;border-bottom-left-radius:4px;box-shadow:0 2px 8px #0069e01a}.chat-msg.assistant .chat-bubble p{margin:0 0 8px}.chat-msg.assistant .chat-bubble p:last-child{margin-bottom:0}.chat-msg.assistant .chat-bubble ul,.chat-msg.assistant .chat-bubble ol{margin:0 0 8px;padding-left:20px}.chat-msg.assistant .chat-bubble li{margin-bottom:4px}.chat-msg.assistant .chat-bubble strong{font-weight:600}.chat-msg.assistant .chat-bubble code{background:#f0f9ff;border-radius:4px;padding:1px 5px;font-family:monospace;font-size:13px}.chat-msg.assistant .chat-bubble pre{background:#f0f9ff;border-radius:8px;margin:0 0 8px;padding:10px 12px;overflow-x:auto}.chat-msg.assistant .chat-bubble pre code{background:0 0;padding:0}.chat-quick-start{flex-direction:column;align-self:flex-start;gap:8px;max-width:80%;margin-top:4px;padding-left:0;animation:.28s cubic-bezier(.23,1,.32,1) both msgSlideUp;display:flex}.chat-quick-btn{color:#0069e0;cursor:pointer;text-align:left;background:#f0f9ff;border:1.5px solid #cce7ff;border-radius:16px;padding:9px 14px;font-family:inherit;font-size:14px;transition:background .15s,border-color .15s,opacity .15s}.chat-quick-btn:active:not(:disabled){background:#e0f2fe;border-color:#7dd3fc}.chat-quick-btn.used,.chat-quick-btn:disabled{opacity:.4;cursor:default;color:#94a3b8;background:#f8fafc;border-color:#e2e8f0}.chat-typing-dots{align-items:center;gap:4px;height:20px;padding:0 4px;display:flex}.chat-typing-dots span{background:#0069e0;border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite typingBounce;display:inline-block}.chat-typing-dots span:first-child{animation-delay:0s}.chat-typing-dots span:nth-child(2){animation-delay:.2s}.chat-typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.chat-recording-bar{background:#ebf5ff;border-top:1px solid #cce7ff;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 20px;animation:.22s cubic-bezier(.23,1,.32,1) both recordingIn;display:flex}.chat-recording-bar.hiding{animation:.18s ease-in both recordingOut}.chat-recording-waves{align-items:center;gap:3px;height:24px;display:flex}.chat-recording-waves span{background:#0069e0;border-radius:3px;width:3px;transition:height 80ms;display:block}.chat-recording-timer{color:#0069e0;font-variant-numeric:tabular-nums;text-align:right;min-width:36px;font-size:14px;font-weight:700}.chat-recording-timer.danger{color:#ef4444;animation:.6s infinite timerBlink}@keyframes timerBlink{0%,to{opacity:1}50%{opacity:.4}}.chat-input-block{padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom));box-sizing:border-box;background:#fff;border-top:1px solid #cce7ff;flex-shrink:0;align-items:flex-end;gap:8px;display:flex}.chat-input{color:#0d2137;box-sizing:border-box;resize:none;background:#f8fafc;border:1.5px solid #cce7ff;border-radius:16px;outline:none;flex:1;min-width:0;padding:11px 18px;font-family:inherit;font-size:16px;line-height:1.4;transition:border-color .2s}.chat-input:focus{background:#fff;border-color:#0069e0}.chat-send{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0069e0,#09f);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:20px;transition:opacity .15s;display:flex}.chat-send:disabled{opacity:.4;cursor:default}.chat-mic{color:#0069e0;cursor:pointer;background:#f8fafc;border:1.5px solid #cce7ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;transition:all .15s;display:flex}.chat-mic.recording{color:#0069e0;background:#ebf5ff;border-color:#0069e0;animation:1s infinite micPulse}.chat-mic.cooldown{color:#94a3b8;cursor:not-allowed;background:#f1f5f9;border-color:#e2e8f0}.chat-mic:disabled{opacity:.5;cursor:default}@keyframes micPulse{0%,to{box-shadow:0 0 #0069e066}50%{box-shadow:0 0 0 8px #0069e000}}
