:root{color-scheme:dark;--bg: #101916;--bg-soft: #15201c;--surface: #1b2722;--surface-2: #26372e;--bubble-theirs: #23312a;--cream: #cbbb99;--cream-dark: #22291e;--line: rgba(207, 219, 194, .085);--line-strong: rgba(207, 219, 194, .19);--text: #e8e9df;--text-soft: #b5bdb0;--text-mute: #8c9a8d;--flame: #b7c9a6;--jade: #adbf9e;--danger: #e39b8c;--serif: "Songti SC", "STSong", "Noto Serif SC", Georgia, serif;--sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Segoe UI", sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;min-height:100%}body{background:#0b110e;color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.65;-webkit-font-smoothing:antialiased;overscroll-behavior:none}#root{display:flex;align-items:flex-start;justify-content:center;background:var(--bg)}button,input,textarea{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit;-webkit-tap-highlight-color:transparent;transition:background .2s,color .2s,border-color .2s,opacity .2s}button,a,input,textarea{touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible{outline:2px solid var(--cream);outline-offset:4px}input,textarea{color:inherit;min-width:0}a{color:var(--cream);text-decoration:none}svg{flex-shrink:0;vertical-align:middle}::selection{background:#57664b;color:#fff}.app{width:100%;max-width:480px;height:100dvh;height:var(--app-height, 100dvh);display:flex;flex-direction:column;position:relative;background:var(--bg);overflow:hidden}.page{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.page-scroll{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--surface-2) transparent}.page-scroll>.empty-state{min-height:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:12px 22px;border-radius:9px;font-size:14px;letter-spacing:.06em}.btn-primary,.btn-gold{background:var(--cream);color:var(--cream-dark);font-weight:600}.btn-primary:not(:disabled):hover,.btn-gold:not(:disabled):hover{background:#ddceb0}.btn-ghost{border:1px solid var(--line-strong);color:var(--cream)}.btn-ghost:hover{background:var(--surface);border-color:#77816a}.field{width:100%;background:#131e19;border:1px solid var(--line-strong);border-radius:8px;padding:13px 16px;outline:none;font-size:16px;transition:border-color .2s,box-shadow .2s}.field:focus{border-color:#a5ac8b;box-shadow:0 0 0 3px #cbbb9910}.field::placeholder{color:#778778;font-size:14px}.field-label{color:var(--text-soft);font-size:12px;letter-spacing:.08em;margin-top:14px}.field-label span{color:var(--text-mute);margin-left:6px;font-size:11px}.eyebrow{font-size:9px;letter-spacing:.23em;color:var(--text-mute);font-weight:500}.muted{color:var(--text-mute)}.error-text{color:var(--danger);font-size:12px;min-height:20px}.brand-lockup{display:flex;align-items:center;gap:10px;color:var(--cream)}.brand-lockup>span{font:22px var(--serif);letter-spacing:.2em}.brand-lockup small{display:block;font:8px var(--sans);letter-spacing:.25em;margin-top:4px}.auth-page{flex:1;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;padding:max(48px,env(safe-area-inset-top)) 28px max(24px,env(safe-area-inset-bottom));background:radial-gradient(ellipse at 50% 0,#25342670,transparent 55%)}.auth-brand{margin-bottom:40px;text-align:center}.auth-brand .brand-lockup{flex-direction:column;gap:14px}.auth-brand .brand-lockup>svg{width:40px;height:40px}.auth-brand .brand-lockup>span{font-size:30px;text-indent:.2em}.auth-brand .brand-lockup small{margin-top:10px;font-size:9px}.auth-brand p{margin-top:18px;font-size:13px;color:var(--text-mute);letter-spacing:.08em}.auth-heading h1{font-size:21px;font-weight:500;letter-spacing:.04em}.auth-heading p{margin-top:5px;color:var(--text-mute);font-size:13px}.auth-form{display:flex;flex-direction:column;gap:8px;margin-top:12px}.auth-form .btn-primary{min-height:50px;position:relative;margin-top:8px;font-size:16px}.auth-form .btn-primary svg{position:absolute;right:18px}.auth-form .error-text:empty{display:none}.auth-form .field{min-height:52px}.auth-switch{margin-top:14px;text-align:center;color:var(--text-mute);font-size:14px}.auth-switch button{color:var(--cream);padding:12px;min-height:44px}.auth-note{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;color:var(--text-mute);margin-top:28px}.list-header,.page-header{display:flex;align-items:center;gap:12px;padding:12px 20px;padding-top:max(12px,env(safe-area-inset-top));border-bottom:1px solid var(--line);flex-shrink:0}.list-header .brand-lockup{flex:1}.header-title{font-size:17px;font-weight:500;letter-spacing:.04em;color:var(--text-soft)}.icon-btn,.flame-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;color:var(--text-soft);flex-shrink:0}.icon-btn:hover,.flame-btn:hover{color:var(--cream);background:var(--surface)}.compose-btn{border:1px solid var(--line-strong);color:var(--cream);margin-left:6px}.search-pill-wrap{padding:14px 20px 8px}.search-pill{display:flex;align-items:center;gap:11px;background:#ffffff04;border:1px solid var(--line);border-radius:9px;padding:0 14px;color:var(--text-mute);min-height:46px}.search-pill:focus-within{border-color:#a5ac8b80}.search-pill input{flex:1;width:100%;background:none;border:0;outline:none;font-size:16px;padding:10px 0}.search-pill input::placeholder{color:var(--text-mute);font-size:12px}.clear-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--text-mute)}.section-caption{display:flex;justify-content:space-between;padding:12px 26px 10px;font-size:12px;letter-spacing:.08em;color:var(--text-mute)}.result-label{padding:16px 26px 12px;font-size:11px;color:var(--text-mute);letter-spacing:.14em}.page-list{position:relative}.ink-bg{position:absolute;width:350px;height:350px;bottom:60px;right:-200px;border:1px solid #cbbb9909;border-radius:50%;pointer-events:none}.ink-bg:after{content:"";position:absolute;top:35px;right:35px;bottom:35px;left:35px;border:1px solid #cbbb9909;border-radius:50%}.conv-list{position:relative}.conv-item,.user-item{display:flex;align-items:center;gap:16px;padding:16px 20px;width:100%;text-align:left;position:relative}.conv-item:after,.user-item:after{content:"";position:absolute;bottom:0;right:24px;left:92px;height:1px;background:var(--line)}.conv-item:hover,.user-item:hover{background:var(--bg-soft)}.conv-main,.user-main{flex:1;min-width:0}.conv-top,.conv-bottom{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.conv-bottom{align-items:center;margin-top:6px}.conv-name,.user-item-name{font-size:15px;font-weight:500;letter-spacing:.03em}.conv-time{font-size:10px;color:var(--text-mute);white-space:nowrap;font-variant-numeric:tabular-nums}.conv-preview{flex:1;font-size:14px;color:var(--text-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.private-preview{color:var(--jade)}.conv-badge{min-width:17px;height:17px;padding:0 5px;border-radius:5px;background:#bac8a6;color:#1d2a1d;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center}.avatar{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;font:20px var(--serif);flex-shrink:0;position:relative;border:1px solid #cbbb9920}.avatar.gold{background:linear-gradient(135deg,#3d3e2d,#292e23);color:#d2c4a0}.avatar.jade{background:linear-gradient(135deg,#314638,#23332a);color:#b6c9aa}.avatar.sm{width:38px;height:38px;border-radius:12px;font-size:16px}.avatar-dot{position:absolute;right:-2px;bottom:-2px;width:9px;height:9px;border-radius:50%;background:#607063;border:2px solid var(--bg)}.avatar-dot.online{background:#b0c78d}.user-item-sub{color:var(--text-mute);font-size:12px;margin-top:4px;overflow-wrap:anywhere}.user-chev{color:var(--text-mute)}.empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-mute);padding:36px 24px;text-align:center}.empty-emblem{height:66px;width:66px;border:1px solid var(--line-strong);background:#cbbb9904;border-radius:22px;display:flex;align-items:center;justify-content:center;color:#a7b297;margin-bottom:10px;box-shadow:0 0 0 8px #cbbb9903}.empty-state .serif{font:20px var(--serif);color:var(--text-soft);letter-spacing:.12em}.empty-state p{font-size:12px;line-height:1.9}.empty-state .btn{margin-top:12px;font-size:12px;min-height:42px}.list-foot{padding:16px 20px;text-align:center;z-index:1}.foot-link{display:inline-flex;align-items:center;gap:7px;color:var(--text-mute);font-size:10px;letter-spacing:.06em;min-height:28px}.foot-link:hover{color:var(--cream)}.tab-bar{display:flex;flex-shrink:0;padding:10px 20px;padding-bottom:max(12px,env(safe-area-inset-bottom));background:#101914;border-top:1px solid var(--line);z-index:2}.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;padding:9px 0 5px;color:var(--text-mute);font-size:12px;position:relative}.tab-item svg{width:20px;height:20px}.tab-item.active{color:var(--cream)}.tab-item.active:before{content:"";position:absolute;top:0;height:2px;width:15px;background:var(--cream);border-radius:3px}.tab-item:hover{color:var(--text)}.chat-page{background:linear-gradient(180deg,#18231c55,transparent 55%)}.chat-page .page-header{padding:16px;padding-top:max(16px,env(safe-area-inset-top));background:var(--bg)}.chat-header-name{flex:1;min-width:0;font-size:14px;font-weight:500;overflow-wrap:anywhere}.chat-presence{display:block;color:var(--text-mute);font-size:10px;font-weight:400;margin-top:2px}.flame-btn{border:1px solid var(--line)}.flame-btn.active{color:var(--jade);background:#afc59515;border-color:#afc59540}.chat-mode-bar{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;color:var(--text-mute);font-size:10px;border-bottom:1px solid var(--line)}.chat-mode-bar button{color:var(--cream);margin-left:5px;padding:3px}.private-mode .chat-mode-bar{background:#afc59508;color:var(--jade)}.messages{flex:1;min-height:0;overflow-y:auto;padding:24px 24px 16px;display:flex;flex-direction:column;gap:20px;scrollbar-width:thin;scrollbar-color:var(--surface-2) transparent}.day-divider{text-align:center;color:var(--text-mute);font-size:10px;margin:8px 0;letter-spacing:.04em}.burn-banner{display:flex;flex-direction:column;align-items:center;gap:8px;margin:0 0 8px}.burn-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid #adc29430;border-radius:6px;padding:7px 12px;font-size:11px;color:var(--jade);background:#adc29408}.burn-caption{font-size:10px;color:var(--text-mute);text-align:center}.msg-row{display:flex;flex-direction:column;max-width:82%;flex-shrink:0}.msg-row.mine{align-self:flex-end;align-items:flex-end}.msg-row.theirs{align-self:flex-start;align-items:flex-start}.msg-line{display:flex;align-items:flex-end;gap:8px;min-width:0}.bubble{position:relative;padding:12px 16px;border:1px solid transparent;border-radius:14px;font-size:14px;line-height:1.8;text-align:left;overflow-wrap:anywhere;white-space:pre-wrap;min-width:0}.msg-row.theirs .bubble{background:var(--bubble-theirs);color:var(--text);border-bottom-left-radius:3px}.msg-row.mine .bubble{background:#c3c8ad;color:#243024;border-bottom-right-radius:3px}.msg-row.theirs .private-bubble{border-color:#a5bb8555;background:#293a2b}.msg-row.mine .private-bubble{background:#b3c39d;border-color:#c6d1b5}.private-message-label{display:flex;align-items:center;gap:4px;font-size:9px;letter-spacing:.06em;opacity:.8;margin-bottom:3px}.bubble.playing{box-shadow:0 0 0 2px #cbbb9960}.bubble.loading{opacity:.6}.msg-meta,.msg-side{font-size:9px;color:var(--text-mute)}.msg-meta{display:flex;gap:6px;margin-top:5px;padding:0 2px}.msg-side{display:flex;flex-direction:column;white-space:nowrap;padding-bottom:3px}.fail{color:var(--danger)}.msg-tombstone{align-self:flex-end;font-size:10px;color:var(--text-mute);padding:6px 10px;border:1px dashed var(--line-strong);border-radius:7px}.msg-tombstone:before{content:"◈ ";color:var(--jade)}.msg-row.burning{animation:burn 1.5s ease forwards;overflow:hidden}@keyframes burn{0%{opacity:1;filter:blur(0);max-height:300px}45%{opacity:.55;filter:blur(3px)}to{opacity:0;filter:blur(9px);max-height:0;margin:0;padding:0}}.composer{display:flex;align-items:flex-end;gap:10px;border-top:1px solid var(--line);padding:16px;padding-bottom:max(16px,env(safe-area-inset-bottom));background:var(--bg)}.input-pill{flex:1;min-width:0;display:flex;align-items:flex-end;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:3px 5px 3px 15px}.input-pill:focus-within{border-color:#a5ac8b60}.composer textarea{flex:1;width:100%;background:none;border:0;outline:none;resize:none;font-size:16px;line-height:1.5;padding:9px 0;max-height:100px}.composer textarea::placeholder{color:var(--text-mute);font-size:13px}.mic-btn{width:38px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--text-mute);border-radius:8px;flex-shrink:0}.mic-btn.on{color:var(--cream);background:#cbbb9912}.send-btn{width:48px;height:48px;border-radius:12px;background:var(--cream);color:var(--cream-dark);display:flex;align-items:center;justify-content:center;flex-shrink:0}.send-btn:not(:disabled):hover{background:#ddceb0}.now-playing{display:flex;align-items:center;gap:10px;padding:10px 20px;border-top:1px solid var(--line);background:var(--surface);font-size:11px;color:var(--text-soft)}.track{flex:1;height:2px;background:var(--line-strong);overflow:hidden}.track-fill{height:100%;background:var(--cream);transition:width .2s linear}.eq{display:inline-flex;gap:2px;align-items:flex-end;height:10px}.eq span{width:2px;background:var(--cream);animation:eq .9s ease-in-out infinite}.eq span:nth-child(1){height:4px}.eq span:nth-child(2){height:9px;animation-delay:.25s}.eq span:nth-child(3){height:6px;animation-delay:.5s}@keyframes eq{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1.15)}}.center-header .page-title-serif{flex:1;text-align:center;font:17px var(--serif);letter-spacing:.15em}.header-spacer{width:40px;flex-shrink:0}.settings-section{padding:24px 24px 0;scroll-margin-top:16px}.settings-label{display:flex;align-items:baseline;gap:10px;font-size:12px;margin-bottom:12px;color:var(--text-soft)}.settings-label span{color:var(--text-mute);font-size:8px;letter-spacing:.2em}.card{background:#d2dbb704;border:1px solid var(--line);border-radius:12px;padding:20px}.account-card{display:flex;align-items:center;gap:12px}.account-info{flex:1;min-width:0}.account-name{font-size:16px;font-weight:500;overflow-wrap:anywhere}.account-sub{font-size:11px;color:var(--text-mute);margin-top:3px;overflow-wrap:anywhere}.btn-gold-ghost{color:var(--cream);border:1px solid var(--line-strong);border-radius:7px;padding:8px 10px;font-size:11px;flex-shrink:0;min-height:36px}.btn-gold-ghost:hover{background:#cbbb9910}.voice-card{display:flex;flex-direction:column;gap:14px}.voice-status{display:flex;align-items:center;gap:10px;color:var(--text-soft);font-size:12px}.voice-status .orb{width:6px;height:6px;border-radius:50%;background:var(--text-mute);flex-shrink:0}.voice-status.active{color:var(--jade)}.voice-status.active .orb{background:var(--jade)}.voice-caption{text-align:center;font-size:12px;color:var(--text-mute)}.voice-note{font-size:11px;color:var(--text-mute);line-height:1.8;margin-top:4px}.voice-unavailable{display:flex;gap:14px;align-items:center}.voice-icon{width:42px;height:48px;border-radius:12px;background:var(--surface);color:var(--cream);display:flex;align-items:center;justify-content:center;flex-shrink:0}.voice-card .error-text:empty{display:none}.mic-big{width:82px;height:82px;border-radius:50%;border:1px solid #cbbb9980;display:flex;align-items:center;justify-content:center;margin:8px auto;color:var(--cream)}.mic-big:hover{background:#cbbb9910}.mic-big.recording{border-color:var(--danger);color:var(--danger);animation:pulse 1.4s ease infinite}@keyframes pulse{0%,to{box-shadow:0 0 #e39b8c40}50%{box-shadow:0 0 0 12px #e39b8c00}}.rec-hint{text-align:center;color:var(--danger);font-size:12px}.re-record{margin:0 auto;color:var(--cream);padding:6px;font-size:12px}.sample-player{display:flex;align-items:center;gap:12px;background:var(--surface);border-radius:8px;padding:10px 12px}.sample-play{color:var(--cream);padding:5px}.wave{flex:1;display:flex;align-items:center;gap:2px;height:26px;overflow:hidden}.wave span{width:2px;background:var(--text-soft);border-radius:1px}.sample-time{color:var(--text-mute);font-size:11px}.consent-row{position:relative;display:flex;gap:10px;align-items:center;font-size:12px;color:var(--text-soft);cursor:pointer}.consent-row input{position:absolute;width:22px;height:22px;opacity:0}.consent-row .check{width:22px;height:22px;border-radius:6px;border:1px solid var(--line-strong);display:inline-flex;align-items:center;justify-content:center;color:var(--cream-dark);flex-shrink:0}.consent-row input:focus-visible+.check{outline:2px solid var(--cream);outline-offset:3px}.consent-row.checked .check{background:var(--cream);border-color:var(--cream)}.consent-row.checked .check:before{content:"✓"}.btn-gold{width:100%;padding:13px;border-radius:8px;font-size:13px}.about-card{display:flex;align-items:flex-start;gap:13px;color:var(--text-mute)}.about-card>svg{margin-top:2px;color:var(--cream)}.about-title{font-size:13px;color:var(--text-soft);margin-bottom:8px}.about-line{font-size:11px;line-height:1.9}.about-line+.about-line{margin-top:6px}.settings-footer{padding:32px 24px;color:var(--text-mute);text-align:center;font:12px var(--serif);letter-spacing:.12em}.settings-footer span{display:block;margin-top:8px;font:9px var(--sans);letter-spacing:.08em}.toast{position:fixed;left:50%;bottom:100px;transform:translate(-50%);background:#29372cf5;border:1px solid var(--line-strong);color:var(--text);padding:12px 20px;border-radius:10px;font-size:12px;z-index:100;max-width:min(86vw,440px);text-align:center;box-shadow:0 8px 30px #0003;animation:toastIn .2s ease}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media(max-height:650px){.auth-page{padding-top:max(24px,env(safe-area-inset-top))}.auth-brand{margin-bottom:24px}.auth-brand .brand-lockup{flex-direction:row;justify-content:center}.auth-brand p{margin-top:12px}.auth-note{margin-top:16px}}@media(max-width:360px){.auth-page{padding-inline:24px}.card{padding:14px}.settings-section,.messages{padding-inline:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
