:root{--mood-color:99,102,241}.mood-bar{width:100%;height:4px;background:linear-gradient(90deg,rgba(var(--mood-color),.9) 0,rgba(var(--mood-color),.5) 40%,rgba(var(--mood-color),.15) 80%,transparent 100%);transition:background 1.2s ease,height .4s ease,box-shadow 1.2s ease;flex-shrink:0;box-shadow:0 1px 8px rgba(var(--mood-color),.3)}.mood-bar.pulse{height:6px}.ambient-light{top:-80px;right:-80px;width:500px;height:500px;background:radial-gradient(circle,rgba(var(--mood-color),.08) 0,rgba(var(--mood-color),.03) 40%,transparent 70%)}.ambient-light,.ambient-light-2{position:fixed;border-radius:50%;pointer-events:none;transition:background 1.2s ease;z-index:0}.ambient-light-2{bottom:-120px;left:-60px;width:400px;height:400px;background:radial-gradient(circle,rgba(var(--mood-color),.04) 0,transparent 60%)}@keyframes orb-breathe{0%,to{transform:scale(.93)}50%{transform:scale(1.07)}}@keyframes orb-ring-breathe{0%,to{transform:scale(.96);opacity:.3}50%{transform:scale(1.16);opacity:.6}}.breathing-orb{width:34px;height:34px;border-radius:50%;position:relative;flex-shrink:0;animation:orb-breathe 3.5s ease-in-out infinite;cursor:pointer}.breathing-orb-inner{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(var(--mood-color),.65),rgba(var(--mood-color),.25) 65%,rgba(var(--mood-color),.08));box-shadow:0 0 10px rgba(var(--mood-color),.2);transition:all 1.5s ease}.breathing-orb-highlight{position:absolute;top:4px;left:5px;width:10px;height:7px;border-radius:50%;background:radial-gradient(ellipse,hsla(0,0%,100%,.5),transparent)}.breathing-orb-ring{position:absolute;inset:-4px;border-radius:50%;border:1.5px solid rgba(var(--mood-color),.15);animation:orb-ring-breathe 3.5s ease-in-out infinite;transition:border-color 1.5s ease}@keyframes thinking-ring{0%,to{transform:scale(.85);opacity:.3}50%{transform:scale(1.2);opacity:.7}}@keyframes thinking-middle{0%,to{transform:scale(.9);opacity:.5}50%{transform:scale(1.15);opacity:.9}}@keyframes thinking-core{0%,to{transform:scale(.85);box-shadow:0 0 4px rgba(var(--mood-color),.15)}50%{transform:scale(1.1);box-shadow:0 0 14px rgba(var(--mood-color),.35)}}@keyframes thinking-shimmer{0%{left:-60%}to{left:120%}}.thinking-orb{position:relative;width:22px;height:22px;flex-shrink:0}.thinking-orb-ring{position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(var(--mood-color),.2);animation:thinking-ring 3s ease-in-out infinite}.thinking-orb-middle{position:absolute;inset:4px;border-radius:50%;background:rgba(var(--mood-color),.12);animation:thinking-middle 3s ease-in-out infinite}.thinking-orb-core{position:absolute;inset:7px;border-radius:50%;background:radial-gradient(circle at 40% 40%,rgba(var(--mood-color),.7),rgba(var(--mood-color),.35));animation:thinking-core 3s ease-in-out infinite;box-shadow:0 0 8px rgba(var(--mood-color),.25)}.mood-shift-toast{position:fixed;top:20px;left:50%;transform:translateX(-50%) translateY(-60px);background:#fff;border-radius:12px;padding:10px 20px;box-shadow:0 4px 24px rgba(0,0,0,.1);display:flex;align-items:center;gap:10px;font-size:13px;color:#374151;z-index:50;opacity:0;transition:all .5s cubic-bezier(.34,1.56,.64,1);border-left:3px solid rgba(var(--mood-color),.6)}.mood-shift-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.mood-shift-dot{width:8px;height:8px;border-radius:50%;background:rgba(var(--mood-color),.7);animation:orb-breathe 2s ease-in-out infinite}.leave-dialog-orb{width:56px;height:56px;border-radius:50%;margin:0 auto 16px;background:radial-gradient(circle at 35% 35%,rgba(var(--mood-color),.5),rgba(var(--mood-color),.15));box-shadow:0 0 20px rgba(var(--mood-color),.15);animation:orb-breathe 3.5s ease-in-out infinite}.msg-bubble-ai{border-left:3px solid rgba(var(--mood-color),.35);transition:border-color 1.5s ease}.cot-detail-mood{background:rgba(var(--mood-color),.03);border-color:rgba(var(--mood-color),.08)}.thinking-text-gradient{background:linear-gradient(135deg,rgba(var(--mood-color),1),#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.thinking-comfort-text{color:rgba(var(--mood-color),.55)}.orb-tooltip{position:absolute;top:calc(100% + 10px);left:0;background:#fff;border-radius:12px;padding:10px 14px;box-shadow:0 4px 20px rgba(0,0,0,.1);width:160px;opacity:0;transform:translateY(-4px);pointer-events:none;transition:all .2s ease;z-index:30}.orb-tooltip.show{opacity:1;transform:translateY(0);pointer-events:auto}.orb-tooltip:before{content:"";position:absolute;top:-5px;left:20px;width:10px;height:10px;background:#fff;transform:rotate(45deg);box-shadow:-1px -1px 2px rgba(0,0,0,.03)}.orb-energy-bar{height:3px;background:#f3f4f6;border-radius:2px;margin-top:6px;overflow:hidden}.orb-energy-fill{height:100%;border-radius:2px;background:linear-gradient(90deg,rgba(var(--mood-color),.7),rgba(var(--mood-color),.4));transition:width 1.5s ease}.fb-btn-mood:hover{color:rgba(var(--mood-color),.8)}.onboarding-step{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1);z-index:1;will-change:opacity,transform}.onboarding-step.hidden{opacity:0;pointer-events:none;transform:scale(.98) translateY(8px)}.onboarding-step.active{opacity:1;pointer-events:auto;transform:scale(1) translateY(0)}.onboarding-step.fade-out{opacity:0;pointer-events:none;transform:scale(1);transition:opacity .45s ease}.ob-step1{background:linear-gradient(135deg,#f8f9ff,#f0f1f8)}@keyframes ob-fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.ob-title{font-size:24px;color:#374151;margin-bottom:8px;letter-spacing:1px;animation:ob-fadeUp .8s .3s forwards}.ob-subtitle,.ob-title{font-weight:300;opacity:0}.ob-subtitle{font-size:14px;color:#9ca3af;margin-bottom:40px;animation:ob-fadeUp .8s .5s forwards}.ob-image-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:520px;width:90%;opacity:0;animation:ob-fadeUp .8s .7s forwards}.ob-image-card{position:relative;aspect-ratio:4/3;border-radius:16px;overflow:hidden;cursor:pointer;transition:all .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 2px 12px rgba(0,0,0,.06)}.ob-image-card:hover{transform:scale(1.03);box-shadow:0 8px 30px rgba(0,0,0,.12)}.ob-image-card:active{transform:scale(.98)}.ob-card-bg{position:absolute;inset:0;transition:transform .6s ease}.ob-image-card:hover .ob-card-bg{transform:scale(1.08)}.ob-card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.55));display:flex;flex-direction:column;justify-content:flex-end;padding:16px}.ob-card-label{font-size:15px;font-weight:500;color:#fff;margin-bottom:4px}.ob-card-hint{font-size:12px;color:hsla(0,0%,100%,.8);font-weight:300;line-height:1.5}.ob-card-rain .ob-card-bg{background:linear-gradient(135deg,#667eea,#764ba2 40%,#4a5568)}.ob-card-spring .ob-card-bg{background:linear-gradient(135deg,#ffecd2,#fcb69f 30%,#ff9a9e 60%,#fecfef)}.ob-card-ocean .ob-card-bg{background:linear-gradient(135deg,#0c3483,#3f7fb5 40%,#6dd5ed 70%,#2193b0)}.ob-card-autumn .ob-card-bg{background:linear-gradient(135deg,#f6d365,#e4954f 40%,#d4805f 70%,#c06c3e)}.ob-step2{background:#f7f8fa;transition:background 1s ease}.ob-reveal-card{width:280px;aspect-ratio:4/3;border-radius:20px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.15);opacity:0;transition:opacity .3s ease;position:relative}.ob-reveal-card.show{opacity:1}.ob-reveal-card .ob-card-bg{position:absolute;inset:0}.ob-reveal-card.ob-card-spring .ob-card-bg:after{content:"🌸";position:absolute;font-size:60px;right:-10px;top:-10px;opacity:.3;animation:ob-float 4s ease-in-out infinite}.ob-reveal-card.ob-card-autumn .ob-card-bg:after{content:"🍂";position:absolute;font-size:48px;right:10px;top:15px;opacity:.4;animation:ob-fall 5s ease-in-out infinite}@keyframes ob-float{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-10px) rotate(5deg)}}@keyframes ob-fall{0%{transform:translateY(-5px) rotate(0deg)}50%{transform:translateY(10px) rotate(15deg)}to{transform:translateY(-5px) rotate(0deg)}}.ob-reveal-text{margin-top:32px;text-align:center;max-width:360px;opacity:0;transform:translateY(10px);transition:opacity .7s ease,transform .7s ease}.ob-reveal-text.show{opacity:1;transform:translateY(0)}.ob-reveal-empathy{font-size:18px;font-weight:300;line-height:1.8;color:#374151}.ob-reveal-note{font-size:12px;color:#9ca3af;margin-top:12px;font-style:italic}.ob-cta{margin-top:36px;opacity:0;transform:translateY(8px);transition:opacity .6s ease,transform .6s ease}.ob-cta.show{opacity:1;transform:translateY(0)}.ob-cta-button{padding:14px 40px;border-radius:12px;border:none;font-size:16px;font-weight:500;color:#fff;background:linear-gradient(135deg,rgba(var(--mood-color),.9),rgba(var(--mood-color),.7));cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px rgba(var(--mood-color),.3);font-family:inherit;position:relative;overflow:hidden}.ob-cta-button:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,hsla(0,0%,100%,.3),transparent 60%);animation:ob-pulse-glow 2s ease-in-out infinite}@keyframes ob-pulse-glow{0%,to{opacity:0;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}.ob-cta-button:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(var(--mood-color),.4)}.ob-flying-card{position:fixed;border-radius:16px;overflow:hidden;z-index:200;box-shadow:0 4px 24px rgba(0,0,0,.12);pointer-events:none;will-change:left,top,width,height}.ob-skip{position:fixed;bottom:40px;left:50%;transform:translateX(-50%);font-size:13px;color:#b0b5c0;cursor:pointer;transition:color .2s;z-index:10;background:none;border:none;font-family:inherit}.ob-skip:hover{color:#6b7280}@media (max-width:640px){.ob-image-grid{gap:12px;max-width:100%;width:92%}.ob-title{font-size:20px}.ob-reveal-card{width:240px}.ob-reveal-empathy{font-size:16px}}