@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size: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-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--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 components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.table{display:table}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px 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)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}:root{--color-primary-400:oklch(70% .2 280);--color-primary-500:oklch(60% .25 280);--color-primary-600:oklch(50% .25 280);--color-primary-700:oklch(42% .22 280);--color-accent-400:oklch(72% .22 330);--color-accent-500:oklch(62% .25 330);--color-accent-600:oklch(52% .22 330);--color-cyan-400:oklch(80% .15 195);--color-cyan-500:oklch(70% .18 195);--color-surface-900:oklch(14% .02 280);--color-surface-850:oklch(16% .02 280);--color-surface-800:oklch(18% .025 280);--color-surface-750:oklch(21% .025 280);--color-surface-700:oklch(24% .03 280);--color-surface-600:oklch(30% .03 280);--color-success:oklch(72% .2 150);--color-warning:oklch(80% .18 85);--color-error:oklch(65% .25 25);--bg-primary:var(--color-surface-900);--bg-secondary:var(--color-surface-850);--bg-tertiary:var(--color-surface-800);--bg-chat:var(--color-surface-800);--bg-elevated:var(--color-surface-750);--bg-hover:var(--color-surface-700);--text-primary:oklch(95% .01 280);--text-secondary:oklch(65% .02 280);--text-muted:oklch(50% .02 280);--border-color:oklch(25% .02 280);--border-subtle:oklch(20% .015 280);--glow-primary:oklch(60% .25 280/.4);--glow-accent:oklch(62% .25 330/.4)}html,body{height:100%;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,sans-serif}body{background:var(--bg-primary);color:var(--text-primary);overflow:hidden}#root{flex-direction:column;height:100%;display:flex}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-surface-600);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-500)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{50%{opacity:.5}}@keyframes glow{0%,to{box-shadow:0 0 20px var(--glow-primary),0 0 40px var(--glow-primary)}50%{box-shadow:0 0 30px var(--glow-primary),0 0 60px var(--glow-primary)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:.3s ease-out fadeIn}.animate-slide-up{animation:.3s ease-out slideUp}.animate-slide-in{animation:.3s ease-out slideIn}.animate-pulse{animation:2s infinite pulse}.animate-glow{animation:2s ease-in-out infinite glow}.glass{-webkit-backdrop-filter:blur(20px);background:#ffffff08;border:1px solid #ffffff14}.gradient-text{background:linear-gradient(135deg,var(--color-primary-400)0%,var(--color-accent-500)50%,var(--color-cyan-400)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn-primary{background:linear-gradient(135deg,var(--color-primary-500)0%,var(--color-accent-600)100%);color:#fff;cursor:pointer;box-shadow:0 4px 20px var(--glow-primary);border:none;border-radius:.75rem;padding:.75rem 1.5rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.btn-primary:before{content:"";opacity:0;background:linear-gradient(135deg,#0000,#ffffff1a,#0000);transition:opacity .3s;position:absolute;inset:0}.btn-primary:hover{box-shadow:0 8px 30px var(--glow-primary);transform:translateY(-2px)}.btn-primary:hover:before{opacity:1}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;border-radius:.75rem;padding:.75rem 1.5rem;font-weight:500;transition:all .2s}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--color-primary-500);box-shadow:0 0 20px var(--glow-primary)}.input{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:.75rem;width:100%;padding:.875rem 1rem;transition:all .2s}.input::placeholder{color:var(--text-muted)}.input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--glow-primary),0 0 20px var(--glow-primary);background:var(--bg-elevated);outline:none}.card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:1rem;box-shadow:0 4px 30px #0000004d}.message-bubble{border-radius:1rem;max-width:70%;padding:.75rem 1rem;animation:.2s ease-out slideUp}.message-bubble.sent{background:linear-gradient(135deg,var(--color-primary-500)0%,var(--color-accent-600)100%);color:#fff;box-shadow:0 2px 15px var(--glow-primary);border-bottom-right-radius:.25rem}.message-bubble.received{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-subtle);border-bottom-left-radius:.25rem}.status-indicator{border:2px solid var(--bg-tertiary);border-radius:50%;width:10px;height:10px}.status-indicator.online{background:var(--color-success);box-shadow:0 0 8px var(--color-success)}.status-indicator.away{background:var(--color-warning);box-shadow:0 0 8px var(--color-warning)}.status-indicator.offline{background:var(--color-surface-600)}.age-verification-overlay{z-index:1000;background:linear-gradient(135deg,#010108,#010002);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.age-verification-modal{background:linear-gradient(180deg,var(--bg-tertiary)0%,var(--bg-secondary)100%);border:1px solid var(--border-color);width:100%;max-width:440px;box-shadow:0 25px 80px #00000080,0 0 100px var(--glow-primary);border-radius:1.5rem;padding:2.5rem;position:relative;overflow:hidden}.age-verification-modal .orb{filter:blur(60px);pointer-events:none;border-radius:50%;position:absolute}.age-verification-modal .orb-1{background:var(--color-primary-500);opacity:.3;width:200px;height:200px;top:-100px;right:-50px}.age-verification-modal .orb-2{background:var(--color-accent-500);opacity:.25;width:150px;height:150px;bottom:-50px;left:-30px}.age-verification-content{z-index:1;text-align:center;position:relative}.age-icon{background:linear-gradient(135deg,var(--color-primary-500)0%,var(--color-accent-500)100%);color:#fff;width:80px;height:80px;box-shadow:0 0 40px var(--glow-primary);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1.5rem;font-size:1.75rem;font-weight:700;display:flex}.age-verification-content h1{margin:0 0 1rem;font-size:1.75rem;font-weight:700}.age-description{color:var(--text-secondary);margin:0 0 2rem;line-height:1.6}.age-buttons{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.age-btn-yes,.age-btn-no{width:100%}.age-disclaimer{color:var(--text-muted);margin:0;font-size:.75rem;line-height:1.5}.denied-message{color:var(--color-error);background:#ff3b301a;border:1px solid #ff3b304d;border-radius:.75rem;padding:1.5rem}.auth-modal{background:linear-gradient(180deg,var(--bg-tertiary)0%,var(--bg-secondary)100%);border:1px solid var(--border-color);width:100%;max-width:520px;box-shadow:0 25px 80px #00000080,0 0 80px var(--glow-primary)}.auth-header{text-align:center;margin-bottom:1.5rem}.auth-header h2{margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.auth-header p{color:var(--text-secondary);margin:0}.auth-tabs{background:var(--bg-primary);border-radius:.75rem;gap:.25rem;margin-bottom:1.5rem;padding:.25rem;display:flex}.auth-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:.5rem;flex:1;padding:.75rem 1rem;font-weight:500;transition:all .2s}.auth-tab:hover{color:var(--text-primary)}.auth-tab.active{background:linear-gradient(135deg,var(--color-primary-500)0%,var(--color-accent-600)100%);color:#fff;box-shadow:0 2px 10px var(--glow-primary)}.auth-form{flex-direction:column;gap:1rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.auth-submit{margin-top:.5rem}.auth-hint{color:var(--text-muted);text-align:center;margin:.5rem 0 0;font-size:.8rem}.auth-error{color:var(--color-error);background:#ff3b301a;border:1px solid #ff3b304d;border-radius:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.auth-message{border-radius:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.auth-message.success{color:var(--color-success);background:#34c7591a;border:1px solid #34c7594d}.auth-message.error{color:var(--color-error);background:#ff3b301a;border:1px solid #ff3b304d}.auth-forgot-link{width:100%;color:var(--text-muted);cursor:pointer;text-align:center;background:0 0;border:none;margin-top:.75rem;padding:.5rem;font-size:.8rem;transition:color .2s;display:block}.auth-forgot-link:hover{color:var(--color-primary-400)}.auth-back-link{border:1px solid var(--border-color);width:100%;color:var(--text-secondary);cursor:pointer;text-align:center;background:0 0;border-radius:.5rem;margin-top:1rem;padding:.75rem;font-size:.875rem;transition:all .2s;display:block}.auth-back-link:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-subtle)}.reset-password-page{background:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.reset-password-container{background:linear-gradient(180deg,var(--bg-tertiary)0%,var(--bg-secondary)100%);border:1px solid var(--border-color);width:100%;max-width:420px;box-shadow:0 25px 80px #00000080,0 0 80px var(--glow-primary);border-radius:1.5rem;padding:2rem}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#000c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:linear-gradient(180deg,var(--bg-tertiary)0%,var(--bg-secondary)100%);border:1px solid var(--border-color);width:100%;max-width:520px;box-shadow:0 25px 80px #00000080,0 0 80px var(--glow-primary);border-radius:1.5rem;padding:2rem;position:relative}.modal-close-btn{background:var(--bg-elevated);border:1px solid var(--border-color);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem}.modal-close-btn:hover{color:var(--text-primary);border-color:var(--color-primary-500);box-shadow:0 0 15px var(--glow-primary)}.webcam-panel{background:var(--bg-tertiary);flex-direction:column;flex:1;min-height:0;transition:all .3s;display:flex;overflow:hidden}.webcam-panel.collapsed{flex:0 0 48px}.webcam-panel.collapsed .webcam-panel-content{display:none}.webcam-panel.expanded{flex:1.5}.webcam-panel-header{cursor:pointer;flex-shrink:0;justify-content:space-between;align-items:center;padding:.625rem .75rem;display:flex}.webcam-panel-header h3{color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:.375rem;margin:0;font-size:.8rem;font-weight:600;display:flex}.webcam-panel-header h3 svg{color:var(--color-primary-400)}.webcam-count{background:var(--color-primary-500);color:#fff;border-radius:1rem;margin-left:.25rem;padding:.125rem .5rem;font-size:.7rem}.webcam-expand-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:.25rem;padding:.25rem;transition:all .2s}.webcam-expand-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.webcam-panel-content{flex:1;min-height:0;padding:0 .75rem .75rem;animation:.2s fadeIn;overflow-y:auto}.webcam-grid{gap:.75rem;margin-bottom:1rem;display:grid}.webcam-grid-empty{color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.webcam-grid-empty svg{opacity:.5;margin-bottom:1rem}.webcam-grid-empty p{margin:0}.webcam-grid-empty .hint{margin-top:.25rem;font-size:.8rem}.webcam-grid-1{grid-template-columns:1fr;max-width:400px;margin:0 auto}.webcam-grid-2,.webcam-grid-4{grid-template-columns:repeat(2,1fr)}.webcam-grid-6{grid-template-columns:repeat(3,1fr)}.webcam-grid-many{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.webcam-stream{background:var(--bg-primary);aspect-ratio:4/3;border:1px solid var(--border-color);border-radius:.75rem;position:relative;overflow:hidden}.webcam-stream.webcam-local{border-color:var(--color-primary-500);box-shadow:0 0 20px var(--glow-primary)}.webcam-video{object-fit:cover;background:var(--bg-primary);width:100%;height:100%}.webcam-video.video-disabled{opacity:0}.video-disabled-overlay{background:var(--bg-primary);color:var(--text-muted);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.webcam-username{color:#fff;background:linear-gradient(#0000,#000000b3);align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.8rem;font-weight:500;display:flex;position:absolute;bottom:0;left:0;right:0}.webcam-username .local-badge{background:var(--color-primary-500);text-transform:uppercase;border-radius:.25rem;padding:.125rem .375rem;font-size:.65rem;font-weight:600}.webcam-username svg{color:var(--color-error);flex-shrink:0}.webcam-controls{flex-direction:column;gap:.75rem;display:flex}.webcam-error{color:var(--color-error);background:#ff3b301a;border:1px solid #ff3b304d;border-radius:.5rem;padding:.75rem 1rem;font-size:.85rem}.webcam-controls-buttons{justify-content:center;gap:.5rem;display:flex}.webcam-btn{cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.85rem;font-weight:500;transition:all .2s;display:flex}.webcam-btn-start{background:linear-gradient(135deg,var(--color-primary-500)0%,var(--color-accent-600)100%);color:#fff;box-shadow:0 2px 15px var(--glow-primary)}.webcam-btn-start:hover:not(:disabled){box-shadow:0 4px 20px var(--glow-primary);transform:translateY(-1px)}.webcam-btn-start:disabled{opacity:.7;cursor:not-allowed}.webcam-btn-mute,.webcam-btn-video{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-color);padding:.625rem}.webcam-btn-mute:hover,.webcam-btn-video:hover{background:var(--bg-hover);border-color:var(--color-primary-500)}.webcam-btn-mute.active,.webcam-btn-video.active{border-color:var(--color-error);color:var(--color-error);background:#ff3b301a}.webcam-btn-stop{color:var(--color-error);background:#ff3b301a;border:1px solid #ff3b304d}.webcam-btn-stop:hover{background:#ff3b3033}.webcam-btn .spinner{animation:1s linear infinite spin}.admin-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background:#000000d9;justify-content:center;align-items:center;padding:1rem;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.admin-dashboard{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;flex-direction:column;width:100%;max-width:1000px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 25px 80px #00000080}.admin-header{border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.admin-header h2{background:linear-gradient(135deg,var(--color-primary-400)0%,var(--color-accent-500)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.25rem;font-weight:600}.admin-close-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:.375rem;padding:.5rem;transition:all .2s}.admin-close-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.admin-access-denied{text-align:center;padding:3rem}.admin-access-denied h2{color:var(--color-error);margin:0 0 1rem}.admin-access-denied p{color:var(--text-secondary);margin-bottom:1.5rem}.admin-stats-grid{border-bottom:1px solid var(--border-color);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;padding:1.5rem;display:grid}.admin-stat-card{background:var(--bg-tertiary);border:1px solid var(--border-color);text-align:center;border-radius:.75rem;padding:1rem}.admin-stat-card.warning .stat-value{color:var(--color-warning)}.stat-value{color:var(--color-primary-400);margin-bottom:.25rem;font-size:1.75rem;font-weight:700}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.admin-content{flex-direction:column;flex:1;gap:1.5rem;padding:1.5rem;display:flex;overflow-y:auto}.admin-section h3{color:var(--text-primary);margin:0 0 1rem;font-size:1rem;font-weight:600}.admin-loading,.admin-empty{text-align:center;color:var(--text-muted);padding:2rem}.reports-list{flex-direction:column;gap:.75rem;display:flex}.report-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;padding:1rem}.report-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.report-reason-badge{text-transform:uppercase;border-radius:.25rem;padding:.25rem .5rem;font-size:.7rem;font-weight:600}.badge-danger{color:var(--color-error);background:#ff3b3026}.badge-warning{color:var(--color-warning);background:#ffcc0026}.badge-info{color:var(--color-cyan-500);background:#007aff26}.report-date{color:var(--text-muted);font-size:.75rem}.report-users{gap:1.5rem;margin-bottom:.75rem;display:flex}.report-user{align-items:center;gap:.375rem;display:flex}.report-user .label{color:var(--text-muted);font-size:.75rem}.report-user .username{font-weight:500}.report-details,.report-message{margin-bottom:.75rem}.report-details .label,.report-message .label{color:var(--text-muted);margin-bottom:.25rem;font-size:.75rem;display:block}.report-message blockquote{background:var(--bg-primary);border-left:3px solid var(--color-primary-500);color:var(--text-secondary);border-radius:0 .375rem .375rem 0;margin:0;padding:.5rem .75rem;font-size:.875rem}.report-actions{border-top:1px solid var(--border-subtle);gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}.report-status{border-top:1px solid var(--border-subtle);align-items:center;gap:.75rem;margin-top:.75rem;padding-top:.75rem;display:flex}.status-badge{text-transform:uppercase;border-radius:.25rem;padding:.25rem .5rem;font-size:.7rem;font-weight:600}.status-reviewed{color:var(--color-success);background:#34c75926}.status-dismissed{color:var(--text-muted);background:#8e8e9326}.reviewed-date{color:var(--text-muted);font-size:.75rem}.bans-list{flex-direction:column;gap:.75rem;display:flex}.ban-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;padding:1rem}.ban-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.ban-username{font-weight:600}.ban-type{text-transform:uppercase;border-radius:.25rem;padding:.25rem .5rem;font-size:.7rem;font-weight:600}.ban-type.permanent{color:var(--color-error);background:#ff3b3026}.ban-type.temporary{color:var(--color-warning);background:#ffcc0026}.ban-details{flex-direction:column;gap:.375rem;font-size:.875rem;display:flex}.ban-details .label{color:var(--text-muted);font-size:.75rem}.ban-actions{border-top:1px solid var(--border-subtle);margin-top:.75rem;padding-top:.75rem}.action-log{flex-direction:column;gap:.5rem;display:flex}.action-item{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;gap:.75rem;padding:.75rem;display:flex}.action-icon{background:var(--bg-elevated);width:32px;height:32px;color:var(--text-secondary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.action-item.action-ban .action-icon{color:var(--color-error)}.action-item.action-unban .action-icon{color:var(--color-success)}.action-content{flex:1;min-width:0}.action-summary{flex-wrap:wrap;align-items:center;gap:.375rem;display:flex}.admin-name{color:var(--color-primary-400);font-weight:600}.action-label{color:var(--text-secondary)}.target-name{font-weight:500}.action-details{color:var(--text-muted);margin-top:.25rem;font-size:.8rem}.action-date{color:var(--text-muted);margin-top:.25rem;font-size:.7rem}.btn-sm{padding:.375rem .75rem;font-size:.8rem}.btn-danger{color:var(--color-error);cursor:pointer;background:#ff3b3026;border:1px solid #ff3b304d;border-radius:.5rem;padding:.5rem 1rem;font-weight:500;transition:all .2s}.btn-danger:hover{background:#ff3b3040}.btn-warning{color:var(--color-warning);cursor:pointer;background:#ffcc0026;border:1px solid #ffcc004d;border-radius:.5rem;padding:.5rem 1rem;font-weight:500;transition:all .2s}.btn-warning:hover{background:#ffcc0040}.admin-badge{background:linear-gradient(135deg,var(--color-primary-500),var(--color-accent-500));color:#fff;text-transform:uppercase;border-radius:.25rem;margin-left:.5rem;padding:.125rem .5rem;font-size:.65rem;font-weight:600}.admin-btn{border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:.5rem;padding:.5rem;transition:all .2s}.admin-btn:hover{background:var(--bg-hover);border-color:var(--color-primary-500);color:var(--color-primary-400)}.report-modal{width:100%;max-width:400px}.report-modal h3{margin:0 0 .5rem;font-size:1.25rem}.report-target{color:var(--text-secondary);margin-bottom:1rem}.report-message-preview{margin-bottom:1rem}.report-message-preview .label{color:var(--text-muted);margin-bottom:.25rem;font-size:.75rem;display:block}.report-message-preview blockquote{background:var(--bg-primary);border-left:3px solid var(--color-primary-500);border-radius:0 .375rem .375rem 0;margin:0;padding:.5rem .75rem;font-size:.875rem}.report-reasons{flex-direction:column;gap:.5rem;display:flex}.report-reason-option{background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem .75rem;transition:all .2s;display:flex}.report-reason-option:hover{background:var(--bg-hover)}.report-reason-option input[type=radio]{accent-color:var(--color-primary-500)}.report-error{color:var(--color-error);background:#ff3b301a;border:1px solid #ff3b304d;border-radius:.5rem;margin-bottom:1rem;padding:.75rem;font-size:.875rem}.report-actions{gap:.75rem;margin-top:1.5rem;display:flex}.report-actions button{flex:1}.report-success{text-align:center;padding:2rem}.report-success .success-icon{color:var(--color-success);margin-bottom:1rem}.report-success h3{margin-bottom:.5rem}.report-success p{color:var(--text-secondary);margin-bottom:1.5rem}.you-badge{color:var(--text-muted);margin-left:.25rem;font-size:.7rem}.report-btn:hover{color:var(--color-warning)!important}.input-with-status{align-items:center;display:flex;position:relative}.input-with-status .input{width:100%;padding-right:2.5rem}.input-status-icon{justify-content:center;align-items:center;display:flex;position:absolute;right:.75rem}.input-status-icon.checking{color:var(--text-muted);animation:1s linear infinite spin}.input-status-icon.available{color:var(--color-success)}.input-status-icon.unavailable{color:var(--color-error)}.username-status-message{margin-top:.375rem;font-size:.75rem;display:block}.username-status-message.username-available{color:var(--color-success)}.username-status-message.username-unavailable{color:var(--color-error)}.username-status-message.username-checking{color:var(--text-muted)}.input.username-available{border-color:var(--color-success)}.input.username-unavailable{border-color:var(--color-error)}.input.username-checking{border-color:var(--color-primary-500)}.register-username-banner{border-bottom:1px solid var(--border-color);background:linear-gradient(90deg,#8b5cf61a,#06b6d41a);justify-content:space-between;align-items:center;gap:1rem;padding:.625rem 1rem;display:flex}.banner-content{color:var(--text-primary);align-items:center;gap:.625rem;font-size:.875rem;display:flex}.banner-content svg{color:var(--color-primary-400);flex-shrink:0}.banner-content strong{color:var(--color-primary-400)}.banner-actions{align-items:center;gap:.5rem;display:flex}.btn-ghost{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:.25rem;padding:.25rem;transition:all .2s}.btn-ghost:hover{color:var(--text-primary);background:var(--bg-hover)}.register-modal{width:100%;max-width:400px}.register-modal h3{background:linear-gradient(135deg,var(--color-primary-400)0%,var(--color-accent-500)100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .5rem;font-size:1.25rem}.register-username-display{color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;margin-bottom:1.25rem;padding:.75rem}.register-username-display strong{color:var(--color-primary-400)}.register-actions{gap:.75rem;margin-top:1.5rem;display:flex}.register-actions button{flex:1}.dm-container{flex:1;min-height:0;display:flex;overflow:hidden}.dm-messages{border-right:1px solid var(--border-subtle);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.dm-webcam{background:var(--bg-tertiary);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.remote-webcam-view{flex-direction:column;justify-content:center;align-items:center;height:100%;padding:1rem;display:flex;position:relative}.remote-webcam-close{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;z-index:10;background:#14151fcc;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex;position:absolute;top:.5rem;right:.5rem}.remote-webcam-close:hover{background:var(--color-error);color:#fff}.dm-webcam-collapsed{border-left:1px solid var(--border-color);background:var(--bg-secondary);justify-content:center;align-items:center;width:48px;display:flex}.dm-webcam-reopen{color:var(--text-muted);cursor:pointer;writing-mode:vertical-rl;text-orientation:mixed;background:0 0;border:none;flex-direction:column;align-items:center;gap:.5rem;padding:.75rem .5rem;font-size:.65rem;transition:color .15s;display:flex;rotate:180deg}.dm-webcam-reopen:hover{color:var(--color-primary-400)}.dm-webcam-reopen svg{rotate:90deg}.remote-webcam-video{background:var(--bg-primary);border-radius:.75rem;width:100%;max-height:calc(100% - 60px);overflow:hidden}.remote-webcam-video video{object-fit:contain;width:100%;height:100%}.remote-webcam-placeholder{height:100%;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.remote-webcam-placeholder svg{opacity:.3}.remote-webcam-connecting{height:100%;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.remote-webcam-username{color:var(--text-secondary);align-items:center;gap:.5rem;margin-top:.5rem;font-size:.9rem;display:flex}.webcam-privacy-controls{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:.5rem;flex-direction:column;gap:.75rem;margin-bottom:.75rem;padding:.75rem;display:flex}.webcam-privacy-toggle{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.privacy-toggle-label{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.privacy-toggle-switch{background:var(--bg-tertiary);border:1px solid var(--border-color);cursor:pointer;border-radius:12px;flex-shrink:0;width:44px;height:24px;padding:0;transition:background .25s,border-color .25s;position:relative}.privacy-toggle-switch.active{background:var(--color-primary-500);border-color:var(--color-primary-600)}.privacy-toggle-switch:disabled{opacity:.5;cursor:not-allowed}.privacy-toggle-switch:focus-visible{outline:2px solid var(--color-primary-400);outline-offset:2px}.privacy-toggle-knob{pointer-events:none;background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .25s;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #00000059}.privacy-toggle-switch.active .privacy-toggle-knob{transform:translate(20px)}.webcam-password-input{gap:.5rem;animation:.2s fadeIn;display:flex}.webcam-password-input input{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:.375rem;flex:1;padding:.5rem .75rem;font-size:.85rem}.webcam-password-input input:focus{border-color:var(--color-primary-500);outline:none}.webcam-password-input input::placeholder{color:var(--text-muted)}.webcam-password-modal{width:100%;max-width:360px}.webcam-password-modal h3{align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:1.1rem;display:flex}.webcam-password-modal h3 svg{color:var(--color-warning)}.webcam-password-modal p{color:var(--text-secondary);margin-bottom:1rem;font-size:.9rem}.webcam-password-modal .password-form{flex-direction:column;gap:1rem;display:flex}.webcam-password-modal .password-error{color:var(--color-error);margin-top:-.5rem;font-size:.85rem}.webcam-password-modal .password-actions{gap:.75rem;margin-top:.5rem;display:flex}.webcam-password-modal .password-actions button{flex:1}.user-action-btn.webcam-btn-icon{position:relative}.user-action-btn.webcam-btn-icon.inactive{opacity:.4;cursor:default}.user-action-btn.webcam-btn-icon.inactive:hover{color:var(--text-secondary);border-color:var(--border-color);box-shadow:none;background:var(--bg-elevated)}.user-action-btn.webcam-btn-icon.active{color:var(--color-success);border-color:var(--color-success)}.user-action-btn.webcam-btn-icon.active:hover{box-shadow:0 0 15px #34c7594d}.user-action-btn.webcam-btn-icon .live-dot{background:var(--color-error);border:2px solid var(--bg-secondary);border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite pulse;position:absolute;top:-2px;right:-2px}.ad-banner{flex-shrink:0;justify-content:center;align-items:center;width:100%;display:flex;overflow:hidden}.ad-placeholder{border:2px dashed var(--border-color);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.chat-ad-left{background:var(--bg-secondary);border-right:1px solid var(--border-subtle);flex-direction:column;flex-shrink:0;align-items:center;width:184px;padding:220px 12px 12px;display:flex;overflow:hidden}@media(max-width:1200px){.chat-ad-left{display:none}}.sidebar-ad{border-top:1px solid var(--border-subtle);background:var(--bg-secondary);flex-shrink:0;justify-content:center;padding:8px 0;display:flex}.sidebar-ad .ad-banner{max-width:100%}.chat-ad-banner{flex-shrink:0;justify-content:center;padding:4px 0;display:flex}.chat-ad-banner .ad-banner{max-width:100%}.chat-ad-bottom{flex-shrink:0;justify-content:center;padding:4px 0;display:flex}.chat-ad-bottom .ad-banner{max-width:100%}@media(max-width:768px){.chat-ad-banner{display:none}.sidebar-ad .ad-banner{width:100%;max-width:300px}}@media(max-width:480px){.sidebar-ad{padding:8px}}.signup-promo{text-align:center;padding:12px 0}.signup-promo-icon{color:var(--color-primary-400);margin-bottom:16px}.signup-promo-icon svg{width:48px;height:48px}.signup-promo h3{margin-bottom:8px;font-size:1.25rem;font-weight:600}.signup-promo-price{color:var(--text-secondary);margin-bottom:20px;font-size:1rem}.signup-promo-price strong{color:var(--color-accent-400);font-size:1.125rem}.signup-benefits{text-align:left;margin:0 0 24px;padding:0;list-style:none}.signup-benefits li{color:var(--text-secondary);border-bottom:1px solid var(--border-subtle);padding:8px 0 8px 28px;position:relative}.signup-benefits li:last-child{border-bottom:none}.signup-benefits li:before{content:"✓";color:var(--color-success);font-weight:600;position:absolute;left:0}.payment-button{background:linear-gradient(135deg,var(--color-accent-500),var(--color-primary-500));box-shadow:0 4px 15px var(--glow-accent);border:none}.payment-button:hover:not(:disabled){background:linear-gradient(135deg,var(--color-accent-400),var(--color-primary-400));box-shadow:0 6px 20px var(--glow-accent);transform:translateY(-1px)}.paid-registration-form{flex-direction:column;gap:16px;display:flex}.paid-registration-form .form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.paid-registration-form .form-group{margin-bottom:0}.payment-section{border-top:1px solid var(--border-color);margin-top:8px;padding-top:16px}.payment-info{background:var(--bg-elevated);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 16px;display:flex}.payment-info-text{color:var(--text-secondary);font-size:.875rem}.payment-info-price{color:var(--color-accent-400);font-size:1.25rem;font-weight:600}.payment-submit{width:100%}.payment-note{color:var(--text-muted);text-align:center;margin-top:12px;font-size:.75rem}.ad-free-prompt{text-align:center;padding:20px 0}.ad-free-icon{color:var(--color-primary-400);margin-bottom:20px}.ad-free-icon svg{width:64px;height:64px}.ad-free-prompt h3{margin-bottom:8px;font-size:1.5rem;font-weight:600}.ad-free-prompt .promo-price{color:var(--text-secondary);margin-bottom:24px;font-size:1rem}.ad-free-prompt .promo-price strong{color:var(--color-accent-400);font-size:1.25rem}.ad-free-benefits{text-align:left;background:var(--bg-elevated);border-radius:8px;margin:0 0 24px;padding:16px 20px;list-style:none}.ad-free-benefits li{color:var(--text-secondary);padding:10px 0 10px 28px;position:relative}.ad-free-benefits li:before{content:"✓";color:var(--color-success);font-weight:600;position:absolute;left:0}.ad-free-prompt .auth-hint{margin-top:16px}.ad-free-status{border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:flex}.ad-free-status.badge{background:linear-gradient(135deg,var(--color-primary-600),var(--color-accent-600));color:#fff;font-size:.875rem;font-weight:500}.ad-free-status.badge svg{width:16px;height:16px}.ad-free-upgrade-btn{border:1px solid var(--color-accent-500);color:var(--color-accent-400);cursor:pointer;background:0 0;border-radius:6px;padding:8px 16px;font-size:.875rem;transition:all .2s}.ad-free-upgrade-btn:hover{background:var(--color-accent-500);color:#fff}.pricing-settings{background:var(--bg-tertiary);border-radius:8px;padding:20px}.pricing-settings h4{margin-bottom:8px;font-size:1rem;font-weight:600}.pricing-description{color:var(--text-secondary);margin-bottom:20px;font-size:.875rem}.pricing-loading{text-align:center;color:var(--text-muted);padding:20px}.pricing-message{border-radius:6px;margin-bottom:16px;padding:12px 16px;font-size:.875rem}.pricing-message.success{color:var(--color-success);background:#00c55b26;background:oklch(72% .2 150/.15);border:1px solid oklch(72% .2 150/.3)}.pricing-message.error{color:var(--color-error);background:#ff2d3926;background:oklch(65% .25 25/.15);border:1px solid oklch(65% .25 25/.3)}.pricing-item{background:var(--bg-elevated);border-radius:8px;margin-bottom:12px;padding:16px}.pricing-item-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.pricing-item-header label{font-weight:500}.current-price{color:var(--text-muted);font-size:.875rem}.pricing-item-input{align-items:center;gap:8px;display:flex}.currency-prefix{color:var(--text-secondary);font-size:1rem;font-weight:500}.pricing-item-input .input{flex:1;max-width:120px}.btn-small{padding:8px 16px;font-size:.875rem}.pricing-stripe-status{border-top:1px solid var(--border-color);margin-top:20px;padding-top:20px}.pricing-stripe-status h5{color:var(--text-secondary);margin-bottom:12px;font-size:.875rem;font-weight:600}.stripe-status-items{flex-direction:column;gap:8px;display:flex}.stripe-status-item{justify-content:space-between;align-items:center;font-size:.875rem;display:flex}.status-label{color:var(--text-secondary)}.status-value{font-weight:500}.status-value.configured{color:var(--color-success)}.status-value.pending{color:var(--color-warning)}.stripe-hint{color:var(--text-muted);margin-top:12px;font-size:.75rem}.admin-login-page{background:linear-gradient(135deg,var(--color-primary-600)0%,var(--color-accent-600)100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.admin-login-container{width:100%;max-width:400px}.admin-login-header{text-align:center;margin-bottom:30px}.admin-login-header h1{margin-bottom:8px;font-size:2.5rem}.admin-login-header h2{color:#ffffffe6;font-size:1.25rem;font-weight:400}.admin-login-card{background:var(--bg-primary);border-radius:12px;padding:32px;box-shadow:0 10px 40px #0000004d}.admin-back-link{width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;margin-top:16px;padding:12px;font-size:.875rem;transition:color .2s}.admin-back-link:hover{color:var(--color-primary-400)}.admin-login-footer{text-align:center;color:#ffffffb3;margin-top:20px;font-size:.875rem}.message-content{flex-direction:column;gap:4px;display:flex}.message-image{margin-top:4px;margin-bottom:4px}.message-image img{object-fit:contain;background:var(--bg-tertiary);cursor:pointer;border-radius:8px;max-width:300px;max-height:300px;transition:transform .2s;display:block}@media(max-width:480px){.paid-registration-form .form-row{grid-template-columns:1fr}.payment-info{text-align:center;flex-direction:column;gap:8px}.pricing-item-input{flex-wrap:wrap}.pricing-item-input .input,.message-image img{max-width:100%}}.legal-page{background:var(--bg-primary);min-height:100vh;color:var(--text-primary);flex-direction:column;max-width:800px;margin:0 auto;padding:2rem;display:flex}.legal-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;display:flex}.legal-header h1{margin:0;font-size:1.5rem}.legal-back-link{color:var(--text-muted);font-size:.875rem;text-decoration:none;transition:color .2s}.legal-back-link:hover{color:var(--text-primary)}.legal-content{flex:1}.legal-content h2{color:var(--text-primary);margin-bottom:1.5rem;font-size:1.75rem}.legal-body{color:var(--text-secondary);line-height:1.7}.legal-footer{border-top:1px solid var(--border-subtle);gap:1.5rem;margin-top:2rem;padding-top:2rem;display:flex}.legal-footer a{color:var(--text-muted);font-size:.875rem;text-decoration:none;transition:color .2s}.legal-footer a:hover{color:var(--text-primary)}.age-legal-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.age-legal-links a{color:var(--text-muted);font-size:.75rem;text-decoration:none;transition:color .2s}.age-legal-links a:hover{color:var(--text-primary)}.site-footer{color:var(--text-muted);justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-size:.75rem;display:flex}.site-footer a{color:var(--text-muted);text-decoration:none;transition:color .2s}.site-footer a:hover{color:var(--text-primary)}.footer-sep{color:var(--border-color)}@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-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-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.app{min-height:100vh;height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);overflow:hidden}.chat-layout{display:flex;flex:1;width:100%;height:100vh;min-height:0;overflow:hidden;background:linear-gradient(135deg,var(--bg-primary) 0%,oklch(.12 .025 300) 100%)}.chat-main{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;height:100%;position:relative}.chat-main:before{content:"";position:absolute;top:-200px;left:-200px;width:400px;height:400px;background:var(--color-primary-500);opacity:.08;filter:blur(100px);border-radius:50%;pointer-events:none}.chat-main:after{content:"";position:absolute;bottom:-150px;right:-150px;width:300px;height:300px;background:var(--color-accent-500);opacity:.06;filter:blur(80px);border-radius:50%;pointer-events:none}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;background:linear-gradient(180deg,var(--bg-secondary) 0%,transparent 100%);border-bottom:1px solid var(--border-subtle);position:relative;z-index:10}.chat-header h1{font-size:1.5rem;font-weight:700;margin:0;letter-spacing:-.02em}.chat-header-actions{display:flex;align-items:center;gap:.75rem}.user-info{display:flex;align-items:center;gap:.75rem;padding:.5rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:2rem;font-size:.875rem}.user-info .username{font-weight:600;background:linear-gradient(135deg,var(--text-primary) 0%,var(--color-primary-400) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.user-info .guest-badge{font-size:.65rem;font-weight:600;padding:.2rem .5rem;background:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-accent-600) 100%);color:#fff;border-radius:1rem;text-transform:uppercase;letter-spacing:.05em}.user-info .admin-badge{font-size:.65rem;font-weight:600;padding:.2rem .5rem;background:linear-gradient(135deg,var(--color-error) 0%,var(--color-warning) 100%);color:#fff;border-radius:1rem;text-transform:uppercase;letter-spacing:.05em}.user-info .register-btn{font-size:.75rem;font-weight:600;padding:.35rem .75rem;background:linear-gradient(135deg,var(--color-success) 0%,var(--color-cyan-500) 100%);color:#fff;border:none;border-radius:1rem;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #34c7594d}.user-info .register-btn:hover{transform:scale(1.05);box-shadow:0 4px 15px #34c75966}.logout-pill-btn{background:transparent;border:none;border-left:1px solid var(--border-color);padding:.1rem 0 .1rem .75rem;margin-left:.25rem;color:var(--text-muted);font-size:.8rem;font-weight:500;cursor:pointer;transition:color .2s ease;white-space:nowrap}.logout-pill-btn:hover{color:var(--color-error)}.chat-tabs-container{display:flex;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);overflow-x:auto;scrollbar-width:none;padding:0 .5rem;gap:.25rem}.chat-tabs-container::-webkit-scrollbar{display:none}.chat-tab{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.25rem;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;color:var(--text-secondary);font-size:.875rem;font-weight:500;transition:all .2s ease;position:relative}.chat-tab svg{opacity:.7}.chat-tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.chat-tab:hover svg{opacity:1}.chat-tab.active{color:var(--color-primary-400);border-bottom-color:var(--color-primary-500);background:linear-gradient(180deg,transparent 0%,rgba(139,92,246,.1) 100%)}.chat-tab.active svg{opacity:1;filter:drop-shadow(0 0 4px var(--color-primary-500))}.chat-tab .tab-title{max-width:120px;overflow:hidden;text-overflow:ellipsis}.chat-tab .unread-badge{background:linear-gradient(135deg,var(--color-accent-500) 0%,var(--color-error) 100%);color:#fff;font-size:.65rem;font-weight:700;padding:.15rem .45rem;border-radius:9999px;min-width:18px;text-align:center;box-shadow:0 0 10px var(--color-accent-500)}.chat-tab .close-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:transparent;border:none;cursor:pointer;color:var(--text-muted);font-size:1rem;line-height:1;transition:all .2s ease;margin-left:.25rem}.chat-tab .close-btn:hover{background:var(--color-error);color:#fff;box-shadow:0 0 10px var(--color-error)}.chat-content{display:flex;flex-direction:column;flex:1 1 0;min-height:0;overflow:hidden;background:transparent;position:relative;z-index:1}.message-list{flex:1 1 0;min-height:0;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.message-list-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);gap:.75rem;text-align:center}.message-list-empty svg{width:64px;height:64px;opacity:.3;stroke:var(--color-primary-500)}.message-list-empty p{margin:0}.message-list-empty p:first-of-type{font-size:1.1rem;color:var(--text-secondary)}.message-item{display:flex;gap:.875rem;animation:slideUp .3s ease-out;padding:.5rem;border-radius:1rem;transition:background .2s ease}.message-item:hover{background:var(--bg-tertiary)}.message-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-accent-500) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.875rem;flex-shrink:0;box-shadow:0 2px 10px var(--glow-primary)}.message-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.message-content{flex:1;min-width:0}.message-header{display:flex;align-items:baseline;gap:.625rem;margin-bottom:.375rem}.message-username{font-weight:600;font-size:.9rem;background:linear-gradient(135deg,var(--color-primary-400) 0%,var(--color-accent-400) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.message-time{font-size:.75rem;color:var(--text-muted)}.message-text{font-size:.9375rem;line-height:1.6;color:var(--text-primary);word-wrap:break-word}.message-image{margin-top:.5rem;max-width:300px;border-radius:.75rem;overflow:hidden;border:1px solid var(--border-color)}.message-image img{width:100%;height:auto;display:block;cursor:pointer;transition:transform .2s ease}.message-image img:hover{transform:scale(1.02)}.message-item-compact{display:flex;align-items:baseline;gap:.5rem;padding:.25rem .5rem;font-size:.875rem;line-height:1.4;transition:background .15s ease}.message-item-compact:hover{background:var(--bg-tertiary)}.message-item-compact .message-username{font-weight:600;color:var(--color-primary-400);flex-shrink:0}.message-item-compact .message-time{font-size:.7rem;color:var(--text-muted);flex-shrink:0}.message-item-compact .message-text{color:var(--text-primary);word-wrap:break-word;overflow-wrap:break-word;min-width:0}.message-input-container{padding:1rem 1.5rem 1.5rem;background:linear-gradient(180deg,transparent 0%,var(--bg-secondary) 100%);position:relative;z-index:10}.message-input-form{display:flex;gap:.875rem;align-items:center}.message-input{flex:1;padding:1rem 1.25rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:1.5rem;font-size:.9375rem;color:var(--text-primary);transition:all .3s ease}.message-input:focus{outline:none;border-color:var(--color-primary-500);background:var(--bg-elevated);box-shadow:0 0 0 4px var(--glow-primary),0 0 30px var(--glow-primary)}.message-input::placeholder{color:var(--text-muted)}.message-send-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-accent-600) 100%);border:none;border-radius:50%;cursor:pointer;color:#fff;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 20px var(--glow-primary)}.message-send-btn:hover{transform:scale(1.08);box-shadow:0 6px 30px var(--glow-primary)}.message-send-btn:active{transform:scale(.95)}.message-send-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.chat-sidebar{width:320px;background:var(--bg-secondary);border-left:1px solid var(--border-subtle);display:flex;flex-direction:column;flex-shrink:0;position:relative}.chat-sidebar:before{content:"";position:absolute;top:0;left:0;right:0;height:150px;background:linear-gradient(180deg,rgba(139,92,246,.05) 0%,transparent 100%);pointer-events:none}.chat-sidebar.collapsed{display:none}.sidebar-tabs{display:flex;border-bottom:1px solid var(--border-subtle);position:relative;z-index:1;align-items:stretch}.sidebar-collapse-btn{display:flex;align-items:center;justify-content:center;width:36px;flex-shrink:0;background:transparent;border:none;border-left:1px solid var(--border-subtle);color:var(--text-muted);cursor:pointer;transition:color .2s ease,background .2s ease}.sidebar-collapse-btn:hover{color:var(--color-primary-400);background:#8b5cf614}.sidebar-tab{flex:1;padding:1rem .5rem;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:.75rem;font-weight:600;color:var(--text-secondary);transition:all .2s ease;text-transform:uppercase;letter-spacing:.03em}.sidebar-tab:hover{color:var(--text-primary);background:var(--bg-tertiary)}.sidebar-tab.active{color:var(--color-primary-400);border-bottom-color:var(--color-primary-500)}.sidebar-content{flex:2;overflow-y:auto;padding:.75rem;position:relative;z-index:1;min-height:0}.user-list-section{margin-bottom:.5rem}.user-list-header{font-size:.7rem;font-weight:700;text-transform:uppercase;color:var(--text-muted);padding:.375rem .75rem;letter-spacing:.1em}.user-list-item.compact{display:flex;align-items:center;gap:.5rem;padding:.15rem .5rem;border-radius:.375rem;cursor:pointer;transition:all .15s ease}.user-list-item.compact:hover{background:var(--bg-tertiary)}.user-list-avatar-small{position:relative;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-accent-500) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.6rem;flex-shrink:0}.user-list-avatar-small .status-dot{position:absolute;bottom:-2px;right:-2px;width:8px;height:8px;border-radius:50%;border:2px solid var(--bg-secondary)}.user-list-avatar-small .status-dot.online,.user-list-avatar-small .status-dot.active{background:var(--color-success);box-shadow:0 0 6px var(--color-success)}.user-list-avatar-small .status-dot.away{background:var(--color-warning);box-shadow:0 0 6px var(--color-warning)}.user-list-avatar-small .status-dot.offline{background:var(--text-muted);box-shadow:none}.user-list-name-compact{flex:1;min-width:0;font-size:.8rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary)}.user-list-actions-compact{display:flex;gap:.25rem;opacity:0;transition:opacity .15s ease}.user-list-item.compact:hover .user-list-actions-compact{opacity:1}.user-action-btn-small{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:4px;background:transparent;border:none;cursor:pointer;color:var(--text-muted);transition:all .15s ease;position:relative}.user-action-btn-small:hover{color:var(--color-primary-400);background:var(--bg-hover)}.user-action-btn-small.add-friend-btn:hover{color:var(--color-success)}.user-action-btn-small.report-btn:hover{color:var(--color-error)}.user-action-btn-small.webcam-btn-icon.active{color:var(--color-success)}.user-action-btn-small.webcam-btn-icon.inactive{color:var(--text-muted);opacity:.4;cursor:default}.user-action-btn-small .live-dot{position:absolute;top:2px;right:2px;width:5px;height:5px;background:var(--color-error);border-radius:50%;animation:pulse 1.5s ease-in-out infinite}.user-list-item:not(.compact){display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border-radius:.75rem;cursor:pointer;transition:all .2s ease}.user-list-item:not(.compact):hover{background:var(--bg-tertiary);box-shadow:0 0 20px #8b5cf61a}.user-list-avatar{position:relative;width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-accent-500) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.75rem;box-shadow:0 2px 8px var(--glow-primary)}.user-list-avatar .status-dot{position:absolute;bottom:-1px;right:-1px;width:12px;height:12px;border-radius:50%;border:2px solid var(--bg-secondary)}.user-list-avatar .status-dot.online,.user-list-avatar .status-dot.active{background:var(--color-success);box-shadow:0 0 8px var(--color-success)}.user-list-avatar .status-dot.away{background:var(--color-warning);box-shadow:0 0 8px var(--color-warning)}.user-list-info{flex:1;min-width:0}.user-list-name{font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-list-status{font-size:.75rem;color:var(--text-muted)}.user-list-actions{display:flex;gap:.375rem;opacity:0;transition:opacity .2s ease}.user-list-item:hover .user-list-actions{opacity:1}.user-action-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-color);cursor:pointer;color:var(--text-secondary);transition:all .2s ease}.user-action-btn:hover{color:var(--color-primary-400);border-color:var(--color-primary-500);box-shadow:0 0 15px var(--glow-primary);background:var(--bg-hover)}.user-action-btn.add-friend-btn:hover{color:var(--color-success);border-color:var(--color-success);box-shadow:0 0 15px #34c7594d}.user-action-btn.remove-friend-btn:hover{color:var(--color-error);border-color:var(--color-error);box-shadow:0 0 15px #ff3b304d}.friend-badge{color:var(--color-warning);font-size:.75rem;margin-left:.25rem;filter:drop-shadow(0 0 4px var(--color-warning))}.you-badge{color:var(--text-muted);font-size:.75rem;margin-left:.25rem;font-weight:400}.user-list-avatar .status-dot.offline{background:var(--text-muted);box-shadow:none}.loading-spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top-color:var(--color-primary-500);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}.empty-state-hint{font-size:.75rem!important;color:var(--text-muted)!important}.room-list-item{display:flex;align-items:center;gap:.875rem;padding:.875rem;border-radius:.75rem;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.room-list-item:hover{background:var(--bg-tertiary);border-color:var(--border-color);box-shadow:0 0 20px #8b5cf61a}.room-icon{width:40px;height:40px;border-radius:.75rem;background:linear-gradient(135deg,var(--color-primary-600) 0%,var(--color-accent-600) 100%);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 2px 10px var(--glow-primary)}.room-info{flex:1;min-width:0}.room-name{font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.room-name .lock-icon{color:var(--color-warning);filter:drop-shadow(0 0 4px var(--color-warning))}.room-meta{font-size:.75rem;color:var(--text-muted);margin-top:.125rem}.create-room-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem 1rem;margin-bottom:.75rem;background:linear-gradient(135deg,var(--color-primary-600) 0%,var(--color-accent-600) 100%);border:none;border-radius:.75rem;color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px var(--glow-primary)}.create-room-btn:hover{transform:translateY(-2px);box-shadow:0 6px 25px var(--glow-primary)}.create-room-btn:active{transform:translateY(0)}.create-room-form{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;padding:1rem;margin-bottom:1rem;animation:slideUp .2s ease-out}.create-room-input{margin-bottom:.75rem;padding:.75rem 1rem;font-size:.875rem}.create-room-options{display:flex;gap:1rem;margin-bottom:1rem}.create-room-option{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:var(--text-secondary);cursor:pointer}.create-room-option input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary-500);cursor:pointer}.create-room-option:hover{color:var(--text-primary)}.create-room-actions{display:flex;gap:.5rem}.btn-cancel{flex:1;padding:.625rem 1rem;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-secondary);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-create{flex:1;padding:.625rem 1rem;background:linear-gradient(135deg,var(--color-primary-500) 0%,var(--color-accent-600) 100%);border:none;border-radius:.5rem;color:#fff;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 10px var(--glow-primary)}.btn-create:hover:not(:disabled){box-shadow:0 4px 20px var(--glow-primary)}.btn-create:disabled{opacity:.5;cursor:not-allowed}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;color:var(--text-muted)}.empty-state svg{width:56px;height:56px;margin-bottom:1rem;opacity:.3;stroke:var(--color-primary-500)}.empty-state p{margin:.25rem 0;font-size:.875rem}.empty-state p:first-of-type{color:var(--text-secondary);font-weight:500}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;cursor:pointer;color:var(--text-secondary);transition:all .2s ease}.sidebar-toggle:hover{color:var(--color-primary-400);border-color:var(--color-primary-500);box-shadow:0 0 20px var(--glow-primary)}.image-preview{position:relative;display:inline-block;margin-bottom:.75rem;border-radius:.75rem;overflow:hidden;border:1px solid var(--border-color);background:var(--bg-tertiary)}.image-preview img{max-width:200px;max-height:150px;display:block;object-fit:contain}.image-preview-remove{position:absolute;top:.5rem;right:.5rem;width:24px;height:24px;border-radius:50%;background:#000000b3;border:none;cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.image-preview-remove:hover{background:var(--color-error);transform:scale(1.1)}.upload-error{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;margin-bottom:.75rem;background:#ff3b3026;border:1px solid var(--color-error);border-radius:.5rem;color:var(--color-error);font-size:.875rem}.upload-error button{background:transparent;border:none;color:var(--color-error);font-size:1.25rem;cursor:pointer;line-height:1;padding:0;opacity:.7;transition:opacity .2s ease}.upload-error button:hover{opacity:1}.image-upload-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:50%;cursor:pointer;color:var(--text-secondary);transition:all .2s ease;flex-shrink:0}.image-upload-btn:hover:not(:disabled){color:var(--color-primary-400);border-color:var(--color-primary-500);box-shadow:0 0 15px var(--glow-primary)}.image-upload-btn:disabled{opacity:.4;cursor:not-allowed}.spinner{width:20px;height:20px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}.hidden{display:none!important}@supports (height: 100dvh){.app{height:100dvh;min-height:100dvh}.chat-layout{height:100dvh}}.sidebar-backdrop{display:none}@media(max-width:768px){.chat-sidebar{position:fixed;right:0;top:0;bottom:0;z-index:100;box-shadow:-10px 0 40px #00000080}.chat-sidebar.collapsed{display:none}.chat-header{padding:.75rem 1rem}.user-info{padding:.375rem .625rem}.user-info .username,.user-info .guest-badge{display:none}.logout-pill-btn{border-left:none;padding-left:0;margin-left:0;font-size:.8rem}.message-list{padding:.75rem;gap:.75rem}.message-input-container{padding:.625rem .75rem .875rem}.message-image{max-width:100%}.user-list-actions-compact,.user-list-actions{opacity:1}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:99;background:#00000080}.chat-tabs-container{touch-action:pan-x}}@media(max-width:480px){.chat-sidebar{width:min(300px,88vw)}.chat-header h1{font-size:1.2rem}.chat-tab{padding:.75rem .875rem}.dm-container{flex-direction:column-reverse}.dm-webcam{flex:0 0 200px;min-height:0}.dm-messages{flex:1;min-height:0;border-right:none;border-top:1px solid var(--border-subtle)}.message-avatar{width:32px;height:32px;font-size:.75rem}.message-input-container{padding-bottom:calc(.625rem + env(safe-area-inset-bottom,0px))}}.gender-male{color:#60a5fa}.gender-female{color:#f472b6}.gender-trans_male{color:#818cf8}.gender-trans_female{color:#e879f9}.gender-symbol-inline{margin-right:3px;font-size:.7em;opacity:.85;vertical-align:middle}.gender-selector{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.gender-pill{display:flex;align-items:center;gap:4px;padding:5px 10px;border-radius:999px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-muted);cursor:pointer;font-size:.8rem;transition:all .15s ease;white-space:nowrap}.gender-pill:hover{border-color:var(--color-primary-400);color:var(--text-primary)}.gender-symbol{font-size:1em}.gender-label{font-size:.8em}.gender-pill-male.active{background:#60a5fa26;border-color:#60a5fa;color:#60a5fa}.gender-pill-female.active{background:#f472b626;border-color:#f472b6;color:#f472b6}.gender-pill-trans_male.active{background:#818cf826;border-color:#818cf8;color:#818cf8}.gender-pill-trans_female.active{background:#e879f926;border-color:#e879f9;color:#e879f9}.gender-pill-private.active{background:#9ca3af26;border-color:var(--text-muted);color:var(--text-secondary)}.typing-indicator{font-size:.75rem;color:var(--text-muted);padding:0 1rem .25rem;height:1.25rem;font-style:italic}.system-message{text-align:center;color:var(--text-muted);font-size:.75rem;font-style:italic;padding:.25rem 1rem;opacity:.7}.message-mentioned{background:#6d64ff14;background:oklch(.6 .25 280 / .08);border-left:2px solid var(--color-primary-500);padding-left:calc(1rem - 2px)}.mention{color:var(--color-primary-400);font-weight:600}.mention-you{color:var(--color-accent-400);background:#d231cb26;border-radius:2px;padding:0 2px}.message-input-error{color:var(--color-error, #f87171);font-size:.75rem;padding:.25rem 1rem}.clickable-username{cursor:pointer}.clickable-username:hover{text-decoration:underline;color:var(--color-primary-300)}.mention-dropdown{position:absolute;bottom:calc(100% + 4px);left:1rem;right:1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;overflow:hidden;z-index:100;box-shadow:0 -4px 12px #0000004d}.mention-suggestion{display:block;width:100%;padding:.5rem 1rem;text-align:left;background:none;border:none;color:var(--text-primary);font-size:.875rem;cursor:pointer}.mention-suggestion:hover,.mention-suggestion.selected{background:var(--color-primary-500);color:#fff}.crypto-coins-grid{display:flex;flex-wrap:wrap;gap:6px;margin:.75rem 0 .5rem}.crypto-coin-badge{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:600;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:4px;padding:3px 10px;color:var(--text-secondary)}.crypto-coin-badge.high-fee{opacity:.65}.guest-promo-cta{margin-top:1.25rem;padding:1rem;border-radius:10px;background:linear-gradient(135deg,#8b5cf61f,#06b6d41f);border:1px solid rgba(139,92,246,.35);text-align:center}.guest-promo-urgency{font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.guest-promo-urgency strong{background:linear-gradient(135deg,#f59e0b,#ef4444);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1.1rem}.guest-promo-desc{font-size:.8rem;color:var(--text-secondary);margin:0 0 .85rem;line-height:1.5}.guest-promo-btn{width:100%;background:linear-gradient(135deg,#8b5cf6,#06b6d4)!important;font-weight:700;letter-spacing:.01em;padding:.7rem 1rem!important}.promo-free-label{background:linear-gradient(135deg,#a78bfa,#22d3ee);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1.1rem!important}.promo-banner{background:linear-gradient(135deg,#8b5cf626,#06b6d426);border:1px solid rgba(139,92,246,.4);border-radius:8px;padding:.75rem 1rem;text-align:center;font-size:.9rem;color:var(--text-primary);margin-bottom:1rem}.promo-spots{display:block;font-size:1.1rem;font-weight:700;background:linear-gradient(135deg,#a78bfa,#22d3ee);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.2rem}.crypto-fee-disclaimer{font-size:.7rem;color:var(--text-muted);line-height:1.4;margin:.25rem 0 .75rem}.crypto-notice{position:fixed;top:1rem;left:50%;transform:translate(-50%);z-index:9999;display:flex;align-items:center;gap:1rem;padding:.875rem 1.25rem;border-radius:8px;font-size:.875rem;max-width:480px;width:calc(100% - 2rem);box-shadow:0 4px 16px #0000004d;animation:slide-down .25s ease}@keyframes slide-down{0%{opacity:0;transform:translate(-50%) translateY(-12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.crypto-notice-success{background:#0d3811;border:1px solid oklch(.5 .18 145);color:#b5f0b5}.crypto-notice-cancel{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary)}.crypto-notice-close{margin-left:auto;background:none;border:none;color:inherit;cursor:pointer;font-size:1rem;opacity:.7;padding:0;flex-shrink:0}.crypto-notice-close:hover{opacity:1}.sol-payment-screen{display:flex;flex-direction:column;gap:1rem}.sol-qr-container{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:var(--color-surface-2, #1a1a2e);border-radius:12px}.sol-qr-code{width:180px;height:180px;border-radius:8px;background:#fff;padding:4px}.sol-qr-hint{font-size:.75rem;opacity:.6;text-align:center}.sol-address-box{background:var(--color-surface-2, #1a1a2e);border:1px solid var(--color-border, rgba(255,255,255,.1));border-radius:10px;padding:.875rem 1rem;display:flex;flex-direction:column;gap:.625rem}.sol-address-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;opacity:.5}.sol-address-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.sol-address{font-family:Courier New,monospace;font-size:.7rem;word-break:break-all;flex:1;opacity:.9;line-height:1.5}.sol-amount-row{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.sol-amount-row strong{color:var(--color-primary-400, #a78bfa);font-size:1rem}.sol-copy-btn{background:var(--color-primary-600, #7c3aed);color:#fff;border:none;border-radius:6px;padding:.25rem .625rem;font-size:.75rem;cursor:pointer;display:flex;align-items:center;gap:.25rem;white-space:nowrap;transition:background .15s}.sol-copy-btn:hover{background:var(--color-primary-500, #8b5cf6)}.sol-token-warning{font-size:.8rem;background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:8px;padding:.625rem .875rem;color:#fbbf24;line-height:1.5}.sol-waiting{display:flex;align-items:center;justify-content:center;gap:.625rem;font-size:.875rem;opacity:.7;padding:.5rem 0}.sol-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.2);border-top-color:var(--color-primary-400, #a78bfa);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sol-confirmed-screen{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;padding:1.5rem 0}.sol-confirmed-icon{color:#4ade80}.sol-confirmed-hint{font-size:.875rem;opacity:.7}.sol-wallet-item{flex-direction:column;align-items:flex-start;gap:.25rem}.sol-wallet-address{font-size:.7rem;word-break:break-all;background:var(--bg-tertiary, rgba(255,255,255,.05));border-radius:4px;padding:.25rem .5rem;display:block;width:100%;box-sizing:border-box}.sweep-logs{display:flex;flex-direction:column;gap:.75rem}.sweep-logs-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.sweep-log-filters{display:flex;gap:.375rem;flex-wrap:wrap}.sweep-filter-btn{display:flex;align-items:center;gap:.375rem;padding:.3rem .625rem;border-radius:6px;border:1px solid var(--border-color, rgba(255,255,255,.1));background:transparent;color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:all .15s}.sweep-filter-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.sweep-filter-btn.active{border-color:var(--color-primary-500);background:#6054ec1a;color:var(--text-primary)}.sweep-filter-btn.status-failed.active{border-color:#f87171;background:#f871711a}.sweep-filter-btn.status-succeeded.active{border-color:#4ade80;background:#4ade801a}.sweep-filter-count{font-size:.65rem;background:var(--bg-tertiary);border-radius:10px;padding:0 .375rem;min-width:18px;text-align:center}.sweep-logs-empty{text-align:center;padding:2rem;color:var(--text-muted);font-size:.875rem}.sweep-log-list{display:flex;flex-direction:column;gap:.5rem}.sweep-log-row{border:1px solid var(--border-color, rgba(255,255,255,.08));border-radius:8px;padding:.625rem .875rem;display:flex;flex-direction:column;gap:.375rem;font-size:.8rem;transition:border-color .15s}.sweep-log-row.status-failed{border-color:#f871714d;background:#f871710a}.sweep-log-row.status-succeeded{border-color:#4ade8033}.sweep-log-main{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.sweep-status-badge{font-size:.7rem;font-weight:600;padding:.15rem .5rem;border-radius:4px;text-transform:uppercase;letter-spacing:.02em}.sweep-status-badge.succeeded{background:#4ade8026;color:#4ade80}.sweep-status-badge.failed{background:#f8717126;color:#f87171}.sweep-status-badge.skipped{background:#ffffff12;color:var(--text-muted)}.sweep-log-type{color:var(--text-secondary)}.sweep-log-amount{font-weight:500}.sweep-log-date{color:var(--text-muted);margin-left:auto}.sweep-log-detail{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;color:var(--text-secondary)}.sweep-log-label{color:var(--text-muted);font-size:.7rem}.sweep-log-addr{font-size:.7rem}.sweep-log-email{font-size:.75rem}.sweep-log-tx{font-size:.7rem;color:var(--color-primary-400, #a78bfa);text-decoration:none}.sweep-log-tx:hover{text-decoration:underline}.sweep-log-error{font-size:.7rem;color:#f87171;width:100%;margin-top:.125rem}.sweep-retry-btn{margin-top:.25rem;align-self:flex-start}.coin-picker{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0}.coin-option{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.25rem;border-radius:.75rem;border:1.5px solid rgba(255,255,255,.12);background:#ffffff0a;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,transform .1s;position:relative}.coin-option:hover:not(:disabled){background:#ffffff14;transform:translateY(-1px)}.coin-option:disabled{opacity:.6;cursor:not-allowed}.coin-option-sol{border-color:#9945ff66}.coin-option-usdc_base{border-color:#0070f366}.coin-option-eth_base{border-color:#627eea66}.coin-option-sol:hover:not(:disabled){border-color:#9945ffcc}.coin-option-usdc_base:hover:not(:disabled){border-color:#0070f3cc}.coin-option-eth_base:hover:not(:disabled){border-color:#627eeacc}.coin-option-header{display:flex;align-items:center;gap:.5rem}.coin-option-label{font-weight:700;font-size:1rem;color:var(--text-primary, #fff)}.coin-option-network{font-size:.75rem;font-weight:600;padding:.125rem .5rem;border-radius:9999px;background:#ffffff1a;color:var(--text-secondary, #aaa)}.coin-option-sol .coin-option-network{background:#9945ff40;color:#c084fc}.coin-option-usdc_base .coin-option-network{background:#0070f340;color:#60a5fa}.coin-option-eth_base .coin-option-network{background:#627eea40;color:#818cf8}.coin-option-hint{font-size:.78rem;color:var(--text-muted, #888)}.coin-option-spinner{position:absolute;right:1rem;top:50%;transform:translateY(-50%);width:18px;height:18px;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.sweep-chain-badge{display:inline-flex;align-items:center;padding:.1rem .4rem;border-radius:9999px;font-size:.65rem;font-weight:700;letter-spacing:.02em}.sweep-chain-badge.chain-sol{background:#9945ff33;color:#c084fc}.sweep-chain-badge.chain-base{background:#0070f333;color:#60a5fa}.sweep-chain-filters{display:flex;gap:.25rem}.sweep-chain-btn{font-size:.7rem;padding:.2rem .5rem}
