.welcome-container{background:linear-gradient(135deg,#1a0a2e 0%,#2d1b4e 30%,#1a3a4a 70%,#0a1628 100%);justify-content:center;align-items:center;height:100vh;display:flex;position:relative;overflow:hidden}.welcome-bg{position:absolute;inset:0}.particle{background:radial-gradient(circle,#ffd75099,#0000);border-radius:50%;animation:8s ease-in-out infinite float;position:absolute}.p1{width:120px;height:120px;animation-delay:0s;top:10%;left:5%}.p2{background:radial-gradient(circle,#81c78480,#0000);width:80px;height:80px;animation-delay:2s;top:60%;right:10%}.p3{background:radial-gradient(circle,#ce93d880,#0000);width:100px;height:100px;animation-delay:4s;bottom:15%;left:20%}.p4{background:radial-gradient(circle,#ffab9180,#0000);width:60px;height:60px;animation-delay:1s;top:30%;right:25%}.p5{background:radial-gradient(circle,#90caf980,#0000);width:90px;height:90px;animation-delay:3s;top:50%;left:40%}.p6{background:radial-gradient(circle,#ffe90066,#0000);width:70px;height:70px;animation-delay:5s;bottom:30%;right:35%}@keyframes float{0%,to{opacity:.5;transform:translateY(0)scale(1)}50%{opacity:.8;transform:translateY(-30px)scale(1.1)}}.solar-system{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sun-core{background:radial-gradient(circle,#ffd750e6,#ffab4666);border-radius:50%;width:32px;height:32px;animation:3s ease-in-out infinite sunGlow;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 48px #ffc83c66,0 0 96px #ffb42826}@keyframes sunGlow{0%,to{box-shadow:0 0 48px #ffc83c66,0 0 96px #ffb42826}50%{box-shadow:0 0 64px #ffc83c99,0 0 120px #ffb42840}}.orbit{border:1px solid #ffffff0f;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.orbit-1{width:90px;height:90px}.orbit-2{width:150px;height:150px}.orbit-3{width:210px;height:210px}.orbit-4{width:270px;height:270px}.orbit-5{width:330px;height:330px}.orbit-6{width:390px;height:390px}.planet{border-radius:50%;position:absolute;top:50%;left:50%}.planet-dot{background:#81c784b3;width:6px;height:6px;animation:6s linear infinite orbit1}.planet-dot2{background:#ce93d8b3;width:5px;height:5px;animation:9s linear infinite orbit2}.planet-dot3{background:#ffab91b3;width:8px;height:8px;animation:12s linear infinite orbit3}.planet-dot4{background:#90caf9b3;width:5px;height:5px;animation:16s linear infinite orbit4}.planet-dot5{background:#ffd75099;width:7px;height:7px;animation:20s linear infinite orbit5}.planet-dot6{background:#ffffff80;width:4px;height:4px;animation:25s linear infinite orbit6}@keyframes orbit1{0%{transform:rotate(0)translate(45px)}to{transform:rotate(360deg)translate(45px)}}@keyframes orbit2{0%{transform:rotate(0)translate(75px)}to{transform:rotate(-360deg)translate(75px)}}@keyframes orbit3{0%{transform:rotate(0)translate(105px)}to{transform:rotate(360deg)translate(105px)}}@keyframes orbit4{0%{transform:rotate(0)translate(135px)}to{transform:rotate(-360deg)translate(135px)}}@keyframes orbit5{0%{transform:rotate(0)translate(165px)}to{transform:rotate(360deg)translate(165px)}}@keyframes orbit6{0%{transform:rotate(0)translate(195px)}to{transform:rotate(-360deg)translate(195px)}}.mandala{background:radial-gradient(circle,#ffffff05 0%,#0000 60%);border:1px solid #ffffff0d;border-radius:50%;width:440px;height:440px;animation:60s linear infinite rotate;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.welcome-content{z-index:10;text-align:center;max-width:360px;padding:20px;position:relative}.welcome-icon{margin-bottom:16px;font-size:56px;animation:3s ease-in-out infinite float}.welcome-title{color:#fff;letter-spacing:2px;margin-bottom:12px;font-size:28px;font-weight:700}.welcome-subtitle{color:#ffffffb3;margin-bottom:16px;font-size:15px;line-height:1.8}.welcome-desc{color:#ffffff80;margin-bottom:32px;font-size:13px;line-height:1.8}.welcome-btn{color:#1a0a2e;cursor:pointer;background:linear-gradient(135deg,#ffd750cc,#ffab91cc);border:none;border-radius:30px;padding:14px 48px;font-size:16px;font-weight:600;transition:all .3s;box-shadow:0 4px 24px #ffd7504d}.welcome-btn:hover{transform:translateY(-2px);box-shadow:0 6px 32px #ffd75080}.welcome-btn:disabled{opacity:.6;cursor:not-allowed}.welcome-cosmic{width:200px;height:200px;margin:0 auto 24px;position:relative}.welcome-cosmic .mandala{background:radial-gradient(circle,#ffffff1f 0%,#0000 70%);border:1px solid #ffffff0f;border-radius:50%;animation:60s linear infinite rotate;position:absolute;inset:0}.solar-system-above{position:absolute;inset:-20px}.solar-system-above .sun-core{background:radial-gradient(circle,#ffd750,#ff9800);border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 20px #ff980066}.solar-system-above .orbit{border:.5px solid #ffffff14;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.solar-system-above .orbit-1{width:50px;height:50px;animation:8s linear infinite rotate}.solar-system-above .orbit-2{width:80px;height:80px;animation:12s linear infinite reverse rotate}.solar-system-above .orbit-3{width:110px;height:110px;animation:16s linear infinite rotate}.solar-system-above .orbit-4{width:140px;height:140px;animation:20s linear infinite reverse rotate}.solar-system-above .orbit-5{width:170px;height:170px;animation:25s linear infinite rotate}.solar-system-above .orbit-6{width:200px;height:200px;animation:30s linear infinite reverse rotate}.solar-system-above .planet{border-radius:50%;width:4px;height:4px;position:absolute}.solar-system-above .planet-dot{background:#ffd54f;top:20%;left:50%;box-shadow:0 0 6px #ffd54f99}.solar-system-above .planet-dot2{background:#81c784;top:55%;left:8%;box-shadow:0 0 6px #81c78480}.solar-system-above .planet-dot3{background:#ce93d8;bottom:18%;right:18%;box-shadow:0 0 6px #ce93d880}.solar-system-above .planet-dot4{background:#ffab91;top:10%;right:25%;box-shadow:0 0 6px #ffab9180}.solar-system-above .planet-dot5{background:#90caf9;top:35%;right:5%;box-shadow:0 0 6px #90caf980}.solar-system-above .planet-dot6{background:#ffe082;bottom:30%;right:35%;box-shadow:0 0 6px #ffe08280}:root{--sidebar-bg:#fff;--sidebar-hover:#f5f0eb;--sidebar-active:#ede0d4;--sidebar-text:#5d4037;--sidebar-text-dim:#8d6e63;--main-bg:#faf7f4;--msg-user-bg:#ede0d4;--msg-user-text:#3e2723;--accent:#5d4037;--accent-light:#8d6e63;--border:#e0d6c8;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;--msg-max-width:48rem;--sidebar-width:260px;--z-sidebar:200;--z-modal-backdrop:300;--z-modal:350;--z-admin-page:400;--z-toast:9999}.modal-backdrop{z-index:var(--z-modal-backdrop);background:#0006;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:16px;width:100%;max-width:400px;max-height:80vh;padding:24px;overflow-y:auto;box-shadow:0 8px 32px #00000026}.modal-card.wider{max-width:440px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:.25s slideUp}@keyframes stepFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans)}.app-layout{height:100%;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);background:var(--sidebar-bg);color:var(--sidebar-text);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;font-size:14px;transition:width .25s,min-width .25s,border .25s;display:flex;overflow:hidden}.sidebar.collapsed-desktop{border-right:none;width:0!important;min-width:0!important}.main-area{background:var(--main-bg);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.sidebar-brand{color:#3e2723;flex-shrink:0;align-items:center;gap:8px;height:56px;padding:0 12px;font-size:17px;font-weight:600;display:flex}.sidebar-action-btn{width:32px;height:32px;color:var(--sidebar-text-dim);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.sidebar-action-btn:hover{background:var(--sidebar-hover);color:var(--accent)}.sidebar-new-btn{background:var(--sidebar-hover);height:40px;color:var(--sidebar-text);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;width:calc(100% - 24px);margin:8px 12px;font-size:15px;transition:all .15s;display:flex;box-shadow:0 1px 3px #0000000f}.sidebar-new-btn:hover{background:var(--sidebar-active);box-shadow:0 2px 6px #0000001a}.sidebar-sessions{flex:1;padding:4px 0;overflow-y:auto}.session-group-label{color:var(--sidebar-text-dim);text-transform:none;letter-spacing:.5px;padding:10px 16px 4px;font-size:11px;font-weight:600}.session-item{cursor:pointer;padding:10px 16px;transition:background .15s;position:relative}.session-item:hover{background:var(--sidebar-hover)}.session-item.active{background:var(--sidebar-active)}.session-item.active:before{content:"";background:var(--accent);border-radius:1px;width:2px;position:absolute;top:8px;bottom:8px;left:0}.session-item .name{color:var(--sidebar-text-dim);white-space:nowrap;text-overflow:ellipsis;padding-right:24px;font-size:14px;overflow:hidden}.session-item.active .name{color:var(--sidebar-text);font-weight:600}.session-item .time{color:var(--sidebar-text-dim);margin-top:2px;font-size:12px}.session-item .menu-btn{color:var(--sidebar-text-dim);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;font-size:16px;display:none;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.session-item:hover .menu-btn{display:block}.session-item .menu-btn:hover{background:var(--sidebar-hover)}.session-item .menu-dropdown{z-index:calc(var(--z-sidebar) - 190);border:1px solid var(--border);background:#fff;border-radius:8px;min-width:80px;padding:4px 0;position:absolute;top:40px;right:8px;box-shadow:0 4px 12px #0000001f}.session-item .menu-dropdown button{width:100%;color:var(--sidebar-text);cursor:pointer;text-align:left;background:0 0;border:none;padding:6px 14px;font-size:13px;display:block}.session-item .menu-dropdown button:hover{background:var(--sidebar-hover)}.sidebar-footer{border-top:1px solid var(--border);flex-shrink:0;padding:10px 16px}.sidebar-footer .user-row{cursor:pointer;border-radius:8px;align-items:center;gap:8px;margin-bottom:8px;margin-left:-6px;margin-right:-6px;padding:4px 6px;transition:background .15s;display:flex}.sidebar-footer .user-row:hover{background:var(--sidebar-hover)}.sidebar-footer .user-avatar{background:var(--accent);color:#fff;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:flex}.sidebar-footer .user-name{color:#3e2723;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;overflow:hidden}.sidebar-footer .actions{gap:4px;display:flex}.sidebar-footer .actions button{color:var(--sidebar-text-dim);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:20px;transition:background .15s}.sidebar-footer .actions button:hover{background:var(--sidebar-hover)}.sidebar-footer .invite-link{color:var(--sidebar-text-dim);cursor:pointer;background:0 0;border:none;font-size:13px;text-decoration:underline}.sidebar-search{background:var(--sidebar-hover);border-radius:8px;align-items:center;gap:6px;margin:0 12px 8px;padding:6px 10px;display:flex}.sidebar-search input{color:var(--sidebar-text);font-size:13px;font-family:var(--font-sans);background:0 0;border:none;outline:none;flex:1}.sidebar-search input::placeholder{color:var(--sidebar-text-dim)}.main-topbar{border-bottom:1px solid var(--border);z-index:10;background:#fff;flex-shrink:0;align-items:center;gap:8px;min-height:40px;padding:0 16px;display:flex;position:sticky;top:0}.main-topbar-hamburger{cursor:pointer;color:var(--accent);background:0 0;border:none;padding:0;font-size:20px;line-height:1}.main-topbar-brand{color:var(--accent);font-size:15px;font-weight:600}.chat-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.chat-messages{flex:1;padding:24px 0 16px;overflow-y:auto}.msg-container{max-width:var(--msg-max-width);width:100%;margin:0 auto;padding:0 24px}.user-msg{justify-content:flex-end;margin-bottom:24px;display:flex}.user-msg .bubble{background:var(--msg-user-bg);color:var(--msg-user-text);white-space:pre-wrap;word-break:break-word;border-radius:16px;max-width:85%;padding:10px 16px;font-size:15px;line-height:1.7}.assistant-msg{margin-bottom:24px}.assistant-msg .avatar-row{align-items:center;gap:8px;margin-bottom:6px;display:flex}.assistant-msg .avatar{background:#f0e8dc;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;display:flex}.assistant-msg .think-time{color:#a1887f;font-size:12px}.assistant-msg .body{color:#3e2723;min-width:0;font-size:15px;line-height:1.7}.assistant-msg .disclaimer{color:#a1887f;margin-top:6px;font-size:12px}.msg-actions{opacity:0;align-items:center;gap:2px;margin-top:8px;transition:opacity .15s;display:flex}.assistant-msg:hover .msg-actions{opacity:1}.msg-action-btn{color:#a1887f;cursor:pointer;background:0 0;border:none;border-radius:14px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:all .15s;display:flex}.msg-action-btn:hover,.msg-action-btn.active-like{color:#5d4037;background:#ede0d4}.msg-action-btn.active-dislike{color:#c62828;background:#ffebee}.thinking-section{background:#faf7f4;border-left:2px solid #d7ccc8;border-radius:0 6px 6px 0;margin-bottom:12px;padding:8px 12px}.thinking-section summary{cursor:pointer;color:#8d6e63;font-size:13px}.thinking-section .content{color:#8d6e63;white-space:pre-wrap;margin-top:8px;font-size:13px}.chat-input-area{flex-shrink:0;padding:0 0 16px}.input-container{max-width:var(--msg-max-width);width:100%;margin:0 auto;padding:0 24px}.input-unified{border:1px solid var(--border);background:#fff;border-radius:20px;transition:border-color .2s,box-shadow .2s;overflow:hidden;box-shadow:0 2px 8px #0000000a}.input-unified:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #5d403714}.input-wrapper{padding:10px 16px 6px}.input-box{width:100%;font-size:16px;line-height:1.6;font-family:var(--font-sans);resize:none;background:0 0;border:none;outline:none;max-height:200px;padding:0}.input-toolbar{align-items:center;padding:4px 12px 8px;display:flex}.send-btn-ds{cursor:pointer;background:#e0d6c8;border:none;border-radius:17px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:all .15s;display:flex}.send-btn-ds svg{color:#fff}.send-btn-ds.active{background:var(--accent)}.send-btn-ds.active:hover{background:#3e2723}.send-btn-ds:disabled{cursor:default}.disclaimer-text{text-align:center;color:#a1887f;margin-top:8px;font-size:12px}.readonly-card{text-align:center;border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:20px;padding:24px 16px;transition:box-shadow .2s}.readonly-card:hover{box-shadow:0 2px 12px #0000000f}.settings-backdrop{z-index:calc(var(--z-modal-backdrop) - 1);background:#0006;position:fixed;inset:0}.settings-modal{width:440px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);z-index:var(--z-modal-backdrop);background:#fff;border-radius:16px;flex-direction:column;padding:24px;animation:.2s fadeIn;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 32px #00000026}.settings-modal-body{flex:1;overflow-y:auto}.empty-state{text-align:center;padding-top:15vh}.empty-state .icon{margin-bottom:16px;font-size:64px}.empty-state .title{color:var(--accent);margin-bottom:8px;font-size:24px;font-weight:600}.empty-state .subtitle{color:#8d6e63;margin-bottom:4px;font-size:14px}.empty-state .hint{color:#a1887f;font-size:14px}.chart-card{text-align:center;cursor:pointer;background:#faf7f4;border:1px solid #ece6de;border-radius:12px;margin:8px 0;padding:8px 6px;transition:box-shadow .2s;overflow:hidden}.chart-card:hover{box-shadow:0 2px 12px #0000000f}.chart-card-title{color:#5d4037;margin-bottom:4px;font-size:18px;font-weight:600}.chart-card-row{background:#faf7f3;border-radius:6px;align-items:stretch;gap:0;display:flex;overflow:hidden}.chart-card-summary{color:#8d6e63;margin-top:6px;font-size:14px;line-height:1.5}.chart-card-report-link{color:#5d4037;cursor:pointer;margin-top:6px;font-size:16px;text-decoration:underline}.chart-modal-backdrop{z-index:9999;background:#000000eb;justify-content:center;align-items:center;padding:8px;display:flex;position:fixed;inset:0}.chart-modal{background:#fff;border-radius:12px;width:98vw;max-width:600px;max-height:98vh;padding:12px 8px;overflow-y:auto}.chart-modal-title{color:#5d4037;text-align:center;margin-bottom:4px;font-size:15px;font-weight:600}.chart-modal-row{background:#faf7f3;border-radius:6px;align-items:stretch;gap:0;display:flex}.invite-modal-backdrop{z-index:var(--z-sidebar);background:#0006;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.invite-modal{text-align:center;background:#fff;border-radius:16px;width:100%;max-width:320px;padding:24px}@media (width<=767px){.sidebar{z-index:var(--z-sidebar);transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{z-index:calc(var(--z-sidebar) - 1);background:#00000080;position:fixed;inset:0}.msg-container{padding:0 16px}.input-container{padding:0 12px}.input-unified{border-radius:16px}.input-wrapper{padding:8px 12px 4px}.input-toolbar{padding:4px 8px 6px}.input-box,.assistant-msg .body{font-size:15px}.chat-messages{padding:16px 0 8px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.msg-enter{animation:.3s fadeInUp}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.stream-cursor{background:var(--accent);vertical-align:text-bottom;width:2px;height:1em;margin-left:2px;animation:.8s infinite blink;display:inline-block}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
