@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/NotoSansSC-Regular.woff2) format("woff2")}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:500;font-display:block;src:url(/fonts/NotoSansSC-Medium.woff2) format("woff2")}@font-face{font-family:ZCOOL XiaoWei;font-style:normal;font-weight:400;font-display:block;src:url(/fonts/ZCOOLXiaoWei-Regular.woff2) format("woff2")}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;outline:none}#root{width:100%;min-height:100vh}body.login-page>#root>.login-page,body.home-page>#root>.home-page,body.profile-page>#root>.profile-page,body.coach-page>#root>.coach-page,body.lounge-page>#root>.lounge-page{width:100%;min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:24px 0 40px;position:relative}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;min-height:100vh;display:flex;justify-content:center;align-items:center}body.home-page,body.profile-page,body.login-page,body.coach-page,body.lounge-page{--home-ink: #4a3b39;--home-muted: #7a6c6c;--home-accent: #e6a8a4;--home-accent-2: #c7b2ff;--home-card: rgba(255, 255, 255, .86);--home-border: rgba(230, 168, 164, .24);--home-line: rgba(74, 59, 57, .12);--home-shadow: 0 26px 60px rgba(74, 59, 57, .14);--home-chip: rgba(230, 168, 164, .18);--home-chip-text: #815d5b;font-family:Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(1200px circle at 12% 8%,#fceeea,#f7f3ff 35%,#fdf8f1 75%);color:var(--home-ink);justify-content:flex-start;align-items:flex-start;padding:24px 0 40px;position:relative;overflow-x:hidden}body.home-page:before,body.profile-page:before,body.login-page:before,body.coach-page:before,body.lounge-page:before{content:"";position:fixed;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(230,168,164,.22) 1px,transparent 0);background-size:28px 28px;opacity:.35;pointer-events:none;z-index:0}.container{width:100%;max-width:420px;margin:0 auto;padding:20px}body.home-page .container{max-width:680px;padding:12px 16px 40px;position:relative;z-index:1}body.profile-page .container{max-width:540px;padding:12px 16px 32px;position:relative;z-index:1}body.login-page .container{max-width:440px;padding:12px 16px 32px;position:relative;z-index:1}body.coach-page .container,body.lounge-page .container{max-width:560px;padding:12px 16px 32px;position:relative;z-index:1}.card{background:#fff;border-radius:20px;padding:30px;box-shadow:0 10px 40px #0000001a}.title{font-size:28px;font-weight:700;text-align:center;margin-bottom:30px;background:linear-gradient(135deg,#e6a8a4,#c7b2ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.input-group{margin-bottom:20px}.input-group label{display:block;margin-bottom:8px;color:#333;font-weight:500}.input-group input{width:100%;padding:12px 15px;border:2px solid #e0e0e0;border-radius:10px;font-size:16px;transition:border-color .3s}.input-group input:focus{outline:none;border-color:#e6a8a4}.btn{width:100%;padding:14px;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.btn-primary{background:linear-gradient(135deg,#e6a8a4,#c7b2ff);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 5px 20px #e6a8a466}.btn-secondary{background:#f5f5f5;color:#666;margin-top:10px}.btn-secondary:hover{background:#e0e0e0}.link{text-align:center;margin-top:20px;color:#666}.link a{color:#e6a8a4;text-decoration:none;font-weight:600}.link a:hover{text-decoration:underline}body.login-page .card{background:var(--home-card);border-radius:26px;padding:28px 24px;border:1px solid var(--home-border);box-shadow:var(--home-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}body.login-page .login-intro{align-self:flex-start;padding:6px 12px;border-radius:999px;background:var(--home-chip);color:var(--home-chip-text);font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;display:inline-flex}body.login-page .title{text-align:left;font-family:ZCOOL XiaoWei,serif;font-size:clamp(26px,7vw,34px);color:var(--home-ink);margin-bottom:8px;background:none;-webkit-text-fill-color:initial}body.login-page .login-subtitle{color:var(--home-muted);font-size:14px;margin-bottom:22px}body.login-page .input-group label{color:var(--home-muted);font-weight:500}body.login-page .input-group input{border:1px solid var(--home-border);border-radius:14px;background:#ffffffe6}body.login-page .input-group input:focus{border-color:var(--home-accent);box-shadow:0 0 0 3px #e6a8a426}body.login-page .btn{border-radius:999px}body.login-page .btn-primary{background:linear-gradient(135deg,var(--home-accent),var(--home-accent-2));box-shadow:0 12px 26px #e6a8a459}body.login-page .btn-secondary{background:#ffffffe6;color:var(--home-ink);border:1px solid var(--home-line)}body.login-page .btn-secondary:hover{background:#fffffffa}body.login-page .link{text-align:left;color:var(--home-muted)}body.login-page .link a{color:var(--home-accent)}.chat-container{background:#fff;border-radius:20px;width:100%;max-width:480px;height:calc(100vh - 120px);height:calc(100svh - 120px);display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 40px #0000001a}.chat-header{background:linear-gradient(135deg,#e6a8a438,#c7b2ff47);color:#4a3b39;padding:20px;display:flex;align-items:center;justify-content:space-between}.chat-header h2{font-size:20px;font-weight:600}.back-btn{background:#fff3;border:none;color:#fff;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px}.back-btn:hover{background:#ffffff4d}.chat-messages{flex:1;overflow-y:auto;padding:20px;background:#f5f5f5}.message{margin-bottom:15px;display:flex;animation:fadeIn .3s}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message.user{justify-content:flex-end}.message.assistant,.message.partner{justify-content:flex-start}.message-content{max-width:70%;padding:12px 16px;border-radius:18px;word-wrap:break-word}.message.user .message-content{background:linear-gradient(135deg,#e6a8a4,#c7b2ff);color:#fff;border-bottom-right-radius:4px}.message.assistant .message-content{background:#fff;color:#333;border-bottom-left-radius:4px;box-shadow:0 2px 8px #0000001a}.message.partner .message-content{background:#e3f2fd;color:#333;border-bottom-left-radius:4px}.ai-icon{width:40px;height:40px;background:linear-gradient(135deg,#ffd89b,#19547b);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;cursor:pointer;transition:transform .3s}.ai-icon:hover{transform:scale(1.1)}body.coach-page .chat-container,body.lounge-page .chat-container{background:var(--home-card);border-radius:26px;border:1px solid var(--home-border);box-shadow:var(--home-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}body.coach-page .chat-header,body.lounge-page .chat-header{background:linear-gradient(135deg,#e6a8a438,#c7b2ff47);color:var(--home-ink);border-bottom:1px solid var(--home-border)}body.coach-page .chat-header h2,body.lounge-page .chat-header h2{font-family:ZCOOL XiaoWei,serif}body.coach-page .back-btn,body.lounge-page .back-btn,body.profile-page .back-btn{width:38px;height:38px;padding:0;border-radius:12px;background:#ffffffbf;color:var(--home-ink);border:1px solid var(--home-border);font-size:18px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #4a3b3914;transition:all .2s ease;cursor:pointer}body.coach-page .back-btn:hover,body.lounge-page .back-btn:hover,body.profile-page .back-btn:hover{background:#fffffff2;transform:translate(-2px);box-shadow:0 6px 16px #4a3b391f}body.coach-page .back-btn:active,body.lounge-page .back-btn:active,body.profile-page .back-btn:active{transform:scale(.95)}.header-spacer{width:38px;flex-shrink:0}body.coach-page .chat-messages,body.lounge-page .chat-messages{background:#ffffff8c}body.coach-page .message-content,body.lounge-page .message-content{border-radius:20px}body.coach-page .message.user .message-content,body.lounge-page .message.user .message-content{background:linear-gradient(135deg,var(--home-accent),var(--home-accent-2));color:#fff}body.coach-page .message.assistant .message-content,body.lounge-page .message.assistant .message-content{background:#ffffffeb;color:var(--home-ink);border:1px solid var(--home-border);box-shadow:0 8px 20px #4a3b3914}body.coach-page .message.partner .message-content,body.lounge-page .message.partner .message-content{background:#c7b2ff33;color:var(--home-ink);border:1px solid rgba(199,178,255,.35)}body.lounge-page .ai-icon{background:linear-gradient(135deg,var(--home-accent),var(--home-accent-2));box-shadow:0 10px 22px #e6a8a459}body.lounge-page .couple-row{width:100%;margin-top:8px;display:flex;align-items:center;justify-content:center;gap:12px}body.lounge-page .couple-pill{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#ffffffbf;border:1px solid var(--home-border);box-shadow:0 10px 18px #e6a8a42e}body.lounge-page .couple-avatar{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#e6a8a4cc,#c7b2ffe6);color:#fff;font-weight:600;font-size:14px;box-shadow:inset 0 0 0 1px #ffffff80}body.lounge-page .couple-name{font-size:13px;color:var(--home-ink);font-weight:600}body.lounge-page .couple-heart{font-size:16px;filter:drop-shadow(0 6px 10px rgba(230,168,164,.35))}body.login-page .gentle-shape,body.coach-page .gentle-shape,body.lounge-page .gentle-shape{position:fixed;border-radius:50%;filter:blur(6px);opacity:.85;z-index:0;pointer-events:none}body.login-page .gentle-shape-1,body.coach-page .gentle-shape-1,body.lounge-page .gentle-shape-1{width:220px;height:220px;background:#ffd6d0b3;top:6%;left:-90px}body.login-page .gentle-shape-2,body.coach-page .gentle-shape-2,body.lounge-page .gentle-shape-2{width:180px;height:180px;background:#c9bfff8c;bottom:8%;right:-70px}body.login-page .gentle-shape-3,body.coach-page .gentle-shape-3,body.lounge-page .gentle-shape-3{width:140px;height:140px;background:#ffe9d6b3;top:50%;right:14%}body.home-page .home-shell{display:flex;flex-direction:column;gap:20px;min-height:calc(100vh - 140px)}body.home-page .home-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}body.home-page .home-title{display:flex;flex-direction:column;gap:10px}body.home-page .home-intro{align-self:flex-start;padding:6px 12px;border-radius:999px;background:var(--home-chip);color:var(--home-chip-text);font-size:12px;letter-spacing:.12em;text-transform:uppercase}body.home-page .home-title h1{margin:0;font-size:clamp(28px,8vw,36px);font-family:ZCOOL XiaoWei,serif;color:var(--home-ink)}body.home-page .home-title p{margin:0;color:var(--home-muted);font-size:14px;line-height:1.7}body.home-page .avatar-btn{width:46px;height:46px;border-radius:16px;border:none;cursor:pointer;background:linear-gradient(135deg,var(--home-accent),var(--home-accent-2));color:#fff;font-size:16px;font-weight:600;box-shadow:0 14px 28px #e6a8a459;transition:transform .2s ease,box-shadow .2s ease}body.home-page .avatar-btn:hover{transform:translateY(-1px);box-shadow:0 16px 32px #e6a8a466}body.home-page .entry-carousel{display:flex;flex-direction:column;gap:12px;flex:1}body.home-page .carousel-hint{font-size:12px;letter-spacing:.08em;color:var(--home-muted);text-transform:uppercase}body.home-page .card-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 4px 20px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;align-items:stretch}body.home-page .card-track::-webkit-scrollbar{display:none}body.home-page .entry-card{flex:0 0 86%;max-width:360px;scroll-snap-align:center;background:linear-gradient(180deg,#fffffff5,#ffffffe0);border:1px solid var(--home-border);border-radius:26px;padding:22px;min-height:clamp(380px,58vh,520px);box-shadow:var(--home-shadow);display:flex;flex-direction:column;gap:14px;position:relative;text-decoration:none;color:var(--home-ink);transform-style:preserve-3d;transition:transform .2s ease,opacity .2s ease}body.home-page .entry-card:before{content:"";position:absolute;right:-40px;bottom:-50px;width:160px;height:160px;border-radius:60px;background:radial-gradient(circle,rgba(199,178,255,.45),transparent 70%);opacity:.6;pointer-events:none}body.home-page .entry-card>*:not(.entry-lock){position:relative;z-index:1}body.home-page .entry-tag{align-self:flex-start;padding:6px 12px;border-radius:999px;background:var(--home-chip);color:var(--home-chip-text);font-size:12px;letter-spacing:.08em;text-transform:uppercase}body.home-page .entry-head{display:flex;align-items:center;gap:12px}body.home-page .entry-icon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--home-accent),var(--home-accent-2));color:#fff;font-size:22px;box-shadow:0 12px 24px #e6a8a44d}body.home-page .entry-title{font-size:18px;font-weight:600}body.home-page .entry-subtitle{font-size:13px;color:var(--home-muted);margin-top:4px}body.home-page .entry-desc{margin:0;font-size:14px;color:var(--home-muted);line-height:1.7}body.home-page .entry-insight{padding:12px;border-radius:16px;background:#ffffffd9;border:1px solid var(--home-border);box-shadow:0 10px 20px #4a3b390f}body.home-page .entry-insight-label{font-size:12px;color:var(--home-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}body.home-page .entry-insight-text{font-size:14px;color:var(--home-ink);line-height:1.6}body.home-page .entry-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}body.home-page .entry-meta-item{padding:10px 12px;border-radius:14px;background:#ffffffb8;border:1px solid var(--home-border);display:flex;flex-direction:column;gap:6px}body.home-page .entry-meta-item .meta-label{font-size:12px;color:var(--home-muted)}body.home-page .entry-meta-item .meta-value{font-size:13px;font-weight:600;color:var(--home-ink)}body.home-page .entry-tags{display:flex;flex-wrap:wrap;gap:8px}body.home-page .entry-tags span{padding:6px 10px;border-radius:999px;background:var(--home-chip);color:var(--home-chip-text);font-size:12px}body.home-page .entry-action{margin-top:auto;font-weight:600;display:flex;align-items:center;gap:6px;padding:12px 14px;border-radius:16px;background:#ffffffe6;border:1px solid var(--home-border)}body.home-page .entry-card.is-locked{filter:grayscale(.1);opacity:.96}body.home-page .entry-lock{position:absolute;inset:0;border-radius:26px;background:#ffffff40;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity .25s ease;z-index:3;pointer-events:none;overflow:hidden}body.home-page .entry-card.is-locked .entry-lock{opacity:1}body.home-page .entry-lock-corner{position:absolute;top:0;right:0;width:88px;height:88px;background:linear-gradient(135deg,var(--home-accent),var(--home-accent-2));clip-path:polygon(100% 0,0 0,100% 100%);opacity:.95;cursor:pointer;pointer-events:auto;z-index:5}body.home-page .entry-lock-corner-text{position:absolute;top:22px;right:4px;font-size:13px;font-weight:600;color:#fff;transform:rotate(45deg);white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.15);cursor:pointer;pointer-events:auto;z-index:6}body.home-page .carousel-dots{display:flex;gap:8px;justify-content:center}body.home-page .carousel-dot{width:8px;height:8px;border-radius:999px;border:none;cursor:pointer;background:#4a3b3933}body.home-page .carousel-dot.active{width:22px;background:linear-gradient(135deg,var(--home-accent),var(--home-accent-2))}@media(min-width:720px){body.home-page .card-track{justify-content:center}body.home-page .entry-card{flex-basis:44%;min-height:clamp(380px,52vh,480px)}}body.profile-page .profile-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}body.profile-page .profile-title{font-family:ZCOOL XiaoWei,serif;font-size:18px;color:var(--home-ink)}body.profile-page .profile-spacer{width:38px}body.profile-page .home-container{background:var(--home-card);border-radius:26px;padding:28px 24px;width:100%;border:1px solid var(--home-border);box-shadow:var(--home-shadow);position:relative;overflow:hidden;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}body.profile-page .home-container:after{content:"";position:absolute;width:220px;height:220px;right:-120px;top:-90px;border-radius:60px;background:linear-gradient(135deg,rgba(230,168,164,.4),transparent);opacity:.6}body.profile-page .home-banner{text-align:left;margin-bottom:28px;display:flex;flex-direction:column;gap:10px}body.profile-page .home-intro{align-self:flex-start;padding:6px 12px;border-radius:999px;background:var(--home-chip);color:var(--home-chip-text);font-size:12px;letter-spacing:.12em;text-transform:uppercase}body.profile-page .home-banner h1{font-size:clamp(26px,6vw,34px);font-family:ZCOOL XiaoWei,serif;color:var(--home-ink);margin-bottom:0;background:none;-webkit-text-fill-color:initial}body.profile-page .home-banner p{color:var(--home-muted);font-size:14px;line-height:1.7}body.profile-page .user-info{background:#ffffffbf;padding:18px;border-radius:18px;margin-bottom:18px;border:1px solid var(--home-border);box-shadow:0 10px 24px #4a3b3914}body.profile-page .user-info p{margin:8px 0;color:var(--home-ink);font-size:14px}body.profile-page .binding-code{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center}body.profile-page .binding-code strong{flex-basis:100%}body.profile-page .user-actions{display:grid;grid-template-columns:1fr;gap:10px}body.home-page .btn,body.profile-page .btn{width:100%;border-radius:999px;font-size:14px;padding:12px}body.home-page .btn-primary,body.profile-page .btn-primary{background:linear-gradient(135deg,var(--home-accent),var(--home-accent-2));box-shadow:0 12px 26px #e6a8a459}body.home-page .btn-secondary,body.profile-page .btn-secondary{background:#ffffffe6;color:var(--home-ink);margin-top:0;border:1px solid var(--home-line)}body.home-page .btn-secondary:hover,body.profile-page .btn-secondary:hover{background:#fffffffa}body.home-page .modal-overlay,body.profile-page .modal-overlay{display:none;position:fixed;inset:0;background:#4a3b396b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:1000;align-items:center;justify-content:center;padding:20px}body.home-page .modal-card,body.profile-page .modal-card{width:min(360px,92vw);background:var(--home-card);border:1px solid var(--home-border);border-radius:24px;padding:22px 20px;box-shadow:var(--home-shadow);position:relative;overflow:hidden}body.home-page .modal-card:after,body.profile-page .modal-card:after{content:"";position:absolute;width:160px;height:160px;right:-80px;top:-80px;border-radius:50%;background:linear-gradient(135deg,rgba(230,168,164,.4),transparent);opacity:.6}body.home-page .modal-title,body.profile-page .modal-title{margin:0 0 6px;font-family:ZCOOL XiaoWei,serif;font-size:22px;color:var(--home-ink)}body.home-page .modal-subtitle,body.profile-page .modal-subtitle{margin:0 0 16px;color:var(--home-muted);font-size:13px;line-height:1.6}body.home-page .modal-note,body.profile-page .modal-note{margin:0 0 16px;color:var(--home-ink);font-size:13px}body.home-page .modal-card .input-group input,body.profile-page .modal-card .input-group input{border:1px solid var(--home-border);border-radius:14px;background:#fffffff2}body.home-page .modal-card .input-group input:focus,body.profile-page .modal-card .input-group input:focus{border-color:var(--home-accent);box-shadow:0 0 0 3px #e6a8a426}body.home-page .modal-actions,body.profile-page .modal-actions{display:grid;gap:10px}body.home-page .modal-tag,body.profile-page .modal-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;background:var(--home-chip);color:var(--home-chip-text);font-size:12px;letter-spacing:.08em;margin-bottom:12px}body.home-page .modal-card-soft:after,body.profile-page .modal-card-soft:after{opacity:.4}body.home-page .modal-card-success,body.profile-page .modal-card-success{text-align:center}body.home-page .modal-card-success:after,body.profile-page .modal-card-success:after{width:200px;height:200px;right:-100px;top:-100px}body.home-page .home-shape,body.profile-page .home-shape{position:fixed;border-radius:50%;filter:blur(6px);opacity:.9;z-index:0;pointer-events:none}body.home-page .home-shape-1,body.profile-page .home-shape-1{width:220px;height:220px;background:#ffd6d0b3;top:8%;left:-80px}body.home-page .home-shape-2,body.profile-page .home-shape-2{width:180px;height:180px;background:#c9bfff8c;bottom:10%;right:-70px}body.home-page .home-shape-3,body.profile-page .home-shape-3{width:140px;height:140px;background:#ffe9d6b3;top:55%;right:18%}@media(min-width:640px){body.profile-page .user-actions{grid-template-columns:repeat(3,1fr)}}.fireworks{position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:0;transition:opacity .3s ease}.fireworks.active{opacity:1}.fireworks .ritual-glow{position:absolute;inset:-20%;background:radial-gradient(circle,rgba(230,168,164,.45) 0%,rgba(199,178,255,.15) 45%,transparent 70%);animation:ritualGlow 2.2s ease-out forwards;opacity:0}.fireworks .ritual-particle{position:absolute;left:50%;top:55%;transform:translate(-50%,-50%) scale(.4) rotate(0);opacity:0;animation:ritualBloom var(--dur, 2.2s) ease-out forwards;animation-delay:var(--delay, 0s);filter:drop-shadow(0 6px 10px rgba(74,59,57,.12))}@keyframes ritualBloom{0%{opacity:0;transform:translate(-50%,-50%) scale(.4) rotate(0)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(var(--scale, 1)) rotate(var(--rotate, 0deg))}}@keyframes ritualGlow{0%{opacity:0;transform:scale(.9)}50%{opacity:.85}to{opacity:0;transform:scale(1.1)}}.toast-container{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:10000;pointer-events:none}.toast{padding:12px 24px;border-radius:12px;font-size:14px;font-weight:500;color:#fff;background:#4a3b39e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 8px 24px #4a3b3940;opacity:0;transform:translateY(-20px);animation:toastIn .3s ease forwards;margin-bottom:10px;text-align:center;max-width:320px;word-break:break-word}.toast.toast-success{background:linear-gradient(135deg,#4caf50f2,#66bb6af2)}.toast.toast-error{background:linear-gradient(135deg,#f44336f2,#ef5350f2)}.toast.toast-info{background:linear-gradient(135deg,#e6a8a4,#c7b2ff)}.toast.toast-out{animation:toastOut .3s ease forwards}@keyframes toastIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.thinking-container{margin-bottom:8px;width:100%}.thinking-toggle{display:flex;align-items:center;cursor:pointer;color:var(--home-accent);font-size:13px;padding:6px 10px;background:var(--home-chip);border-radius:8px;margin-bottom:8px;transition:all .2s}.thinking-toggle:hover{background:#e6a8a447}.thinking-toggle .icon{margin-right:6px;transition:transform .3s}.thinking-toggle.collapsed .icon{transform:rotate(-90deg)}.thinking-content{padding:10px 12px;background:#e6a8a414;border-left:3px solid var(--home-accent);border-radius:0 8px 8px 0;font-size:13px;color:var(--home-muted);line-height:1.6;white-space:pre-wrap;max-height:300px;overflow-y:auto;transition:all .3s ease}.thinking-content.collapsed{max-height:0;padding:0 12px;overflow:hidden;opacity:0}.thinking-content.streaming{animation:thinkingPulse 1.5s infinite}.answer-content{white-space:pre-wrap;line-height:1.7}.streaming-cursor{display:inline-block;width:2px;height:1em;background:var(--home-accent);margin-left:2px;animation:blink .8s infinite}.ai-thinking{opacity:.7;animation:thinkingPulse 1.5s ease-in-out infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes thinkingPulse{0%,to{opacity:.7}50%{opacity:1}}.emoji-picker-wrapper{position:relative;display:inline-flex;flex-shrink:0}.emoji-trigger-btn{width:38px;height:38px;border-radius:12px;border:1px solid var(--home-border, rgba(230, 168, 164, .24));background:#fffc;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.emoji-trigger-btn:hover{background:#e6a8a426;transform:scale(1.05)}.emoji-picker{position:absolute;bottom:calc(100% + 8px);right:0;width:320px;background:#fff;border-radius:16px;box-shadow:0 8px 32px #4a3b3926;border:1px solid rgba(230,168,164,.2);z-index:1000;animation:emoji-fade-in .2s ease}@keyframes emoji-fade-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.emoji-tabs{display:flex;gap:4px;padding:8px;border-bottom:1px solid rgba(230,168,164,.15)}.emoji-tab{flex:1;padding:8px 4px;border:none;border-radius:8px 8px 0 0;background:transparent;color:#999;font-size:12px;cursor:pointer;transition:all .2s}.emoji-tab.active{background:linear-gradient(135deg,#e6a8a426,#c7b2ff26);color:var(--home-accent, #e6a8a4);font-weight:500}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;padding:12px;max-height:240px;overflow-y:auto}.emoji-item{width:32px;height:32px;border:none;background:transparent;border-radius:6px;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.emoji-item:hover{background:#e6a8a41f;transform:scale(1.2)}.emoji-item:active{transform:scale(1.1)}@media(max-width:768px){.emoji-grid{grid-template-columns:repeat(7,1fr)}}.voice-modal{position:fixed;left:16px;right:16px;bottom:76px;background:#fffffff7;border-radius:20px;padding:24px 20px 18px;box-shadow:0 4px 32px #0000001a,0 2px 8px #0000000f;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:500;opacity:0;transform:translateY(18px);pointer-events:none;transition:opacity .22s ease,transform .26s cubic-bezier(.34,1.4,.64,1)}.voice-modal.visible{opacity:1;transform:translateY(0);pointer-events:auto}.voice-waveform{display:flex;align-items:center;justify-content:center;height:68px;gap:5px}.voice-bar{width:4px;border-radius:2px;background:linear-gradient(to top,var(--home-accent, #e6a8a4),#c9a0e0);height:var(--bar-min, 3px);animation:voice-bar-wave .7s ease-in-out infinite alternate}.voice-waveform.paused .voice-bar{animation-play-state:paused;height:var(--bar-min, 3px);opacity:.3;transition:opacity .3s ease,height .3s ease}@keyframes voice-bar-wave{0%{height:var(--bar-min, 3px)}to{height:var(--bar-max, 40px)}}.voice-modal-footer{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:10px;min-height:22px}.voice-elapsed{font-size:14px;font-weight:600;color:var(--home-accent, #e6a8a4);font-variant-numeric:tabular-nums;min-width:24px;text-align:center}.voice-hint{font-size:13px;color:#bbb}.voice-recognizing{font-size:13px;color:var(--home-accent, #e6a8a4);animation:voice-recognizing-blink 1.2s ease-in-out infinite}@keyframes voice-recognizing-blink{0%,to{opacity:1}50%{opacity:.35}}.chat-input-area{background:#ffffffd9;border-top:1px solid var(--home-border)}.chat-input-row{display:flex;gap:8px;padding:12px 16px;align-items:center}.input-mode-btn{width:38px;height:38px;border-radius:12px;border:1px solid var(--home-border, rgba(230, 168, 164, .24));background:#fffc;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;color:var(--home-muted, #999)}.input-mode-btn:hover{background:#e6a8a426;transform:scale(1.05)}.input-mode-btn:active{transform:scale(.95)}.chat-input-row input{flex:1;border:1px solid var(--home-border);background:#fffffff2;border-radius:25px;padding:10px 16px;font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s;min-width:0}.chat-input-row input:focus{border-color:var(--home-accent);box-shadow:0 0 0 3px #e6a8a426}.chat-input-row input:disabled{opacity:.6;cursor:not-allowed}.voice-record-btn{flex:1;height:40px;border:1px solid var(--home-border, rgba(230, 168, 164, .24));background:#fffffff2;border-radius:25px;font-size:14px;font-weight:500;color:var(--home-text, #333);cursor:pointer;transition:all .2s;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}.voice-record-btn:active,.voice-record-btn.recording{background:#e6a8a440;border-color:var(--home-accent, #e6a8a4);color:var(--home-accent, #e6a8a4);font-weight:600}.voice-record-btn.recognizing{background:#e6a8a426;border-color:var(--home-accent, #e6a8a4);color:var(--home-accent, #e6a8a4);font-weight:600;cursor:wait;animation:recognizing-pulse 1.2s ease-in-out infinite}@keyframes recognizing-pulse{0%,to{opacity:1;box-shadow:0 0 #e6a8a466}50%{opacity:.75;box-shadow:0 0 0 6px #e6a8a400}}.chat-input-send-btn{background:linear-gradient(135deg,var(--home-accent),var(--home-accent-2));color:#fff;border:none;padding:8px 16px;border-radius:20px;font-weight:600;font-size:14px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:all .2s;box-shadow:0 4px 12px #e6a8a44d}.chat-input-send-btn:hover{transform:scale(1.05);box-shadow:0 6px 16px #e6a8a466}.chat-input-send-btn:active{transform:scale(.95)}.chat-input-send-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.more-btn{width:38px;height:38px;border-radius:12px;border:1px solid var(--home-border, rgba(230, 168, 164, .24));background:#fffc;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;color:var(--home-muted, #999)}.more-btn:hover{background:#e6a8a426;transform:scale(1.05)}.more-btn:active{transform:scale(.95)}.more-panel{display:grid;grid-template-columns:repeat(4,1fr);padding:20px 16px;gap:16px;background:#f5f5f5f2;border-top:1px solid var(--home-border)}.more-panel-item{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer}.more-panel-icon{width:56px;height:56px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;box-shadow:0 2px 8px #0000000f;transition:transform .15s}.more-panel-item:active .more-panel-icon{transform:scale(.93)}.more-panel-item span{font-size:12px;color:var(--home-muted)}.chat-input-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000b3;color:#fff;padding:12px 24px;border-radius:8px;font-size:14px;z-index:9999;pointer-events:none}.message.assistant{justify-content:flex-start}.message.assistant .message-body{align-items:flex-start}.sender-name{font-size:12px;font-weight:500;letter-spacing:.01em;color:#9d7a5a}.sender-name .coach-icon{font-size:11px;margin-right:2px}.message.assistant .message-content{background:#fffffff2;color:var(--home-ink);border:1px solid var(--home-border);border-radius:2px 8px 8px;line-height:1.7;letter-spacing:.02em}.message.assistant .message-content strong{color:#9d7a5a;font-weight:600}.message.assistant .message-content em{font-style:italic;color:#8b7a6a}.chat-header .share-btn{width:38px;height:38px;padding:0;border-radius:12px;background:#ffffffbf;border:1px solid var(--home-border);color:var(--home-ink);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #4a3b3914;transition:all .2s ease;cursor:pointer}.chat-header .share-btn:hover{background:#fffffff2;box-shadow:0 6px 16px #4a3b391f}.chat-header .share-btn:active{transform:scale(.95)}.colon-highlight{color:#9d7a5a}.share-modal{position:fixed;inset:0;z-index:1000;background:#4a3b396b;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:20px}.share-container{background:#fff;border-radius:20px;width:100%;max-width:420px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #4a3b3933}.share-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--home-border)}.share-header h3{font-size:16px;font-weight:600;color:var(--home-ink);margin:0}.share-close{width:28px;height:28px;border-radius:50%;border:none;background:#0000000d;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.share-select-all{display:flex;align-items:center;gap:8px;padding:10px 20px;font-size:13px;color:var(--home-muted);cursor:pointer;border-bottom:1px solid var(--home-border)}.share-messages{flex:1;overflow-y:auto;padding:8px 12px}.share-message-item{display:flex;align-items:flex-start;gap:10px;padding:10px 8px;border-radius:10px;cursor:pointer;transition:background .15s}.share-message-item:hover,.share-message-item.selected{background:#e6a8a414}.share-message-content{flex:1;min-width:0}.share-message-role{font-size:12px;font-weight:500;color:var(--home-muted);margin-bottom:4px}.share-message-text{font-size:14px;color:var(--home-ink);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5}.share-footer{padding:12px 20px;border-top:1px solid var(--home-border)}.share-footer .btn{width:100%}.share-preview-container{background:#fff;border-radius:20px;padding:16px;max-width:420px;max-height:80vh;overflow-y:auto}.share-preview-img{width:100%;border-radius:12px;box-shadow:0 4px 16px #0000001a}.share-preview-actions{display:flex;gap:10px;margin-top:12px}.share-preview-actions .btn{flex:1}.share-image-template{width:400px;background:linear-gradient(180deg,#fdf8f1,#fff);padding:24px;font-family:Noto Sans SC,sans-serif}.share-image-header{text-align:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid rgba(230,168,164,.2)}.share-image-title{font-size:18px;font-weight:600;color:#4a3b39}.share-image-subtitle{font-size:12px;color:#7a6c6c;margin-top:4px}.share-image-message{margin-bottom:12px;padding:10px 14px;border-radius:10px;font-size:14px;line-height:1.6}.share-image-message.user{background:linear-gradient(135deg,#e6a8a4,#c7b2ff);color:#fff;margin-left:40px;border-radius:10px 2px 10px 10px}.share-image-message.assistant{background:#fff;color:#4a3b39;border:1px solid var(--home-border);margin-right:40px;border-radius:2px 10px 10px;box-shadow:0 2px 8px #0000000a}.share-image-role{font-size:11px;font-weight:500;margin-bottom:4px;opacity:.7}.share-image-footer{text-align:center;margin-top:20px;padding-top:16px;border-top:1px solid rgba(230,168,164,.2);font-size:12px;color:#7a6c6c}.cooldown-notice{background:linear-gradient(135deg,#ffc1071a,#ff98001a);border-bottom:1px solid rgba(255,193,7,.3);padding:12px 20px;display:none}.cooldown-notice.show{display:block}.cooldown-notice-content{display:flex;align-items:center;gap:10px;font-size:13px;color:#8b6914}.cooldown-notice-icon{font-size:16px}.cooldown-notice-text{flex:1}.cooldown-notice-link{color:#d97706;text-decoration:none;font-weight:500;white-space:nowrap}.cooldown-notice-link:hover{text-decoration:underline}.couple-bar{background:linear-gradient(135deg,#e6a8a41f,#c7b2ff29);border-bottom:1px solid var(--home-border);padding:10px 20px;box-shadow:0 2px 8px #4a3b390f}.couple-bar .couple-row{display:flex;align-items:center;justify-content:center;gap:12px}.couple-pill{display:flex;align-items:center;gap:6px}.couple-avatar{width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff}.couple-avatar.me{background:linear-gradient(135deg,#e6a8a4,#d4a5c9)}.couple-avatar.ta{background:linear-gradient(135deg,#c7b2ff,#a89ad9)}.couple-name{font-size:13px;font-weight:500;color:var(--home-ink, #4a3b39)}.couple-heart{font-size:16px}.coach-tag-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;border:1.5px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#e6a8a4,#c7b2ff) border-box;color:var(--home-ink, #4a3b39);font-size:13px;font-weight:500;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 12px #e6a8a433}.coach-tag-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #e6a8a459}.coach-tag-btn:active{transform:scale(.97)}.coach-tag-icon{font-size:14px}.chat-messages{padding:16px 8px}.message{display:flex;align-items:flex-start;gap:8px;margin-bottom:14px;padding:0;width:100%}.message.user{flex-direction:row-reverse;justify-content:flex-start}.message.partner,.message.assistant{justify-content:flex-start}.message-avatar{width:40px;height:40px;border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:#fff}.message.user .message-avatar{background:linear-gradient(135deg,#e6a8a4,#d4a5c9)}.message.partner .message-avatar{background:linear-gradient(135deg,#c7b2ff,#a89ad9)}.message.assistant .message-avatar{background:linear-gradient(135deg,#f0c27b,#d4a574)}.message-body{max-width:calc(100% - 64px);display:flex;flex-direction:column}.message.user .message-body{align-items:flex-end}.message.partner .message-body,.message.assistant .message-body{align-items:flex-start}.message-sender{margin-bottom:4px;padding:0 4px}.message.user .message-sender{display:none}.sender-name{font-size:12px;font-weight:500;letter-spacing:.01em}.sender-name.partner{color:#8b7aa8}.sender-name.coach{color:#9d7a5a}.message .message-content{max-width:100%;padding:10px 14px;border-radius:8px;word-wrap:break-word;line-height:1.65;font-size:15px;white-space:pre-wrap}.message.user .message-content{background:linear-gradient(135deg,var(--home-accent),var(--home-accent-2));color:#fff;border-radius:8px 2px 8px 8px}.message.partner .message-content{background:#fffffff2;color:var(--home-ink);border:1px solid var(--home-border);border-radius:2px 8px 8px;line-height:1.7;letter-spacing:.02em}.message.assistant .message-content{background:#fffffff2;color:var(--home-ink);border:1px solid rgba(240,194,123,.3);border-radius:2px 8px 8px;line-height:1.7;letter-spacing:.02em}.cooldown-panel{background:linear-gradient(135deg,#ffc1071a,#ff98001a);border-radius:16px;padding:20px;margin:16px 0;text-align:center}.cooldown-label{font-size:13px;color:#8b6914;margin-bottom:8px}.cooldown-time{font-size:32px;font-weight:600;color:#d97706;font-family:ZCOOL XiaoWei,serif}.cooldown-meta{font-size:12px;color:#8b6914;margin-top:8px}.binding-code-value{font-family:monospace;font-size:18px;font-weight:600;letter-spacing:2px;color:var(--home-accent);background:var(--home-chip);padding:4px 12px;border-radius:8px;margin:0 8px}.binding-code-copy{padding:4px 12px;border-radius:999px;border:1px solid var(--home-border);background:#fffc;color:var(--home-ink);font-size:12px;cursor:pointer;transition:all .2s}.binding-code-copy:hover{background:#fffffff2}.cooldown-time.is-urgent{color:#dc2626;font-weight:700}.modal-card-success{text-align:center}.success-icon{font-size:48px;margin-bottom:16px}.ritual-container{position:fixed;inset:0;z-index:9999;pointer-events:none;overflow:hidden}.ritual-particle{position:fixed;top:50%;left:50%;transform-origin:center;opacity:1;font-weight:700;animation:ritual-burst var(--dur) cubic-bezier(.25,.46,.45,.94) var(--delay) 1 normal forwards}@keyframes ritual-burst{0%{transform:translate(-50%,-50%) translate(0) translateY(0) scale(var(--scale)) rotate(0);opacity:1}to{transform:translate(-50%,-50%) translate(var(--x)) translateY(var(--y)) scale(0) rotate(var(--rotate));opacity:0}}.ritual-glow{position:fixed;top:50%;left:50%;width:200px;height:200px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(230,168,164,.4),transparent);border-radius:50%;filter:blur(40px);animation:glow-fade 1.2s ease-out forwards}@keyframes glow-fade{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(1.5)}}.btn.is-cooldown{background:#ffffffe6;border:1px solid rgba(74,59,57,.12);color:#4a3b39;cursor:not-allowed;pointer-events:none;opacity:.7}.btn.is-cooldown:hover{transform:none;box-shadow:none}
