:root{--bg: #faf6f2;--bg-gradient: linear-gradient(180deg, #fcf8f4 0%, #faf6f2 100%);--card: #ffffff;--primary: #f2684a;--primary-dark: #e05538;--primary-light: #fef0ec;--primary-gradient: linear-gradient(135deg, #f2684a, #f5b83a);--primary-gradient-soft: linear-gradient(135deg, rgba(242,104,74,.08), rgba(245,184,58,.05));--btn-bg: linear-gradient(135deg, #f2684a, #f5b83a);--btn-text: #fff;--text: #2c2c2c;--text-light: #8a7e74;--text-muted: #b8aea4;--bubble-user: linear-gradient(135deg, #f2684a, #f5b83a);--bubble-ai: #fff;--border: #e8e0d8;--shadow-sm: 0 1px 3px rgba(0,0,0,.06);--shadow: 0 1px 3px rgba(0,0,0,.04), 0 4px 16px rgba(0,0,0,.06);--shadow-lg: 0 2px 8px rgba(0,0,0,.04), 0 8px 28px rgba(0,0,0,.07), 0 16px 48px rgba(0,0,0,.05);--radius: 18px;--radius-sm: 12px;--radius-xs: 10px;--disabled: #ddd;--bg-light: #f5f0ec}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;background:var(--bg);color:var(--text);height:100dvh;overflow:hidden;-webkit-font-smoothing:antialiased;overscroll-behavior:none;touch-action:manipulation}.app{max-width:480px;margin:0 auto;height:100dvh;display:flex;flex-direction:column;background:var(--bg);position:relative}.login-page{display:flex;flex-direction:column;flex:1;min-height:0;background:linear-gradient(180deg,#faf6f2,#fff 40%,#faf6f2);overflow-y:auto}.login-brand-area{text-align:center;padding:48px 32px 32px;position:relative}.login-brand-area:before{content:"";position:absolute;top:-60px;left:-80px;width:240px;height:240px;border-radius:50%;background:var(--primary-gradient-soft);pointer-events:none}.login-brand-icon{margin-bottom:16px;animation:bounce 2s ease-in-out infinite}.login-title{font-size:30px;font-weight:700;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px;line-height:1.2}.login-subtitle{font-size:15px;color:var(--text-light);line-height:1.5}.login-form-area{padding:8px 32px 32px;display:flex;flex-direction:column;align-items:center}.login-hint{margin-top:12px;font-size:12px;color:var(--text-muted);text-align:center}.auth-page{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:linear-gradient(180deg,#faf6f2,#fff 40%,#faf6f2)}.auth-card{background:#fff;border-radius:16px;padding:36px 28px;width:100%;max-width:380px;box-shadow:0 2px 12px #0000000f}.auth-logo{text-align:center;font-size:24px;margin-bottom:4px}.auth-brand{text-align:center;font-size:26px;font-weight:700;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:4px;line-height:1.3}.auth-title{text-align:center;font-size:20px;font-weight:600;color:#1f2937;margin-bottom:4px}.auth-subtitle{text-align:center;font-size:13px;color:#9ca3af;margin-bottom:24px}.auth-form input{width:100%;height:46px;border:1.5px solid #e5e7eb;border-radius:10px;padding:0 14px;font-size:15px;margin-bottom:12px;box-sizing:border-box;outline:none;transition:border-color .2s;color:#1f2937}.auth-form input:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a}.auth-form input::placeholder{color:#9ca3af}.sms-row{display:flex;gap:10px;margin-bottom:12px}.sms-row input{flex:1;margin-bottom:0}.sms-btn{width:120px;min-width:120px;height:46px;background:#f3f4f6;border:1.5px solid #e5e7eb;border-radius:10px;font-size:13px;color:#374151;cursor:pointer;white-space:nowrap;flex-shrink:0;font-family:inherit;transition:all .2s}.sms-btn:hover:not(:disabled){background:#e5e7eb}.sms-btn:disabled{color:#9ca3af;cursor:not-allowed;opacity:.7}.auth-btn{width:100%;height:46px;background:var(--primary);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;margin-top:6px;transition:opacity .2s;font-family:inherit}.auth-btn:hover:not(:disabled){opacity:.9}.auth-btn:disabled{opacity:.5;cursor:not-allowed}.auth-error{color:#e85d75;font-size:12px;text-align:center;min-height:20px;margin-bottom:8px}.agreement-text{text-align:center;font-size:12px;color:#9ca3af;margin-top:12px;line-height:1.6}.agreement-text a{color:var(--primary);text-decoration:none}.agreement-text a:hover{text-decoration:underline}.auth-switch{text-align:center;font-size:13px;color:#9ca3af;margin-top:18px}.auth-switch a{color:#f59e0b;text-decoration:none;cursor:pointer;font-weight:500}.auth-switch a:hover{text-decoration:underline}@media(min-width:768px){.auth-page{background:linear-gradient(135deg,#fef3c7,#f5f6f8,#e0e7ff)}.auth-card{padding:44px 36px;box-shadow:0 4px 24px #0000001a;border-radius:20px}}.btn-glow{position:relative;overflow:hidden}.btn-glow:after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,.15) 50%,transparent 60%);animation:btnShine 3s ease-in-out infinite}@keyframes btnShine{0%{transform:translate(-100%) translateY(-100%)}to{transform:translate(100%) translateY(100%)}}.input-group{width:100%;max-width:320px;margin-bottom:16px}.input-group label{display:block;font-size:13px;color:var(--text-light);margin-bottom:6px;text-align:left}.input-group input{width:100%;padding:14px 16px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:16px;background:var(--card);outline:none;transition:border .2s,box-shadow .2s;color:var(--text)}.input-group input::placeholder{color:var(--text-muted)}.input-group input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #f9735c1a}.sms-code-row{display:flex;gap:8px;align-items:stretch}.sms-code-row input{flex:1;min-width:0}.sms-code-row .btn-sms-send{padding:14px 12px;border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:600;cursor:pointer;background:var(--primary-gradient);color:#fff;white-space:nowrap;transition:.2s;min-width:96px}.sms-code-row .btn-sms-send:disabled{background:var(--disabled);cursor:not-allowed;opacity:.7}.sms-code-row .btn-sms-send:hover:not(:disabled){opacity:.9}.btn,.btn-skip,.btn-interested,.welcome-enter-btn,.guide-btn{padding:14px;border:none;border-radius:var(--radius-sm);font-size:16px;font-weight:600;cursor:pointer;transition:.2s}.btn:hover,.btn-skip:hover,.btn-interested:hover,.welcome-enter-btn:hover,.guide-btn:hover{opacity:.92}.btn:active,.btn-skip:active,.btn-interested:active,.welcome-enter-btn:active,.guide-btn:active{transform:scale(.98)}.btn:focus-visible,.btn-skip:focus-visible,.btn-interested:focus-visible,.welcome-enter-btn:focus-visible,.guide-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.btn:disabled,.btn-skip:disabled,.btn-interested:disabled,.welcome-enter-btn:disabled,.guide-btn:disabled{opacity:.5;cursor:not-allowed}.btn-block{width:100%;max-width:320px}.btn-primary{background:var(--primary-gradient);color:#fff;box-shadow:0 2px 8px #e67e5c40}.btn-primary:disabled{background:var(--disabled,#ccc);box-shadow:none}.btn-primary:active{box-shadow:0 1px 3px #e67e5c26;transform:scale(.97)}.btn-sm{padding:10px 16px;font-size:14px;width:auto}.code-row{display:flex;gap:10px}.code-row input{flex:1}.code-row .btn-sm{white-space:nowrap}.error-msg{color:#f44;font-size:13px;margin-top:-8px;margin-bottom:12px;min-height:20px}.login-error{color:#f44;font-size:13px;margin-top:8px;margin-bottom:8px;min-height:20px}.agree-row{display:flex;align-items:center;gap:8px;max-width:320px;margin:0 auto 16px;width:100%}.agree-checkbox{position:relative;width:18px;height:18px;flex-shrink:0;cursor:pointer}.agree-checkbox input{position:absolute;opacity:0;cursor:pointer;width:100%;height:100%}.agree-checkbox .checkmark{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--card);border:1.5px solid var(--border);border-radius:4px;transition:all .2s}.agree-checkbox:hover .checkmark{border-color:var(--primary)}.agree-checkbox input:checked+.checkmark{background:var(--primary-gradient);border-color:var(--primary)}.agree-checkbox input:checked+.checkmark:after{content:"";position:absolute;left:5px;top:2px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.agree-text{font-size:12px;color:var(--text-light);line-height:1.4}.agree-text a{color:var(--primary);text-decoration:none;font-weight:500}.agree-text a:active{text-decoration:underline}.agree-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000073;z-index:300;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.agree-modal{background:var(--card);width:88%;max-width:400px;max-height:80vh;border-radius:18px;display:flex;flex-direction:column;overflow:hidden;animation:popIn .3s cubic-bezier(.34,1.56,.64,1)}.agree-modal-hd{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 12px;border-bottom:1px solid var(--border)}.agree-modal-hd h3{font-size:17px;font-weight:700}.btn-close,.agree-modal-close,.profile-close,.topic-dismiss,.avatar-picker-close{background:none;border:none;cursor:pointer}.btn-close{font-size:20px;color:#bbb;padding:4px}.agree-modal-close{font-size:20px;color:#bbb;padding:2px 6px}.agree-modal-body{flex:1;overflow-y:auto;padding:16px 20px}.agree-modal-body p{font-size:13px;color:var(--text);line-height:1.7;margin-bottom:12px}.agree-modal-footer{padding:12px 20px 20px}.guide-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000008c;z-index:500;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.guide-card{background:var(--card);border-radius:24px;width:88%;max-width:360px;padding:32px 24px 24px;text-align:center;animation:popIn .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 16px 48px #00000026}.guide-step{animation:fadeIn .35s ease}.guide-icon{font-size:56px;margin-bottom:12px}.guide-title{font-size:20px;font-weight:700;color:var(--text);margin-bottom:8px;line-height:1.3}.guide-desc{font-size:14px;color:var(--text-light);line-height:1.6;margin-bottom:4px}.guide-progress{display:flex;justify-content:center;gap:8px;margin:24px 0}.guide-dot{width:8px;height:8px;border-radius:50%;background:var(--border);transition:all .3s}.guide-dot.active{width:24px;border-radius:4px;background:var(--primary)}.guide-btn{width:100%}.chat-page{display:flex;flex-direction:column;flex:1;min-height:0}.login-page{display:flex;flex-direction:column;flex:1;min-height:0;align-items:center;justify-content:center;padding:32px;text-align:center}.chat-header{display:flex;align-items:center;padding:14px 16px;background:var(--card);border-bottom:1px solid var(--border);box-shadow:0 2px 8px #0000000a;gap:12px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.chat-avatar{width:42px;height:42px;border-radius:50%;background:var(--primary-gradient);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;box-shadow:0 2px 8px #f9735c40}.chat-header-name{font-size:16px;font-weight:600}.chat-header-status{font-size:12px;color:var(--text-light)}.chat-header-balance{font-size:12px;color:var(--text-light);text-align:right}.messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth}.msg{display:flex;gap:10px;max-width:90%;margin-bottom:6px;animation:msgIn .3s ease}@keyframes msgIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.msg.user{flex-direction:row-reverse;align-self:flex-end}.msg.ai{flex-direction:row;align-self:flex-start}.msg-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;background:var(--bg);box-shadow:0 1px 4px #0000000f}.msg.user .msg-avatar{background:var(--primary-gradient)}.msg.ai .msg-avatar{background:linear-gradient(135deg,#fce4d6,#f5cba7)}.msg-body{max-width:78%;min-width:0}.msg.user .msg-body{align-items:flex-end}.msg-name{font-size:11px;color:var(--text-muted);margin-bottom:3px;padding:0 4px}.msg.user .msg-name{text-align:right}.msg.ai .msg-name{text-align:left}.msg-mode{font-size:10px;color:var(--text-muted);opacity:.65;padding:0 4px 2px;font-style:italic}.msg-bubble{padding:12px 16px;border-radius:var(--radius);font-size:15px;line-height:1.6;word-break:break-word;position:relative}.msg.user .msg-bubble{background:var(--bubble-user);color:#fff;border-bottom-right-radius:6px;box-shadow:0 2px 8px #f9735c33}.msg.ai .msg-bubble{background:var(--bubble-ai);color:var(--text);border-bottom-left-radius:6px;border:1px solid var(--border);box-shadow:var(--shadow)}.msg-time{font-size:10px;color:var(--text-muted);margin-top:3px;padding:0 4px}.msg.user .msg-time{text-align:right}.msg.ai .msg-time{text-align:left}.conv-friend{border-left:3px solid #f59e0b!important}.conv-topic{border-left:3px solid #ec4899!important}.conv-coach{border-left:3px solid #8b5cf6!important}.msg.ai-friend .msg-bubble{border-color:#f59e0b}.msg.ai-topic .msg-bubble{border-color:#ec4899}.msg.ai-coach .msg-bubble{border-color:#8b5cf6;background:#f5f3ff}.msg.ai-friend .msg-name{color:#f59e0b;font-weight:600}.msg.ai-topic .msg-name{color:#ec4899;font-weight:600}.msg.ai-coach .msg-name{color:#8b5cf6;font-weight:600}.msg.ai-friend .msg-avatar{background:linear-gradient(135deg,#fef3c7,#fde68a)}.msg.ai-topic .msg-avatar{background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.msg.ai-coach .msg-avatar{background:linear-gradient(135deg,#ede9fe,#ddd6fe)}.conv-options{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding:0 4px}.conv-option-btn{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:12px;border:1.5px solid var(--border);background:var(--card);font-size:14px;cursor:pointer;transition:all .15s;color:var(--text);font-family:inherit}.conv-option-btn:hover{border-color:var(--primary);background:var(--primary-bg)}.conv-option-btn:active{transform:scale(.98)}.conv-option-btn .opt-icon{font-size:16px;flex-shrink:0}.conv-wrapup{text-align:center;padding:8px 0;margin:4px 0;font-size:12px;color:var(--text-muted)}.conv-wrapup-actions{display:flex;gap:8px;justify-content:center;margin-top:6px}.conv-wrapup-btn{padding:6px 16px;border-radius:16px;border:1px solid var(--border);background:var(--card);cursor:pointer;font-size:13px;color:var(--text);font-family:inherit;transition:all .15s}.conv-wrapup-btn:hover{border-color:var(--primary);color:var(--primary)}.conv-wrapup-btn:active{transform:scale(.96)}.input-area{display:flex;gap:8px;padding:12px 16px;background:var(--card);border-top:1px solid var(--border);box-shadow:0 -1px 4px #0000000a;align-items:flex-end;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.input-area textarea{flex:1;padding:12px 18px;border:1.5px solid var(--border);border-radius:24px;font-size:15px;outline:none;background:var(--bg);resize:none;font-family:inherit;line-height:1.5;max-height:120px;overflow-y:auto;transition:border .2s,box-shadow .2s;color:var(--text)}.input-area textarea::placeholder{color:var(--text-muted)}.input-area textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #f9735c1a}.send-btn{width:42px;height:42px;border-radius:50%;border:none;background:var(--primary-gradient);color:#fff;font-size:20px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:.2s;box-shadow:0 2px 8px #f9735c4d}.send-btn:hover{box-shadow:0 4px 14px #f9735c66;transform:scale(1.05)}.send-btn:active{transform:scale(.88)}.send-btn:disabled{background:var(--disabled,#ccc);box-shadow:none}.typing{display:flex;gap:4px;padding:14px 18px}.typing span{width:7px;height:7px;border-radius:50%;background:#bbb;animation:bounce 1.3s infinite}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-8px)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hidden{display:none!important}.chat-page{animation:pageIn .3s cubic-bezier(.25,.46,.45,.94)}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-page.slide-out{animation:pageOut .25s cubic-bezier(.55,.085,.68,.53) forwards}@keyframes pageOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}.toast{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:200;background:var(--text);color:#fff;padding:12px 24px;border-radius:24px;font-size:14px;box-shadow:0 4px 20px #00000026;animation:toastIn .3s ease;pointer-events:none}.toast.error{background:#f44}.skeleton-card .skeleton-avatar,.skeleton-card .skeleton-line{background:linear-gradient(90deg,#f0ebe0 25%,var(--border) 50%,#f0ebe0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}.welcome-page{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#f9735c0f,#faf6f2);z-index:50;animation:pageIn .4s ease}.welcome-card{text-align:center;padding:40px 32px;max-width:320px;background:var(--card);border-radius:24px;border:1px solid var(--border);box-shadow:var(--shadow-lg)}.welcome-avatar{font-size:64px;margin-bottom:12px;animation:bounce 2s infinite}.welcome-nickname{font-size:22px;font-weight:700;color:var(--text);margin-bottom:4px}.welcome-tagline{font-size:14px;color:var(--text-light);margin-bottom:24px}.welcome-stats{display:flex;justify-content:center;gap:20px;margin-bottom:28px}.welcome-stat{text-align:center}.welcome-stat .ws-num{font-size:18px;font-weight:700;color:var(--primary)}.welcome-stat .ws-label{font-size:11px;color:var(--text-light);margin-top:2px}.welcome-enter-btn{max-width:240px;border-radius:28px}.skeleton{background:linear-gradient(90deg,#f0ebe0 25%,var(--border) 50%,#f0ebe0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.topic-card{background:var(--card);margin:0 16px 8px;border-radius:14px;padding:14px 16px;box-shadow:var(--shadow);border-left:4px solid var(--primary);animation:fadeIn .3s ease}.topic-card.done{border-left-color:var(--text-light)}.topic-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.topic-category{font-size:12px;color:var(--primary);font-weight:600;background:#fef0ea;padding:2px 10px;border-radius:10px}.topic-dismiss{font-size:18px;color:#ccc;padding:0 4px}.topic-title{font-size:15px;font-weight:600;color:var(--text);margin-bottom:10px;line-height:1.5}.topic-input-row{display:flex;gap:8px;align-items:center}.topic-input-row input{flex:1;padding:9px 12px;border:1px solid var(--border);border-radius:20px;font-size:14px;outline:none;background:var(--bg)}.topic-input-row input:focus{border-color:var(--primary)}.topic-submit-btn{background:var(--primary);color:#fff;border:none;border-radius:18px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:.2s}.topic-submit-btn:active{transform:scale(.96);background:var(--primary-dark)}.topic-submit-btn:disabled{background:var(--disabled,#ccc)}.topic-result{font-size:13px;line-height:1.6}.topic-result .your-view{color:var(--primary);font-weight:600}.topic-result .match-info{color:var(--text-light);margin-top:4px}.topic-result .tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.topic-result .tag{font-size:11px;background:#fef0ea;color:var(--primary);padding:1px 8px;border-radius:8px}.profile-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000073;z-index:100;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .25s}.profile-sheet{background:var(--card);width:100%;max-width:480px;max-height:85vh;border-radius:22px 22px 0 0;overflow-y:auto;padding:24px 20px 32px}.profile-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.profile-close{font-size:26px;color:#bbb;padding:4px}.lv-badge{display:inline-flex;align-items:center;gap:4px;background:var(--primary-gradient);color:#fff;padding:4px 12px;border-radius:20px;font-size:13px;font-weight:600;box-shadow:0 2px 8px #f9735c40}.lv-badge span{font-size:10px;opacity:.8}.lv-stats{display:flex;gap:20px;font-size:12px;color:#999;margin-bottom:8px}.lv-stats b{color:var(--primary);font-size:16px}.dim-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.dim-card{background:#faf7f3;border-radius:14px;padding:14px;border:1px solid #f0ebe0;min-height:0}.dim-card .head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.dim-card .name{font-size:13px;font-weight:600}.dim-card .lv{font-size:10px;padding:2px 8px;border-radius:8px;font-weight:700}#profileDimGrid{grid-template-columns:1fr;gap:10px;margin-top:8px}.lv0{background:#f0f0f0;color:#aaa}.lv1{background:#fff3e0;color:var(--primary)}.lv2{background:#ffe0b2;color:var(--primary)}.lv3{background:#ffb74d;color:#fff}.lv4{background:var(--primary);color:#fff}.lv5{background:#8b5e3c;color:#fff}.dim-card .tags{display:flex;flex-wrap:wrap;gap:3px;margin-top:6px}.dim-card .tag{font-size:10px;padding:1px 7px;background:#fff;border:1px solid var(--border);border-radius:6px;color:#888}.dim-card .empty{font-size:11px;color:#d0d0d0;text-align:center;padding:6px 0}.dim-banner-list{display:flex;flex-direction:column;gap:10px;margin-top:8px}.dim-banner{background:var(--card);border-radius:16px;padding:16px;box-shadow:var(--shadow);cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s;border:1.5px solid transparent}.dim-banner:active{transform:scale(.97);border-color:var(--primary);box-shadow:var(--shadow-lg)}.dim-banner-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.dim-banner-name{font-size:15px;font-weight:600}.dim-banner-icon{font-size:20px;margin-right:6px}.dim-banner-progress{display:flex;align-items:center;gap:6px}.dim-banner-progress-text{font-size:12px;font-weight:600;color:var(--primary);min-width:36px;text-align:right}.dim-banner-bar{flex:1;height:8px;background:var(--bg);border-radius:4px;overflow:hidden;max-width:80px}.dim-banner-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.dim-banner-bar-fill.high{background:#4caf50}.dim-banner-bar-fill.mid{background:#ff9800}.dim-banner-bar-fill.low{background:#e85d75}.dim-banner-tags{font-size:11px;color:var(--text-light);margin-bottom:6px;min-height:16px}.dim-banner-suggest{font-size:12px;color:#999;font-style:italic;padding:6px 10px;background:#faf7f3;border-radius:8px;line-height:1.4}.dim-banner-suggest b{color:var(--primary);font-weight:500}.detail-content{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.sub-angle-group{margin-bottom:4px}.sub-angle-bubble{padding:12px 14px;border-radius:14px;margin-bottom:8px;border:1px solid #f0ebe0}.sub-angle-bubble .angle-name{font-size:13px;font-weight:600;margin-bottom:4px;display:flex;align-items:center;gap:6px}.sub-angle-bubble .angle-name .status-icon{font-size:14px}.sub-angle-bubble .angle-evidence{font-size:13px;line-height:1.5;color:#555}.sub-angle-bubble .angle-score{font-size:11px;color:var(--text-light);margin-top:4px}.sub-angle-bubble.confirmed{background:#f0faf0;border-color:#c8e6c9}.sub-angle-bubble.confirmed .angle-name{color:#2e7d32}.sub-angle-bubble.preliminary{background:#fff8e1;border-color:#ffe0b2}.dim-select-header h2{font-size:22px;color:var(--text);margin-bottom:8px;font-weight:700}.dim-select-header p{font-size:13px;color:var(--text-light);line-height:1.5}.dim-select-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px;flex:1;overflow-y:auto;align-content:start}.dim-select-card{background:var(--card);border-radius:14px;padding:14px 10px;text-align:center;border:2px solid transparent;box-shadow:var(--shadow);cursor:pointer;transition:all .2s ease;position:relative;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;display:flex;flex-direction:column;align-items:center;gap:6px}.dim-select-card:active{transform:scale(.96)}.dim-select-card .dim-icon{font-size:28px}.dim-select-card .dim-name{font-size:13px;font-weight:600;color:var(--text);line-height:1.3}.dim-select-card .dim-desc{font-size:10px;color:var(--text-light);line-height:1.4}.dim-select-card.selected{border-color:var(--primary);background:#fef5f0;transform:scale(1.02)}.dim-select-card.selected:after{content:"✓";position:absolute;top:6px;right:8px;width:18px;height:18px;background:var(--primary);color:#fff;border-radius:50%;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.dim-select-footer{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--card);border-top:1px solid var(--border);gap:16px}.dim-select-footer .btn{max-width:200px;flex-shrink:0}.dim-select-count{font-size:14px;color:var(--text-light);white-space:nowrap;font-weight:500}.dim-select-count span{color:var(--primary);font-weight:700}@media(max-width:400px){.dim-select-grid{grid-template-columns:repeat(3,1fr);gap:8px;padding:12px}.dim-select-card{padding:10px 6px;border-radius:12px}.dim-select-card .dim-icon{font-size:24px}.dim-select-card .dim-name{font-size:12px}.dim-select-card .dim-desc{font-size:9px}.dim-select-header{padding:32px 16px 6px}.dim-select-header h2{font-size:19px}}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#e67e5c40;border-radius:3px;transition:background .3s}::-webkit-scrollbar-thumb:hover{background:#e67e5c80}#chatPage{position:relative}.scroll-indicator{position:absolute;right:0;top:0;bottom:0;width:8px;z-index:5;opacity:0;transition:opacity .3s;pointer-events:none}.scroll-indicator.visible{opacity:1;pointer-events:auto}.scroll-indicator .scroll-thumb{position:absolute;right:2px;width:4px;min-height:24px;background:#e67e5c4d;border-radius:3px;transition:background .2s,top .1s linear;cursor:pointer}.scroll-indicator:hover .scroll-thumb,.scroll-indicator:active .scroll-thumb{background:#e67e5ca6;width:6px;right:1px}.messages::-webkit-scrollbar{width:0;background:transparent}.messages{scrollbar-width:none;-ms-overflow-style:none}.lv-progress{background:#e67e5c14;border-radius:14px;height:12px;margin:12px 0;overflow:hidden;max-width:280px;box-shadow:inset 0 2px 4px #0000000d}.lv-progress div{background:linear-gradient(90deg,var(--primary),#f0a88b 50%,var(--primary));background-size:200% 100%;height:100%;border-radius:14px;transition:width .8s cubic-bezier(.4,0,.2,1);animation:barShimmer 3s ease-in-out infinite;box-shadow:0 0 8px rgba(var(--primary),.35);position:relative}.lv-progress .pct{position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:10px;color:#fff;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.2)}@keyframes barShimmer{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.dim-expand-card{background:var(--card);border-radius:var(--radius-sm);margin:8px 0;overflow:hidden;border:1px solid var(--border);transition:box-shadow .2s}.dim-expand-card:active{box-shadow:var(--shadow-sm)}.dim-expand-card-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;cursor:pointer;font-size:14px;font-weight:500}.dim-arrow{transition:transform .2s;font-size:12px;color:var(--text-light)}.dim-arrow.open{transform:rotate(180deg)}.dim-sub-list{padding:0 16px 12px;display:flex;flex-wrap:wrap;gap:6px}.dim-sub-item{display:flex;align-items:center;gap:4px;padding:6px 10px;border-radius:16px;background:var(--bg-light);font-size:12px;color:var(--text);cursor:pointer;transition:all .15s;border:1px solid transparent}.dim-sub-item:active{border-color:var(--primary);background:var(--primary-light)}.dim-sub-check{font-size:10px;color:var(--primary);opacity:0;transition:opacity .15s}.dim-sub-item.selected{border-color:var(--primary);background:var(--primary-light)}.dim-sub-item.selected .dim-sub-check{opacity:1}.dim-sub-label{font-size:12px}.dim-bar{background:#e67e5c14;border-radius:10px;height:8px;margin:6px 0;overflow:hidden;box-shadow:inset 0 1px 3px #0000000d}.dim-bar div{background:linear-gradient(90deg,#d4957b,var(--primary));height:100%;border-radius:10px;transition:width .6s cubic-bezier(.4,0,.2,1);box-shadow:0 0 4px #e67e5c33}.leaderboard-score-bar{height:6px;background:#e67e5c14;border-radius:6px;margin-top:4px;overflow:hidden;box-shadow:inset 0 1px 2px #0000000a}.leaderboard-score-bar div{background:linear-gradient(90deg,var(--primary),#f0a88b);height:100%;border-radius:6px;transition:width .5s ease;box-shadow:0 0 3px #e67e5c40}.fb-bar,.fb-dist-bar{overflow:hidden}.moment-section{margin-bottom:8px}.moment-section-header{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--text);padding:12px 0 8px;border-bottom:1px solid var(--border);margin-bottom:4px}.moment-section-count{font-size:11px;font-weight:500;background:var(--primary);color:#fff;padding:1px 8px;border-radius:10px}.topic-match-btn:disabled{opacity:.6;cursor:not-allowed}.photo-section{padding:4px 0}.photo-row{display:flex;align-items:center;gap:16px}.photo-label{font-size:13px;font-weight:600;color:var(--text-light);min-width:48px}.photo-upload-box{width:72px;height:72px;border:2px dashed var(--border);border-radius:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;background:var(--bg);transition:border-color .2s}.photo-upload-box:hover{border-color:var(--primary)}.photo-upload-box span{font-size:28px;color:var(--text-light)}.photo-upload-box img{width:100%;height:100%;object-fit:cover}.album-grid{display:flex;flex-wrap:wrap;gap:8px;flex:1}.album-item{width:64px;height:64px;border-radius:12px;background-size:cover;background-position:center;position:relative;cursor:pointer}.album-item .del-btn{position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:50%;background:#00000080;color:#fff;font-size:11px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.album-item:hover .del-btn{opacity:1}.photo-add-btn{display:inline-block;margin-top:8px;padding:6px 16px;border:1px dashed var(--border);border-radius:12px;font-size:13px;color:var(--text-light);cursor:pointer;transition:all .2s}.photo-add-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.other-photo-section{padding:16px;margin:12px 0;background:var(--card);border-radius:var(--radius)}.other-photo-section .avatar-blur{width:80px;height:80px;border-radius:50%;margin:0 auto 8px;background-size:cover;background-position:center;position:relative;overflow:hidden}.avatar-blur.locked{filter:blur(20px)}.avatar-blur .lock-icon{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:24px;background:#0000004d;color:#fff}.other-album{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.other-album-item{width:60px;height:60px;border-radius:8px;background-size:cover;background-position:center}.other-album-item.locked{background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--text-light)}.basic-info-form{display:flex;flex-direction:column;gap:12px}.bi-row{display:flex;align-items:center;gap:12px}.bi-row label{font-size:13px;font-weight:600;color:var(--text-light);min-width:64px;flex-shrink:0}.bi-row input,.bi-row select{flex:1;padding:10px 12px;border:1.5px solid var(--border);border-radius:10px;font-size:14px;outline:none;background:var(--bg)}.bi-row input:focus,.bi-row select:focus{border-color:var(--primary)}.moment-composer textarea{width:100%;padding:12px;border:1.5px solid var(--border);border-radius:12px;font-size:14px;outline:none;resize:none;background:var(--bg);font-family:inherit}.moment-composer textarea:focus{border-color:var(--primary)}.moment-photo-preview{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.moment-photo-preview img{width:64px;height:64px;object-fit:cover;border-radius:8px}.package-grid{display:flex;flex-direction:column;gap:12px}.package-card{background:var(--card);border-radius:14px;padding:16px;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-sm);border:1px solid transparent}.package-card:active{box-shadow:var(--shadow);border-color:var(--primary);transform:translateY(-1px)}.package-card .pkg-name{font-size:16px;font-weight:600;margin-bottom:4px}.package-card .pkg-price{font-size:24px;font-weight:700;color:var(--primary);margin-bottom:4px}.package-card .pkg-price span{font-size:14px;font-weight:400;color:var(--text-light)}.package-card .pkg-desc{font-size:12px;color:var(--text-light)}.pkg-badge{display:inline-block;font-size:10px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2px 10px;border-radius:20px;margin-top:6px}.radar-container{display:flex;flex-direction:column;align-items:center;padding:16px 0 8px;background:var(--card);border-radius:16px;box-shadow:var(--shadow);margin-bottom:12px}.radar-canvas{width:300px;height:300px;max-width:100%}.radar-title{font-size:13px;font-weight:600;color:var(--text);margin-bottom:4px}.radar-sub{font-size:11px;color:var(--text-light);margin-bottom:8px}.radar-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;padding:0 12px 8px}.radar-legend-item{display:flex;align-items:center;gap:4px;font-size:10px;color:var(--text-light)}.radar-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.radar-tips{text-align:center;padding:8px 16px 4px;font-size:12px;color:var(--primary);font-weight:500;line-height:1.5}.match-card{position:relative;overflow:hidden}.match-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary-gradient);opacity:.4}.match-card-stack{position:relative;margin-bottom:8px}.match-card-stack .match-card{box-shadow:0 4px 20px #00000014,0 -2px 8px #0000000a}.match-card-stack:after{content:"";position:absolute;bottom:-4px;left:4px;right:4px;height:8px;background:var(--card);border-radius:0 0 10px 10px;opacity:.5;z-index:-1}.match-card-stack:before{content:"";position:absolute;bottom:-8px;left:8px;right:8px;height:8px;background:var(--card);border-radius:0 0 10px 10px;opacity:.3;z-index:-2}.match-info-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:8px}.match-info-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;background:var(--bg);padding:4px 10px;border-radius:14px;color:var(--text-light)}.match-anon-info{font-size:12px;line-height:1.5}.match-actions{position:relative;padding-top:4px}.match-actions .btn{flex:1;padding:12px;font-size:14px;border-radius:12px;font-weight:600;transition:all .2s}.btn-skip{background:var(--bg);color:var(--text-light);border:none;border:1px solid var(--border)}.btn-skip:active{background:var(--border)}.btn-interested{background:var(--primary-gradient);color:#fff;border:none;box-shadow:0 4px 12px #f9735c4d}.btn-interested:active{transform:scale(.97)}.empty-illustration{text-align:center;padding:60px 20px 40px;animation:fadeIn .5s ease}.empty-illustration .cloud-container{position:relative;width:120px;height:80px;margin:0 auto 20px}.empty-illustration .cloud{position:absolute;background:var(--card);border-radius:50%;box-shadow:0 4px 20px #0000000f}.empty-illustration .cloud-1{width:60px;height:40px;top:20px;left:10px;border-radius:30px}.empty-illustration .cloud-2{width:70px;height:50px;top:10px;left:35px;border-radius:35px}.empty-illustration .cloud-3{width:50px;height:35px;top:30px;left:65px;border-radius:25px}.empty-illustration .heart{font-size:40px;position:absolute;top:5px;left:42px;animation:floatHeart 2s ease-in-out infinite}@keyframes floatHeart{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.empty-illustration h3{font-size:17px;color:var(--text);margin-bottom:6px}.empty-illustration p{font-size:13px;color:var(--text-light);line-height:1.6;max-width:260px;margin:0 auto}.skeleton-card{background:var(--card);border-radius:14px;padding:16px;box-shadow:var(--shadow);animation:fadeIn .3s ease}.skeleton-line{height:12px;border-radius:6px;background:linear-gradient(90deg,#f0ebe0 25%,var(--border) 50%,#f0ebe0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;margin-bottom:10px}.skeleton-line:last-child{margin-bottom:0}.skeleton-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(90deg,#f0ebe0 25%,var(--border) 50%,#f0ebe0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;flex-shrink:0}.skeleton-row{display:flex;align-items:center;gap:12px;margin-bottom:12px}.nav-item.active .icon{transform:scale(1.15)}.nav-item:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%) scaleX(0);width:20px;height:3px;background:var(--primary);border-radius:2px;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.nav-item.active:after{transform:translate(-50%) scaleX(1)}.nav-item .nav-label{font-size:10px;margin-top:1px;transition:color .2s}.date-divider{display:flex;align-items:center;gap:12px;margin:8px 0 4px;padding:0 4px}.date-divider:before,.date-divider:after{content:"";flex:1;height:1px;background:var(--border)}.date-divider span{font-size:11px;color:var(--text-light);white-space:nowrap;padding:4px 12px;background:var(--bg);border-radius:10px}.input-area{position:relative}.input-area textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #e67e5c1f}.send-btn{position:relative;overflow:hidden}.send-btn:not(:disabled){animation:sendPulse 2s ease-in-out infinite}@keyframes sendPulse{0%,to{box-shadow:0 0 #e67e5c66}50%{box-shadow:0 0 0 8px #e67e5c00}}.send-btn:not(:disabled):active{animation:none;transform:scale(.88)}.profile-modal,.redeem-modal{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.profile-sheet{animation:sheetUp .35s cubic-bezier(.34,1.56,.64,1)}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.redeem-box{animation:popIn .3s cubic-bezier(.34,1.56,.64,1)}@keyframes popIn{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.profile-page-content{flex:1;min-height:0;overflow-y:auto;padding:12px 14px}.profile-page-content>*{margin-bottom:12px}.profile-page-content>:last-child{margin-bottom:0}.profile-card{background:var(--card);border-radius:16px;padding:18px 16px;box-shadow:var(--shadow);position:relative;overflow:hidden;display:flex;align-items:center;gap:14px}.profile-card:before{content:"";position:absolute;top:-24px;right:-24px;width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#f9c2a6,var(--primary));opacity:.1}.profile-card:after{content:"";position:absolute;bottom:-30px;left:-30px;width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#f7b731);opacity:.06}.medal{font-size:32px;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#fef0ea,#f9c2a6);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #e67e5c33;border:2px solid #fff}.profile-avatar{width:56px;height:56px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:28px;background:linear-gradient(135deg,#fef0ea,#f9c2a6);cursor:pointer;box-shadow:0 2px 8px #e67e5c2e;overflow:hidden;transition:transform .2s,box-shadow .2s;position:relative;z-index:1}.profile-btn{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--border);background:var(--card);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.profile-btn:active{transform:scale(.92);border-color:var(--primary)}.profile-btn.hidden{display:none}.profile-avatar:active{transform:scale(.95);box-shadow:0 1px 4px #e67e5c1f}.profile-avatar img{width:56px;height:56px;border-radius:50%;object-fit:cover}.profile-name-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.profile-name{font-size:17px;font-weight:700;color:var(--text)}.profile-name-input{width:140px;padding:4px 8px;font-size:15px;font-weight:600;border:1.5px solid var(--primary);border-radius:8px;outline:none;background:var(--bg);color:var(--text)}.profile-edit-btn{background:none;border:none;font-size:14px;cursor:pointer;padding:2px;opacity:.6;transition:opacity .2s}.profile-edit-btn:active{opacity:1}.profile-token{text-align:center;flex-shrink:0;padding:6px 12px;background:linear-gradient(135deg,#f9735c14,#f7b7310f);border-radius:12px;border:1px solid rgba(249,115,92,.12);min-width:60px}.profile-token b{font-size:18px;color:var(--primary)}.profile-score-max{color:var(--text-muted);font-size:12px;font-weight:400}.profile-page-progress{display:flex;align-items:center;gap:6px;margin-top:6px}.profile-page-progress .bar{flex:1;height:6px;border-radius:3px;background:var(--border);overflow:hidden}.profile-page-progress .bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--primary),#f7b731);transition:width .5s ease}.profile-page-progress .pct{font-size:11px;color:var(--text-light);min-width:32px;text-align:right}.profile-ai-avatar{display:inline-flex;width:20px;height:20px;align-items:center;justify-content:center;font-size:14px;cursor:pointer;border-radius:50%;background:linear-gradient(135deg,#fef0ea,#f9c2a6);margin-right:2px;transition:transform .2s}.profile-ai-avatar:active{transform:scale(1.2)}.profile-section{background:var(--card);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);padding:16px}.profile-menu-item{padding:18px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px;cursor:pointer;font-size:16px;font-weight:500;justify-content:flex-start;transition:background .15s}.profile-menu-item:last-child{border-bottom:none}.profile-menu-item:active{background:var(--bg);transform:scale(.99);box-shadow:var(--shadow-sm)}.card-items>*,.menu-items>*{transition:all .2s ease}.card-items>*:hover,.menu-items>*:hover{transform:translateY(-1px);box-shadow:0 4px 16px #00000014}.conversation-item{display:flex;align-items:center;padding:12px 16px;gap:12px;cursor:pointer;transition:all .2s ease;position:relative;border-radius:12px;margin:0 8px}.conversation-item:hover{background:var(--card);box-shadow:0 2px 8px #0000000f;transform:translateY(-1px)}.conversation-item:active{background:#e67e5c14;transform:translateY(0)}.conversation-item:not(:last-child):after{content:"";position:absolute;left:68px;right:16px;bottom:0;height:1px;background:var(--border)}.conv-avatar{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0;background:linear-gradient(135deg,#fef0ea,#f9c2a6);box-shadow:0 2px 8px #e67e5c26}.conv-avatar img{width:52px;height:52px;border-radius:50%;object-fit:cover}.conv-info{flex:1;min-width:0}.conv-name{font-size:16px;font-weight:600;color:var(--text)}.conv-time{font-size:11px;color:var(--text-light);white-space:nowrap}.conv-preview{font-size:13px;color:var(--text-light);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.conv-unread{position:absolute;top:10px;right:14px;min-width:18px;height:18px;border-radius:9px;background:#e85d75;color:#fff;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 5px;box-shadow:0 2px 6px #e85d754d}.moments-feed{flex:1;overflow-y:auto;padding:12px 16px}.moment-composer-wrap{background:var(--card);border-radius:14px;padding:16px;margin-bottom:16px;box-shadow:var(--shadow)}.moment-composer-wrap textarea{width:100%;border:none;outline:none;font-size:14px;resize:none;min-height:60px;font-family:inherit;line-height:1.5;background:transparent}.moment-composer-wrap .moment-actions{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.moment-card{background:var(--card);border-radius:14px;padding:16px;margin-bottom:12px;box-shadow:var(--shadow)}.moment-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.moment-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;background:linear-gradient(135deg,#fef0ea,#f9c2a6);flex-shrink:0;overflow:hidden}.moment-avatar img{width:36px;height:36px;border-radius:50%;object-fit:cover}.moment-user{font-size:14px;font-weight:600}.moment-date{font-size:11px;color:var(--text-light)}.moment-content{font-size:14px;line-height:1.6;margin-bottom:10px;white-space:pre-wrap;word-break:break-word}.moment-images{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.moment-images img{width:calc(33.33% - 4px);border-radius:8px;max-height:200px;object-fit:cover;aspect-ratio:1}.moment-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.moment-tag{font-size:11px;padding:2px 8px;border-radius:10px;background:#e67e5c1a;color:var(--primary)}.moment-meta{display:flex;align-items:center;gap:16px;margin-top:10px;padding-top:10px;border-top:1px solid var(--border);font-size:12px;color:var(--text-light)}.moment-delete{color:#e85d75;font-size:12px;cursor:pointer;margin-left:auto}.moment-delete:active{opacity:.6}.feed-empty{text-align:center;padding:40px 20px;color:var(--text-light)}.feed-empty h3{font-size:16px;margin-bottom:6px;color:var(--text)}.avatar-picker-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0006;z-index:9998;display:flex;align-items:flex-end;justify-content:center}.avatar-picker-overlay.hidden{display:none}.avatar-picker-modal{background:var(--card);border-radius:20px 20px 0 0;width:100%;max-width:480px;padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom));animation:slideUp .25s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.avatar-picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:16px;font-weight:600}.avatar-picker-close{font-size:20px;color:var(--text-light);padding:4px}.avatar-picker-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;padding:8px 0}.avatar-preset-item{display:flex;align-items:center;justify-content:center;font-size:32px;width:100%;aspect-ratio:1;border-radius:12px;background:var(--bg);cursor:pointer;transition:.2s}.avatar-preset-item:active{transform:scale(1.15);background:var(--primary);box-shadow:0 0 0 3px #e67e5c4d}.avatar-preset-item.selected{background:#e67e5c26;box-shadow:0 0 0 2px var(--primary)}.avatar-preset-item.selected:after{content:"✓";position:absolute;font-size:10px;color:var(--primary);margin-top:28px}.avatar-picker-upload{text-align:center;padding:12px 0 0;border-top:1px solid var(--border);margin-top:8px}.avatar-menu-item{padding:16px 20px;font-size:15px;text-align:center;cursor:pointer;font-weight:500}.avatar-menu-item:active{background:var(--bg)}.feed-empty p{font-size:13px}.topic-cards-loading{display:none}.topic-cards-section{margin-bottom:20px}.topic-cards-section-title{font-size:15px;font-weight:600;margin-bottom:8px;padding:0 16px;display:flex;align-items:center;gap:6px}.topic-cards-section-count{font-size:12px;color:var(--text-light);font-weight:400}.topic-card-item{display:flex;align-items:center;gap:10px;padding:12px 16px;margin:0 14px 6px;border-radius:12px;background:var(--card);cursor:pointer;transition:all .2s;box-shadow:var(--shadow)}.topic-card-item:active{background:#e67e5c14;transform:scale(.98);box-shadow:var(--shadow-sm)}.topic-card-item-icon{font-size:22px;flex-shrink:0;width:32px;text-align:center}.topic-card-item-info{flex:1;min-width:0}.topic-card-item-angle{font-size:13px;font-weight:500;margin-bottom:2px}.topic-card-item-question{font-size:12px;color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topic-card-item-meta{font-size:11px;color:var(--text-light);flex-shrink:0}.topic-card-item-badge{font-size:11px;padding:2px 8px;border-radius:8px;background:#e67e5c1f;color:var(--primary);font-weight:500}.topic-card-item-score{font-size:12px;color:var(--primary);font-weight:600}.topic-card-empty{padding:40px 20px;text-align:center;color:var(--text-light);font-size:13px}.pool-status-card{margin:0 0 12px;padding:14px 16px;background:#fff;border-radius:14px;box-shadow:0 1px 4px #0000000f}.pool-status-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:14px;font-weight:600}.pool-status-size{font-size:16px;font-weight:700;color:var(--primary)}.pool-status-detail{font-size:12px;color:var(--text-light);margin-bottom:8px;line-height:1.6}.pool-status-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.pool-status-suggestions .suggestion-btn{font-size:11px;padding:4px 10px;border-radius:12px;border:1px solid var(--border);background:var(--bg);cursor:pointer;color:var(--text)}.pool-status-suggestions .suggestion-btn:hover{border-color:var(--primary);color:var(--primary)}.pool-status-actions{display:flex;gap:8px}.pool-status-layer{display:flex;justify-content:space-between;font-size:12px;padding:3px 0;border-bottom:1px solid var(--border);align-items:center}.pool-status-layer:last-child{border-bottom:none}.pool-status-layer-name{color:var(--text-light)}.pool-status-layer-count{font-weight:600}.pool-status-layer.active{background:#e67e5c14;margin:0 -8px;padding:3px 8px;border-radius:6px}.pool-status-layer.active .pool-status-layer-name{color:var(--primary);font-weight:600}.region-option{display:flex;align-items:center;gap:12px;padding:14px 12px;border-radius:12px;cursor:pointer;transition:background .15s;margin-bottom:8px;border:1.5px solid var(--border)}.region-option:hover{background:var(--bg)}.region-option.selected{border-color:var(--primary);background:#e67e5c0f}.region-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center}.region-option.selected .region-radio{border-color:var(--primary)}.region-option.selected .region-radio:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--primary)}.region-info{flex:1}.region-name{font-size:14px;font-weight:500}.region-desc{font-size:12px;color:var(--text-light);margin-top:2px}.conversation-list{flex:1;overflow-y:auto;background:var(--card)}.conversation-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid #f5f0eb;cursor:pointer;transition:all .15s ease;position:relative;border-radius:10px;margin:0 6px}.conversation-item:hover{background:var(--card);box-shadow:0 2px 8px #0000000d;transform:translateY(-1px)}.conversation-item:active{background:var(--bg);transform:translateY(0)}.conversation-item:last-child{border-bottom:none}.conv-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#f9c2a6,var(--primary));display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}.conv-info{flex:1;min-width:0;overflow:hidden}.conv-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.conv-name{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70%}.conv-time{font-size:11px;color:var(--text-light);flex-shrink:0;margin-left:8px}.conv-preview{font-size:13px;color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.conv-unread{position:absolute;top:12px;right:12px;min-width:18px;height:18px;border-radius:9px;background:#f44;color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 5px;box-shadow:0 1px 4px #f444444d}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;display:flex;background:var(--card);border-top:1px solid var(--border);padding:4px 0 calc(4px + env(safe-area-inset-bottom,0px));z-index:200;box-shadow:0 -2px 12px #0000000f;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 4px;border:none;background:none;cursor:pointer;color:var(--text-light);transition:color .2s;position:relative;-webkit-tap-highlight-color:transparent;outline:none;font-family:inherit}.nav-item .icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center}.nav-item .icon svg{width:22px;height:22px;display:block;transition:stroke .2s}.nav-item .nav-label{font-size:10px;font-weight:500;line-height:1.2}.nav-item.active{color:var(--primary)}.nav-item.active .icon svg{stroke:var(--primary)}.nav-item:active{transform:scale(.92);transition:transform .1s}.nav-item .badge{position:absolute;top:0;right:calc(50% - 20px);background:#f44;color:#fff;font-size:10px;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;font-weight:700;box-shadow:0 1px 3px #f4444459;animation:badgePop .3s cubic-bezier(.34,1.56,.64,1)}@keyframes badgePop{0%{transform:scale(0)}60%{transform:scale(1.2)}to{transform:scale(1)}}.app{padding-bottom:60px}.back-btn,.chat-back{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;cursor:pointer;transition:background .18s,transform .15s;flex-shrink:0;border:none;background:transparent;color:var(--text);-webkit-tap-highlight-color:transparent;outline:none}.back-btn:hover,.chat-back:hover{background:#0000000d}.back-btn:active,.chat-back:active{background:#00000017;transform:scale(.88)}.back-btn svg,.chat-back svg{width:24px;height:24px;display:block}.sort-btn{transition:all .2s;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.sort-btn:active{transform:scale(.95)}.feed-empty{text-align:center;padding:60px 20px;color:var(--text-light)}.feed-empty .icon{font-size:48px;margin-bottom:12px}.feed-empty h3{font-size:18px;color:var(--text);margin-bottom:8px;font-weight:600}.feed-empty p{font-size:14px;line-height:1.6;color:var(--text-light)}.skeleton-card{background:var(--card);border-radius:12px;padding:16px;margin-bottom:10px}.skeleton-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.skeleton-avatar{width:44px;height:44px;border-radius:50%;background:#f0ebe0}.skeleton-line{height:14px;border-radius:7px;background:#f0ebe0;margin-bottom:8px}.skeleton-line.w80{width:80%}.connecting-msg{text-align:center;color:var(--text-light);padding:20px;font-size:13px}*{scrollbar-width:thin;scrollbar-color:rgba(230,126,92,.25) transparent}*::-webkit-scrollbar{width:4px;height:4px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#e67e5c40;border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:#e67e5c80}.match-page-content{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.match-entry-card{border-left:3px solid var(--primary);background:linear-gradient(135deg,rgba(230,126,92,.04),transparent);border-radius:10px;transition:all .2s ease}.match-entry-card:hover{background:linear-gradient(135deg,rgba(230,126,92,.08),transparent);box-shadow:0 2px 8px #0000000f;transform:translateY(-1px)}.match-entry-card:active{background:#e67e5c14;transform:translateY(0)}.match-empty{text-align:center;padding:48px 20px}.match-empty .icon{font-size:56px;margin-bottom:12px}.match-empty h3{font-size:17px;color:var(--text);margin-bottom:8px}.match-card{background:var(--card);border-radius:var(--radius);padding:16px;margin-bottom:12px;box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:all .2s ease}.match-card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}.match-card:active{box-shadow:var(--shadow);transform:scale(.98)}.match-score{display:inline-block;font-size:20px;font-weight:700;color:var(--primary);margin-bottom:8px}.match-tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:8px}.match-tag{padding:3px 8px;border-radius:10px;background:var(--primary-light);color:var(--primary);font-size:11px;font-weight:500}.match-comment{font-size:13px;color:var(--text-light);line-height:1.5}.match-status{margin-top:8px;display:flex;gap:8px}.match-status .interested{padding:6px 14px;border-radius:16px;border:1px solid var(--primary);background:var(--primary-light);color:var(--primary);font-size:12px;cursor:pointer;font-weight:500}.saving{opacity:.6;pointer-events:none}.time{font-size:10px;color:var(--text-muted);margin-top:3px;padding:0 4px}.redeem-result{text-align:center;padding:20px;font-size:14px}.redeem-result.success{color:#2a9d5e}.redeem-result.error{color:#e85d75}.match-filter-grid{display:flex;flex-direction:column;gap:8px}.match-filter-count{font-size:12px;color:var(--text-light);margin-top:8px}.avatar-placeholder{width:100px;height:100px;border-radius:50%;background:var(--bg-light);display:flex;flex-direction:column;align-items:center;justify-content:center;margin:0 auto;cursor:pointer;border:2px dashed var(--border);transition:border-color .2s}.avatar-placeholder:active{border-color:var(--primary)}.avatar-placeholder-icon{font-size:28px}.avatar-placeholder-text{font-size:11px;color:var(--text-light);margin-top:4px}.avatar-preview{text-align:center;margin:12px auto}.avatar-preview img{width:100px;height:100px;border-radius:50%;object-fit:cover;border:3px solid var(--primary-light)}.album-header{display:flex;justify-content:space-between;font-size:14px;font-weight:500;margin-bottom:8px}.album-count{color:var(--text-light);font-size:12px;font-weight:400}.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.match-empty p{font-size:13px;color:var(--text-light);line-height:1.5}.match-empty .btn{margin-top:16px;max-width:160px}#leaderboardPage,#historyMatchPage{position:fixed;top:0;left:0;right:0;bottom:0;z-index:100;background:var(--bg);display:flex;flex-direction:column;animation:pageIn .25s ease;max-width:480px;width:100%;margin:0 auto}#regionSettingsPage,#feedbackPage,#passwordPage,#redeemPage,#packagePage,#paymentPage{position:fixed;top:0;left:0;right:0;bottom:0;z-index:100;background:var(--bg);display:flex;flex-direction:column;max-width:480px;width:100%;margin:0 auto}.lb-loading{text-align:center;padding:40px 0;color:var(--text-light);font-size:13px}.lb-my-rank{background:linear-gradient(135deg,#f7b73120,#f9735c20);border-radius:12px;padding:0;overflow:hidden;border:1px solid rgba(249,115,92,.15)}.lb-my-rank-header{padding:10px 14px;font-size:12px;font-weight:600;color:var(--text-light);border-bottom:1px solid rgba(249,115,92,.1)}.lb-my-rank-body{padding:10px 14px;display:flex;align-items:center;justify-content:space-between}.lb-my-rank-body .lb-rank-num{font-size:20px;font-weight:700;color:var(--primary)}.lb-my-rank-body .lb-rank-num .lb-total{font-size:13px;font-weight:400;color:var(--text-light)}.lb-my-rank-body .lb-user-info{display:flex;align-items:center;gap:8px}.lb-my-rank-body .lb-user-info .lb-nickname{font-weight:600;font-size:14px}.lb-my-rank-body .lb-score{font-size:13px;color:var(--text-light)}.lb-item{display:flex;align-items:center;padding:10px 14px;background:#fff;border-radius:10px;gap:10px;border:1px solid var(--border)}.lb-item .lb-rank{width:28px;text-align:center;font-size:18px;font-weight:700;flex-shrink:0}.lb-item .lb-rank.gold{color:#f7b731}.lb-item .lb-rank.silver{color:#a8b0c0}.lb-item .lb-rank.bronze{color:#cd7f32}.lb-item .lb-rank.normal{color:var(--text-light);font-size:14px}.lb-item .lb-avatar{font-size:24px;flex-shrink:0}.lb-item .lb-info{flex:1;min-width:0}.lb-item .lb-info .lb-name{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-item .lb-info .lb-name .lb-lvl-badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:8px;background:#f9735c1f;color:var(--primary);font-size:10px;font-weight:600}.lb-item .lb-score{font-size:12px;color:var(--text-light);white-space:nowrap}.skeleton{background:linear-gradient(90deg,var(--bg, #f0f0f0) 25%,var(--card, #e8e8e8) 50%,var(--bg, #f0f0f0) 75%);background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:var(--radius-sm, 8px)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-line{height:14px;margin-bottom:10px;width:100%}.skeleton-line.w60{width:60%}.skeleton-line.w40{width:40%}.skeleton-avatar{width:44px;height:44px;border-radius:50%;flex-shrink:0}.skeleton-card{padding:16px;background:var(--card, #fff);border-radius:var(--radius-sm, 8px);margin-bottom:12px;display:flex;gap:12px;align-items:center}.skeleton-card .skeleton-text{flex:1}.state-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.state-icon{font-size:48px;margin-bottom:16px}.state-title{font-size:16px;font-weight:600;color:var(--text, #333);margin-bottom:8px}.state-desc{font-size:13px;color:var(--text-light, #999);margin-bottom:20px;line-height:1.5}.state-retry{padding:10px 24px;border-radius:var(--radius-sm, 8px);border:1.5px solid var(--primary, #f9735c);background:transparent;color:var(--primary, #f9735c);font-size:14px;cursor:pointer;transition:all .2s}.state-retry:active{transform:scale(.97);background:var(--primary, #f9735c);color:#fff}.toast-container{position:fixed;top:60px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast-item{padding:10px 20px;border-radius:var(--radius-sm, 8px);font-size:14px;color:#fff;max-width:320px;text-align:center;animation:toast-in .3s ease;pointer-events:auto}.toast-item.error{background:#e85d75}.toast-item.success{background:#10b981}.toast-item.info{background:#3b82f6}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:360px){.login-brand-area{padding:28px 16px 20px}.login-title{font-size:24px}.login-form-area{padding:20px 16px 24px}.dim-select-card{padding:12px 10px}.dim-select-card .dim-name{font-size:13px}.dim-select-card .dim-desc{font-size:10px}.conversation-item{padding:12px}.profile-card{padding:16px}.match-card{padding:12px}.album-grid{grid-template-columns:repeat(2,1fr)}.avatar-picker-grid{grid-template-columns:repeat(4,1fr)}}.report-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:340px;max-width:90vw;background:var(--card, #fff);border-radius:16px;box-shadow:0 8px 40px #0000001f;z-index:100;overflow:hidden}.report-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid var(--border, #eee)}.report-modal-title{font-size:16px;font-weight:600}.close-btn{background:none;border:none;font-size:20px;cursor:pointer;padding:0;color:var(--text-light, #999)}.report-modal-body{padding:16px 20px}.report-reason-list{display:flex;flex-direction:column;gap:8px}.report-option{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;font-size:14px;border:1px solid var(--border, #eee);transition:all .15s}.report-option:hover{background:var(--bg, #f5f0eb)}.report-option.selected{border-color:var(--primary, #f2684a);background:#f2684a0f}.report-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--border, #ddd);flex-shrink:0;transition:all .15s}.report-option.selected .report-radio{border-color:var(--primary, #f2684a);background:var(--primary, #f2684a);box-shadow:inset 0 0 0 4px #fff}.report-desc{width:100%;margin-top:12px;padding:10px 12px;border:1px solid var(--border, #eee);border-radius:8px;font-size:13px;resize:none;box-sizing:border-box;font-family:inherit}.report-desc:focus{border-color:var(--primary);outline:none}.report-error{font-size:12px;color:#e85d75;margin-top:6px;min-height:18px}.report-modal-footer{display:flex;gap:8px;padding:12px 20px 16px;justify-content:flex-end}.desktop-layout{display:none}@media(min-width:1024px){body{overflow:auto;min-height:100vh;background:#e8e2dc}.app{max-width:none!important;height:100vh;padding-top:0;box-shadow:none;width:auto!important}.bottom-nav,.mobile-only{display:none!important}.login-page{max-width:440px;margin:40px auto;border-radius:16px;box-shadow:0 2px 24px #0000000f;height:auto;min-height:auto;background:var(--card)}.login-brand-area{padding:40px 32px 20px}.login-form-area{padding:0 32px 32px}.desktop-layout{display:flex;flex-direction:row;width:1150px;height:100vh;margin:0 auto;background:var(--bg);box-shadow:0 0 40px #0000000f}.desktop-sidebar{width:280px;min-width:280px;max-width:280px;flex-shrink:0;display:flex;flex-direction:column;background:var(--card);border-right:1px solid var(--border);overflow:hidden}.desktop-user-bar{display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid var(--border);flex-shrink:0}.desktop-user-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--primary-gradient);flex-shrink:0;box-shadow:0 2px 6px #f2684a4d}.desktop-user-info{flex:1;min-width:0}.desktop-user-name{font-size:15px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.desktop-user-level{font-size:11px;color:var(--primary);font-weight:500;display:block;margin-top:1px}.desktop-user-token{font-size:12px;font-weight:600;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.desktop-user-token:before{content:"⚡";margin-right:2px}.desktop-session-scroll{flex:1;overflow-y:auto;padding:8px;min-height:0}.desktop-session-label{font-size:11px;font-weight:600;color:var(--text-muted);padding:12px 12px 4px;text-transform:uppercase;letter-spacing:.5px}.desktop-session-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;cursor:pointer;transition:background .12s;margin-bottom:2px;border-left:3px solid transparent}.desktop-session-item:hover{background:var(--bg)}.desktop-session-item.active{background:var(--primary-bg, #fef0ec);border-left-color:var(--primary)}.desktop-session-item-icon{font-size:22px;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--bg-light)}.desktop-session-item-info{flex:1;min-width:0}.desktop-session-item-name{font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.desktop-session-item-desc{font-size:11px;color:var(--text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.desktop-session-item-time{font-size:11px;color:var(--text-muted);flex-shrink:0;align-self:flex-start;margin-top:2px}.desktop-session-item-unread{min-width:18px;height:18px;border-radius:9px;background:#e85d75;color:#fff;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 5px;flex-shrink:0}.desktop-nav{display:flex;flex-direction:column;border-top:1px solid var(--border);flex-shrink:0;padding:6px 8px;gap:2px;background:var(--card)}.desktop-nav-btn{display:flex;align-items:center;gap:10px;padding:10px 14px;border:none;background:transparent;cursor:pointer;font-size:14px;color:var(--text-light);font-weight:500;border-radius:10px;transition:all .12s;font-family:inherit;text-align:left}.desktop-nav-btn:hover{background:var(--bg)}.desktop-nav-btn.active{color:var(--primary);font-weight:600;background:var(--primary-bg, #fef0ec)}.desktop-nav-btn:active{transform:scale(.97)}.desktop-main{width:870px;min-width:870px;max-width:870px;flex-shrink:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}#chatPage{flex:1;display:flex;flex-direction:column;min-height:0;max-width:none;margin:0;width:100%}#chatPage .chat-header{padding:10px 24px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--card)}#chatPage .chat-header .back-btn,#chatPage .chat-header .profile-btn{display:none}#messages{flex:1;overflow-y:auto;padding:20px 24px;max-width:700px;margin:0 auto;width:100%}#chatPage .input-area{padding:12px 24px;flex-shrink:0;max-width:700px;margin:0 auto;width:100%}#chatPage #topicCard{max-width:700px;margin:8px auto}#matchPage,#profilePage,#momentsPage,#dimensionPage,#dimensionSelectPage,#dimensionDetailPage,#leaderboardPage,#topicCardsPage,#topicPage,#taskPage,#coachChatPage,#topicHostChatPage,#conversationListPage,#matchChatPage,#matchSuccessPage,#basicInfoPage,#redeemPage,#packagePage,#paymentPage,#passwordPage,#feedbackPage,#regionSettingsPage,#topicSuggestionPage,#pinSetupPage,#pinVerifyPage,#avatarManagePage,#historyMatchPage{position:static;flex:1;display:flex;flex-direction:column;min-height:0;max-width:none;margin:0}.chat-page:not(.hidden){flex:1;display:flex;flex-direction:column;min-height:0}#welcomePage{max-width:440px;margin:40px auto;border-radius:16px;box-shadow:0 2px 24px #0000000f}}} .report-modal-footer .btn{width:auto;min-width:80px}.overlay--preview{background:#0003!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.preview-card{width:88%;max-width:380px;max-height:80vh;background:var(--card);border-radius:20px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 12px 40px #0000001f;animation:modalIn .35s cubic-bezier(.34,1.56,.64,1)}.preview-header{text-align:center;font-size:17px;font-weight:700;color:var(--text);padding:22px 20px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.preview-scroll{flex:1;overflow-y:auto;padding:16px 20px 8px;line-height:1.8;font-size:14px;color:var(--text);white-space:pre-wrap;word-break:break-word}.preview-scroll .highlight{color:var(--primary);font-weight:600}.preview-scroll .dim-section{margin-bottom:12px}.preview-scroll .dim-icon{margin-right:4px}.preview-scroll .suggest-title{margin-top:16px;padding-top:14px;border-top:1px solid var(--border);font-weight:600;font-size:14px;color:var(--primary-dark)}.preview-scroll .suggest-item{color:var(--text-light);font-size:13px;margin-top:4px}.preview-close-btn{flex-shrink:0;margin:4px 20px 18px;padding:10px;border:none;border-radius:12px;background:var(--bg);color:var(--text-light);font-size:14px;font-weight:500;cursor:pointer;font-family:inherit;transition:background .12s}.preview-close-btn:hover{background:#f0ece8}.preview-close-btn:active{transform:scale(.97)}.match-heat-bar{padding:6px 14px 4px;background:var(--card, #fff);border-bottom:1px solid var(--border, #eee)}.heat-progress{height:4px;background:var(--border, #eee);border-radius:2px;overflow:hidden}.heat-progress-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#ef4444);border-radius:2px;transition:width .4s ease}.heat-labels{display:flex;justify-content:space-between;font-size:11px;color:var(--text-light, #999);margin-top:3px}.heat-unlock{color:#f59e0b}.heat-progress{position:relative}.heat-milestones{position:absolute;top:-8px;left:0;right:0;height:0;pointer-events:none}.heat-milestone{position:absolute;transform:translate(-50%);font-size:13px;cursor:pointer;pointer-events:auto;transition:transform .15s;filter:grayscale(.6);opacity:.6}.heat-milestone:hover{transform:translate(-50%) scale(1.3);filter:none;opacity:1}.heat-milestone.reached{filter:none;opacity:1}.heat-milestone.current{filter:none;opacity:1;animation:pulse_milestone 1.5s ease infinite}@keyframes pulse_milestone{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.25)}}.heat-milestone-labels{display:flex;position:relative;height:0;margin-top:-2px}.heat-milestone-labels span{position:absolute;transform:translate(-50%);font-size:9px;color:var(--text-light, #999);white-space:nowrap}.heat-milestone-detail{margin-top:6px;padding:8px 10px;background:var(--bg, #f5f5f5);border-radius:8px;font-size:11px;cursor:pointer;transition:background .12s}.heat-milestone-detail:hover{background:#fefce8}.heat-milestone-detail-title{font-size:11px;font-weight:600;color:var(--text, #333);margin-bottom:4px}.hms-item{padding:2px 0;font-size:11px}.hms-item.unlocked{color:#52c41a}.hms-item.locked{color:var(--text-light, #999)}.icebreaker-panel{padding:12px 14px 8px;border-top:1px solid var(--border, #eee);background:var(--card, #fff)}.icebreaker-header{font-size:13px;font-weight:600;color:var(--text, #333);margin-bottom:8px}.icebreaker-cards{display:flex;flex-direction:column;gap:8px}.icebreaker-card{background:#fefce8;border:1px solid #fde68a;border-radius:10px;padding:10px 14px;cursor:pointer;transition:transform .12s,box-shadow .12s}.icebreaker-card:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.icebreaker-card:active{transform:scale(.98)}.icebreaker-card-title{font-size:12px;font-weight:600;color:#92400e;margin-bottom:3px}.icebreaker-card-text{font-size:13px;color:#78350f;line-height:1.4}.icebreaker-card-tags{display:flex;gap:4px;margin-top:5px;flex-wrap:wrap}.icebreaker-tag{font-size:10px;background:#fde68a;color:#92400e;padding:1px 6px;border-radius:4px}.icebreaker-refresh{width:100%;margin-top:8px;padding:6px;border:1px dashed var(--border, #ddd);border-radius:8px;background:transparent;color:var(--text-light, #999);font-size:12px;cursor:pointer;font-family:inherit;transition:background .12s}.icebreaker-refresh:hover{background:var(--bg, #f5f5f5)}.topic-suggestion{padding:6px 14px;border-bottom:1px solid var(--border, #eee);background:#f0fdf4}.topic-suggestion-header{font-size:11px;color:#166534;font-weight:600;margin-bottom:5px}.topic-suggestion-list{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}.topic-suggestion-list::-webkit-scrollbar{display:none}.topic-suggestion-item{flex-shrink:0;padding:4px 12px;border-radius:14px;font-size:12px;background:#dcfce7;color:#166534;cursor:pointer;white-space:nowrap;transition:background .12s;font-family:inherit;border:none}.topic-suggestion-item:hover{background:#bbf7d0}.topic-suggestion-item:active{transform:scale(.96)}.reply-assist-btns{display:flex;justify-content:center;padding:4px 14px 6px;background:var(--card, #fff)}.reply-assist-btn{padding:5px 16px;border-radius:14px;border:1px solid var(--primary, #e75480);background:transparent;color:var(--primary, #e75480);font-size:12px;cursor:pointer;font-family:inherit;transition:all .12s}.reply-assist-btn:hover{background:var(--primary, #e75480);color:#fff}.reply-suggestions{background:var(--card, #fff);border-top:1px solid var(--border, #eee);padding:8px 14px 10px;animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.reply-suggestions-header{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;color:var(--text, #333);margin-bottom:6px}.reply-suggestions-close{background:none;border:none;font-size:16px;cursor:pointer;color:var(--text-light, #999);padding:0;line-height:1}.reply-suggestions-list{display:flex;flex-direction:column;gap:6px}.reply-suggestion-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border, #eee);border-radius:8px;cursor:pointer;transition:background .12s,border-color .12s}.reply-suggestion-item:hover{background:#fefce8;border-color:#fde68a}.reply-suggestion-item:active{transform:scale(.99)}.reply-suggestion-label{flex-shrink:0;font-size:11px;background:var(--primary, #e75480);color:#fff;padding:2px 8px;border-radius:10px;font-weight:600}.reply-suggestion-text{font-size:13px;color:var(--text, #333);line-height:1.3}.reply-suggestions-footnote{font-size:10px;color:var(--text-light, #999);text-align:center;margin-top:6px}.mc-header-mobile{display:flex;align-items:center;height:48px;padding:0 12px;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:10}.mc-back-btn{font-size:22px;background:none;border:none;cursor:pointer;padding:0 8px 0 0;line-height:1}.mc-header-center{flex:1;text-align:center}.mc-header-name{font-size:16px;font-weight:600;color:#1f2937;display:block;line-height:1.2}.mc-header-score{font-size:11px;color:#f59e0b}.mc-report-btn{font-size:18px;background:none;border:none;cursor:pointer;padding:0 0 0 8px}.mc-desktop-layout{display:flex;flex:1;min-height:0;height:100%}.mc-main-area{flex:1;display:flex;flex-direction:column;min-width:0}.mc-heat-area{padding:8px 14px;background:#fff;border-bottom:1px solid #f3f4f6;cursor:pointer}.mc-heat-row{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:#374151}.mc-heat-num{color:#f59e0b;margin-left:auto}.mc-heat-toggle{font-size:10px;color:#9ca3af;transition:transform .2s}.mc-heat-toggle.open{transform:rotate(180deg)}.mc-heat-content{margin-top:6px}.mc-heat-track{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.mc-heat-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#ef4444);border-radius:3px;transition:width .5s}.mc-heat-milestone{font-size:11px;color:#9ca3af;margin-top:4px}.mc-contact-prompt{margin-top:6px;padding:6px 10px;background:#fef3c7;border-radius:8px;font-size:12px;color:#92400e;cursor:pointer;text-align:center}.mc-heat-detail{margin-top:6px;padding:6px 10px;background:#f9fafb;border-radius:8px}.mc-hd-item{font-size:11px;padding:2px 0}.mc-hd-item.unlocked{color:#52c41a}.mc-hd-item.locked{color:#9ca3af}.mc-messages{flex:1;overflow-y:auto;padding:10px 14px;display:flex;flex-direction:column;gap:8px;background:#f5f6f8}.mc-msg{display:flex;flex-direction:column;max-width:80%}.mc-msg.mine{align-self:flex-end;align-items:flex-end}.mc-msg.theirs{align-self:flex-start;align-items:flex-start}.mc-msg.system{align-self:center;text-align:center}.mc-msg-bubble{padding:8px 14px;border-radius:14px;font-size:15px;line-height:1.5;word-break:break-word}.mc-msg.mine .mc-msg-bubble{background:#f59e0b;color:#fff;border-bottom-right-radius:4px}.mc-msg.theirs .mc-msg-bubble{background:#fff;border:1px solid #e5e7eb;border-bottom-left-radius:4px;color:#1f2937}.mc-msg.system .mc-msg-bubble{background:#f3f4f6;font-size:12px;color:#6b7280;padding:4px 12px;border-radius:10px}.mc-msg-time{font-size:10px;color:#9ca3af;margin-top:2px;padding:0 4px}.mc-icebreaker{padding:12px 14px;background:#fff;border-top:1px solid #e5e7eb}.mc-ice-header{font-size:13px;font-weight:600;color:#374151;margin-bottom:8px}.mc-ice-cards{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}.mc-ice-cards::-webkit-scrollbar{display:none}.mc-ice-card{flex-shrink:0;width:160px;padding:10px 12px;background:#fefce8;border:1px solid #fde68a;border-radius:10px;cursor:pointer;transition:transform .12s}.mc-ice-card:active{transform:scale(.97)}.mc-ice-card-title{font-size:11px;font-weight:600;color:#92400e}.mc-ice-card-text{font-size:13px;color:#78350f;margin-top:2px;line-height:1.4}.mc-ice-actions{display:flex;gap:8px;margin-top:8px}.mc-ice-btn{flex:1;padding:8px;border-radius:8px;font-size:13px;cursor:pointer;font-family:inherit;border:none;transition:all .12s}.mc-ice-send{background:#f59e0b;color:#fff}.mc-ice-send:hover{background:#d97706}.mc-ice-write{background:#f3f4f6;color:#374151}.mc-ice-write:hover{background:#e5e7eb}.mc-ice-collapsed{padding:6px 14px;background:#fefce8;font-size:12px;color:#92400e;cursor:pointer;text-align:center;border-top:1px solid #fde68a}.mc-topics-mobile{padding:6px 14px;background:#fff;border-top:1px solid #f3f4f6;display:none}@media(max-width:1023px){.mc-topics-mobile{display:flex}}.mc-topics-scroll{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;flex:1}.mc-topics-scroll::-webkit-scrollbar{display:none}.mc-topic-chip{flex-shrink:0;padding:5px 12px;background:#f0f7ff;border-radius:16px;font-size:12px;color:#4a6fa5;cursor:pointer;white-space:nowrap;border:none;font-family:inherit;transition:background .12s}.mc-topic-chip:hover{background:#dbeafe}.mc-topic-chip:active{transform:scale(.96)}.mc-input-area{padding:8px 12px;background:#fff;border-top:1px solid #e5e7eb;display:flex;align-items:center;gap:6px}.mc-input{flex:1;height:36px;border:1px solid #e5e7eb;border-radius:18px;padding:0 14px;font-size:14px;outline:none;font-family:inherit}.mc-input:focus{border-color:#f59e0b}.mc-ai-btn{width:36px;height:36px;border-radius:50%;border:1px solid #e5e7eb;background:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .12s}.mc-ai-btn:hover{border-color:#f59e0b;background:#fffbeb}.mc-info-panel{width:280px;flex-shrink:0;overflow-y:auto;padding:14px;background:#fafbfc;border-left:1px solid #e5e7eb;display:none}@media(min-width:1024px){.mc-info-panel{display:block}}.mc-info-section{margin-bottom:16px}.mc-info-title{font-size:13px;font-weight:600;color:#374151;margin-bottom:8px}.mc-info-block{padding:10px;border-radius:10px;margin-bottom:8px;font-size:12px;line-height:1.6}.mc-info-block.unlocked{background:#f0fdf4;border:1px solid #bbf7d0}.mc-info-block.pending{background:#fffbeb;border:1px solid #fde68a}.mc-info-block.locked{background:#f9fafb;border:1px solid #e5e7eb;color:#9ca3af}.mc-info-block-title{font-weight:600;margin-bottom:4px}.mc-info-progress{height:4px;background:#e5e7eb;border-radius:2px;margin:4px 0;overflow:hidden}.mc-info-fill{height:100%;background:linear-gradient(90deg,#f59e0b,#ef4444);border-radius:2px;transition:width .4s}.mc-topics-desktop{display:flex;flex-direction:column;gap:6px}.mc-topic-desk-card{padding:8px 10px;background:#f0f7ff;border-radius:8px;cursor:pointer;transition:background .12s}.mc-topic-desk-card:hover{background:#dbeafe}.mc-topic-desk-title{font-size:12px;font-weight:600;color:#1e40af}.mc-topic-desk-desc{font-size:11px;color:#6b7280;margin-top:2px}.mc-refresh-topics{width:100%;margin-top:6px;padding:5px;border:1px dashed #d1d5db;border-radius:6px;background:transparent;font-size:11px;cursor:pointer;color:#9ca3af;font-family:inherit}.mc-refresh-topics:hover{background:#f9fafb}.mc-info-actions{display:flex;flex-direction:column;gap:6px}.mc-action-btn{width:100%;padding:8px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;font-size:12px;cursor:pointer;font-family:inherit;transition:all .12s}.mc-action-btn:hover{background:#f9fafb}.mc-action-end{color:#ef4444;border-color:#fca5a5}.mc-action-end:hover{background:#fef2f2}.mc-ai-overlay{position:fixed;bottom:0;left:0;right:0;z-index:100;display:flex;align-items:flex-end;justify-content:center}.mc-ai-panel{width:100%;max-width:400px;background:#fff;border-radius:16px 16px 0 0;box-shadow:0 -4px 20px #0000001a;padding:14px;animation:mcSlideUp .2s ease}@keyframes mcSlideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.mc-ai-header{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;color:#374151;margin-bottom:10px}.mc-ai-close{background:none;border:none;font-size:18px;cursor:pointer;color:#9ca3af;padding:0;line-height:1}.mc-ai-list{display:flex;flex-direction:column;gap:6px}.mc-ai-loading{text-align:center;padding:12px;font-size:12px;color:#9ca3af}.mc-ai-suggestion{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .12s}.mc-ai-suggestion:hover{border-color:#fde68a;background:#fefce8}.mc-ai-label{flex-shrink:0;font-size:10px;background:#f59e0b;color:#fff;padding:2px 8px;border-radius:10px;font-weight:600}.mc-ai-text{flex:1;font-size:13px;color:#374151;line-height:1.4}.mc-ai-actions{display:flex;gap:4px;flex-shrink:0}.mc-ai-send-btn,.mc-ai-edit-btn{font-size:11px;padding:3px 8px;border-radius:6px;border:none;cursor:pointer;font-family:inherit}.mc-ai-send-btn{background:#f59e0b;color:#fff}.mc-ai-edit-btn{background:#f3f4f6;color:#374151}.mc-ai-footnote{font-size:10px;color:#9ca3af;text-align:center;margin-top:8px}.mc-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:200;display:flex;align-items:center;justify-content:center}.mc-modal{width:90%;max-width:360px;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 8px 30px #00000026}.mc-modal-header{padding:14px 16px;font-size:15px;font-weight:600;border-bottom:1px solid #e5e7eb;color:#1f2937}.mc-modal-body{padding:14px 16px;font-size:13px;color:#4b5563;line-height:1.6}.mc-modal-body ul{margin:6px 0;padding-left:18px}.mc-modal-body p{margin:6px 0}.mc-modal-footer{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #f3f4f6}.mc-modal-btn{flex:1;padding:10px;border-radius:8px;font-size:14px;cursor:pointer;font-family:inherit;border:1px solid #e5e7eb;background:#fff;transition:all .12s}.mc-modal-btn:hover{background:#f9fafb}.mc-modal-primary{background:#f59e0b;color:#fff;border-color:#f59e0b}.mc-modal-primary:hover{background:#d97706}.mc-modal-danger{background:#ef4444;color:#fff;border-color:#ef4444}.mc-modal-danger:hover{background:#dc2626}.mc-report-reasons{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.mc-report-option{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}.mc-report-option input[type=radio]{accent-color:#f59e0b}.mc-report-desc{width:100%;border:1px solid #e5e7eb;border-radius:8px;padding:8px;font-size:12px;resize:vertical;font-family:inherit;box-sizing:border-box}.mc-report-error{color:#ef4444;font-size:12px;margin-top:4px}@media(min-width:1024px){.mc-header-mobile{display:none}}@media(max-width:1023px){.mc-info-panel{display:none}}.topic-history-list{display:flex;flex-direction:column;gap:12px;padding:12px 16px}.topic-history-card{background:#fff;border-radius:12px;padding:16px;box-shadow:0 1px 3px #0000000f;border:1px solid var(--border);transition:box-shadow .15s}.topic-history-card:hover{box-shadow:0 2px 8px #00000014}.topic-date{font-size:12px;color:#9ca3af;margin-bottom:8px}.topic-summary{display:flex;align-items:center;gap:8px;cursor:pointer;flex-wrap:wrap}.topic-title-text{font-size:15px;font-weight:500;color:var(--text, #1f2937);flex:1;min-width:0}.topic-stance-badge{font-size:12px;padding:2px 8px;background:var(--bg, #f3f4f6);border-radius:10px;white-space:nowrap}.topic-participants{font-size:12px;color:#9ca3af;white-space:nowrap}.expand-hint{font-size:12px;color:var(--primary, #f59e0b);width:100%;margin-top:4px;text-align:right}.topic-detail{margin-top:12px;padding-top:12px;border-top:1px solid var(--border, #f3f4f6)}.topic-stats{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.stat-row{display:flex;align-items:center;gap:8px;font-size:13px}.stat-label{width:48px;flex-shrink:0;color:var(--text, #374151)}.stat-bar-bg{flex:1;height:8px;background:var(--bg, #f3f4f6);border-radius:4px;overflow:hidden}.stat-bar-fill{height:100%;border-radius:4px;transition:width .4s ease}.stat-bar-fill.green{background:#10b981}.stat-bar-fill.red{background:#ef4444}.stat-bar-fill.yellow{background:#f59e0b}.stat-pct{width:36px;text-align:right;font-size:12px;color:var(--text-light, #6b7280)}.topic-viewpoint{margin-top:12px;padding:10px 12px;background:var(--bg, #f9fafb);border-radius:8px}.viewpoint-label{font-size:12px;color:var(--text-light, #9ca3af);margin-bottom:4px}.viewpoint-text{font-size:14px;color:var(--text, #374151);line-height:1.6;word-break:break-word}.topic-history-card.collapsed .topic-detail{display:none}.topic-match-section{margin-bottom:16px}.topic-match-entry{background:linear-gradient(135deg,#fef3e8,#fff);border:1px solid #fde8d0;border-radius:14px;padding:16px;box-shadow:0 2px 8px #f973160f}.topic-match-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.topic-match-badge{font-size:20px}.topic-match-title{font-size:15px;font-weight:600;color:#1f2937}.topic-match-free-badge{margin-left:auto;font-size:11px;padding:2px 8px;background:#fef3c7;color:#92400e;border-radius:10px;font-weight:500}.topic-match-desc{font-size:13px;color:#6b7280;margin-bottom:10px;line-height:1.5}.topic-match-status{font-size:12px;margin-bottom:10px}.topic-match-hint{display:inline-block;padding:4px 10px;background:#f3f4f6;border-radius:8px;color:#6b7280}.topic-match-hint.error{background:#fef2f2;color:#dc2626}.topic-match-btn{width:100%;padding:10px!important;font-size:14px!important}.topic-match-result{background:#fff;border-radius:14px;padding:14px;margin-top:12px;box-shadow:0 2px 8px #0000000f}.topic-match-result-header{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:600;color:#1f2937;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #f3f4f6}.topic-match-result-meta{font-size:11px;color:#9ca3af;font-weight:400}.topic-match-card{background:#fafafa;border:1px solid #f0f0f0;border-radius:12px;padding:14px;margin-bottom:12px;transition:all .2s}.topic-match-card:last-child{margin-bottom:0}.topic-match-card:hover{border-color:#fde8d0;box-shadow:0 2px 8px #f9731614}.tmc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.tmc-badge{font-size:12px;font-weight:600;color:#f59e0b}.tmc-score{font-size:20px;font-weight:700}.tmc-score-unit{font-size:12px;font-weight:400}.tmc-topics{margin-bottom:10px}.tmc-topics-label{font-size:12px;color:#6b7280;margin-bottom:6px}.tmc-topics-list{display:flex;flex-wrap:wrap;gap:6px}.tmc-topic-tag{font-size:11px;padding:3px 8px;background:#fef3c7;color:#92400e;border-radius:8px;white-space:nowrap}.tmc-comment{font-size:13px;color:#374151;line-height:1.5;margin-bottom:8px;padding:8px 10px;background:#fff;border-radius:8px;border-left:3px solid #f59e0b}.tmc-reasons{margin-bottom:10px}.tmc-reason{font-size:12px;color:#6b7280;line-height:1.6;padding-left:4px}.tmc-stance-bar{display:flex;align-items:center;gap:8px;margin-bottom:10px}.tmc-stance-label{font-size:11px;color:#9ca3af;white-space:nowrap}.tmc-stance-track{flex:1;height:6px;background:#f3f4f6;border-radius:3px;overflow:hidden}.tmc-stance-fill{height:100%;border-radius:3px;transition:width .5s ease}.tmc-stance-pct{font-size:11px;color:#6b7280;width:32px;text-align:right}.tmc-actions{display:flex;gap:8px}.topic-match-loading{text-align:center;padding:32px 16px;background:#fff;border-radius:14px;margin-top:12px}.topic-match-loading-spinner{width:32px;height:32px;border:3px solid #f3f4f6;border-top-color:#f59e0b;border-radius:50%;animation:tmc-spin .8s linear infinite;margin:0 auto 12px}@keyframes tmc-spin{to{transform:rotate(360deg)}}.topic-match-loading-text{font-size:14px;color:#374151;margin-bottom:4px}.topic-match-loading-sub{font-size:12px;color:#9ca3af}.topic-match-empty{text-align:center;padding:32px 16px;background:#fff;border-radius:14px;margin-top:12px}.topic-match-empty-icon{font-size:40px;margin-bottom:10px}.topic-match-empty-title{font-size:15px;font-weight:500;color:#374151;margin-bottom:4px}.topic-match-empty-sub{font-size:12px;color:#9ca3af;line-height:1.5;margin-bottom:16px;max-width:280px;margin-left:auto;margin-right:auto}.topic-match-empty-actions{display:flex;gap:8px;justify-content:center}.vp-overlay-card{background:#fff;border-radius:16px;width:90%;max-width:420px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #00000026}.vp-overlay-header{display:flex;align-items:center;justify-content:space-between;padding:16px;font-size:16px;font-weight:600;border-bottom:1px solid #f3f4f6}.vp-close-btn{background:none;border:none;font-size:18px;cursor:pointer;color:#9ca3af;padding:4px 8px;border-radius:6px}.vp-close-btn:hover{background:#f3f4f6;color:#374151}.vp-overlay-scroll{flex:1;overflow-y:auto;padding:16px}.vp-card{background:#fafafa;border-radius:12px;padding:14px;border:1px solid #f0f0f0}.vp-card-gap{margin-top:12px}.vp-card-title{font-size:14px;font-weight:600;color:#1f2937;margin-bottom:10px}.vp-card-rows{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.vp-card-row{display:flex;gap:8px;align-items:flex-start}.vp-label{font-size:11px;font-weight:600;padding:2px 8px;border-radius:6px;flex-shrink:0;margin-top:1px}.vp-label-you{background:#ede9fe;color:#6d28d9}.vp-label-them{background:#fef3c7;color:#92400e}.vp-text{font-size:13px;color:#374151;line-height:1.5;word-break:break-word}.vp-consistency{font-size:12px;font-weight:500;text-align:center;padding:6px 10px;background:#f0fdf4;border-radius:8px;color:#16a34a}#verificationPage .profile-section{padding:20px}#verificationPage .bi-row{padding:10px 4px}#verificationPage .bi-row label{font-size:13px;color:var(--text-light);margin-bottom:4px;display:block}#verificationPage .bi-row input{width:100%;padding:12px;border:1.5px solid var(--border);border-radius:10px;font-size:14px;outline:none;transition:border .2s;color:var(--text)}#verificationPage .bi-row input:focus{border-color:var(--primary)}.match-gate{background:#fff;border-radius:16px;padding:24px 20px;text-align:center;margin:20px 0;box-shadow:0 2px 12px #0000000f}.match-gate-icon{font-size:40px;margin-bottom:8px}.match-gate-title{font-size:17px;font-weight:700;margin-bottom:6px;color:var(--text)}.match-gate-desc{font-size:13px;color:var(--text-light);margin-bottom:12px}.match-gate-benefits{text-align:left;background:var(--bg);border-radius:12px;padding:12px 16px;font-size:13px;line-height:2;margin-bottom:4px}.match-gate-benefit{color:var(--text)}.match-gate-progress{text-align:left;font-size:12px;color:var(--text-light);line-height:1.8}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{opacity:0;width:0;height:0}.switch-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:#ccc;border-radius:24px;transition:.3s}.switch-slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}.switch input:checked+.switch-slider{background:var(--primary)}.switch input:checked+.switch-slider:before{transform:translate(20px)}.switch input:disabled+.switch-slider{opacity:.5;cursor:not-allowed}#__vconsole,.vc-container,[class*=vconsole]{display:none!important}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:300;display:flex;align-items:center;justify-content:center;animation:overlayIn .2s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.overlay--bottom{align-items:flex-end}.overlay--guide{z-index:500;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.overlay--top{z-index:200;align-items:flex-start;padding-top:20px}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.modal-box{background:var(--card);animation:modalIn .3s cubic-bezier(.34,1.56,.64,1);box-shadow:0 16px 48px #00000026}.modal-box--center{width:88%;max-width:400px;max-height:80vh;border-radius:18px;display:flex;flex-direction:column;overflow:hidden}.modal-box--bottom{width:100%;max-width:480px;max-height:85vh;border-radius:20px 20px 0 0;overflow-y:auto;padding:20px;padding-bottom:calc(20px + env(safe-area-inset-bottom))}.modal-box--guide{width:88%;max-width:360px;border-radius:24px;padding:32px 24px 24px;text-align:center}.modal-box--nopad{padding:0}@keyframes modalIn{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}.modal-hd{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 12px;border-bottom:1px solid var(--border)}.modal-hd h3{font-size:17px;font-weight:700}.modal-close{background:none;border:none;cursor:pointer;font-size:20px;color:#bbb;padding:2px 6px;line-height:1}.modal-close:active{color:var(--text-light)}.modal-body{flex:1;overflow-y:auto;padding:16px 20px}.modal-body p{font-size:13px;color:var(--text);line-height:1.7;margin-bottom:12px}.modal-footer{padding:12px 20px 20px}.toast{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:250;background:var(--text);color:#fff;padding:12px 24px;border-radius:24px;font-size:14px;box-shadow:0 4px 20px #00000026;animation:toastIn .3s ease;pointer-events:none;transition:opacity .3s ease,transform .3s ease}.toast.warn{background:var(--primary)}.toast.error{background:#e85d75}.toast.success{background:#2a9d5e}.toast.out{opacity:0;transform:translate(-50%) translateY(-10px)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}body:has(#desktopLayout:not(.hidden)){overflow:auto;height:auto;min-height:100vh;background:#f5f0eb}body:has(#desktopLayout:not(.hidden)) .app{max-width:860px;margin:0 auto;height:100vh;padding-top:56px;padding-bottom:0;box-shadow:0 0 40px #0000000a;background:var(--bg)}body:has(#desktopLayout:not(.hidden)) .bottom-nav{position:fixed;top:0;bottom:auto;left:50%;transform:translate(-50%);width:100%;max-width:860px;height:56px;padding:0 8px;display:flex;align-items:center;justify-content:center;background:var(--card);border-top:none;border-bottom:1px solid var(--border);z-index:200;box-shadow:0 1px 4px #0000000a;gap:0}body:has(#desktopLayout:not(.hidden)) .nav-item{flex:1;max-width:130px;height:100%;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;border:none;background:transparent;color:var(--text-muted);font-size:14px;font-weight:500;transition:color .2s,background .15s;position:relative;border-radius:8px}body:has(#desktopLayout:not(.hidden)) .nav-item:hover{background:var(--primary-bg)}body:has(#desktopLayout:not(.hidden)) .nav-item .icon svg{width:20px;height:20px}body:has(#desktopLayout:not(.hidden)) .nav-item .nav-label{font-size:14px}body:has(#desktopLayout:not(.hidden)) .nav-item.active{color:var(--primary);font-weight:600}body:has(#desktopLayout:not(.hidden)) .nav-item .badge{position:absolute;top:6px;right:calc(50% - 45px)}.chat-page{animation:none!important}#desktopMain .chat-page{flex:1;min-height:0;width:100%;max-width:none;margin:0}#desktopMain .chat-header{width:100%;padding:12px 24px;border-bottom:1px solid var(--border);background:var(--card);flex-shrink:0}#desktopMain .chat-header .back-btn{display:inline-flex}#desktopMain .profile-page-content,#desktopMain .match-page-content,#desktopMain #dimensionPageContent,#desktopMain #topicCardsContent,#desktopMain .dimension-detail-content,#desktopMain .detail-content,#desktopMain #paymentContent,#desktopMain #historyMatchContent,#desktopMain .conversation-list,#desktopMain .moments-feed,#desktopMain .basic-info-form,#desktopMain #messages,#desktopMain .input-area{max-width:700px;margin:0 auto;width:100%}#desktopMain #leaderboardPage,#desktopMain #historyMatchPage,#desktopMain #regionSettingsPage,#desktopMain #feedbackPage,#desktopMain #passwordPage,#desktopMain #redeemPage,#desktopMain #packagePage,#desktopMain #paymentPage,#desktopMain #memoriesPage{position:relative!important;inset:auto!important;z-index:auto!important;flex:1;display:flex;flex-direction:column;min-height:0;overflow-y:auto;animation:none!important;margin:16px;border-radius:12px;background:#fff;box-shadow:0 1px 3px #0000000f}#messages,.messages{flex:1;overflow-y:auto;padding:20px 24px}.msg-bubble{max-width:85%}.input-area{padding:12px 24px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}.input-area textarea{padding:12px 20px;font-size:15px}.conversation-list{flex:1;overflow-y:auto;padding:8px 0}.conversation-item{padding:16px 24px;margin:0 8px;border-radius:12px}.profile-page-content{padding:20px 24px;gap:16px}.profile-card{padding:24px 20px;gap:16px}.profile-info{flex:1;min-width:0}.profile-token{min-width:80px;padding:10px 20px}.profile-token b{font-size:22px}#profilePage .profile-section{padding:20px}.profile-menu-item{padding:16px 24px;font-size:15px}#matchPage .match-card{max-width:100%;margin:0 8px 16px}.moments-feed{max-width:600px;margin:0 auto;padding:16px 24px}.login-page{max-width:400px;margin:12vh auto;height:auto;min-height:auto;flex:none;align-self:center;background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:40px 36px}.login-brand-icon svg{width:64px;height:64px}.welcome-page{display:flex;align-items:center;justify-content:center;height:calc(100vh - 56px)}.basic-info-form{max-width:500px;margin:0 auto;padding:16px 0}.bi-row{padding:10px 4px}#reportDialog{max-width:500px;margin:0 auto}#pinSetupPage,#pinVerifyPage{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:32px 28px}.overlay{display:flex;align-items:center;justify-content:center;background:#0000004d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal-box{max-width:480px;width:90%;border-radius:var(--radius-lg)}#guideOverlay .modal-box{max-width:420px}#lv2GateOverlay .modal-box{max-width:380px}#avatarPickerOverlay .modal-box,#avatarMenuOverlay .modal-box{max-width:360px}.topic-card{max-width:500px;margin:12px auto}.chat-header-info{flex:1}.msg-time{font-size:11px}.date-divider{margin:20px 0}.skeleton-card{max-width:600px;margin:0 auto}.topic-history-list{padding:8px 0}.topic-history-item{padding:16px 0;border-bottom:1px solid #f3f4f6}.topic-history-item:last-child{border-bottom:none}.topic-history-question{font-size:15px;font-weight:500;color:#1f2937;line-height:1.5;margin-bottom:8px}.topic-history-meta{display:flex;align-items:center;gap:10px;font-size:12px}.topic-history-stance{display:inline-block;padding:2px 10px;border-radius:10px;background:#fef0ec;color:#e05538;font-weight:500}.topic-history-points{color:#8a7e74;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.topic-history-date{color:#b8aea4;flex-shrink:0}#desktopLayout{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#f5f0eb;display:flex;align-items:flex-start;justify-content:center}#desktopLayout.hidden{display:none!important}.desktop-layout-inner{width:100%;max-width:1150px;height:100vh;display:flex;background:var(--bg);box-shadow:0 0 40px #0000000f}.desktop-sidebar{width:280px;flex-shrink:0;background:var(--card);border-right:1px solid var(--border);display:flex;flex-direction:column;height:100vh}.desktop-userbar{display:flex;align-items:center;gap:12px;padding:20px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.desktop-userbar-avatar{width:44px;height:44px;border-radius:12px;background:var(--primary-bg);display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}.desktop-userbar-info{flex:1;min-width:0}.desktop-userbar-name{font-size:15px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.desktop-userbar-level{font-size:12px;color:var(--text-muted);margin-top:2px}.desktop-sidebar-scroll{flex:1;overflow-y:auto;padding:8px 0}.desktop-session-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;padding:12px 16px 6px}.desktop-session-item{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;border-radius:8px;margin:1px 6px;transition:background .15s}.desktop-session-item:hover{background:var(--primary-bg)}.desktop-session-item.active{background:var(--primary-bg);color:var(--primary);font-weight:600}.desktop-session-item-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.desktop-session-item-info{flex:1;min-width:0}.desktop-session-item-name{font-size:14px;font-weight:500;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.desktop-session-item-desc{font-size:11px;color:var(--text-light);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.desktop-main{flex:1;overflow-y:auto;background:var(--bg);display:flex;flex-direction:column;min-height:0}.desktop-main>*{flex-shrink:0}body:has(#desktopLayout:not(.hidden)) #chatPage .chat-header .back-btn,body:has(#desktopLayout:not(.hidden)) #matchPage .chat-header .back-btn{display:none!important}body:has(#desktopLayout:not(.hidden)) #chatPage.chat-page--cs .chat-header .back-btn{display:inline-flex!important}
