*{box-sizing:border-box;margin:0;padding:0}:root{--sidebar-w:260px;--right-panel-w:0px;--bg:#fff;--bg-sidebar:#f8fafc;--border:#e2e8f0;--text:#1e293b;--text-light:#64748b;--text-muted:#94a3b8;--sky-50:#f0f9ff;--sky-100:#e0f2fe;--sky-200:#bae6fd;--sky-300:#7dd3fc;--sky-400:#38bdf8;--sky-500:#0ea5e9;--sky-600:#0284c7;--sky-700:#0369a1;--radius:8px}[data-theme=dark]{--bg:#0f172a;--bg-sidebar:#1e293b;--border:#334155;--text:#f1f5f9;--text-light:#94a3b8;--text-muted:#64748b;--sky-50:#082f49;--sky-100:#0c4a6e;--sky-200:#0c4a6e;--sky-300:#38bdf8;--sky-400:#38bdf8;--sky-500:#38bdf8;--sky-600:#7dd3fc;--sky-700:#bae6fd}body{background:var(--bg);color:var(--text);height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans SC,sans-serif;overflow:hidden}#root{height:100vh}.modal-overlay{z-index:200;background:0 0;justify-content:center;align-items:center;animation:.2s ease-out forwards overlayIn;display:flex;position:fixed;inset:0}@keyframes overlayIn{to{background:#00000059}}.modal{background:var(--bg);border-radius:20px;width:720px;max-width:90vw;animation:.25s ease-out modalIn;overflow:hidden;box-shadow:0 20px 60px #00000026}@keyframes modalIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.auth-modal{width:auto;min-width:320px;max-width:400px}.modal-header{justify-content:space-between;align-items:center;padding:14px 24px;display:flex}.modal-header h2{color:var(--text);margin:0;font-size:1.25rem;font-weight:600}.modal-body{flex-direction:column;align-items:center;gap:16px;padding:24px 20px;display:flex}.auth-input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;outline:none;padding:10px 12px;font-size:.85rem}.auth-input:focus{border-color:var(--sky-400)}.auth-input-wrap{align-items:center;display:flex;position:relative}.auth-input-icon{color:var(--text-muted);pointer-events:none;position:absolute;left:10px}.auth-input.has-icon{width:100%;padding-left:34px}.auth-input.has-toggle{padding-right:34px}.auth-pw-toggle{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:flex;position:absolute;right:8px}.auth-pw-toggle:hover{color:var(--text)}.auth-btn{background:var(--sky-500);color:#fff;cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:10px;font-size:.85rem;display:flex}.auth-btn:hover{background:var(--sky-600)}.auth-btn:disabled{opacity:.6;cursor:not-allowed}.auth-link{text-align:center;color:var(--sky-500);cursor:pointer;margin:0;font-size:.8rem}.auth-link:hover{color:var(--sky-600)}.auth-error{color:#ef4444;margin:0;font-size:.8rem}.auth-hint{color:var(--text-light);margin:0;font-size:.8rem}.auth-code-row{gap:8px;display:flex}.auth-code-input{flex:1}.auth-code-btn{white-space:nowrap;flex-shrink:0}.auth-form{flex-direction:column;gap:12px;min-width:320px;padding:16px 20px;display:flex}.pw-strength{align-items:center;gap:8px;display:flex}.pw-strength-bars{flex:1;gap:4px;display:flex}.pw-strength-seg{border-radius:2px;flex:1;height:4px;transition:background-color .2s}.pw-strength-label{color:var(--text-muted);flex-shrink:0;font-size:.75rem}.pw-modal-overlay{z-index:300;background:#00000059;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pw-modal{background:var(--bg);border-radius:16px;width:360px;max-width:90vw;overflow:hidden;box-shadow:0 20px 60px #0003}.pw-modal-header{justify-content:space-between;align-items:center;padding:16px 20px 0;display:flex}.pw-modal-header .pw-modal-title{color:var(--text);margin:0;font-size:1rem;font-weight:600}.pw-modal-body{flex-direction:column;gap:12px;padding:20px;display:flex}.pw-modal-footer{justify-content:flex-end;gap:8px;padding:12px 20px 16px;display:flex}.btn{cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:6px;font-family:inherit;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;display:inline-flex}.btn--primary{background:var(--sky-500);color:#fff;border-radius:6px}.btn--primary:hover:not(:disabled){background:var(--sky-600)}.btn--outline{color:var(--text);border:1px solid var(--border);border-radius:var(--radius);background:0 0}.btn--outline:hover:not(:disabled):not(.btn--active){background:var(--bg-sidebar)}.btn--active.btn--outline{background:var(--sky-500);color:#fff;border-color:var(--sky-500)}.btn--ghost{color:var(--text-light);background:0 0;border-radius:6px}.btn--ghost:hover:not(:disabled){background:var(--sky-50);color:var(--text)}.btn--md{padding:6px 16px;font-size:.85rem}.btn--sm{gap:4px;min-width:28px;height:28px;padding:0 8px;font-size:.78rem}.btn--icon-only{padding:6px}.btn--icon-only.btn--sm{width:28px;height:28px;padding:0}.btn--circle{border-radius:50%}.btn:disabled{opacity:.35;cursor:default}.scroll-area{scrollbar-width:thin;scrollbar-color:var(--border) transparent;overflow-y:auto}.scroll-area::-webkit-scrollbar{width:5px}.scroll-area::-webkit-scrollbar-track{background:0 0}.scroll-area::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.scroll-area::-webkit-scrollbar-thumb:hover{background:var(--text-light)}.panel-modal{flex-direction:column;height:560px;max-height:85vh;display:flex}.panel-modal-layout{flex:1;min-height:0;display:flex}.panel-modal-tabs{flex-direction:column;gap:4px;width:auto;min-width:0;padding:4px 12px;display:flex}.panel-modal-tab{border-radius:var(--radius);cursor:pointer;color:var(--text-light);background:0 0;border:none;align-items:center;gap:10px;padding:12px 16px;font-size:.95rem;transition:all .15s;display:flex}.panel-modal-tab:hover{background:var(--sky-50);color:var(--text)}.panel-modal-tab.active{background:var(--sky-100);color:var(--sky-700);font-weight:500}.panel-modal-content{flex:1;padding:4px 28px 16px}.panel-modal-full{flex:1;min-height:0;padding:0 28px 16px}.modal-header-left{align-items:center;gap:8px;display:flex}.panel-modal-page h3{color:var(--text);margin:0 0 8px;font-size:1.15rem;font-weight:600}.panel-modal-desc{color:var(--text-muted);margin:0;font-size:.95rem}.settings-kv-row{align-items:center;min-height:48px;padding:6px 0;display:flex}.settings-kv-label{width:80px;color:var(--text);flex-shrink:0;font-size:.85rem}.settings-kv-value{flex:1;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.settings-kv-text{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;overflow:hidden}.settings-kv-input{flex:1;min-width:0}.settings-kv-action{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:background .15s,color .15s;display:inline-flex}.settings-kv-action:hover{background:var(--sky-50);color:var(--sky-600)}.avatar-editable-sm{cursor:pointer;transition:opacity .15s;display:inline-flex}.avatar-editable-sm:hover{opacity:.8}.avatar-sm{object-fit:cover;border-radius:50%;width:36px;height:36px}.avatar-sm-placeholder{background:var(--sky-100);color:var(--sky-600);justify-content:center;align-items:center;display:flex}.profile-field-edit{flex-direction:column;gap:4px;display:flex}.profile-field-edit label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.85rem}.account-logout-btn{border:1px solid var(--border);color:var(--text-light);cursor:pointer;background:0 0;border-radius:6px;padding:6px 16px;font-size:.85rem;transition:all .15s}.account-logout-btn:hover{background:var(--sky-50);color:var(--text)}.settings-kv-list{flex-direction:column;gap:0;margin-top:16px;display:flex}.settings-kv-row-clickable{cursor:pointer;text-align:left;width:100%;color:var(--text);background:0 0;border:none;justify-content:space-between;align-items:center;padding:14px 0;transition:color .15s;display:flex}.settings-kv-row-left{align-items:center;gap:12px;display:flex}.settings-kv-icon{color:var(--sky-600);flex-shrink:0}.settings-kv-row-label{font-size:.95rem;font-weight:500;display:block}.settings-kv-row-desc{color:var(--text-light);margin-top:2px;font-size:.8rem;display:block}.settings-kv-arrow{color:var(--text-light);flex-shrink:0}.platform-section{margin-top:24px}.platform-section h4{color:var(--text);margin:0 0 10px;font-size:.9rem;font-weight:600}.platform-tabs{background:var(--bg-sidebar);border-radius:var(--radius);gap:4px;padding:4px;display:flex}.platform-tab{cursor:pointer;color:var(--text-light);background:0 0;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:.85rem;transition:all .15s;display:flex}.platform-tab.active{background:var(--bg);color:var(--text);font-weight:500;box-shadow:0 1px 3px #00000014}.platform-panel{margin-top:12px}.platform-binding{border-radius:var(--radius);background:var(--bg-sidebar);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.platform-info{color:var(--text);align-items:center;gap:10px;display:flex}.platform-name{font-size:.9rem;font-weight:500}.platform-bind-btn{border:1px solid var(--sky-300);color:var(--sky-600);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:6px 16px;font-size:.85rem;transition:all .15s;display:inline-flex}.platform-bind-btn:hover{background:var(--sky-50)}.platform-bind-btn .spin{animation:1s linear infinite spin}.platform-bind-btn.unbind{border-color:var(--border);color:var(--text-light)}.platform-icon{object-fit:contain;width:20px;height:20px}.platform-icon.rounded{border-radius:4px}.platform-detail{flex-direction:column;gap:2px;display:flex}.platform-status{color:var(--sky-600);font-size:.75rem}.platform-binding-card{border-radius:var(--radius);background:var(--bg-sidebar);flex-direction:column;gap:14px;padding:14px 16px;display:flex}.platform-binding-row{justify-content:space-between;align-items:center;display:flex}.platform-actions{gap:8px;display:flex}.dropdown-wrapper{position:relative}.dropdown-menu{background:var(--bg);border:1px solid var(--border);z-index:10;border-radius:6px;min-width:140px;position:absolute;top:calc(100% + 4px);right:0;overflow:hidden;box-shadow:0 4px 12px #0000001a}.dropdown-item{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;padding:8px 14px;font-size:.85rem;display:block}.dropdown-item:hover{background:var(--sky-50)}.platform-profile-detail{gap:14px;margin-top:4px;padding-top:14px;display:flex}.profile-detail-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:48px;height:48px}.profile-detail-grid{flex:1;grid-template-columns:1fr 1fr;gap:12px;min-width:0;display:grid}.profile-field{flex-direction:column;gap:2px;display:flex}.profile-field label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.85rem}.profile-field span{color:var(--text);font-size:.9rem}.data-count-tags{flex-wrap:wrap;gap:6px;display:flex}.data-count-tag{background:var(--sky-100);color:var(--sky-700);border-radius:4px;align-items:center;padding:2px 8px;font-size:.8rem;display:inline-flex}.qr-overlay{justify-content:center;margin-top:16px;display:flex}.qr-card{background:var(--bg-sidebar);border-radius:var(--radius);flex-direction:column;align-items:center;gap:10px;padding:16px;display:flex}.qr-image{border-radius:8px;width:200px;height:200px}.qr-card p{color:var(--text-light);margin:0;font-size:.85rem}.bind-error{color:#dc2626;margin-top:8px;font-size:.85rem}.data-tabs{border-bottom:1px solid var(--border);gap:0;margin-bottom:12px;display:flex}.data-tab{color:var(--text-light);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 20px;font-size:.85rem}.data-tab.active{color:var(--sky-600);border-bottom-color:var(--sky-500);font-weight:500}.data-tab:hover{color:var(--text)}.data-list{flex-direction:column;gap:8px;display:flex}.data-item{border-radius:var(--radius);color:var(--text);gap:10px;padding:8px 10px;text-decoration:none;transition:background .15s;display:flex}.data-item:hover{background:var(--bg-sidebar)}.data-item-cover{object-fit:cover;border-radius:3px;flex-shrink:0;width:36px;height:48px}.data-item-info{flex-direction:column;gap:2px;min-width:0;display:flex}.data-item-title{white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:500;overflow:hidden}.data-item-meta{color:var(--text-light);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.data-item-tags{flex-wrap:wrap;gap:4px;margin-top:2px;display:flex}.data-tag{background:var(--bg-sidebar);color:var(--text-light);border-radius:3px;padding:1px 6px;font-size:.7rem}.data-toolbar{align-items:center;gap:8px;margin-bottom:10px;display:flex}.sort-dir-color{color:var(--sky-600)}.data-pagination{justify-content:center;align-items:center;gap:4px;margin-top:14px;display:flex}.page-ellipsis{min-width:28px;height:28px;color:var(--text-light);justify-content:center;align-items:center;font-size:.78rem;display:inline-flex}.page-info{color:var(--text-light);margin-left:10px;font-size:.75rem}.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;display:grid}.gallery-grid--memos{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.gallery-card{border-radius:var(--radius);cursor:pointer;background:var(--bg-sidebar);transition:transform .2s,box-shadow .2s;overflow:hidden}.gallery-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.gallery-cover-wrap{aspect-ratio:3/4;background:var(--border);position:relative;overflow:hidden}.gallery-cover{object-fit:cover;width:100%;height:100%}.gallery-cover-placeholder{width:100%;height:100%;color:var(--text-muted);text-align:center;word-break:break-all;justify-content:center;align-items:center;padding:8px;font-size:.8rem;display:flex}.gallery-card-platform{opacity:.8;height:14px;position:absolute;top:6px;right:6px}.gallery-info{padding:8px 10px 10px}.gallery-card-title{white-space:nowrap;text-overflow:ellipsis;color:var(--text);font-size:.82rem;font-weight:500;overflow:hidden}.gallery-card-meta{color:var(--text-light);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.72rem;overflow:hidden}.gallery-memo-card{border-radius:var(--radius);cursor:pointer;background:var(--bg-sidebar);flex-direction:column;height:180px;padding:12px 14px;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.gallery-memo-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.gallery-memo-text{color:var(--text);-webkit-line-clamp:5;-webkit-box-orient:vertical;flex:1;font-size:.82rem;line-height:1.6;display:-webkit-box;overflow:hidden}.gallery-memo-footer{justify-content:space-between;align-items:center;gap:4px;margin-top:8px;display:flex}.gallery-memo-date{color:var(--text-muted);flex-shrink:0;font-size:.7rem}.gallery-memo-tags{gap:4px;display:flex;overflow:hidden}.gallery-detail-overlay{z-index:200;background:0 0;justify-content:center;align-items:center;animation:.2s ease-out forwards detailOverlayIn;display:flex;position:fixed;inset:0}.gallery-detail-overlay.closing{animation:.15s ease-in forwards detailOverlayOut}@keyframes detailOverlayIn{to{background:#0006}}@keyframes detailOverlayOut{0%{background:#0006}to{background:0 0}}.gallery-detail-modal{background:var(--bg);border-radius:16px;width:520px;max-width:90vw;max-height:85vh;animation:.25s ease-out detailModalIn;position:relative;box-shadow:0 20px 60px #0003}.gallery-detail-overlay.closing .gallery-detail-modal{animation:.15s ease-in forwards detailModalOut}@keyframes detailModalIn{0%{opacity:0;transform:scale(.95)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes detailModalOut{0%{opacity:1;transform:scale(1)translateY(0)}to{opacity:0;transform:scale(.95)translateY(10px)}}.gallery-detail-close{z-index:1;background:var(--bg-sidebar);position:absolute;top:12px;right:12px}.gallery-detail-close:hover:not(:disabled){background:var(--border)}.gallery-detail-body{padding:24px}.gallery-detail-cover-row{gap:20px;margin-bottom:16px;display:flex}.gallery-detail-cover{object-fit:cover;border-radius:6px;flex-shrink:0;width:140px;height:190px}.gallery-detail-cover-placeholder{background:var(--bg-sidebar);width:140px;height:190px;color:var(--text-muted);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;display:flex}.gallery-detail-fields{flex:1;min-width:0}.gallery-detail-title{color:var(--text);word-break:break-word;margin-bottom:8px;font-size:1.1rem;font-weight:600;line-height:1.4}.gallery-detail-rating{color:var(--sky-500);margin-bottom:6px;font-size:1rem}.gallery-detail-field{color:var(--text-light);margin-bottom:4px;font-size:.82rem;line-height:1.5}.gallery-detail-field span{color:var(--text)}.gallery-detail-tags{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.gallery-detail-tag{background:var(--sky-50);color:var(--sky-600);border-radius:4px;padding:2px 8px;font-size:.75rem}.gallery-detail-comment{color:var(--text);margin-top:16px;font-size:.85rem;line-height:1.7}.gallery-detail-comment-label{color:var(--text-light);margin-bottom:6px;font-size:.82rem}.gallery-detail-link{color:var(--sky-600);margin-top:12px;font-size:.8rem;text-decoration:none;display:inline-block}.gallery-detail-link:hover{text-decoration:underline}.gallery-detail-meta-row{align-items:center;gap:8px;margin-bottom:16px;display:flex}.gallery-detail-date{color:var(--text-muted);font-size:.78rem}.gallery-detail-memo-content{color:var(--text);word-break:break-word;font-size:.9rem;line-height:1.8}.gallery-detail-memo-content p{margin-bottom:8px}.gallery-detail-memo-content img{border-radius:6px;max-width:100%;margin:8px 0}.gallery-detail-files{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.gallery-detail-file-img{object-fit:cover;cursor:pointer;border-radius:6px;width:120px;height:120px}.input-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-sidebar);align-items:center;gap:6px;padding:6px 10px;transition:border-color .15s;display:flex}.input-wrap:focus-within{border-color:var(--sky-400)}.input-icon{color:var(--text-light);flex-shrink:0;display:flex}.input-field{color:var(--text);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:.82rem}.input-field::placeholder{color:var(--text-light);opacity:.6}.select{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-sidebar);color:var(--text);cursor:pointer;outline:none;padding:6px 8px;font-family:inherit;font-size:.82rem;transition:border-color .15s}.select:focus{border-color:var(--sky-400)}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--bg-sidebar);border-right:1px solid var(--border);flex-direction:column;transition:width .3s,min-width .3s;display:flex;overflow:hidden}.sidebar.collapsed{border-right-color:#0000;width:0;min-width:0}.sidebar-inner{width:var(--sidebar-w);min-width:var(--sidebar-w);flex-direction:column;height:100%;display:flex}.sidebar-header{justify-content:space-between;align-items:center;padding:20px 14px 12px;display:flex}.sidebar-brand{color:var(--sky-600);white-space:nowrap;font-size:1.2rem;font-weight:700}.sidebar-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:600}.sidebar-toggle{cursor:pointer;color:var(--text-light);background:0 0;border:none;border-radius:4px;align-items:center;padding:4px;display:flex}.sidebar-toggle:hover{background:var(--sky-100);color:var(--sky-600)}.sidebar-list{flex:1;padding:0 12px;overflow-y:auto}.chat-group-label{color:var(--text-muted);white-space:nowrap;padding:12px 12px 4px;font-size:.825rem}.chat-item{border-radius:var(--radius);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;padding:10px 12px;font-size:.95rem;font-weight:400;transition:background .15s;overflow:hidden}.chat-item:hover{background:var(--sky-50);color:var(--text)}.chat-item.active{color:var(--sky-700);font-weight:500}.new-chat-btn{border-radius:var(--radius);border:1px solid var(--sky-300);background:var(--sky-500);color:#fff;cursor:pointer;justify-content:center;align-items:center;gap:6px;margin:12px;padding:10px;font-size:.95rem;font-weight:500;transition:all .15s;display:flex}.new-chat-btn:hover{box-shadow:0 0 0 3px #0ea5e933}.sidebar-footer{padding:8px;position:relative}.user-info{border-radius:var(--radius);cursor:pointer;align-items:center;gap:10px;padding:10px 12px;transition:background .15s;display:flex}.user-info:hover{background:var(--sky-50)}.user-avatar{background:var(--sky-100);width:28px;height:28px;color:var(--sky-600);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.user-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.95rem;font-weight:500;overflow:hidden}.user-settings-icon{color:var(--text-muted);flex-shrink:0}.user-login{color:var(--sky-600);font-size:.85rem;font-weight:500}.user-menu{background:var(--bg);border-radius:var(--radius);flex-direction:column;margin-bottom:6px;padding:4px;animation:.15s ease-out fadeIn;display:flex;position:absolute;bottom:100%;left:auto;right:8px;box-shadow:0 8px 24px #0000001f}.user-menu-item{cursor:pointer;color:var(--text);background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:10px 12px;font-size:.9rem;transition:background .15s;display:flex}.user-menu-item:hover{background:var(--sky-50);color:var(--sky-700)}.welcome{flex-direction:column;flex:1;justify-content:center;align-items:center;padding-bottom:200px;display:flex}.brand{background:linear-gradient(90deg,#0ea5e9,#6366f1,#ec4899,#f59e0b,#10b981,#0ea5e9) 0 0/300% 100%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:2rem;font-size:3rem;font-weight:700;animation:8s ease-in-out infinite colorShift}@keyframes colorShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.input-box{width:100%;max-width:832px;position:relative}.input-box textarea{border:1px solid var(--border);resize:none;background:var(--bg);width:100%;color:var(--text);border-radius:16px;outline:none;padding:18px 62px 18px 21px;font-family:inherit;font-size:.95rem;line-height:1.5;transition:border-color .2s,box-shadow .2s}.input-box textarea:focus{border-color:var(--sky-300);box-shadow:0 0 0 3px #0ea5e91a}.input-box textarea::placeholder{color:var(--text-muted)}.send-btn{background:var(--sky-500);color:#fff;cursor:pointer;border:none;border-radius:10px;align-items:center;padding:10px;transition:background .15s;display:flex;position:absolute;bottom:13px;right:13px}.send-btn:hover{background:var(--sky-600)}.messages{flex-direction:column;flex:1;align-items:center;gap:20px;padding:24px 16px;animation:.25s ease-out fadeIn;display:flex;overflow-y:auto}.message{gap:12px;width:100%;max-width:768px;animation:.3s ease-out both messageIn;display:flex}.message:first-child{animation-delay:30ms}.message:nth-child(2){animation-delay:.1s}.message:nth-child(3){animation-delay:.17s}.message:nth-child(4){animation-delay:.24s}@keyframes messageIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.message-user{justify-content:flex-end}.message-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;display:flex}.message-user .message-avatar{background:var(--sky-100);color:var(--sky-600)}.message-ai .message-avatar{color:#16a34a;background:#f0fdf4}.message-content{border-radius:12px;padding:12px 16px;font-size:.9rem;line-height:1.65}.message-user .message-content{background:var(--sky-500);color:#fff;border-bottom-right-radius:4px}.message-ai .message-content{background:var(--sky-50);color:var(--text);border-bottom-left-radius:4px}.message-content p{margin:0}.message-content p+p{margin-top:8px}.chat-input-bar{justify-content:center;padding:12px 80px 124px;display:flex}.chat-input-bar .input-box{width:100%;max-width:768px}.layout{height:100vh;display:flex}.center{flex-direction:column;flex:1;min-width:0;display:flex}.center-header{align-items:center;gap:8px;padding:12px 16px;display:flex}.center-header .sidebar-toggle{opacity:0;pointer-events:none}.center-header .sidebar-toggle.visible{opacity:1;pointer-events:auto}.center-header-title{color:var(--text);font-size:3.63rem;font-weight:500;animation:.2s ease-out fadeIn}.chat-area{flex-direction:column;flex:1;display:flex;position:relative;overflow-y:auto}.right-panel{width:var(--right-panel-w);border-left:1px solid var(--border);background:var(--bg-sidebar);min-width:0;transition:width .2s;overflow:hidden}.fade-in{animation:.25s ease-out fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.loading-overlay{flex:1;justify-content:center;align-items:center;display:flex}.loading-spinner{border:3px solid var(--sky-200);border-top-color:var(--sky-500);border-radius:50%;width:28px;height:28px;animation:.6s linear infinite spin}
