:root{--goo-orange: #FF6B35;--goo-orange-dk: #E85520;--goo-orange-lt: #FFF0EA;--lab-green: #1D9E75;--lab-green-lt: #E1F5EE;--sun-yellow: #FFB347;--dream-purple: #7F77DD;--dream-purple-lt: #EEEDFE;--sky-blue: #4ECDC4;--sky-blue-lt: #E0F8F7;--navy: #1A1A2E;--navy-mid: #2D2D4E;--navy-light: #3D3D60;--cream: #FFF9F0;--white: #FFFFFF;--gray-soft: #F4F2EE;--gray-text: #6B6860;--gray-border: #E0DDD8;--red-error: #FF4757;--font: "Nunito", system-ui, sans-serif;--radius: 16px;--radius-sm: 8px;--radius-lg: 24px;--radius-xl: 32px;--shadow: 0 4px 24px rgba(0,0,0,.18);--shadow-sm: 0 2px 8px rgba(0,0,0,.12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font);background:var(--navy);color:var(--white);-webkit-font-smoothing:antialiased}#root{height:100%;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button{font-family:var(--font);cursor:pointer;border:none;outline:none}input,textarea,select{font-family:var(--font);outline:none}h1{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:900;line-height:1.1}h2{font-size:clamp(1.4rem,3vw,2rem);font-weight:800}h3{font-size:1.2rem;font-weight:700}@keyframes goo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes goo-talk{0%,to{transform:scaleY(1)}50%{transform:scaleY(1.06)}}@keyframes goo-celebrate{0%{transform:rotate(0) scale(1)}20%{transform:rotate(-8deg) scale(1.1)}40%{transform:rotate(8deg) scale(1.12)}60%{transform:rotate(-5deg) scale(1.08)}80%{transform:rotate(5deg) scale(1.05)}to{transform:rotate(0) scale(1)}}@keyframes goo-listen-pulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.08);opacity:.2}}@keyframes arm-wave{0%,to{transform:rotate(30deg)}40%{transform:rotate(-10deg) translateY(-8px)}70%{transform:rotate(50deg)}}@keyframes think-bounce{0%,to{opacity:.9;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.goo-idle{animation:goo-float 3s ease-in-out infinite}.goo-talking{animation:goo-talk .35s ease-in-out alternate infinite}.goo-thinking{animation:goo-float 4s ease-in-out infinite;filter:hue-rotate(20deg)}.goo-celebrating{animation:goo-celebrate .8s ease-in-out 3}.goo-listening{animation:goo-float 2s ease-in-out infinite}.goo-waving{animation:goo-float 2.5s ease-in-out infinite}.goo-listen-ring{animation:goo-listen-pulse 1.2s ease-in-out infinite}.goo-arm-wave{animation:arm-wave .6s ease-in-out infinite}.goo-think-dots circle:nth-child(1){animation:think-bounce 1.2s 0s infinite}.goo-think-dots circle:nth-child(2){animation:think-bounce 1.2s .2s infinite}.goo-think-dots circle:nth-child(3){animation:think-bounce 1.2s .4s infinite}.goo-bubble{background:var(--white);color:var(--navy);font-weight:700;font-size:.95rem;padding:10px 16px;border-radius:var(--radius);max-width:240px;text-align:center;position:relative;box-shadow:var(--shadow-sm);line-height:1.4}.goo-bubble:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);border:10px solid transparent;border-top-color:var(--white);border-bottom:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--radius);font-weight:800;font-size:1rem;transition:transform .1s,box-shadow .1s,opacity .2s}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--goo-orange);color:var(--white);box-shadow:0 4px 16px #ff6b3566}.btn-primary:hover:not(:disabled){background:var(--goo-orange-dk);box-shadow:0 6px 20px #ff6b3580}.btn-secondary{background:var(--white);color:var(--navy);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background:var(--gray-soft)}.btn-ghost{background:#ffffff1a;color:var(--white)}.btn-ghost:hover:not(:disabled){background:#ffffff2e}.btn-danger{background:var(--red-error);color:var(--white)}.btn-sm{padding:8px 16px;font-size:.875rem;border-radius:var(--radius-sm)}.btn-lg{padding:16px 36px;font-size:1.15rem;border-radius:var(--radius-lg)}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-weight:700;font-size:.9rem;color:var(--white)}.form-input{width:100%;padding:12px 16px;background:#ffffff1a;border:2px solid rgba(255,255,255,.15);border-radius:var(--radius);color:var(--white);font-size:1rem;font-family:var(--font);font-weight:600;transition:border-color .2s}.form-input::placeholder{color:#fff6}.form-input:focus{border-color:var(--goo-orange);outline:none}.form-input[type=date],.form-input[type=time],select.form-input{-moz-appearance:none;appearance:none;-webkit-appearance:none;color-scheme:dark}.form-input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1) opacity(.5);cursor:pointer}select.form-input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='rgba(255,255,255,0.5)' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}select.form-input option{background:#1a1a2e;color:#fff}.form-input.light{background:var(--white);border-color:var(--gray-border);color:var(--navy)}.form-input.light::placeholder{color:var(--gray-text)}.form-input.light:focus{border-color:var(--goo-orange)}.form-error{font-size:.85rem;color:#ff6b6b;font-weight:600}.card{background:var(--navy-mid);border-radius:var(--radius-lg);padding:24px;border:1px solid rgba(255,255,255,.08)}.card-cream{background:var(--cream);color:var(--navy);border-radius:var(--radius-lg);padding:24px}.page{min-height:100vh;display:flex;flex-direction:column;background:var(--navy)}.page-center{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--navy)}.container{width:100%;max-width:1100px;margin:0 auto;padding:0 24px}.auth-layout{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--navy)}@media (max-width: 768px){.auth-layout{grid-template-columns:1fr}}.auth-goo-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;gap:24px;background:linear-gradient(135deg,var(--navy-mid),var(--navy))}@media (max-width: 768px){.auth-goo-panel{display:none}}.auth-form-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 40px;background:#ffffff08}.auth-form-box{width:100%;max-width:420px;display:flex;flex-direction:column;gap:20px}.auth-title{font-size:2rem;font-weight:900;color:var(--white)}.auth-subtitle{color:#fff9;font-size:1rem;font-weight:600}.step-dots{display:flex;gap:8px;justify-content:center}.step-dot{width:10px;height:10px;border-radius:50%;background:#fff3;transition:all .3s}.step-dot.active{background:var(--goo-orange);width:28px;border-radius:5px}.step-dot.done{background:var(--lab-green)}.friends-page{min-height:100vh;background:var(--navy);padding-bottom:80px}.friends-header{display:flex;align-items:center;justify-content:space-between;padding:24px;background:var(--navy-mid);border-bottom:1px solid rgba(255,255,255,.06)}.friends-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;padding:24px}.agent-card{border-radius:var(--radius-lg);padding:24px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;cursor:pointer;transition:transform .2s,box-shadow .2s;position:relative;box-shadow:var(--shadow)}.agent-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px #0000004d}.agent-avatar-circle{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:900;color:var(--white);font-family:var(--font);border:3px solid rgba(255,255,255,.3);overflow:hidden;flex-shrink:0}.agent-card-name{font-weight:900;font-size:1.15rem;color:var(--white);text-align:center}.agent-card-personality{font-size:.85rem;color:#ffffffbf;text-align:center;font-weight:600}.agent-card-actions{display:flex;gap:8px;width:100%;margin-top:4px}.agent-card-menu{position:absolute;top:10px;right:10px;display:flex;gap:4px}.icon-btn{width:32px;height:32px;border-radius:50%;background:#00000040;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:background .2s;border:none;cursor:pointer}.icon-btn:hover{background:#00000073}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:80px 24px;text-align:center}.empty-state h2{color:var(--white)}.empty-state p{color:#fff9;font-size:1.1rem}.lab-page{min-height:100vh;display:grid;grid-template-columns:240px 1fr;background:var(--navy)}@media (max-width: 768px){.lab-page{grid-template-columns:1fr}}.lab-sidebar{background:var(--navy-mid);padding:32px 20px;display:flex;flex-direction:column;align-items:center;gap:24px;border-right:1px solid rgba(255,255,255,.06)}@media (max-width: 768px){.lab-sidebar{display:none}}.lab-main{padding:40px 48px;display:flex;flex-direction:column;gap:32px;overflow-y:auto}@media (max-width: 768px){.lab-main{padding:24px 20px}}.lab-progress{height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden}.lab-progress-fill{height:100%;background:var(--goo-orange);border-radius:4px;transition:width .4s ease}.lab-step-title{font-size:1.8rem;font-weight:900;color:var(--white)}.lab-step-hint{color:#ffffff8c;font-size:1rem;font-weight:600}.personality-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}.personality-card{background:var(--navy-mid);border:2px solid transparent;border-radius:var(--radius);padding:16px 12px;text-align:center;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:8px}.personality-card:hover{border-color:#ff6b3580;transform:translateY(-2px)}.personality-card.selected{border-color:var(--goo-orange);background:#ff6b351f}.personality-card-emoji{font-size:2.2rem}.personality-card-name{font-weight:800;font-size:.95rem;color:var(--white)}.personality-card-desc{font-size:.78rem;color:#ffffff8c;line-height:1.3}.color-grid{display:flex;flex-wrap:wrap;gap:12px}.color-swatch{width:48px;height:48px;border-radius:50%;cursor:pointer;transition:transform .2s;border:3px solid transparent;position:relative}.color-swatch:hover{transform:scale(1.12)}.color-swatch.selected{border-color:#fff;box-shadow:0 0 0 3px #fff6}.color-swatch.selected:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;font-weight:900}.interests-grid{display:flex;flex-wrap:wrap;gap:10px}.interest-chip{padding:8px 16px;border-radius:24px;background:var(--navy-mid);border:2px solid rgba(255,255,255,.12);color:#fffc;font-weight:700;font-size:.88rem;cursor:pointer;transition:all .18s;display:flex;align-items:center;gap:6px}.interest-chip:hover{border-color:var(--goo-orange);color:var(--white)}.interest-chip.selected{background:#ff6b352e;border-color:var(--goo-orange);color:var(--white)}.voice-options{display:flex;gap:12px;flex-wrap:wrap}.voice-btn{flex:1;min-width:100px;padding:14px 12px;border-radius:var(--radius);background:var(--navy-mid);border:2px solid rgba(255,255,255,.12);color:var(--white);font-weight:800;font-size:.95rem;cursor:pointer;transition:all .18s;text-align:center}.voice-btn:hover{border-color:var(--goo-orange)}.voice-btn.selected{border-color:var(--goo-orange);background:#ff6b3526}@keyframes friend-reveal{0%{opacity:0;transform:scale(.5) rotate(-10deg)}60%{transform:scale(1.08) rotate(3deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes confetti-fall{0%{transform:translateY(-20px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.friend-reveal{animation:friend-reveal .7s cubic-bezier(.34,1.56,.64,1) forwards}.fade-up{animation:fadeUp .5s ease forwards}.confetti-piece{position:fixed;top:-20px;width:10px;height:10px;border-radius:2px;animation:confetti-fall linear forwards;z-index:999;pointer-events:none}.chat-layout{display:grid;grid-template-columns:minmax(380px,42%) 1fr;grid-template-rows:auto 1fr;height:100vh;height:100dvh;overflow:hidden;background:var(--navy)}.chat-left-panel{grid-row:2;background:#ffffff08;border-right:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;padding:12px 12px 14px;gap:8px;overflow:hidden}.avatar-call-frame{position:relative;width:100%;border-radius:24px;overflow:hidden;background:#06061a;display:flex;align-items:center;justify-content:center;flex:1;min-height:0;transition:box-shadow .3s ease}.avatar-call-frame[data-state=talking]{box-shadow:0 0 0 3px var(--goo-orange),0 0 24px #ff6b3573;animation:call-ring 1.4s ease-in-out infinite}.avatar-call-frame[data-state=thinking]{box-shadow:0 0 0 2px #7f77dd,0 0 18px #7f77dd66}@keyframes call-ring{0%,to{box-shadow:0 0 0 3px var(--goo-orange),0 0 18px #ff6b3559}50%{box-shadow:0 0 0 4px var(--goo-orange),0 0 32px #ff6b3599}}@keyframes blink-dot{0%,to{opacity:1}50%{opacity:.35}}.call-status-pill{position:absolute;bottom:10px;left:50%;transform:translate(-50%);background:#0000009e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;padding:4px 12px;font-family:var(--font-display);font-size:.75rem;font-weight:800;white-space:nowrap;display:flex;align-items:center;gap:6px;color:#fff}.call-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.modes-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.mode-btn{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;border-radius:12px;cursor:pointer;font-weight:700;font-size:.8rem;transition:all .18s;width:100%;border-width:1.5px;border-style:solid}.chat-modes-mobile{display:none}@media (max-width: 1024px){.chat-layout{grid-template-columns:1fr}.chat-left-panel{display:none}.chat-modes-mobile{display:flex;gap:8px;padding:10px 14px;overflow-x:auto;background:var(--navy-mid);border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}}.chat-page{display:flex;flex-direction:column;height:100vh;background:var(--navy);overflow:hidden}.chat-header{display:flex;align-items:center;gap:12px;padding:14px 20px;background:var(--navy-mid);border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;z-index:10}.chat-agent-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:1.1rem;color:#fff}.chat-agent-name{font-weight:800;font-size:1.05rem;color:var(--white)}.chat-agent-status{font-size:.78rem;color:#ffffff80}.chat-tabs{display:flex;gap:0;border-bottom:1px solid rgba(255,255,255,.08);background:var(--navy-mid);flex-shrink:0;overflow-x:auto}.chat-tab{padding:10px 20px;font-weight:700;font-size:.85rem;color:#ffffff80;cursor:pointer;border-bottom:3px solid transparent;white-space:nowrap;background:none;transition:color .2s}.chat-tab:hover{color:#fffc}.chat-tab.active{color:var(--goo-orange);border-bottom-color:var(--goo-orange)}.chat-body{flex:1;overflow:hidden;display:flex;flex-direction:column}.chat-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px;background:var(--cream)}.chat-bubble{max-width:75%;padding:12px 16px;border-radius:18px;font-size:.97rem;line-height:1.5;font-weight:600;word-break:break-word}.chat-bubble.user{align-self:flex-end;background:var(--goo-orange);color:#fff;border-bottom-right-radius:4px}.chat-bubble.assistant{align-self:flex-start;background:#fff;color:var(--navy);border-bottom-left-radius:4px;box-shadow:var(--shadow-sm)}.chat-bubble-meta{font-size:.72rem;color:#00000059;margin-top:4px;text-align:right}.typing-dots{display:flex;gap:5px;padding:14px 18px}.typing-dots span{width:8px;height:8px;background:var(--gray-text);border-radius:50%;animation:typing-bounce 1.2s infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}}.chat-input-bar{display:flex;align-items:center;gap:10px;padding:12px 16px 14px;background:var(--white);border-top:1px solid var(--gray-border);flex-shrink:0}.chat-text-input{flex:1;padding:13px 18px;border:2px solid var(--gray-border);border-radius:28px;font-size:1.05rem;font-size:.97rem;font-family:var(--font);font-weight:600;color:var(--navy);resize:none;max-height:120px;transition:border-color .2s}.chat-text-input:focus{border-color:var(--goo-orange)}.chat-text-input::placeholder{color:var(--gray-text)}.mic-btn{width:52px;height:52px;border-radius:50%;background:var(--navy-mid);font-size:1.4rem;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.2rem;border:none;cursor:pointer;transition:all .2s;flex-shrink:0}.mic-btn:hover{background:var(--navy-light)}.mic-btn.listening{background:var(--red-error);animation:pulse 1.2s infinite}.mic-btn.mic-error{background:#ff475740;border:2px solid var(--red-error);opacity:.7}.send-btn{width:52px;height:52px;border-radius:50%;background:var(--goo-orange);font-size:1.3rem;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;border:none;cursor:pointer;transition:all .2s;flex-shrink:0}.send-btn:hover:not(:disabled){background:var(--goo-orange-dk)}.send-btn:disabled{opacity:.4;cursor:not-allowed}@keyframes pulse{0%,to{box-shadow:0 0 #ff475780}50%{box-shadow:0 0 0 10px #ff475700}}.media-container{background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);max-width:380px;margin-top:6px}.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:10px}.video-thumb{cursor:pointer;border-radius:var(--radius-sm);overflow:hidden;position:relative;aspect-ratio:16/9;background:#000}.video-thumb img{width:100%;height:100%;object-fit:cover}.video-thumb-title{position:absolute;bottom:0;left:0;right:0;padding:4px 6px;background:linear-gradient(transparent,#000c);color:#fff;font-size:.72rem;font-weight:700;line-height:1.2}.generated-image{width:100%;border-radius:var(--radius);display:block}.tab-panel{flex:1;overflow-y:auto;padding:16px;background:var(--cream)}.reminder-item{background:#fff;border-radius:var(--radius);padding:14px 16px;margin-bottom:10px;display:flex;align-items:center;gap:12px;box-shadow:var(--shadow-sm)}.reminder-item.done{opacity:.5}.reminder-icon{width:36px;height:36px;border-radius:50%;background:var(--goo-orange-lt);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}.reminder-content{flex:1}.reminder-title{font-weight:800;color:var(--navy);font-size:.95rem}.reminder-time{font-size:.78rem;color:var(--gray-text);margin-top:2px}.history-item{background:#fff;border-radius:var(--radius);padding:14px 16px;margin-bottom:8px;cursor:pointer;transition:box-shadow .2s;box-shadow:var(--shadow-sm)}.history-item:hover{box-shadow:var(--shadow)}.history-date{font-weight:800;color:var(--navy);font-size:.9rem}.history-preview{font-size:.82rem;color:var(--gray-text);margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.avatar-widget{display:flex;flex-direction:column;align-items:center;gap:8px;flex-shrink:0}.avatar-img{width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid var(--goo-orange)}.landing-page{min-height:100vh;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 100%);display:flex;flex-direction:column}.landing-hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;text-align:center;padding:60px 24px}.landing-logo{font-size:3rem;font-weight:900;color:var(--goo-orange);letter-spacing:-1px}.landing-logo-img{height:64px;width:auto;display:block}.landing-tagline{font-size:1.3rem;color:#ffffffb3;max-width:500px;font-weight:600;line-height:1.5}.landing-cta{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb{background:#00000026}.text-orange{color:var(--goo-orange)}.text-muted{color:#ffffff8c}.text-center{text-align:center}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-20{gap:20px}.gap-24{gap:24px}.w-full{width:100%}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.upload-area{border:2px dashed rgba(255,255,255,.25);border-radius:var(--radius);padding:24px;text-align:center;cursor:pointer;transition:all .2s;color:#fff9;font-weight:600}.upload-area:hover{border-color:var(--goo-orange);color:var(--white);background:#ff6b3512}.upload-preview{width:80px;height:80px;border-radius:var(--radius-sm);object-fit:cover;margin:8px auto 0;display:block}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:20px;font-size:.75rem;font-weight:800}.badge-orange{background:#ff6b3533;color:var(--goo-orange)}.badge-green{background:#1d9e7533;color:var(--lab-green)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:24px;height:24px;border:3px solid rgba(255,255,255,.2);border-top-color:var(--goo-orange);border-radius:50%;animation:spin .7s linear infinite;display:inline-block}.divider{height:1px;background:#ffffff14;margin:16px 0}.lang-btn{flex:1;padding:10px;border-radius:var(--radius);background:var(--navy-mid);border:2px solid rgba(255,255,255,.12);color:var(--white);font-weight:700;cursor:pointer;transition:all .18s;text-align:center;font-size:.9rem}.lang-btn:hover{border-color:var(--goo-orange)}.lang-btn.selected{border-color:var(--goo-orange);background:#ff6b3526}.remember-check{display:flex;align-items:center;gap:10px;cursor:pointer;color:#ffffffa6;font-size:.9rem;font-weight:600;-webkit-user-select:none;user-select:none}.remember-check input[type=checkbox]{width:18px;height:18px;accent-color:var(--goo-orange);cursor:pointer;flex-shrink:0}.login-email-chip{display:flex;align-items:center;gap:8px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:8px 14px;font-size:.9rem;font-weight:600;color:#fffc;align-self:center}.login-email-chip button{background:none;border:none;color:#ffffff59;cursor:pointer;font-size:.85rem;padding:0 0 0 4px;line-height:1}.login-email-chip button:hover{color:#ffffffb3}@keyframes dance-bounce{0%,to{transform:translateY(0) scaleY(1)}25%{transform:translateY(-18px) scaleY(.95)}50%{transform:translateY(0) scaleY(1.05)}75%{transform:translateY(-8px) scaleY(.98)}}@keyframes dance-sway{0%,to{transform:rotate(0)}25%{transform:rotate(-8deg) translate(-5px)}75%{transform:rotate(8deg) translate(5px)}}@keyframes dance-headbang{0%,to{transform:rotate(0) translateY(0)}20%{transform:rotate(-15deg) translateY(-10px)}40%{transform:rotate(15deg) translateY(-6px)}60%{transform:rotate(-10deg) translateY(-8px)}80%{transform:rotate(10deg) translateY(-4px)}}@keyframes dance-salsa{0%,to{transform:rotate(0) translate(0)}20%{transform:rotate(-12deg) translate(-12px)}40%{transform:rotate(0) translate(0)}60%{transform:rotate(12deg) translate(12px)}80%{transform:rotate(0) translate(0)}}@keyframes dance-stomp{0%,to{transform:translateY(0) scaleY(1)}15%{transform:translateY(-22px) scaleY(.9)}30%{transform:translateY(0) scaleY(1.08)}45%{transform:translateY(-14px) scaleY(.93)}60%{transform:translateY(0) scaleY(1.04)}}@keyframes dance-slow-sway{0%,to{transform:rotate(0) scale(1)}50%{transform:rotate(5deg) scale(1.04)}}@keyframes dance-spin{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.1)}to{transform:rotate(360deg) scale(1)}}@keyframes dance-idle{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-6px) rotate(-3deg)}66%{transform:translateY(-3px) rotate(3deg)}}@keyframes note-float-1{0%,to{transform:translateY(0) rotate(-10deg);opacity:.7}50%{transform:translateY(-24px) rotate(10deg);opacity:1}}@keyframes note-float-2{0%,to{transform:translateY(0) rotate(5deg);opacity:.5}50%{transform:translateY(-18px) rotate(-5deg);opacity:.9}}@keyframes stage-pulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes light-pulse{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.3);opacity:.9}}.dance-stage{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;padding:24px 16px 16px;min-height:200px;position:relative;background:var(--navy);border-radius:var(--radius-xl);overflow:hidden}.stage-bg{position:absolute;top:0;right:0;bottom:0;left:0;transition:background .5s}.stage-bg[data-playing=true]{background:radial-gradient(circle at center,rgba(255,107,53,.1) 0%,transparent 70%);animation:stage-pulse 1s ease-in-out infinite}.stage-light{position:absolute;width:120px;height:120px;border-radius:50%;filter:blur(40px);animation:light-pulse 2s ease-in-out infinite}.light-1{background:#ff6b354d;top:-20px;left:20%;animation-delay:0s}.light-2{background:#7f77dd4d;top:-20px;right:20%;animation-delay:.5s}.light-3{background:#1d9e754d;top:-20px;left:50%;animation-delay:.25s}.light-4{background:#ffb34759;top:-20px;right:40%;animation-delay:.75s}.fiesta-banner{position:absolute;top:8px;left:50%;transform:translate(-50%);z-index:10;font-family:var(--font-display);font-size:1.1rem;font-weight:900;color:#ffb347;text-shadow:0 0 12px rgba(255,179,71,.7);animation:fiesta-pulse .6s ease-in-out infinite alternate;white-space:nowrap;pointer-events:none}@keyframes fiesta-pulse{0%{transform:translate(-50%) scale(1);opacity:.9}to{transform:translate(-50%) scale(1.08);opacity:1}}.dance-stage[data-party=party] .stage-bg[data-playing=true]{background:radial-gradient(circle at center,rgba(127,119,221,.14) 0%,rgba(255,107,53,.08) 50%,transparent 70%)}.dance-stage[data-party=fiesta] .stage-bg[data-playing=true]{background:radial-gradient(circle at 30% 40%,rgba(255,107,53,.18) 0%,transparent 50%),radial-gradient(circle at 70% 60%,rgba(127,119,221,.18) 0%,transparent 50%);animation:stage-pulse .5s ease-in-out infinite}.dancer{display:flex;flex-direction:column;align-items:center;gap:6px;position:relative;z-index:2}.dancer-label{font-family:var(--font-display);font-size:11px;font-weight:800;color:#ffffff73;letter-spacing:.5px}.music-note{position:absolute;font-size:18px;pointer-events:none;z-index:3}.music-note:nth-child(1){top:10%;left:8%;animation:note-float-1 1.2s ease-in-out infinite}.music-note:nth-child(2){top:18%;right:10%;animation:note-float-2 1.5s ease-in-out infinite .3s}.music-note:nth-child(3){top:5%;left:45%;animation:note-float-1 1.8s ease-in-out infinite .6s}.music-note:nth-child(4){top:28%;right:6%;animation:note-float-2 1.4s ease-in-out infinite .9s}.music-note:nth-child(5){top:55%;left:5%;animation:note-float-1 1.3s ease-in-out infinite .15s}.music-note:nth-child(6){top:60%;right:5%;animation:note-float-2 1.6s ease-in-out infinite .45s}.music-note:nth-child(7){top:40%;left:20%;animation:note-float-1 1.1s ease-in-out infinite .7s}.music-note:nth-child(8){top:35%;right:22%;animation:note-float-2 1.7s ease-in-out infinite .2s}.music-note:nth-child(9){top:72%;left:35%;animation:note-float-1 1.4s ease-in-out infinite .55s}.music-note:nth-child(10){top:68%;right:28%;animation:note-float-2 1.2s ease-in-out infinite .85s}.music-note:nth-child(11){top:15%;left:65%;animation:note-float-1 1.9s ease-in-out infinite .1s}.music-note:nth-child(12){top:50%;left:50%;animation:note-float-2 1.3s ease-in-out infinite .65s}.lyric-line{font-family:var(--font-display);font-size:1rem;font-weight:700;color:#ffffff59;transition:all .3s;margin-bottom:2px;text-align:center}.lyric-line.active{color:var(--goo-orange);font-size:1.1rem;font-weight:900}.lyric-line.past{color:#ffffff26}.music-page{min-height:100vh;background:var(--navy);color:#fff;padding:0;display:flex;flex-direction:column}.music-header{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.08)}.music-body{flex:1;display:flex;flex-direction:column;gap:0;overflow:hidden}.music-top{padding:16px 20px;display:flex;flex-direction:column;gap:16px}.music-bottom{flex:1;overflow-y:auto;padding:0 20px 20px}.rhythm-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;border-radius:16px;border:2px solid rgba(255,255,255,.1);background:#ffffff0a;cursor:pointer;transition:all .18s;font-weight:800;font-size:.85rem;color:#ffffffb3}.rhythm-card:hover{border-color:var(--goo-orange);color:#fff}.rhythm-card.sel{border-color:var(--goo-orange);background:#ff6b3526;color:#fff}.topic-chip{padding:8px 16px;border-radius:999px;border:1.5px solid rgba(255,255,255,.15);background:#ffffff0f;color:#ffffffbf;font-weight:700;font-size:.85rem;cursor:pointer;transition:all .15s}.topic-chip:hover{border-color:var(--goo-orange);color:#fff}.topic-chip.sel{border-color:var(--goo-orange);background:#ff6b352e;color:#fff}.song-card{display:flex;align-items:center;gap:14px;padding:14px 16px;background:#ffffff0d;border-radius:16px;border:1px solid rgba(255,255,255,.08);cursor:pointer;transition:background .15s}.song-card:hover{background:#ffffff17}.song-cover{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.6rem;flex-shrink:0}.yt-result{display:flex;gap:12px;padding:12px;background:#ffffff0d;border-radius:14px;border:1px solid rgba(255,255,255,.08);cursor:pointer;transition:background .15s;align-items:center}.yt-result:hover{background:#ffffff17}.yt-thumb{width:88px;height:56px;border-radius:8px;object-fit:cover;flex-shrink:0}.paint-layout{min-height:100vh;background:var(--navy);color:#fff;display:flex;flex-direction:column}.paint-topbar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.paint-main{display:flex;flex:1;overflow:hidden}.paint-toolbar{display:flex;flex-direction:column;gap:6px;padding:12px 10px;background:#ffffff08;border-right:1px solid rgba(255,255,255,.08);overflow-y:auto;width:72px;flex-shrink:0;align-items:center}.tool-btn{width:48px;height:48px;border-radius:10px;border:2px solid transparent;background:#ffffff0d;display:flex;align-items:center;justify-content:center;font-size:1.3rem;cursor:pointer;transition:all .15s;flex-shrink:0}.tool-btn:hover{background:#ffffff1a}.tool-btn.active{border-color:var(--goo-orange);background:#ff6b352e}.paint-canvas-area{flex:1;display:flex;align-items:center;justify-content:center;padding:16px;background:#112;overflow:auto}.canvas-wrapper{position:relative;box-shadow:0 8px 40px #0009;border-radius:4px;overflow:hidden;flex-shrink:0}.canvas-wrapper canvas{position:absolute;top:0;left:0}.paint-sidebar{width:150px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 10px;background:#ffffff08;border-left:1px solid rgba(255,255,255,.08);overflow-y:auto}.paint-friend-bubble{background:#ff6b351f;border:1px solid rgba(255,107,53,.25);border-radius:12px 12px 12px 0;padding:10px 12px;font-size:.78rem;font-weight:700;color:#ffffffd9;line-height:1.5;text-align:center;width:100%}.paint-btn{width:100%;padding:10px 8px;border-radius:999px;border:none;background:var(--goo-orange);color:#fff;font-family:var(--font-display);font-size:.82rem;font-weight:900;cursor:pointer;transition:all .2s}.paint-btn:hover:not(:disabled){background:var(--goo-orange-dk);transform:scale(1.04)}.paint-btn:disabled{opacity:.5;cursor:not-allowed}.color-swatch{width:26px;height:26px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:transform .12s;flex-shrink:0}.color-swatch:hover{transform:scale(1.18)}.color-swatch.sel{border-color:#fff;transform:scale(1.25);box-shadow:0 0 0 2px #fff6}.template-card{background:#fff;border-radius:12px;padding:10px;cursor:pointer;border:2px solid transparent;transition:all .18s;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}.template-card:hover{border-color:#ffb347;transform:translateY(-2px)}.template-card.sel{border-color:var(--goo-orange);box-shadow:0 0 0 2px #ff6b354d}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;padding:20px}.gallery-card{background:#fff;border-radius:16px;overflow:hidden;cursor:pointer;transition:transform .2s}.gallery-card:hover{transform:translateY(-4px)}.gallery-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.gallery-card-footer{padding:10px 12px}.friend-cursor-paint{position:absolute;pointer-events:none;z-index:50;font-size:1.5rem;transition:left .15s ease,top .15s ease;transform:rotate(-20deg)}.paint-hub{min-height:100vh;background:var(--navy);color:#fff;display:flex;flex-direction:column;align-items:center;padding:32px 20px;gap:24px}.paint-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;width:100%;max-width:480px}.paint-mode-card{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:20px;padding:24px 20px;cursor:pointer;text-align:center;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:10px}.paint-mode-card:hover{border-color:var(--goo-orange);background:#ff6b351a;transform:translateY(-3px)}.paint-mode-card.sel{border-color:var(--goo-orange);background:#ff6b3526}.story-books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.story-book-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.story-book-card.story-add-card{background:#ffffff08;border:2px dashed rgba(255,255,255,.12);min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.story-book-cover{height:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px}.story-book-info{padding:12px 14px 14px;display:flex;flex-direction:column;gap:4px;flex:1}.story-option-card{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:14px;padding:16px 14px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;transition:all .18s}.story-option-card:hover{border-color:#ff6b3580;background:#ff6b3514}.story-option-card.sel{border-color:var(--goo-orange);background:#ff6b3526}.story-page-count-card{min-width:140px}.story-world-card{padding:12px 10px}.story-agent-card{background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:14px;padding:16px 12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;transition:all .18s}.story-agent-card:hover{border-color:#ff6b3580}.story-agent-card.sel{border-color:var(--goo-orange);background:#ff6b351f}.setup-step-dot{display:flex;align-items:center;gap:8px;font-size:.82rem;color:#fff6;padding:4px 0}.setup-step-dot.active{color:#fff;font-weight:700}.setup-step-dot.done{color:var(--lab-green)}.setup-step-circle{width:24px;height:24px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:800;flex-shrink:0}.setup-step-dot.active .setup-step-circle{background:var(--goo-orange);color:#fff}.setup-step-dot.done .setup-step-circle{background:var(--lab-green);color:#fff}.lab-progress-vertical{display:flex;flex-direction:column;gap:12px;margin-top:20px}.story-writing-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:20px}@media (max-width: 700px){.story-writing-layout{grid-template-columns:1fr}}.story-choices-panel,.story-page-panel{display:flex;flex-direction:column;gap:8px}.story-page-image{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4/3;background:#ffffff0d}.story-image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#fff;font-weight:700;font-size:.9rem}.story-choice-btn{background:#ffffff0f;border:2px solid rgba(255,255,255,.12);border-radius:12px;padding:12px 16px;color:#ffffffd9;font-family:var(--font);font-size:.88rem;font-weight:600;cursor:pointer;text-align:left;transition:all .18s;line-height:1.5}.story-choice-btn:hover:not(:disabled){border-color:#ff6b3580;background:#ff6b351a}.story-choice-btn.sel{border-color:var(--goo-orange);background:#ff6b352e;color:#fff}.story-choice-btn:disabled{opacity:.5;cursor:not-allowed}.story-page-text{line-height:1.7;font-family:var(--font-display);color:#fff}.story-cover-preview{border-radius:16px;padding:40px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:340px}.story-read-page{background:#ffffff08;border-radius:16px;padding:24px;border:1px solid rgba(255,255,255,.08)}.stories-create-layout{display:grid;grid-template-columns:44% 56%;height:100vh;overflow:hidden;background:var(--navy)}.stories-left-panel{background:var(--navy-mid);border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;align-items:center;padding:28px 20px;gap:0;overflow:hidden}.stories-right-panel{display:flex;flex-direction:column;overflow:hidden}.stories-right-header{padding:20px 36px 0;flex-shrink:0}.stories-right-body{flex:1;overflow-y:auto;padding:16px 36px 20px;display:flex;flex-direction:column;gap:16px}.stories-right-footer{padding:16px 36px;border-top:1px solid rgba(255,255,255,.06);flex-shrink:0;display:flex;gap:12px}.story-summary-card{width:100%;background:#ffffff0a;border-radius:14px;border:1px solid rgba(255,255,255,.08);padding:14px 16px;display:flex;flex-direction:column;gap:6px}.story-summary-row{display:flex;justify-content:space-between;font-size:.78rem}.story-summary-label{color:#fff6}.story-summary-value{color:#ffffffd9;font-weight:700;text-align:right}@media (max-width: 768px){.stories-create-layout{grid-template-columns:1fr}.stories-left-panel{display:none}}@keyframes storiesAgentFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes storiesAgentPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.04)}}@keyframes storiesAgentBounce{0%{transform:translateY(0)}to{transform:translateY(-4px)}}.friends-topbar{display:flex;align-items:center;gap:12px;padding:14px 24px;background:var(--navy-mid);border-bottom:1px solid rgba(255,255,255,.07)}.friends-topbar-logo{display:flex;align-items:center;gap:10px;flex-shrink:0}.friends-topbar-user{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto}.friends-nav-buttons{display:flex;gap:8px;align-items:center;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.friends-nav-buttons::-webkit-scrollbar{display:none}.friends-profile-btn{padding:6px 12px;white-space:nowrap}.friends-fab,.friends-bottom-nav{display:none}@media (max-width: 860px){.friends-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));padding:18px 20px}}@media (max-width: 600px){.friends-topbar{padding:10px 14px;gap:10px}.friends-topbar-logo span,.friends-nav-buttons,.friends-profile-btn{display:none}.friends-topbar-user{gap:6px}.friends-btn-label{display:none}.friends-fab{display:flex;align-items:center;justify-content:center;position:fixed;bottom:80px;right:20px;width:56px;height:56px;border-radius:50%;background:var(--goo-orange);color:#fff;font-size:2rem;font-weight:900;border:none;cursor:pointer;box-shadow:0 4px 20px #ff6b3580;z-index:100;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .15s,box-shadow .15s}.friends-fab:active{transform:scale(.93);box-shadow:0 2px 10px #ff6b3566}.friends-bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--navy-mid);border-top:1px solid rgba(255,255,255,.1);z-index:99;padding:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.friends-bottom-nav::-webkit-scrollbar{display:none}.friends-bottom-btn{flex:1;min-width:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px;background:none;border:none;cursor:pointer;color:#ffffff8c;transition:color .15s,background .15s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.friends-bottom-btn:active{background:#ffffff0f;color:#fff}.friends-bottom-emoji{font-size:1.3rem;line-height:1}.friends-bottom-label{font-size:.58rem;font-weight:700;white-space:nowrap;font-family:var(--font-display)}.friends-page{padding-bottom:140px}.friends-grid{grid-template-columns:repeat(2,1fr);gap:10px;padding:12px 12px 0}.agent-card{padding:18px 14px;gap:8px}.agent-avatar-circle{width:64px;height:64px;font-size:1.6rem}.agent-card-name{font-size:1rem}}@media (max-width: 600px){.chat-input-bar{gap:6px;padding:10px 10px 12px}.mic-btn{width:42px;height:42px;font-size:1.1rem}.send-btn{width:42px;height:42px;font-size:1rem}.chat-text-input{padding:10px 14px;font-size:.95rem}}@supports (padding: env(safe-area-inset-bottom)){.chat-input-bar{padding-bottom:calc(14px + env(safe-area-inset-bottom))}.friends-page{padding-bottom:calc(140px + env(safe-area-inset-bottom))}.friends-bottom-nav{padding-bottom:env(safe-area-inset-bottom)}}
