@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;500;700&family=Be+Vietnam+Pro:wght@400;500;600;700&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-yellow-100:oklch(97.3% .071 103.193);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-400:oklch(70.7% .022 261.325);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--leading-relaxed:1.625;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing)*4)}.right-4{right:calc(var(--spacing)*4)}.bottom-4{bottom:calc(var(--spacing)*4)}.left-1\/2{left:50%}.left-4{left:calc(var(--spacing)*4)}.z-40{z-index:40}.z-50{z-index:50}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-auto{margin-inline:auto}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-40{height:calc(var(--spacing)*40)}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[80vh\]{max-height:80vh}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-52{width:calc(var(--spacing)*52)}.w-\[68px\]{width:68px}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.max-w-\[90vw\]{max-width:90vw}.max-w-full{max-width:100%}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-\[60px\]{min-width:60px}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.grow{flex-grow:1}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.overflow-hidden{overflow:hidden}.rounded-\[10px\]{border-radius:10px}.rounded-full{border-radius:3.40282e38px}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.bg-\[\#2e2e2e\]{background-color:#2e2e2e}.bg-black\/90{background-color:#000000e6}@supports (color:color-mix(in lab,red,red)){.bg-black\/90{background-color:color-mix(in oklab,var(--color-black)90%,transparent)}}.bg-green-500\/90{background-color:#00c758e6}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/90{background-color:color-mix(in oklab,var(--color-green-500)90%,transparent)}}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-white\/30{background-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.bg-white\/30{background-color:color-mix(in oklab,var(--color-white)30%,transparent)}}.bg-yellow-100{background-color:var(--color-yellow-100)}.object-contain{object-fit:contain}.p-0{padding:calc(var(--spacing)*0)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-4{padding-block:calc(var(--spacing)*4)}.pt-2{padding-top:calc(var(--spacing)*2)}.text-center{text-align:center}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-\[10px\]{font-size:10px}.text-\[14px\]{font-size:14px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-pre-wrap{white-space:pre-wrap}.text-gray-400{color:var(--color-gray-400)}.text-white{color:var(--color-white)}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-green-500\/20{--tw-shadow-color:#00c75833}@supports (color:color-mix(in lab,red,red)){.shadow-green-500\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-green-500)20%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-\[var\(--brand\)\]{--tw-ring-color:var(--brand)}.ring-green-500\/60{--tw-ring-color:#00c75899}@supports (color:color-mix(in lab,red,red)){.ring-green-500\/60{--tw-ring-color:color-mix(in oklab,var(--color-green-500)60%,transparent)}}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.hover\:bg-red-500\/80:hover{background-color:#fb2c36cc}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-500\/80:hover{background-color:color-mix(in oklab,var(--color-red-500)80%,transparent)}}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.hover\:text-gray-200:hover{color:var(--color-gray-200)}.hover\:text-white:hover{color:var(--color-white)}.hover\:ring-green-400:hover{--tw-ring-color:var(--color-green-400)}}}.ui-btn{height:40px;font:inherit;cursor:pointer;white-space:nowrap;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-size:14px;font-weight:600;transition:background .12s,color .12s,opacity .12s;display:inline-flex}.ui-btn:disabled{cursor:not-allowed;background:var(--field)!important;color:#b8ada7!important;border-color:#0000!important}.ui-btn-primary{background:var(--brand);color:#fff}.ui-btn-primary:hover:not(:disabled){background:var(--brand-600)}.ui-btn-tonal{background:var(--brand-50);color:var(--brand-600)}.ui-btn-tonal:hover:not(:disabled){background:var(--brand-200)}.ui-btn-outline{background:var(--paper);color:var(--text-700);border:1px solid var(--line)}.ui-btn-outline:hover:not(:disabled){background:var(--field)}.ui-btn-danger{background:var(--danger);color:#fff}.ui-btn-danger-outline{background:var(--paper);color:var(--danger);border:1px solid var(--line)}.ui-btn-text{color:var(--brand);background:0 0;padding:0 8px}.ui-btn-sm{border-radius:10px;height:32px;padding:0 12px;font-size:13px}.ui-btn-lg{height:48px;font-size:15px}.ui-btn-block{width:100%}.ui-icon-btn{width:36px;height:36px;color:var(--text-500);cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.ui-icon-btn:hover{background:var(--field);color:var(--text-900)}.ui-icon-btn.emphasized{background:var(--brand-50);color:var(--brand)}.ui-icon-btn.emphasized:hover{background:var(--brand-200)}.ui-input,.ui-textarea,.ui-select{background:var(--paper);width:100%;height:40px;color:var(--text-900);border:1px solid var(--line);font:inherit;border-radius:12px;outline:none;padding:0 14px;font-size:14px;transition:border-color .12s,box-shadow .12s}.ui-textarea{resize:vertical;height:auto;min-height:80px;padding:10px 14px;line-height:1.5}.ui-input::placeholder,.ui-textarea::placeholder{color:var(--text-400)}.ui-input:focus,.ui-textarea:focus,.ui-select:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-50)}.ui-input.error,.ui-textarea.error{border-color:var(--danger)}.ui-input:disabled,.ui-textarea:disabled{background:var(--field);color:var(--text-400)}.ui-field-label{color:var(--text-400);letter-spacing:.04em;margin:0 0 6px 2px;font-size:12px;font-weight:600;display:block}.ui-field-error{color:var(--danger);margin-top:6px;font-size:12px}.ui-search{background:var(--field);height:36px;color:var(--text-400);border-radius:10px;align-items:center;gap:8px;padding:0 12px;display:flex}.ui-search input{min-width:0;font:inherit;color:var(--text-900);background:0 0;border:0;outline:none;flex:1;font-size:13px}.ui-switch{cursor:pointer;background:#e5ddd8;border:0;border-radius:999px;flex-shrink:0;width:46px;height:28px;padding:0;transition:background .15s;position:relative}.ui-switch:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #1f1a1833}.ui-switch.on{background:var(--brand)}.ui-switch.on:after{transform:translate(18px)}.ui-switch:disabled{opacity:.5;cursor:not-allowed}.ui-card{background:var(--paper);border:1px solid var(--line);border-radius:14px}.ui-card-pad{padding:16px}.ui-section-title{color:var(--text-400);letter-spacing:.04em;padding:16px 16px 8px;font-size:12px;font-weight:600}.ui-section{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.ui-section .ui-card{border:0;border-radius:0}.ui-row{border-bottom:1px solid var(--line-soft);cursor:default;align-items:center;gap:12px;min-height:48px;padding:8px 16px;display:flex}.ui-row:last-child,.ui-row.no-divider{border-bottom:0}.ui-row.clickable{cursor:pointer}.ui-row.clickable:hover{background:var(--field)}.ui-row-icon{color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.ui-row-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ui-row-title{color:var(--text-900);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.ui-row-title.danger{color:var(--danger)}.ui-row-desc{color:var(--text-400);font-size:12px;line-height:16px}.ui-row-value{color:var(--text-400);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;max-width:200px;font-size:13px;overflow:hidden}.ui-chevron{color:var(--muted);flex-shrink:0}.ui-list-row{border-bottom:1px solid var(--line-soft);cursor:pointer;align-items:center;gap:12px;height:64px;padding:0 12px;display:flex}.ui-list-row:hover{background:var(--field)}.ui-list-row.active{background:var(--brand-50)}.ui-list-row.pinned:not(.active){background:#fdf7f5}.ui-list-row .name{color:var(--text-900);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.ui-list-row .sub{color:var(--text-400);white-space:nowrap;text-overflow:ellipsis;font-size:12px;line-height:16px;overflow:hidden}.ui-list-row .meta{color:var(--text-400);flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;font-size:11px;display:flex}.ui-avatar{color:#fff;background:var(--field);-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex;position:relative;overflow:hidden}.ui-avatar img{object-fit:cover;width:100%;height:100%;display:block}.ui-avatar-24{border-radius:8px;width:24px;height:24px;font-size:11px}.ui-avatar-32{border-radius:10px;width:32px;height:32px;font-size:13px}.ui-avatar-36{border-radius:11px;width:36px;height:36px;font-size:14px}.ui-avatar-40{border-radius:12px;width:40px;height:40px;font-size:15px}.ui-avatar-44{border-radius:13px;width:44px;height:44px;font-size:16px}.ui-avatar-48{border-radius:14px;width:48px;height:48px;font-size:17px}.ui-avatar-64{border-radius:18px;width:64px;height:64px;font-size:22px}.ui-avatar-80{border-radius:22px;width:80px;height:80px;font-size:28px}.ui-avatar-c0{background:#7c9cb5}.ui-avatar-c1{background:#e8804a}.ui-avatar-c2{background:#c2557a}.ui-avatar-c3{background:#2f9e7e}.ui-avatar-c4{background:#8a7bb8}.ui-avatar-c5{background:#5b8fa8}.ui-avatar-c6{background:#b58a5c}.ui-online-dot{background:var(--success);border:2.5px solid var(--paper);border-radius:50%;width:12px;height:12px;position:absolute;bottom:-2px;right:-2px}.ui-badge{background:var(--brand);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.ui-badge.muted{background:var(--muted)}.ui-dot{background:var(--brand);border-radius:50%;width:8px;height:8px;display:inline-block}.ui-tag{background:var(--canvas);color:var(--text-500);border:1px solid var(--line);border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;line-height:16px;display:inline-flex}.ui-tag.emphasized{background:var(--brand-50);color:var(--brand-600);border-color:#0000;font-weight:600}.ui-tag.success{color:#1e6b55;background:#e3f4ee;border-color:#0000}.ui-system-pill{color:var(--text-400);background:#1f1a180d;border-radius:999px;padding:5px 14px;font-size:12px;display:inline-block}.ui-empty{text-align:center;color:var(--text-400);flex-direction:column;align-items:center;padding:48px 32px;display:flex}.ui-empty-icon{background:var(--brand-50);width:64px;height:64px;color:var(--brand);border-radius:18px;justify-content:center;align-items:center;margin-bottom:16px;display:flex}.ui-empty-title{color:var(--text-900);font-size:15px;font-weight:600}.ui-empty-sub{margin-top:6px;font-size:13px}.ui-spinner{border:2.5px solid var(--brand-50);border-top-color:var(--brand);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite ui-spin}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-overlay{z-index:1000;background:#1f1a1873;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ui-modal{background:var(--paper);border-radius:20px;flex-direction:column;width:440px;max-width:calc(100vw - 48px);max-height:calc(100vh - 64px);display:flex;overflow:hidden;box-shadow:0 16px 48px #1f1a182e}.ui-modal-lg{width:640px}.ui-modal-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;height:56px;padding:0 12px 0 20px;display:flex}.ui-modal-title{color:var(--text-900);flex:1;font-size:17px;font-weight:600}.ui-modal-body{flex:1;padding:20px;overflow-y:auto}.ui-modal-foot{justify-content:flex-end;gap:10px;padding:12px 20px 20px;display:flex}.ui-panel{background:var(--canvas);border-left:1px solid var(--line);z-index:50;flex-direction:column;width:420px;max-width:100%;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-8px 0 24px #1f1a180f}.ui-panel-head{background:var(--paper);border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:12px;height:56px;padding:0 12px 0 20px;display:flex}.ui-panel-title{color:var(--text-900);flex:1;font-size:17px;font-weight:600}.ui-panel-body{flex:1;overflow-y:auto}.ui-bubble{word-break:break-word;max-width:72%;padding:10px 14px;font-size:14px;line-height:22px}.ui-bubble.mine{background:var(--brand);color:#fff;border-radius:20px 20px 6px}.ui-bubble.other{background:var(--paper);color:var(--text-900);border:1px solid var(--line);border-radius:20px 20px 20px 6px}.ui-bubble.media{padding:4px}.ui-bubble.media img,.ui-bubble.media video{border-radius:16px;max-width:100%;display:block}.ui-bubble-meta{color:var(--text-400);margin-top:3px;padding:0 4px;font-size:11px}.ui-reaction-chip{background:var(--paper);border:1px solid var(--line);color:var(--text-700);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;display:inline-flex}.ui-reaction-chip.mine{background:var(--brand-50);border-color:var(--brand-200);color:var(--brand-600)}.pnl-w-340{width:340px}.pnl-w-380{width:380px}.pnl-w-420{width:420px}.pnl-w-460{width:460px}.pnl-w-480{width:480px}.pnl-w-520{width:520px}.pnl-w-560{width:560px}.pnl-z-top{z-index:1100}.pnl-inner-overlay{z-index:10;background:#1f1a1859;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pnl-inner-modal{border-radius:16px;max-height:400px;box-shadow:0 8px 32px #1f1a1826}.ui-modal-body.pnl-body-canvas{background:var(--canvas);padding:0 0 16px}.ui-modal-body.pnl-body-canvas>.ui-section+.ui-section,.pnl-gap-top{margin-top:12px}.pnl-pad{padding:16px}.pnl-form{flex-direction:column;gap:12px;padding:16px;display:flex}.pnl-back-row{align-items:center;gap:4px;padding:10px 12px 2px;display:flex}.pnl-back-row .pnl-back-title{color:var(--text-900);font-size:15px;font-weight:600}.pnl-tabs{background:var(--paper);border-bottom:1px solid var(--line);flex-shrink:0;display:flex}.pnl-tab{height:44px;font:inherit;color:var(--text-400);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:1;font-size:13px;font-weight:600;transition:color .12s,border-color .12s}.pnl-tab:hover{color:var(--text-700)}.pnl-tab.active{color:var(--brand);border-bottom-color:var(--brand)}.pnl-chips{flex-wrap:wrap;gap:6px;display:flex}.pnl-chip{border:1px solid var(--line);background:var(--paper);height:30px;color:var(--text-500);font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:0 12px;font-size:12px;font-weight:500;transition:background .12s,color .12s;display:inline-flex}.pnl-chip:hover{background:var(--field)}.pnl-chip.active{background:var(--brand-50);color:var(--brand-600);border-color:#0000;font-weight:600}.pnl-chip.block{flex:1;justify-content:center}.pnl-chip:disabled{opacity:.5;cursor:not-allowed}.pnl-subhead{color:var(--text-400);letter-spacing:.04em;align-items:center;gap:6px;margin:0 0 8px;font-size:12px;font-weight:600;display:flex}.pnl-subhead .spacer{flex:1}.pnl-subhead .pnl-link{margin-left:auto}.pnl-link{font:inherit;color:var(--brand);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:4px;padding:2px 4px;font-size:12px;font-weight:600;display:inline-flex}.pnl-link:hover{background:var(--brand-50)}.pnl-link.danger{color:var(--danger)}.pnl-link.danger:hover{background:var(--danger-50)}.pnl-note{color:var(--text-400);font-size:13px;line-height:1.6}.pnl-note.sm{font-size:12px}.pnl-note.center{text-align:center}.pnl-counter{color:var(--text-400);text-align:right;margin-top:4px;font-size:11px}.pnl-alert{border-radius:12px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;line-height:1.6;display:flex}.pnl-alert.ok{background:var(--success-50);color:#1e6b55}.pnl-alert.err{background:var(--danger-50);color:var(--danger)}.pnl-alert.warn{background:var(--brand-50);color:var(--brand-600)}.pnl-inline-msg{font-size:13px}.pnl-inline-msg.ok{color:var(--success)}.pnl-inline-msg.err{color:var(--danger)}.pnl-card{background:var(--canvas);border:1px solid var(--line);border-radius:12px;padding:12px;font-size:13px}.pnl-card.center{text-align:center;color:var(--text-400)}.pnl-card.paper{background:var(--paper)}.pnl-card-title{color:var(--text-900);margin-bottom:10px;font-size:14px;font-weight:600}.pnl-stack{flex-direction:column;gap:8px;display:flex}.pnl-row-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.pnl-actions-end{justify-content:flex-end;gap:8px;display:flex}.pnl-actions-split{gap:10px;display:flex}.pnl-actions-split>.ui-btn{flex:1}.pnl-code-box{background:var(--field);color:var(--text-900);word-break:break-all;border-radius:12px;align-items:center;gap:8px;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;display:flex}.pnl-code-box code{flex:1;font-weight:600}.pnl-backup-grid{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.pnl-backup-code{background:var(--paper);border:1px solid var(--line);text-align:center;cursor:pointer;color:var(--text-900);border-radius:8px;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.pnl-backup-code:hover{border-color:var(--brand-200)}.ui-input.pnl-otp{text-align:center;letter-spacing:8px;height:48px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:20px;font-weight:600}.pnl-hero{text-align:center;flex-direction:column;align-items:center;padding:8px 0 16px;display:flex}.pnl-hero-icon{background:var(--brand-50);width:64px;height:64px;color:var(--brand);border-radius:18px;justify-content:center;align-items:center;margin-bottom:12px;display:flex}.pnl-hero-icon.success{background:var(--success-50);color:var(--success)}.pnl-hero-icon.danger{background:var(--danger-50);color:var(--danger)}.pnl-hero-icon.muted{background:var(--field);color:var(--text-400)}.pnl-hero-icon.lg{border-radius:22px;width:80px;height:80px}.pnl-hero-title{color:var(--text-900);font-size:16px;font-weight:600}.pnl-hero-title.success{color:var(--success)}.pnl-hero-sub{color:var(--text-400);margin-top:6px;font-size:13px;line-height:1.5}.pnl-spin{animation:1s linear infinite ui-spin}.pnl-qr-box{border:1px solid var(--line);background:var(--paper);border-radius:14px;justify-content:center;align-items:center;width:240px;height:240px;margin:0 auto;display:flex;overflow:hidden}.pnl-qr-box.sm{width:200px;height:200px}.pnl-avatar-edit{cursor:pointer;display:inline-block;position:relative}.pnl-avatar-cam{background:var(--brand);color:#fff;border:2px solid var(--paper);border-radius:10px;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:absolute;bottom:-4px;right:-4px}.pnl-avatar-cam.sm{border-radius:8px;width:22px;height:22px}.pnl-composer{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:12px;padding:14px 16px}.pnl-composer textarea{width:100%;font:inherit;color:var(--text-900);resize:none;background:0 0;border:0;outline:none;font-size:14px;line-height:1.6}.pnl-composer textarea::placeholder{color:var(--text-400)}.pnl-composer-foot{align-items:center;gap:12px;margin-top:10px;display:flex}.pnl-composer-foot .spacer{flex:1}.pnl-attach{color:var(--text-500);cursor:pointer;border-radius:8px;align-items:center;gap:4px;padding:4px 6px;font-size:13px;display:inline-flex}.pnl-attach:hover{background:var(--field);color:var(--text-900)}.pnl-attach.disabled{color:var(--muted);cursor:not-allowed}.pnl-attach.disabled:hover{color:var(--muted);background:0 0}.ui-select.pnl-select-sm{border-radius:10px;width:auto;height:30px;padding:0 10px;font-size:12px}.pnl-media-strip{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.pnl-media-thumb{border-radius:10px;width:80px;height:80px;position:relative;overflow:visible}.pnl-media-thumb img,.pnl-media-thumb video{object-fit:cover;background:#1f1a18;border-radius:10px;width:80px;height:80px;display:block}.pnl-media-thumb .play{color:#fff;pointer-events:none;text-shadow:0 1px 2px #00000080;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.pnl-media-x{background:var(--danger);color:#fff;border:2px solid var(--paper);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:11px;line-height:1;display:flex;position:absolute;top:-6px;right:-6px}.pnl-moment{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:12px;padding:16px}.pnl-moment:last-child{margin-bottom:0}.pnl-moment-head{align-items:center;gap:12px;margin-bottom:10px;display:flex}.pnl-moment-name{color:var(--text-900);font-size:14px;font-weight:600}.pnl-moment-time{color:var(--text-400);margin-top:2px;font-size:12px}.pnl-moment-text{color:var(--text-900);white-space:pre-wrap;word-break:break-word;margin:0 0 8px;font-size:14px;line-height:1.6}.pnl-moment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;max-width:360px;margin-bottom:8px;display:grid}.pnl-moment-grid img{aspect-ratio:1;object-fit:cover;cursor:pointer;background:var(--field);border-radius:8px;width:100%;display:block}.pnl-moment-single{object-fit:cover;cursor:pointer;background:var(--field);border-radius:12px;max-width:280px;max-height:320px;margin-bottom:8px;display:block}.pnl-moment-video{background:#1f1a18;border-radius:12px;width:100%;max-width:360px;display:block}.pnl-moment-actions{gap:20px;margin-top:6px;display:flex}.pnl-moment-action{font:inherit;color:var(--text-500);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:2px 0;font-size:13px;display:inline-flex}.pnl-moment-action:hover{color:var(--text-900)}.pnl-moment-action.active{color:var(--brand)}.pnl-moment-comments{background:var(--canvas);border-radius:10px;flex-direction:column;gap:6px;margin-top:10px;padding:10px 12px;display:flex}.pnl-moment-comment{font-size:13px;line-height:20px}.pnl-moment-comment .who{color:var(--brand-600);font-weight:500}.pnl-moment-comment .txt{color:var(--text-700);margin-left:4px}.pnl-moment-reply{gap:8px;margin-top:4px;display:flex}.pnl-moment-reply .ui-input{flex:1;height:36px}.pnl-option-list{flex-direction:column;gap:6px;display:flex}.pnl-option{border:1px solid var(--line);background:var(--paper);cursor:pointer;min-height:44px;font:inherit;color:var(--text-900);text-align:left;border-radius:12px;align-items:center;gap:10px;width:100%;padding:8px 14px;font-size:14px;transition:background .12s,border-color .12s;display:flex}.pnl-option:hover{background:var(--field)}.pnl-option.selected{background:var(--brand-50);border-color:var(--brand);font-weight:600}.pnl-option:disabled{cursor:wait}.pnl-option input[type=radio],.pnl-option input[type=checkbox]{accent-color:var(--brand)}.pnl-option .grow{flex:1}.pnl-check{border:2px solid var(--muted);color:#fff;background:0 0;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;transition:background .12s,border-color .12s;display:flex}.pnl-check.on{background:var(--brand);border-color:var(--brand)}.pnl-dashed-btn{border:1.5px dashed var(--brand-200);width:100%;height:44px;color:var(--brand);font:inherit;cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.pnl-dashed-btn:hover{background:var(--brand-50)}.pnl-dashed-tile{border:1.5px dashed var(--brand-200);width:40px;height:40px;color:var(--brand);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.pnl-file-row{background:var(--canvas);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.pnl-file-icon{background:var(--brand-50);width:32px;height:32px;color:var(--brand);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.pnl-file-icon.muted{background:var(--field);color:var(--text-400)}.pnl-file-name{color:var(--text-900);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.pnl-file-meta{color:var(--text-400);margin-top:2px;font-size:11px}.pnl-progress{background:var(--field);border-radius:3px;height:6px;overflow:hidden}.pnl-progress>span{background:var(--brand);border-radius:3px;height:100%;display:block}.pnl-rank{text-align:center;width:18px;color:var(--text-400);flex-shrink:0;font-size:12px;font-weight:700}.pnl-rank.top{color:var(--brand)}.pnl-me{color:var(--text-400);font-size:11px;font-weight:400}.pnl-inline-tag{vertical-align:middle;margin-left:6px}.pnl-about-logo{background:var(--brand);border-radius:18px;justify-content:center;align-items:center;width:64px;height:64px;margin:0 auto 12px;display:flex;box-shadow:0 6px 16px #e85c4140}.pnl-section-bar{color:var(--text-400);letter-spacing:.04em;align-items:center;gap:6px;padding:16px 16px 8px;font-size:12px;font-weight:600;display:flex}.pnl-section-bar .spacer{flex:1}.pnl-group-head{background:var(--paper);border-bottom:1px solid var(--line);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:20px 16px;display:flex}.pnl-group-name{color:var(--text-900);font-size:20px;font-weight:600}.pnl-group-sub{color:var(--text-400);margin-top:2px;font-size:13px}.pnl-embedded{padding:4px 16px 8px}:root{--brand:#e85c41;--brand-600:#c9472e;--brand-200:#fbc9bb;--brand-50:#fdede8;--success:#2f9e7e;--success-50:#e3f4ee;--danger:#d14343;--danger-50:#fdecec;--canvas:#fbf9f8;--paper:#fff;--line:#ede6e2;--line-soft:#f5f0ed;--field:#f3efec;--muted:#c4b9b3;--text-900:#1f1a18;--text-700:#4a423e;--text-500:#6b615c;--text-400:#9c918b;--bg-app:var(--canvas);--bg-sidebar:var(--paper);--bg-nav:#221c18;--bg-chat:var(--canvas);--bg-header:var(--paper);--bg-input:var(--paper);--bg-hover:var(--field);--bg-active:var(--brand-50);--bg-bubble-other:var(--paper);--border:var(--line);--green:var(--brand);--green-dark:var(--brand-600);--green-nav:#221c18;--green-light:var(--brand-50);--bubble-self:var(--brand);--text-self:#fff;--text-1:var(--text-900);--text-2:var(--text-500);--text-3:var(--text-400);--red:var(--danger);--shadow:0 1px 4px #1f1a1814;--shadow-pop:0 8px 24px #1f1a181a}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-app);color:var(--text-1);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Be Vietnam Pro,Noto Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}#root{width:100%;height:100vh}::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#00000026}::selection{background:var(--brand-200);color:var(--text-900)}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}#root{width:100%;height:100vh;margin:0;padding:0;overflow:hidden}.nav-rail{width:56px;background:var(--bg-nav);display:flex;flex-direction:column;align-items:center;padding:14px 0 12px;gap:4px;flex-shrink:0}.nav-self-avatar{margin-bottom:8px;box-shadow:0 0 0 2px #ffffff2e}.nav-divider{width:24px;height:1px;background:#ffffff1f;margin:6px 0}.nav-btn,.nav-bottom-btn{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#ffffffa6;transition:background .15s,color .15s;position:relative;flex-shrink:0;border:none;background:none}.nav-btn:hover,.nav-bottom-btn:hover{background:#ffffff1a;color:#fff}.nav-btn.active{background:var(--brand-50);color:var(--brand)}.nav-btn.active:hover{background:var(--brand-200);color:var(--brand-600)}.nav-badge{position:absolute;top:3px;right:3px;min-width:16px;height:16px;padding:0 4px;background:var(--brand);color:#fff;border-radius:999px;font-size:9px;font-weight:600;line-height:1;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--bg-nav)}.nav-spacer{flex:1}.sidebar{width:280px;background:var(--paper);border-right:1px solid var(--line);display:flex;flex-direction:column;flex-shrink:0;position:relative}.sidebar-header{padding:14px 16px 10px}.sidebar-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;min-height:36px}.sidebar-title{font-size:20px;font-weight:600;color:var(--text-900);letter-spacing:-.01em}.conv-tabs{display:flex;gap:6px;padding:2px 16px 10px}.conv-tab{display:inline-flex;align-items:center;gap:4px;padding:3px 12px;border-radius:999px;font:inherit;font-size:12px;line-height:18px;font-weight:500;background:var(--canvas);color:var(--text-500);border:1px solid var(--line);cursor:pointer;transition:background .12s,color .12s,border-color .12s}.conv-tab:hover{background:var(--field);color:var(--text-900)}.conv-tab.active{background:var(--brand-50);color:var(--brand-600);border-color:transparent;font-weight:600}.conv-list{flex:1;overflow-y:auto}.conv-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.conv-name-row{display:flex;align-items:center;gap:4px;min-width:0}.conv-name-row .name{flex:0 1 auto;min-width:0}.conv-name-icon{color:var(--muted);flex-shrink:0}.conv-sub-online{color:var(--success)!important}.global-results{border-bottom:1px solid var(--line);max-height:320px;overflow-y:auto;background:var(--paper)}.global-results-title{padding:8px 16px 4px;font-size:11px;font-weight:600;color:var(--text-400);letter-spacing:.04em}.global-result-row{display:flex;align-items:center;gap:10px;padding:6px 16px;cursor:pointer}.global-result-row:hover{background:var(--field)}.global-result-name{font-size:13px;font-weight:500;color:var(--text-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-result-msg{display:flex;flex-direction:column;gap:2px;padding:6px 16px;cursor:pointer}.global-result-msg:hover{background:var(--field)}.global-results-empty{padding:16px;text-align:center;font-size:12px;color:var(--text-400)}.search-mark{background:var(--brand-50);color:var(--brand-600);padding:0 1px;border-radius:2px}.app-menu{background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px #1f1a181a;padding:6px;min-width:160px}.app-menu-item{display:flex;align-items:center;gap:10px;width:100%;height:36px;padding:0 10px;border-radius:10px;border:0;background:none;font:inherit;font-size:13px;font-weight:500;color:var(--text-900);cursor:pointer;text-align:left;white-space:nowrap;transition:background .1s}.app-menu-item:hover{background:var(--field)}.app-menu-item.active{background:var(--brand-50);color:var(--brand-600)}.app-menu-item.danger{color:var(--danger)}.app-menu-item.danger:hover{background:var(--danger-50)}.app-menu-item svg{flex-shrink:0;color:var(--text-500)}.app-menu-item.active svg{color:var(--brand)}.app-menu-item.danger svg{color:var(--danger)}.app-menu-sep{height:1px;background:var(--line-soft);margin:4px 6px}.app-menu-quick{display:flex;align-items:center;gap:2px;padding:4px 4px 8px;margin-bottom:4px;border-bottom:1px solid var(--line-soft)}.app-menu-quick button{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:0;background:none;border-radius:999px;font-size:18px;cursor:pointer;transition:background .1s}.app-menu-quick button:hover{background:var(--field)}.app-menu-quick button.mine{background:var(--brand-50)}.chat-area{flex:1;display:flex;flex-direction:column;background:var(--canvas);min-width:0}.chat-header{display:flex;align-items:center;padding:0 12px 0 16px;height:56px;border-bottom:1px solid var(--line);background:var(--paper);flex-shrink:0;gap:12px}.chat-header-left{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.chat-header-text{min-width:0;display:flex;flex-direction:column;gap:1px}.chat-header-name{font-size:15px;font-weight:600;color:var(--text-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-header-status{display:flex;align-items:center;gap:5px;font-size:12px;line-height:16px;color:var(--text-400)}.chat-header-status.online{color:var(--success)}.chat-header-status.typing{color:var(--brand)}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--success);flex-shrink:0}.header-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.chat-search-panel{background:var(--paper);border-bottom:1px solid var(--line);padding:10px 16px}.chat-search-row{display:flex;gap:8px;align-items:center}.chat-search-row .ui-search{flex:1}.chat-search-results{max-height:200px;overflow-y:auto;margin-top:8px}.chat-search-result{display:flex;align-items:center;gap:8px;padding:8px;border-radius:10px;cursor:pointer;font-size:13px}.chat-search-result:hover{background:var(--field)}.chat-search-result .who{font-weight:600;color:var(--text-500);flex-shrink:0;font-size:12px}.chat-search-result .what{flex:1;color:var(--text-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-search-result .when{font-size:11px;color:var(--text-400);flex-shrink:0}.chat-search-empty{text-align:center;padding:12px 0;color:var(--text-400);font-size:12px}.pinned-bar{display:flex;align-items:center;gap:10px;padding:6px 12px 6px 16px;background:var(--paper);border-bottom:1px solid var(--line);font-size:12px;cursor:pointer;flex-shrink:0}.pinned-bar:hover{background:var(--line-soft)}.pinned-bar-icon{color:var(--brand);flex-shrink:0}.pinned-bar-body{flex:1;min-width:0;border-left:3px solid var(--brand);padding-left:10px}.pinned-bar-label{color:var(--brand);font-weight:600;font-size:11px;line-height:14px}.pinned-bar-text{color:var(--text-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:16px}.messages-wrap{flex:1;overflow-y:auto;padding:16px 20px 10px;display:flex;flex-direction:column;gap:4px;background:var(--canvas)}.date-divider{display:flex;justify-content:center;margin:8px 0 4px}.sys-msg{align-self:center;display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:999px;margin:4px 0;background:#1f1a180d;color:var(--text-400);font-size:12px;line-height:16px}.msg-row{display:flex;align-items:flex-end;gap:10px;padding:2px 4px}.msg-row.self{flex-direction:row-reverse}.msg-row .msg-av{margin-bottom:20px}.msg-group{display:flex;flex-direction:column;align-items:flex-start;max-width:62%;min-width:0}.msg-row.self .msg-group{align-items:flex-end}.msg-group .ui-bubble{max-width:100%}.ui-bubble.media.other .img-msg,.ui-bubble.media.other .img-msg img{border-radius:16px 16px 16px 4px}.ui-bubble.media.mine .img-msg,.ui-bubble.media.mine .img-msg img{border-radius:16px 16px 4px}.msg-sender{font-size:12px;line-height:16px;color:var(--text-400);margin:0 0 3px 6px}.msg-emoji-only{font-size:40px;line-height:1.15;padding:2px 4px}.bubble-text{font-size:14px;line-height:22px;white-space:pre-wrap;word-break:break-word;margin:0}.bubble-foot{display:flex;align-items:center;gap:4px;font-size:11px;line-height:14px;color:var(--text-400);padding:0 4px;margin-top:3px}.bubble-foot .tick{display:inline-flex;color:var(--muted)}.bubble-foot .tick.tick-read{color:var(--brand)}.bubble-foot .tick.tick-fail{color:var(--danger);font-weight:700}.msg-reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.msg-row.self .msg-reactions{justify-content:flex-end}.quoted{display:flex;align-items:stretch;gap:8px;padding:6px 10px 6px 8px;border-radius:12px;margin-bottom:6px;cursor:pointer;background:var(--field);transition:background .12s}.quoted:hover{background:var(--line)}.quoted-bar{width:3px;border-radius:2px;background:var(--brand);flex-shrink:0}.quoted-body{flex:1;min-width:0}.quoted-name{font-size:12px;font-weight:600;line-height:16px;color:var(--text-700)}.quoted-text{display:flex;align-items:center;gap:4px;font-size:12px;line-height:16px;color:var(--text-500);overflow:hidden}.quoted-text span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-bubble.mine .quoted{background:#ffffff29}.ui-bubble.mine .quoted:hover{background:#ffffff3d}.ui-bubble.mine .quoted-bar{background:#ffffffb3}.ui-bubble.mine .quoted-name{color:#ffffffe6}.ui-bubble.mine .quoted-text{color:#ffffffc7}.loc-card{display:flex;flex-direction:column;gap:3px}.loc-title{display:flex;align-items:center;gap:6px;font-size:14px;line-height:20px}.loc-coords{font-size:12px;opacity:.72}.loc-link{font-size:12px;text-decoration:underline;color:var(--brand)}.ui-bubble.mine .loc-link{color:inherit}.file-msg{display:flex;align-items:center;gap:12px;min-width:200px;max-width:300px;cursor:pointer}.file-msg-icon{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--brand-50);color:var(--brand)}.file-msg-name{font-size:14px;font-weight:500;line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-msg-size{font-size:12px;line-height:16px;color:var(--text-400)}.file-msg-dl{width:32px;height:32px;border-radius:999px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--field);color:var(--text-500);transition:background .12s}.file-msg:hover .file-msg-dl{background:var(--line)}.ui-bubble.mine .file-msg-icon{background:#fff3;color:#fff}.ui-bubble.mine .file-msg-size{color:#ffffffbf}.ui-bubble.mine .file-msg-dl{background:#fff3;color:#fff}.ui-bubble.mine .file-msg:hover .file-msg-dl{background:#ffffff4d}.voice-msg{display:flex;align-items:center;gap:12px;padding:8px 14px 8px 8px;cursor:pointer;min-width:200px;max-width:280px}.voice-msg.other{background:var(--paper);border:1px solid var(--line);border-radius:20px 20px 20px 6px;color:var(--text-900)}.voice-msg.mine{background:var(--brand);color:#fff;border-radius:20px 20px 6px}.voice-play{width:36px;height:36px;border-radius:999px;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:0;cursor:pointer;transition:background .12s}.voice-msg.other .voice-play{background:var(--brand-50);color:var(--brand)}.voice-msg.other .voice-play:hover{background:var(--brand-200)}.voice-msg.mine .voice-play{background:#fff3;color:#fff}.voice-msg.mine .voice-play:hover{background:#ffffff4d}.voice-wave{display:flex;align-items:center;gap:2px;height:24px;cursor:pointer}.voice-bar{width:3px;border-radius:2px;transition:background .12s}.voice-msg.other .voice-bar{background:var(--muted)}.voice-msg.other .voice-bar.played{background:var(--brand)}.voice-msg.mine .voice-bar{background:#fff6}.voice-msg.mine .voice-bar.played{background:#fff}.voice-meta{display:flex;align-items:center;justify-content:space-between;margin-top:2px;font-size:11px;line-height:14px}.voice-msg.other .voice-meta{color:var(--text-400)}.voice-msg.mine .voice-meta{color:#ffffffbf}.voice-speed{border:0;font:inherit;font-size:11px;padding:1px 6px;border-radius:999px;cursor:pointer}.voice-msg.other .voice-speed{background:var(--field);color:var(--text-500)}.voice-msg.mine .voice-speed{background:#fff3;color:#fff}.voice-spinner{width:18px;height:18px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:ui-spin .8s linear infinite}.voice-recorder{position:absolute;bottom:100%;left:16px;right:16px;margin-bottom:8px;z-index:30}.voice-recorder-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;box-shadow:0 8px 24px #1f1a181a;padding:16px}.voice-recorder-wave{display:flex;align-items:center;justify-content:center;gap:2px;height:48px;margin-bottom:14px}.voice-recorder-wave .voice-bar{width:3px;background:var(--brand);transition:height .1s}.voice-recorder-wave.recording .voice-bar{background:var(--danger)}.voice-recorder-time{text-align:center;margin-bottom:14px;font-size:24px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-900)}.voice-recorder-time.recording{color:var(--danger)}.voice-recorder-state{margin-left:8px;font-size:13px;font-weight:400;color:var(--text-400);display:inline-flex;align-items:center;gap:6px}.voice-recorder-state.recording{color:var(--danger)}.voice-recorder-state .rec-dot{width:8px;height:8px;border-radius:999px;background:var(--danger);animation:rec-pulse 1s ease-in-out infinite}@keyframes rec-pulse{0%,to{opacity:1}50%{opacity:.3}}.voice-recorder-ctls{display:flex;align-items:center;justify-content:center;gap:16px}.voice-ctl{border:0;border-radius:999px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,transform .1s}.voice-ctl:active{transform:scale(.95)}.voice-ctl-48{width:48px;height:48px}.voice-ctl-64{width:64px;height:64px;box-shadow:0 6px 16px #1f1a1824}.voice-ctl.neutral{background:var(--field);color:var(--text-500)}.voice-ctl.neutral:hover{background:var(--line)}.voice-ctl.brand{background:var(--brand);color:#fff}.voice-ctl.brand:hover{background:var(--brand-600)}.voice-ctl.danger{background:var(--danger);color:#fff}.voice-ctl.danger:hover{background:#b83a3a}.voice-ctl:disabled{background:var(--field);color:var(--muted);cursor:not-allowed;box-shadow:none}.voice-recorder-hint{text-align:center;font-size:12px;color:var(--text-400);margin-top:12px}.img-msg{position:relative;border-radius:16px;overflow:hidden;cursor:pointer}.img-msg img{display:block;max-width:320px;max-height:256px;object-fit:cover;transition:opacity .15s}.img-msg-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--field)}.img-msg-error{width:192px;height:128px;display:flex;align-items:center;justify-content:center;background:var(--field);color:var(--text-400);font-size:13px}.img-msg-hover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#1f1a1800;color:#fff;opacity:0;transition:background .15s,opacity .15s}.img-msg:hover .img-msg-hover{background:#1f1a1838;opacity:1}.upload-preview{padding:10px 16px;background:var(--canvas);border-top:1px solid var(--line)}.upload-preview-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;font-size:12px;color:var(--text-500)}.upload-preview-clear{border:0;background:none;font:inherit;font-size:12px;color:var(--danger);cursor:pointer;padding:0}.upload-thumbs{display:flex;flex-wrap:wrap;gap:8px}.upload-thumb{position:relative}.upload-thumb img{width:64px;height:64px;object-fit:cover;border-radius:12px;display:block;border:1px solid var(--line)}.upload-thumb-x{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:999px;border:2px solid var(--paper);background:var(--danger);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .12s}.upload-thumb:hover .upload-thumb-x{opacity:1}.upload-files{display:flex;flex-direction:column;gap:6px;max-height:160px;overflow-y:auto}.upload-file-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--paper);border:1px solid var(--line);border-radius:12px}.upload-file-icon{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--brand-50);color:var(--brand);flex-shrink:0}.upload-file-name{font-size:13px;color:var(--text-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-file-size{font-size:11px;color:var(--text-400)}.upload-file-x{width:26px;height:26px;border-radius:999px;border:0;background:none;color:var(--text-400);display:flex;align-items:center;justify-content:center;cursor:pointer}.upload-file-x:hover{background:var(--field);color:var(--danger)}.drag-overlay{position:absolute;inset:0;z-index:40;pointer-events:none;background:#e85c4114;border:2px dashed var(--brand);border-radius:16px;display:flex;align-items:center;justify-content:center}.drag-overlay-inner{text-align:center;color:var(--brand);font-weight:600}.drag-overlay-inner svg{margin:0 auto 8px;display:block}.reply-bar{display:flex;align-items:center;gap:12px;padding:8px 12px 8px 16px;background:var(--paper);border-top:1px solid var(--line)}.reply-bar-body{flex:1;min-width:0;border-left:3px solid var(--brand);padding-left:10px}.reply-bar-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;line-height:14px;color:var(--brand)}.reply-bar-label .who{color:var(--text-700)}.reply-bar-text{display:flex;align-items:center;gap:4px;font-size:12px;line-height:16px;color:var(--text-500);overflow:hidden}.reply-bar-text span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.input-area{border-top:1px solid var(--line);background:var(--paper);padding:8px 16px 12px;flex-shrink:0}.input-toolbar{display:flex;align-items:center;gap:2px;margin-bottom:6px}.tool-btn{width:32px;height:32px;border-radius:10px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-500);transition:background .12s,color .12s}.tool-btn:hover{background:var(--field);color:var(--text-900)}.tool-btn.active{background:var(--brand-50);color:var(--brand)}.tool-btn.recording{background:var(--danger-50);color:var(--danger)}.input-row{display:flex;align-items:flex-end;gap:10px}.input-box{flex:1;background:var(--field);border:1px solid var(--line);border-radius:14px;padding:9px 14px;font-size:14px;line-height:22px;color:var(--text-900);resize:none;outline:none;font-family:inherit;min-height:40px;max-height:120px;overflow-y:auto;transition:border-color .12s,box-shadow .12s,background .15s}.input-box:focus{border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-50);background:var(--paper)}.input-box::placeholder{color:var(--text-400)}.send-btn{width:36px;height:36px;border-radius:999px;margin-bottom:2px;background:var(--brand);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;transition:transform .1s,background .15s}.send-btn:hover{background:var(--brand-600)}.send-btn:active{transform:scale(.94)}.send-btn:disabled{background:var(--field);color:var(--muted);cursor:not-allowed;transform:none}.mention-picker{position:absolute;bottom:100%;left:16px;right:16px;z-index:20;margin-bottom:6px;max-height:220px;overflow-y:auto;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px #1f1a181a;padding:6px}.mention-row{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:10px;cursor:pointer}.mention-row:hover{background:var(--field)}.mention-row .name{flex:1;min-width:0;font-size:13px;color:var(--text-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mention-empty{padding:12px;text-align:center;color:var(--text-400);font-size:13px}.emoji-popover{position:absolute;bottom:100%;left:0;margin-bottom:8px;width:320px;z-index:50;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 24px #1f1a181a;overflow:hidden}.emoji-popover-head{padding:8px;border-bottom:1px solid var(--line-soft)}.emoji-cats{display:flex;align-items:center;gap:2px;padding:6px 8px;border-bottom:1px solid var(--line-soft);overflow-x:auto}.emoji-grid-wrap{height:256px;overflow-y:auto;padding:8px}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px}.emoji-cell{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:0;background:none;border-radius:8px;font-size:20px;cursor:pointer}.emoji-cell:hover{background:var(--field)}.emoji-empty{height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-400);font-size:13px}.emoji-popover-foot{padding:6px 12px;background:var(--canvas);border-top:1px solid var(--line-soft);font-size:11px;color:var(--text-400);text-align:center}.sticker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px 0}.sticker-cell{aspect-ratio:1;border-radius:12px;background:var(--field);display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}.sticker-cell img{width:100%;height:100%;object-fit:contain}.sticker-tabs{display:flex;gap:8px;padding:12px 20px 4px}.sticker-tab{flex:1;height:36px;border:1px solid var(--line);border-radius:12px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;background:var(--paper);color:var(--text-500)}.sticker-tab.active{background:var(--brand-50);color:var(--brand-600);border-color:transparent}.poll{min-width:220px;max-width:320px}.poll-q{display:flex;align-items:center;gap:6px;font-weight:600;font-size:14px;line-height:20px}.poll-tags{display:flex;gap:10px;font-size:11px;margin-top:4px;flex-wrap:wrap;color:var(--text-400)}.poll-tags span{display:inline-flex;align-items:center;gap:3px}.poll-opts{display:flex;flex-direction:column;gap:6px;margin-top:8px}.poll-opt{position:relative;text-align:left;border:1px solid var(--line);border-radius:10px;padding:7px 10px;background:var(--field);color:inherit;font:inherit;overflow:hidden;cursor:default;transition:border-color .12s}.poll-opt.votable{cursor:pointer}.poll-opt.votable:hover{border-color:var(--brand-200)}.poll-opt.picked{border-color:var(--brand)}.poll-opt-fill{position:absolute;left:0;top:0;bottom:0;background:var(--brand-50);transition:width .3s}.poll-opt-row{position:relative;display:flex;align-items:center;gap:6px;font-size:13px;line-height:18px}.poll-opt-check{color:var(--brand);flex-shrink:0}.poll-opt-count{font-size:11px;color:var(--text-400);flex-shrink:0}.poll-foot{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:11px;color:var(--text-400)}.poll-refresh{border:0;background:none;cursor:pointer;color:inherit;padding:2px;display:inline-flex;opacity:.8}.poll-refresh:disabled{opacity:.4}.poll-vote-btn{border:0;border-radius:8px;padding:4px 12px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;background:var(--brand);color:#fff}.poll-vote-btn:disabled{opacity:.5;cursor:not-allowed}.poll-err{font-size:12px;color:var(--danger);margin-top:6px}.poll-note{font-size:11px;color:var(--text-400);margin-top:6px}.ui-bubble.mine .poll-tags,.ui-bubble.mine .poll-opt-count,.ui-bubble.mine .poll-foot,.ui-bubble.mine .poll-note{color:#ffffffc7}.ui-bubble.mine .poll-opt{background:#ffffff24;border-color:#ffffff47}.ui-bubble.mine .poll-opt.votable:hover{border-color:#fff9}.ui-bubble.mine .poll-opt.picked{border-color:#fff}.ui-bubble.mine .poll-opt-fill{background:#ffffff38}.ui-bubble.mine .poll-opt-check{color:#fff}.ui-bubble.mine .poll-vote-btn{background:#fff;color:var(--brand-600)}.ui-bubble.mine .poll-err{color:#ffd9d0}.poll-form-opt{display:flex;align-items:center;gap:8px}.poll-form-remove{width:32px;height:32px;border:0;background:none;color:var(--danger);display:flex;align-items:center;justify-content:center;border-radius:10px;cursor:pointer;flex-shrink:0}.poll-form-remove:hover{background:var(--danger-50)}.poll-form-add{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;border:1px dashed var(--brand-200);background:none;border-radius:10px;padding:6px 12px;font:inherit;font-size:13px;font-weight:500;color:var(--brand);cursor:pointer}.poll-form-add:hover{background:var(--brand-50)}.poll-form-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;font-size:14px;color:var(--text-900)}.rich-text{font-size:14px;line-height:22px;word-break:break-word}.rich-text .inline-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;padding:1px 5px;border-radius:6px;background:#1f1a180f}.rich-text .code-block{position:relative;margin:6px 0;border-radius:10px;background:#1f1a180f;overflow:hidden}.rich-text .code-block pre{margin:0;padding:10px 12px;overflow-x:auto;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;line-height:18px}.rich-text .code-lang{display:block;padding:4px 12px 0;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-400)}.rich-text blockquote{margin:4px 0;padding-left:10px;border-left:3px solid var(--brand-200);color:var(--text-500)}.rich-text a{color:var(--brand);text-decoration:underline}.rich-text li{margin-left:18px;list-style:disc}.rich-text-own .inline-code,.rich-text-own .code-block{background:#ffffff2e}.rich-text-own .code-lang{color:#ffffffb3}.rich-text-own blockquote{border-left-color:#ffffff80;color:#ffffffd9}.rich-text-own a{color:#fff}.empty-chat{flex:1;display:flex;align-items:center;justify-content:center;background:var(--canvas)}.empty-chat-inner{text-align:center}.empty-chat-title{font-size:15px;font-weight:600;color:var(--text-700)}.empty-chat-sub{font-size:12px;color:var(--text-400);margin-top:6px}.empty-chat-pill{margin-top:16px;display:inline-flex;align-items:center;gap:6px}.call-screen{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:72px 24px 56px;background:#1a1512;color:#fff;overflow:hidden}.call-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 70% at 50% 8%,#e85c4138,#e85c4100 62%)}.call-top{position:relative;display:flex;flex-direction:column;align-items:center;gap:20px}.call-avatar{width:116px;height:116px;border-radius:34px;font-size:42px;transition:transform .5s}.call-avatar.pulse{transform:scale(1.05)}.call-name{font-size:26px;font-weight:600;letter-spacing:-.01em;text-align:center}.call-status{display:flex;align-items:center;gap:8px;font-size:16px;color:#ffffffb8;font-variant-numeric:tabular-nums}.call-status .dot{width:7px;height:7px;border-radius:999px;background:var(--success)}.call-chip{display:flex;align-items:center;gap:8px;background:#ffffff12;border-radius:999px;padding:7px 14px;font-size:13px;color:#ffffffb8}.call-wave{display:flex;align-items:center;gap:3px;height:24px}.call-wave span{width:3px;border-radius:2px;background:var(--success);transition:height .2s}.call-bottom{position:relative;display:flex;flex-direction:column;align-items:center;gap:30px;width:100%;max-width:420px}.call-ctls{display:flex;justify-content:center;gap:36px;width:100%}.call-ctl{display:flex;flex-direction:column;align-items:center;gap:8px;border:0;background:none;cursor:pointer;color:#fff;padding:0}.call-ctl:disabled{opacity:.45;cursor:not-allowed}.call-ctl-circle{width:64px;height:64px;border-radius:999px;background:#ffffff1a;display:flex;align-items:center;justify-content:center;transition:background .15s;color:#fff}.call-ctl:not(:disabled):hover .call-ctl-circle{background:#ffffff2e}.call-ctl.on .call-ctl-circle{background:#fff;color:#1a1512}.call-ctl.on:not(:disabled):hover .call-ctl-circle{background:#ffffffe6}.call-ctl-label{font-size:12px;color:#ffffff9e}.call-ctl.on .call-ctl-label{color:#fff}.call-hangup{width:76px;height:76px;border-radius:999px;background:var(--danger);display:flex;align-items:center;justify-content:center;border:0;cursor:pointer;color:#fff;transition:transform .1s,background .15s;box-shadow:0 10px 28px #d1434359}.call-hangup:hover{background:#b83a3a;transform:scale(1.04)}.call-hangup:active{transform:scale(.96)}.call-answer{width:76px;height:76px;border-radius:999px;background:var(--success);display:flex;align-items:center;justify-content:center;border:0;cursor:pointer;color:#fff;transition:transform .1s,background .15s;box-shadow:0 10px 28px #2f9e7e59}.call-answer:hover{background:#27866b;transform:scale(1.04)}.call-answer:active{transform:scale(.96)}.call-big-ctl{display:flex;flex-direction:column;align-items:center;gap:12px}.call-big-ctl-label{font-size:13px;color:#ffffff9e}.call-type{position:relative;display:flex;align-items:center;gap:8px;color:#ffffff9e;font-size:13px}.call-video-remote{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}.call-video-local{position:absolute;top:24px;right:24px;width:160px;height:112px;border-radius:16px;object-fit:cover;border:2px solid rgba(255,255,255,.6);background:#221c18}.login-page{min-height:100vh;background:var(--canvas);display:flex;align-items:center;justify-content:center;padding:24px 16px;position:relative}.login-glow{position:fixed;inset:0;pointer-events:none;background:radial-gradient(60% 40% at 50% 0%,#e85c411a,#e85c4100 70%)}.login-lang{position:fixed;top:16px;right:16px;z-index:10}.login-lang .ui-select{width:auto;height:34px;padding:0 30px 0 12px;font-size:13px;border-radius:10px}.login-card{position:relative;width:100%;max-width:440px;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:36px 36px 28px;box-shadow:0 16px 48px #1f1a1814}.login-brand{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:28px;text-align:center}.login-logo{width:64px;height:64px;border-radius:18px;background:var(--brand);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #e85c4147}.login-title{font-size:28px;line-height:36px;font-weight:700;letter-spacing:-.01em;color:var(--text-900)}.login-tagline{font-size:14px;line-height:20px;color:var(--text-500);margin-top:4px}.login-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:24px}.login-tab{flex:1;height:40px;border:0;background:none;font:inherit;font-size:14px;font-weight:600;color:var(--text-400);cursor:pointer;position:relative;transition:color .15s}.login-tab:hover{color:var(--text-700)}.login-tab.active{color:var(--brand)}.login-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--brand);border-radius:2px 2px 0 0}.login-form{display:flex;flex-direction:column;gap:16px}.login-heading{font-size:17px;font-weight:600;color:var(--text-900)}.login-hint{font-size:13px;line-height:20px;color:var(--text-500)}.login-error{padding:10px 14px;background:var(--danger-50);border-radius:12px;color:var(--danger);font-size:13px;line-height:18px}.login-link{align-self:flex-end;border:0;background:none;font:inherit;font-size:13px;font-weight:500;color:var(--brand);cursor:pointer;padding:0}.login-link:hover{color:var(--brand-600)}.login-link.muted{color:var(--text-400);align-self:flex-start}.login-link.muted:hover{color:var(--text-700)}.login-link:disabled{opacity:.5;cursor:not-allowed}.login-divider{display:flex;align-items:center;gap:12px;margin:4px 0}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--line)}.login-divider span{font-size:12px;color:var(--muted)}.login-eye{position:absolute;right:8px;top:50%;transform:translateY(-50%)}.login-footer{margin-top:20px;text-align:center;font-size:12px;line-height:18px;color:var(--text-400)}.login-footer a,.login-footer .brand{color:var(--brand)}.login-done{display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 0;text-align:center}.join-page{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--canvas);padding:16px}.join-card{width:380px;max-width:100%;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:0 16px 48px #1f1a1814;text-align:center}.join-result{padding:12px 16px;border-radius:12px;font-size:14px;font-weight:600}.join-result.success{background:var(--success-50);color:#1e6b55}.join-result.pending{background:#fff4e0;color:#9a5b00}.join-result.error{background:var(--danger-50);color:var(--danger)}.chat-scrollbar::-webkit-scrollbar{width:4px}.chat-scrollbar::-webkit-scrollbar-track{background:transparent}.chat-scrollbar::-webkit-scrollbar-thumb{background:transparent;border-radius:4px}.chat-scrollbar:hover::-webkit-scrollbar-thumb{background:var(--line)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.float-anim{animation:float 3s ease-in-out infinite}@keyframes popIn{0%{opacity:0;transform:translateY(5px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.message-animate{animation:popIn .18s ease-out}.img-placeholder{width:180px;height:135px;border-radius:16px;background:var(--field);display:flex;align-items:center;justify-content:center;color:var(--text-400)}
