.theme-controls{top:var(--space-5);right:var(--space-5);z-index:10;align-items:center;gap:var(--space-3);display:flex;position:fixed}.theme-controls--inline{z-index:auto;align-items:stretch;gap:var(--space-3);flex-direction:column;position:static;top:auto;right:auto}.theme-row{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.theme-row__label{font-family:var(--font-display);color:var(--text-muted);font-size:.86rem;font-weight:600}.theme-controls--inline .segmented{border-color:var(--field-border)}.segmented{border-radius:var(--radius-pill);background:var(--surface);border:1px solid var(--border);-webkit-backdrop-filter:blur(var(--card-blur));gap:2px;padding:4px;display:flex}.segmented__option{border-radius:calc(var(--radius-pill) - 4px);color:var(--text-muted);font-family:var(--font-display);cursor:pointer;transition:color var(--transition), background var(--transition);background:0 0;border:none;justify-content:center;align-items:center;padding:7px 14px;font-size:.8rem;font-weight:600;display:inline-flex}.segmented--icons .segmented__option{padding:7px 10px}.segmented__option:hover{color:var(--text)}.segmented__option[data-active=true]{color:var(--on-accent);background:var(--accent-gradient)}.segmented__option:focus-visible{box-shadow:0 0 0 2px var(--ring);outline:none}@media (width<=560px){.theme-controls{top:var(--space-3);right:var(--space-3);flex-wrap:wrap;justify-content:flex-end}}.btn{justify-content:center;align-items:center;gap:var(--space-3);width:100%;min-height:54px;padding:0 var(--space-6);border-radius:var(--radius-field);font-family:var(--font-display);letter-spacing:.01em;cursor:pointer;transition:transform var(--transition), box-shadow var(--transition), filter var(--transition), background var(--transition);border:none;font-size:1rem;font-weight:600;display:inline-flex}.btn:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{color:var(--on-accent);background:var(--accent-gradient);box-shadow:var(--shadow-accent);position:relative;overflow:hidden}.btn--primary:after{content:"";opacity:.7;pointer-events:none;background:linear-gradient(#ffffff38,#fff0 55%);position:absolute;inset:0}.btn--primary .btn__icon{transition:transform var(--transition)}.btn--primary:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.btn--primary:hover:not(:disabled) .btn__icon{transform:translate(3px)}.btn--primary:active:not(:disabled){filter:brightness(.98);transform:translateY(0)}.btn--ghost{color:var(--text);background:var(--surface-2);border:1px solid var(--border)}.btn--ghost:hover:not(:disabled){border-color:var(--border-strong)}.field{gap:var(--space-2);flex-direction:column;display:flex}.field__label{font-family:var(--font-display);letter-spacing:.01em;color:var(--text);font-size:.82rem;font-weight:600}.field__control{height:var(--field-height);border-radius:var(--radius-field);background:var(--field-bg);border:1px solid var(--field-border);transition:border-color var(--transition), box-shadow var(--transition), background var(--transition);align-items:center;display:flex;position:relative}.field__control:focus-within{border-color:var(--field-border-focus);box-shadow:0 0 0 3px var(--ring)}.field__icon{padding-left:var(--space-4);color:var(--icon);transition:color var(--transition);justify-content:center;align-items:center;display:flex}.field__control:focus-within .field__icon{color:var(--accent)}.field__input{min-width:0;height:100%;padding:0 var(--space-3);color:var(--text);font-family:var(--font-body);background:0 0;border:none;flex:1;font-size:.95rem}.field__input:focus{outline:none}.field__input::placeholder{color:var(--text-subtle)}.field__input::-ms-reveal{display:none}.field__input::-ms-clear{display:none}.field__reveal{margin-right:var(--space-2);padding:var(--space-2);color:var(--icon);cursor:pointer;transition:color var(--transition), background var(--transition);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:flex}.field__reveal:hover{color:var(--text);background:var(--surface-2)}.field__reveal:focus-visible{color:var(--accent);box-shadow:0 0 0 2px var(--ring);outline:none}.checkbox{position:relative}.checkbox__input{opacity:0;width:0;height:0;position:absolute}.checkbox__label{align-items:flex-start;gap:var(--space-3);cursor:pointer;color:var(--text-muted);font-size:.88rem;line-height:1.45;display:flex}.checkbox__box{border:1px solid var(--field-border);background:var(--field-bg);color:#0000;width:20px;height:20px;transition:background var(--transition), border-color var(--transition), color var(--transition);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:flex}.checkbox__input:checked+.checkbox__label .checkbox__box{background:var(--accent-gradient);color:var(--on-accent);border-color:#0000}.checkbox__input:focus-visible+.checkbox__label .checkbox__box{box-shadow:0 0 0 3px var(--ring)}.checkbox__text a{color:var(--accent-text);font-weight:600;text-decoration:none}.checkbox__text a:hover{text-decoration:underline}.auth{justify-content:center;align-items:center;gap:var(--space-5);min-height:100dvh;padding:96px var(--space-5) var(--space-8);flex-direction:column;display:flex}.card{width:100%;max-width:480px;padding:var(--space-8);border-radius:var(--radius-card);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(var(--card-blur));animation:.6s cubic-bezier(.16,1,.3,1) both card-in}[data-style=branded] .card{position:relative}[data-style=branded] .card:before{content:"";border-radius:inherit;background:linear-gradient(150deg, var(--card-glow), transparent 40%, transparent 70%, var(--card-glow));-webkit-mask-composite:xor;pointer-events:none;padding:1px;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes card-in{0%{opacity:0;transform:translateY(16px)scale(.99)}to{opacity:1;transform:none}}.card__head{text-align:center;margin-bottom:var(--space-6)}.brand{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);display:inline-flex}.brand__mark{width:46px;height:46px;color:var(--accent);background:var(--accent-soft);border:1px solid var(--border);border-radius:14px;justify-content:center;align-items:center;display:flex}.brand__name{font-family:var(--font-display);font-size:1.45rem;font-weight:var(--weight-heading);letter-spacing:var(--letter-display);color:var(--text)}.card__title{font-family:var(--font-display);font-size:1.7rem;line-height:1.2;font-weight:var(--weight-heading);letter-spacing:var(--letter-display);color:var(--text);margin-bottom:var(--space-3)}.card__subtitle{color:var(--text-muted);font-size:.95rem}.card__form{gap:var(--space-5);flex-direction:column;display:flex}.auth-error{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-field);color:var(--text);background:#f8717129;border:1px solid #f8717161;font-size:.86rem;line-height:1.4;display:flex}.divider{align-items:center;gap:var(--space-4);margin:var(--space-6) 0;color:var(--text-subtle);letter-spacing:.12em;font-size:.75rem;display:flex}.divider:before,.divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-switch{text-align:center;color:var(--text-muted);font-size:.92rem}.auth-switch button{color:var(--accent-text);font-weight:600;font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0}.auth-switch button:hover{text-decoration:underline}.features{gap:var(--space-5);margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border);grid-template-columns:1fr 1fr;list-style:none;display:grid}.feature{gap:var(--space-3);display:flex}.feature__icon{width:38px;height:38px;color:var(--accent);background:var(--accent-soft);border:1px solid var(--border);border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.feature__title{font-family:var(--font-display);color:var(--text);margin-bottom:4px;font-size:.85rem;font-weight:600;line-height:1.3}.feature__desc{color:var(--text-subtle);font-size:.78rem;line-height:1.45}.footnote{align-items:center;gap:var(--space-2);color:var(--text-subtle);font-size:.82rem;display:inline-flex}@media (width<=540px){.auth{padding:88px var(--space-4) var(--space-6)}.card{padding:var(--space-6)}.card__title{font-size:1.45rem}.features{gap:var(--space-4);grid-template-columns:1fr}}.modal{--modal-top:clamp(24px, 9vh, 120px);z-index:100;padding:var(--modal-top) var(--space-5) var(--space-5);-webkit-backdrop-filter:blur(6px);animation:modal-fade var(--transition);background:#0604108c;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.modal__card{width:100%;max-width:420px;max-height:calc(100dvh - var(--modal-top) - var(--space-5));border-radius:var(--radius-card);border:1px solid var(--border-strong);background-color:var(--bg);background-image:linear-gradient(var(--surface), var(--surface));-webkit-backdrop-filter:blur(var(--card-blur));box-shadow:var(--shadow-card);animation:modal-pop var(--transition);flex-direction:column;display:flex;overflow:hidden}.modal__head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid var(--border);display:flex}.modal__title{font-family:var(--font-display);font-size:1.15rem;font-weight:var(--weight-heading);letter-spacing:var(--letter-display);color:var(--text)}.modal__subtitle{color:var(--text-muted);margin-top:2px;font-size:.84rem}.modal__close{border:1px solid var(--border);width:34px;height:34px;color:var(--icon);cursor:pointer;transition:color var(--transition), background var(--transition), border-color var(--transition);background:0 0;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.modal__close:hover{color:var(--text);background:var(--surface-2);border-color:var(--border-strong)}.modal__close:focus-visible{box-shadow:0 0 0 2px var(--ring);outline:none}.modal__body{padding:var(--space-5);overflow-y:auto}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.modal,.modal__card{animation:none}}.role-badge{--badge-color:var(--accent);border:1px solid var(--badge-color);border-radius:var(--radius-pill);color:var(--badge-color);font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;-webkit-user-select:none;user-select:none;vertical-align:middle;background:0 0;flex-shrink:0;align-items:center;font-weight:700;line-height:1;display:inline-flex}.role-badge[data-size=sm]{padding:2px 7px;font-size:.6rem}.role-badge[data-size=md]{padding:4px 10px;font-size:.7rem}.role-badge[data-role=plus]{--badge-color:#0ea5e9}.role-badge[data-role=pro]{--badge-color:#6366f1}.role-badge[data-role=premium]{--badge-color:#f59e0b}.role-badge[data-role=creator]{--badge-color:#db2777}.messenger{height:100%;min-height:0;display:flex;overflow:hidden}.convos{border-right:1px solid var(--border);background:var(--surface);flex-direction:column;flex-shrink:0;width:326px;min-height:0;display:flex}.convos__head{justify-content:space-between;align-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-5) var(--space-3);display:flex}.convos__title{font-family:var(--font-display);font-size:1.2rem;font-weight:var(--weight-heading);letter-spacing:var(--letter-display);color:var(--text)}.convos__toggle{border:1px solid var(--border);width:32px;height:32px;color:var(--icon);cursor:pointer;transition:color var(--transition), background var(--transition), border-color var(--transition);background:0 0;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.convos__toggle:hover{color:var(--text);background:var(--surface-2);border-color:var(--border-strong)}.convos__toggle:focus-visible{box-shadow:0 0 0 2px var(--ring);outline:none}.convos__search{margin:0 var(--space-4) var(--space-3);align-items:center;display:flex;position:relative}.convos__search-icon{color:var(--text-subtle);pointer-events:none;display:flex;position:absolute;left:12px}.convos__search-input{border-radius:var(--radius-pill);background:var(--field-bg);border:1px solid var(--field-border);width:100%;color:var(--text);font-family:var(--font-body);transition:border-color var(--transition), box-shadow var(--transition);padding:11px 38px;font-size:.9rem}.convos__search-input:focus{border-color:var(--field-border-focus);box-shadow:0 0 0 3px var(--ring);outline:none}.convos__search-input::placeholder{color:var(--text-subtle)}.convos__search-clear{width:26px;height:26px;color:var(--text-subtle);cursor:pointer;transition:color var(--transition), background var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;right:8px}.convos__search-clear:hover{color:var(--text);background:var(--surface-2)}.convos__list{min-height:0;padding:0 var(--space-3) var(--space-4);flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.convos__section{padding:var(--space-2) var(--space-3);letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle);font-size:.7rem;font-weight:700}.convo{align-items:center;gap:var(--space-3);width:100%;padding:10px var(--space-3);border-radius:var(--radius-field);color:inherit;text-align:left;cursor:pointer;transition:background var(--transition);background:0 0;border:none;display:flex}.convo:hover{background:var(--surface-2)}.convo[data-active=true]{background:var(--accent-soft)}.convo:focus-visible{box-shadow:0 0 0 2px var(--ring);outline:none}.convo__avatar{width:46px;height:46px;font-family:var(--font-display);color:#fff;background:hsl(var(--hue,260) 58% 52%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.86rem;font-weight:700;display:flex;position:relative}.convo__presence,.thread__presence{background:var(--text-subtle);border:2px solid var(--surface);width:12px;height:12px;transition:background var(--transition);border-radius:50%;position:absolute;bottom:0;right:0}.convo__avatar[data-online=true] .convo__presence,.thread__avatar[data-online=true] .thread__presence{background:#22c55e}.convo__badge{border-radius:var(--radius-pill);background:var(--accent-gradient);min-width:19px;height:19px;color:var(--on-accent);justify-content:center;align-items:center;padding:0 5px;font-size:.68rem;font-weight:700;line-height:1;display:flex}.convo__badge--meta{align-self:flex-end}.convo__badge--avatar{border:2px solid var(--surface);box-shadow:var(--shadow-accent);display:none;position:absolute;bottom:-4px;left:-4px}.convo__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.convo__meta{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.convo__name-row{align-items:center;gap:6px;min-width:0;display:flex}.convo__name{font-family:var(--font-display);color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:600;overflow:hidden}.convo__time{color:var(--text-subtle);flex-shrink:0;font-size:.72rem}.convo__preview{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.convo[data-unread=true] .convo__name{font-weight:700}.convo[data-unread=true] .convo__preview{color:var(--text);font-weight:500}.convo[data-unread=true] .convo__time{color:var(--accent);font-weight:600}.convo--result{margin:0 0 2px}.convo--result .convo__go{color:var(--accent);flex-shrink:0;display:flex}@media (width>=769px){.convos[data-collapsed=true]{width:84px}.convos[data-collapsed=true] .convos__head{padding:var(--space-5) var(--space-2) var(--space-3);justify-content:center}.convos[data-collapsed=true] .convos__title,.convos[data-collapsed=true] .convos__search,.convos[data-collapsed=true] .convos__section,.convos[data-collapsed=true] .convo__body,.convos[data-collapsed=true] .convo__meta,.convos[data-collapsed=true] .convos__empty-title,.convos[data-collapsed=true] .convos__empty-text{display:none}.convos[data-collapsed=true] .convos__list{padding:0 var(--space-2) var(--space-4);align-items:center}.convos[data-collapsed=true] .convo{justify-content:center;padding:8px}.convos[data-collapsed=true] .convo__badge--avatar{display:flex}.convos[data-collapsed=true] .convos__empty{padding:var(--space-5) var(--space-1)}}.convos__empty{padding:var(--space-6) var(--space-4);text-align:center;align-items:center;gap:var(--space-1);color:var(--text-subtle);flex-direction:column;margin:auto;display:flex}.convos__empty-icon{width:52px;height:52px;margin-bottom:var(--space-2);color:var(--accent);background:var(--accent-soft);border:1px solid var(--border);border-radius:16px;justify-content:center;align-items:center;display:flex}.convos__empty-title{font-family:var(--font-display);color:var(--text);font-weight:600}.convos__empty-text{max-width:30ch;font-size:.84rem}.convos__hint{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-6);color:var(--text-subtle);font-size:.85rem;display:flex}.convos__spinner{border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite convo-spin}@keyframes convo-spin{to{transform:rotate(360deg)}}.thread{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.thread__placeholder{text-align:center;align-items:center;gap:var(--space-2);padding:var(--space-8);color:var(--text-subtle);flex-direction:column;margin:auto;display:flex}.thread__placeholder-icon{width:70px;height:70px;margin-bottom:var(--space-2);color:var(--accent);background:var(--accent-soft);border:1px solid var(--border);border-radius:20px;justify-content:center;align-items:center;display:flex}.thread__placeholder-title{font-family:var(--font-display);color:var(--text);font-size:1.05rem;font-weight:600}.thread__placeholder-text{max-width:34ch;font-size:.88rem}.thread__head{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border);flex-shrink:0;display:flex;position:relative}.thread__back{width:38px;height:38px;color:var(--text);cursor:pointer;transition:background var(--transition);background:0 0;border:none;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;margin-left:-6px;display:none}.thread__back:hover{background:var(--surface-2)}.thread__avatar{width:42px;height:42px;font-family:var(--font-display);color:#fff;background:hsl(var(--hue,260) 58% 52%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.82rem;font-weight:700;display:flex;position:relative}.thread__heading{flex:1;min-width:0}.thread__title-row{align-items:center;gap:8px;min-width:0;display:flex}.thread__title{font-family:var(--font-display);font-size:1rem;font-weight:var(--weight-heading);color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.thread__sub{color:var(--text-subtle);transition:color var(--transition);font-size:.78rem}.thread__sub[data-presence=online],.thread__sub[data-presence=typing]{color:#16a34a;font-weight:600}.thread__conn{padding:4px var(--space-3);background:var(--surface);color:var(--text-subtle);white-space:nowrap;pointer-events:none;font-size:.8rem;font-weight:500;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.thread__actions{flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex;position:relative}.thread__menu-button,.composer__reply-close{color:var(--text-subtle);cursor:pointer;transition:color var(--transition), background var(--transition);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.thread__menu-button{border-radius:11px;width:38px;height:38px}.thread__menu-button:hover,.composer__reply-close:hover{color:var(--text);background:var(--surface-2)}.thread__menu-button:focus-visible,.composer__reply-close:focus-visible,.thread__menu-item:focus-visible,.msg__menu-item:focus-visible{box-shadow:0 0 0 2px var(--ring);outline:none}.thread__menu,.msg__menu{z-index:30;border:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(var(--card-blur));box-shadow:var(--shadow-soft,0 16px 34px #0000002e);border-radius:8px;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute}.thread__menu{min-width:224px;top:calc(100% + 8px);right:0}.thread__menu-item,.msg__menu-item{align-items:center;gap:var(--space-2);width:100%;color:var(--text);font-family:var(--font-body);text-align:left;white-space:nowrap;cursor:pointer;transition:background var(--transition), color var(--transition);background:0 0;border:none;border-radius:6px;font-size:.84rem;display:flex}.thread__menu-item{padding:9px 10px}.msg__menu-item{padding:8px 9px}.thread__menu-item:hover,.msg__menu-item:hover{background:var(--surface-2)}.thread__menu-item--danger,.msg__menu-item--danger{color:#dc2626}.thread__menu-item--danger:hover,.msg__menu-item--danger:hover{background:#dc262614}.thread__scroll-wrap{flex:1;min-height:0;display:flex;position:relative}.thread__scroll{gap:var(--space-2);width:100%;min-height:0;padding:var(--space-6);flex-direction:column;flex:1;display:flex;overflow-y:auto}.thread__jump{right:var(--space-5);bottom:var(--space-4);z-index:6;border:1px solid var(--border-strong);background:var(--surface);width:42px;height:42px;color:var(--accent);box-shadow:var(--shadow-soft,0 12px 28px #0000002e);cursor:pointer;transition:transform var(--transition), color var(--transition), border-color var(--transition), background var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.thread__jump:hover{color:var(--text);background:var(--surface-2);transform:translateY(-1px)}.thread__jump:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.thread__jump[data-new=true]:after{content:"";border:2px solid var(--surface);background:#22c55e;border-radius:50%;width:8px;height:8px;position:absolute;top:7px;right:7px}.thread__loading{margin:auto}.thread__older{padding:var(--space-2) 0 var(--space-3);justify-content:center;display:flex}.thread__older .convos__spinner{width:16px;height:16px}.thread__empty{text-align:center;color:var(--text-subtle);margin:auto}.thread__empty-title{font-family:var(--font-display);color:var(--text);margin-bottom:2px;font-weight:600}.thread__empty-text{font-size:.85rem}.thread__divider{align-items:center;gap:var(--space-4);margin:var(--space-2) 0;color:var(--text-subtle);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:600;display:flex}.thread__divider:before,.thread__divider:after{content:"";background:var(--border);flex:1;height:1px}.msg{touch-action:pan-y;flex-direction:column;gap:3px;max-width:72%;display:flex;position:relative}.msg[data-mine=true]{align-self:flex-end;align-items:flex-end}.msg[data-mine=false]{align-self:flex-start;align-items:flex-start}.msg__line{will-change:transform;align-items:center;gap:6px;max-width:100%;transition:transform .16s;display:flex}.msg[data-swiping=true] .msg__line{transition:none}.msg__swipe-cue{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);opacity:0;pointer-events:none;transition:opacity var(--transition), transform var(--transition), color var(--transition), background var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:8px;right:-8px;transform:scale(.84)}.msg[data-swiping=true] .msg__swipe-cue{opacity:.9;transform:scale(1)}.msg[data-swipe-ready=true] .msg__swipe-cue{color:var(--on-accent);background:var(--accent-gradient)}.msg[data-mine=true] .msg__line{flex-direction:row-reverse}.msg__bubble{min-width:0;padding:10px var(--space-4);background:var(--surface-2);border:1px solid var(--border);color:var(--text);white-space:pre-wrap;overflow-wrap:anywhere;cursor:context-menu;-webkit-user-select:text;user-select:text;touch-action:pan-y;border-radius:18px;font-size:.92rem;line-height:1.45}.msg__text{display:block}.msg__reply{white-space:normal;border-left:2px solid;border-radius:7px;flex-direction:column;gap:1px;max-width:32ch;margin:-2px 0 7px;padding:7px 9px;display:flex}.msg[data-mine=true] .msg__reply{color:#ffffffe0;background:#ffffff29}.msg[data-mine=false] .msg__reply{background:var(--surface);color:var(--text-muted)}.msg__reply-author{font-size:.72rem;font-weight:700}.msg__reply-text{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.msg__menu{min-width:132px;bottom:calc(100% + 6px)}.msg[data-mine=true] .msg__menu{right:0}.msg[data-mine=false] .msg__menu{left:0}.msg[data-mine=true] .msg__bubble{color:var(--on-accent);background:var(--accent-gradient);border-color:#0000;border-bottom-right-radius:5px}.msg[data-mine=false] .msg__bubble{border-bottom-left-radius:5px}.msg[data-unread=true][data-mine=true] .msg__bubble{position:relative}.msg[data-unread=true][data-mine=true] .msg__bubble:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:-14px;transform:translateY(-50%)}.msg__meta{padding:0 var(--space-2);align-items:center;gap:6px;display:flex}.msg__time{color:var(--text-subtle);font-size:.7rem}.msg__status{color:var(--text-subtle);display:inline-flex}.msg[data-status=failed] .msg__bubble{opacity:.7}.msg__retry{font:inherit;color:#f87171;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:.7rem;display:inline-flex}.msg__retry:hover{text-decoration:underline}.thread__error{margin:0 var(--space-6);padding:var(--space-2) var(--space-3);color:#f87171;font-size:.8rem}.composer{align-items:stretch;gap:var(--space-3);padding:var(--space-4) var(--space-5) var(--space-5);border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;display:flex}.composer__reply{justify-content:space-between;align-items:center;gap:var(--space-3);border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--surface-2);border-radius:8px;padding:8px 10px 8px 12px;display:flex}.composer__reply-body{flex-direction:column;gap:1px;min-width:0;display:flex}.composer__reply-label{color:var(--text);font-size:.76rem;font-weight:700}.composer__reply-text{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.composer__reply-close{border-radius:8px;flex-shrink:0;width:28px;height:28px}.composer__row{align-items:flex-end;gap:var(--space-3);display:flex}.composer__input{resize:none;max-height:160px;padding:13px var(--space-4);border-radius:var(--radius-field);background:var(--field-bg);border:1px solid var(--field-border);color:var(--text);font-family:var(--font-body);transition:border-color var(--transition), box-shadow var(--transition);flex:1;font-size:.95rem;line-height:1.5}.composer__input:focus{border-color:var(--field-border-focus);box-shadow:0 0 0 3px var(--ring);outline:none}.composer__input::placeholder{color:var(--text-subtle)}.composer__send{border-radius:var(--radius-field);width:48px;height:48px;color:var(--on-accent);background:var(--accent-gradient);box-shadow:var(--shadow-accent);cursor:pointer;transition:transform var(--transition), filter var(--transition), opacity var(--transition);border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.composer__send:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.composer__send:disabled{opacity:.45;cursor:not-allowed}.composer__send:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}@media (width<=768px){.convos{border-right:none;width:100%}.convos__toggle{display:none}.thread__back{display:flex}.msg{max-width:84%}.messenger[data-pane=list] .thread,.messenger[data-pane=thread] .convos{display:none}.thread__scroll{padding:var(--space-4)}.thread__jump{right:var(--space-4);bottom:var(--space-3)}.composer{padding:var(--space-3) var(--space-4) var(--space-4)}.composer__row{gap:var(--space-2)}}@media (width>=1280px){.thread__scroll{align-items:flex-start}.msg,.msg[data-mine=true],.msg[data-mine=false]{align-self:flex-start;align-items:flex-start;max-width:min(680px,68%)}.msg[data-mine=true] .msg__line{flex-direction:row}.msg[data-mine=true] .msg__bubble{border-bottom-right-radius:18px;border-bottom-left-radius:5px}.msg[data-mine=true] .msg__menu{left:0;right:auto}.msg[data-unread=true][data-mine=true] .msg__bubble:before{left:auto;right:-14px}}.coming{justify-content:center;align-items:center;gap:var(--space-3);height:100%;padding:var(--space-8);text-align:center;flex-direction:column;display:flex}.coming__icon{width:72px;height:72px;margin-bottom:var(--space-2);color:var(--accent);background:var(--accent-soft);border:1px solid var(--border);border-radius:22px;justify-content:center;align-items:center;display:flex}.coming__title{font-family:var(--font-display);font-size:1.5rem;font-weight:var(--weight-heading);letter-spacing:var(--letter-display);color:var(--text)}.coming__text{max-width:360px;color:var(--text-muted);line-height:1.5}.coming__badge{margin-top:var(--space-3);border-radius:var(--radius-pill);font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text);background:var(--accent-soft);border:1px solid var(--border);padding:6px 14px;font-size:.74rem;font-weight:600}.settings-list,.settings-page,.settings-section{flex-direction:column;display:flex}.settings-list{gap:6px}.settings-list__item{align-items:center;gap:var(--space-3);width:100%;min-height:62px;color:var(--text);font-family:var(--font-body);text-align:left;cursor:pointer;transition:background var(--transition), border-color var(--transition), color var(--transition);background:0 0;border:1px solid #0000;border-radius:8px;grid-template-columns:38px minmax(0,1fr) 22px;padding:10px 12px;display:grid}.settings-list__item:hover{background:var(--surface-2);border-color:var(--border)}.settings-list__item:focus-visible,.settings-back:focus-visible{box-shadow:0 0 0 2px var(--ring);outline:none}.settings-list__icon{width:38px;height:38px;color:var(--accent);background:var(--accent-soft);border-radius:8px;justify-content:center;align-items:center;display:flex}.settings-list__text{flex-direction:column;gap:2px;min-width:0;display:flex}.settings-list__label{font-family:var(--font-display);color:var(--text);font-size:.94rem;font-weight:700}.settings-list__description,.settings-page__description{color:var(--text-subtle);font-size:.8rem;line-height:1.35}.settings-page{gap:var(--space-4)}.settings-back{border:1px solid var(--border);height:34px;color:var(--text-muted);font-family:var(--font-display);cursor:pointer;transition:background var(--transition), color var(--transition), border-color var(--transition);background:0 0;border-radius:8px;align-self:flex-start;align-items:center;gap:6px;padding:0 9px 0 7px;font-size:.82rem;font-weight:600;display:inline-flex}.settings-back:hover{color:var(--text);background:var(--surface-2);border-color:var(--border-strong)}.settings-page__description{margin-top:calc(var(--space-3) * -1)}.settings-section{gap:var(--space-4)}.setting-row{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) 0;display:flex}.setting-row[data-disabled=true] .setting-row__label{color:var(--text-muted)}.setting-row__text{flex-direction:column;gap:3px;min-width:0;display:flex}.setting-row__label{font-family:var(--font-display);color:var(--text);font-size:.92rem;font-weight:600}.setting-row__hint{color:var(--text-subtle);font-size:.8rem;line-height:1.4}.switch{border-radius:var(--radius-field);background:var(--field-border);cursor:pointer;width:46px;height:26px;transition:background var(--transition), border-color var(--transition);border:1px solid #0000;flex-shrink:0;padding:0;position:relative}.switch[data-on=true]{background:var(--accent-gradient)}.switch:disabled{opacity:.5;cursor:not-allowed}.switch:focus-visible{box-shadow:0 0 0 3px var(--ring);outline:none}.switch__thumb{border-radius:calc(var(--radius-field) - 2px);width:20px;height:20px;transition:transform var(--transition);background:#fff;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.switch[data-on=true] .switch__thumb{transform:translate(20px)}@media (width<=560px){.settings-list__item{min-height:58px;padding:9px 10px}.setting-row{align-items:flex-start}}.shell{width:100%;height:var(--app-viewport-height,100dvh);display:flex;position:fixed;inset:0;overflow:hidden}.sidebar{min-height:0;padding:var(--space-5) var(--space-4);border-right:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(var(--card-blur));transition:width var(--transition);flex-direction:column;flex-shrink:0;display:flex;position:relative}.sidebar[data-dragging=true]{transition:none}.sidebar__brand{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-2) var(--space-5);display:flex}.sidebar__mark{width:40px;height:40px;color:var(--accent);background:var(--accent-soft);border:1px solid var(--border);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar__name{font-family:var(--font-display);font-size:1.15rem;font-weight:var(--weight-heading);letter-spacing:var(--letter-display);color:var(--text);white-space:nowrap}.nav{flex-direction:column;flex:1;gap:4px;display:flex}.nav__item{align-items:center;gap:var(--space-3);padding:11px var(--space-3);border-radius:var(--radius-field);color:var(--text-muted);font-family:var(--font-display);text-align:left;cursor:pointer;white-space:nowrap;transition:color var(--transition), background var(--transition);background:0 0;border:none;font-size:.92rem;font-weight:600;display:flex;overflow:hidden}.nav__item:hover{color:var(--text);background:var(--surface-2)}.nav__item[data-active=true]{color:var(--accent-text);background:var(--accent-soft)}.nav__item:focus-visible{box-shadow:0 0 0 2px var(--ring);outline:none}.sidebar__foot{align-items:center;gap:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border);display:flex}.user{align-items:center;gap:var(--space-3);border-radius:var(--radius-field);min-width:0;color:inherit;text-align:left;cursor:pointer;transition:background var(--transition);background:0 0;border:none;flex:1;margin:-6px;padding:6px;display:flex}.user:hover{background:var(--surface-2)}.user:focus-visible{box-shadow:0 0 0 2px var(--ring);outline:none}.user__avatar{width:38px;height:38px;font-family:var(--font-display);color:var(--on-accent);background:var(--accent-gradient);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex}.user__meta{flex-direction:column;min-width:0;display:flex}.user__name-row{align-items:center;gap:6px;min-width:0;display:flex}.user__name{font-family:var(--font-display);color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.user__handle{color:var(--text-subtle);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.sidebar__icon-btn{border:1px solid var(--border);width:38px;height:38px;color:var(--icon);cursor:pointer;transition:color var(--transition), background var(--transition), border-color var(--transition);background:0 0;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar__icon-btn:hover{color:var(--text);background:var(--surface-2);border-color:var(--border-strong)}.sidebar__icon-btn:focus-visible{box-shadow:0 0 0 2px var(--ring);outline:none}.sidebar[data-mode=collapsed]{padding-left:var(--space-2);padding-right:var(--space-2);align-items:center}.sidebar[data-mode=collapsed] .sidebar__name,.sidebar[data-mode=collapsed] .nav__label,.sidebar[data-mode=collapsed] .user__meta{display:none}.sidebar[data-mode=collapsed] .sidebar__brand{padding:var(--space-2) 0 var(--space-4);justify-content:center}.sidebar[data-mode=collapsed] .nav{width:100%}.sidebar[data-mode=collapsed] .nav__item{justify-content:center;padding:12px}.sidebar[data-mode=collapsed] .sidebar__foot{gap:var(--space-3);flex-direction:column}.sidebar[data-mode=collapsed] .user{flex:none;justify-content:center;margin:0}.sidebar__resize{cursor:col-resize;touch-action:none;z-index:5;justify-content:center;align-items:center;width:12px;height:100%;display:flex;position:absolute;top:0;right:-6px}.sidebar__grip{width:3px;height:42px;transition:background var(--transition);background:0 0;border-radius:999px}.sidebar__resize:hover .sidebar__grip,.sidebar[data-dragging=true] .sidebar__grip{background:var(--border-strong)}.shell__main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.topbar{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border);flex-shrink:0;display:flex}.topbar__title{align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:1.05rem;font-weight:var(--weight-heading);letter-spacing:var(--letter-display);color:var(--text);display:flex}.topbar__title svg{color:var(--accent)}.topbar__actions{align-items:center;gap:var(--space-3);display:flex}.topbar__icon-btn,.topbar__avatar{cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:none}.topbar__icon-btn{border:1px solid var(--border);color:var(--icon);transition:color var(--transition), background var(--transition);background:0 0;border-radius:11px}.topbar__icon-btn:hover{color:var(--text);background:var(--surface-2)}.topbar__avatar{font-family:var(--font-display);color:var(--on-accent);background:var(--accent-gradient);border-radius:50%;font-size:.78rem;font-weight:700}.topbar__icon-btn:focus-visible,.topbar__avatar:focus-visible{box-shadow:0 0 0 2px var(--ring);outline:none}.shell__content{flex:1;min-height:0;overflow:hidden}.bottomnav{padding:6px 8px;padding-bottom:max(6px, env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);-webkit-backdrop-filter:blur(var(--card-blur));flex-shrink:0;justify-content:space-around;align-items:stretch;gap:2px;display:none}.bottomnav__item{border-radius:var(--radius-field);color:var(--text-subtle);font-family:var(--font-display);cursor:pointer;transition:color var(--transition), background var(--transition);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:8px 4px;font-size:.68rem;font-weight:600;display:flex}.bottomnav__item[data-active=true]{color:var(--accent-text)}.bottomnav__item:active{background:var(--surface-2)}@media (width<=768px){.shell{flex-direction:column}.sidebar{display:none}.bottomnav{display:flex}.bottomnav[data-hidden=true],.topbar[data-chrome-hidden=true]{display:none}.topbar{padding:var(--space-3) var(--space-4)}.topbar__icon-btn,.topbar__avatar{display:flex}}.settings-section__title{font-family:var(--font-display);color:var(--text);font-size:.95rem;font-weight:600}.settings-section__hint{margin:4px 0 var(--space-4);color:var(--text-muted);font-size:.82rem}.settings-section__error{margin:var(--space-3) 0 0;color:#f87171;font-size:.8rem}.profile-role{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-field);background:var(--surface-2);border:1px solid var(--border);display:flex}.profile-role__label{font-family:var(--font-display);color:var(--text);font-size:.88rem;font-weight:600}.profile-role__none{color:var(--text-subtle);font-size:.85rem}.account{gap:var(--space-5);flex-direction:column;display:flex}.account__head{align-items:center;gap:var(--space-4);display:flex}.account__avatar{width:56px;height:56px;font-family:var(--font-display);color:var(--on-accent);background:var(--accent-gradient);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:flex}.account__name{font-family:var(--font-display);color:var(--text);font-size:1.05rem;font-weight:600}.account__handle{color:var(--text-subtle);font-size:.85rem}.account__facts{flex-direction:column;gap:2px;margin:0;display:flex}.account__fact{justify-content:space-between;align-items:baseline;gap:var(--space-4);padding:var(--space-3) 0;border-top:1px solid var(--border);display:flex}.account__fact dt{color:var(--text-subtle);font-size:.82rem;font-weight:600}.account__fact dd{color:var(--text);text-align:right;overflow-wrap:anywhere;margin:0;font-size:.88rem}.account__logout{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-field);border:1px solid var(--border);color:var(--text);font-family:var(--font-display);cursor:pointer;transition:color var(--transition), background var(--transition), border-color var(--transition);background:0 0;padding:12px;font-size:.9rem;font-weight:600;display:flex}.account__logout:hover{color:#f87171;border-color:color-mix(in srgb, #f87171 50%, var(--border));background:#f871711a}.account__logout:focus-visible{box-shadow:0 0 0 2px var(--ring);outline:none}.app-bg{z-index:-1;background:var(--bg);transition:background var(--transition);position:fixed;inset:0;overflow:hidden}.app-bg:before{content:"";background:radial-gradient(42% 50% at 12% 6%, var(--page-glow-1), transparent 70%), radial-gradient(46% 46% at 96% 64%, var(--page-glow-2), transparent 70%);transition:background var(--transition);position:absolute;inset:-20%}.app-bg:after{content:"";background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:46px 46px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 32%,#000 0%,#0000 78%);mask-image:radial-gradient(circle at 50% 32%,#000 0%,#0000 78%)}.boot{justify-content:center;align-items:center;min-height:100dvh;display:flex}.boot__spinner{border:3px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite boot-spin}@keyframes boot-spin{to{transform:rotate(360deg)}}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--field-height:52px;--transition:.22s cubic-bezier(.4, 0, .2, 1)}[data-style=branded]{--font-display:"Sora", system-ui, sans-serif;--font-body:"Manrope", system-ui, sans-serif;--radius-card:24px;--radius-field:14px;--radius-pill:999px;--card-blur:22px;--letter-display:-.02em;--weight-heading:700}[data-style=corporate]{--font-display:"IBM Plex Sans", system-ui, sans-serif;--font-body:"IBM Plex Sans", system-ui, sans-serif;--radius-card:10px;--radius-field:6px;--radius-pill:6px;--card-blur:0px;--letter-display:-.01em;--weight-heading:600}[data-style=branded][data-theme=dark]{--bg:#07060d;--page-glow-1:#7c3aed4d;--page-glow-2:#6366f12e;--grid:#ffffff07;--surface:#1410228c;--surface-2:#ffffff09;--border:#a882ff29;--border-strong:#a882ff52;--card-glow:#7c3aed61;--field-bg:#ffffff09;--field-border:#ffffff17;--field-border-focus:#a78bfabf;--text:#f4f2fb;--text-muted:#a39fb6;--text-subtle:#6f6a82;--icon:#8c86a0;--accent:#8b5cf6;--accent-strong:#7c3aed;--accent-gradient:linear-gradient(135deg, #b794f6 0%, #8b5cf6 48%, #7c3aed 100%);--accent-soft:#8b5cf626;--accent-text:#c4b5fd;--on-accent:#fff;--ring:#a78bfa73;--shadow-card:0 40px 90px -40px #000000d9;--shadow-accent:0 16px 40px -14px #7c3aed99}[data-style=branded][data-theme=light]{--bg:#f6f4fd;--page-glow-1:#7c3aed33;--page-glow-2:#6366f121;--grid:#5028a00b;--surface:#ffffffb8;--surface-2:#7c3aed09;--border:#7c3aed29;--border-strong:#7c3aed4d;--card-glow:#7c3aed33;--field-bg:#ffffffd9;--field-border:#1a16281f;--field-border-focus:#7c3aed8c;--text:#1a1530;--text-muted:#5f596f;--text-subtle:#8b8699;--icon:#8b8699;--accent:#7c3aed;--accent-strong:#6d28d9;--accent-gradient:linear-gradient(135deg, #a78bfa 0%, #8b5cf6 48%, #7c3aed 100%);--accent-soft:#7c5cf61f;--accent-text:#7c3aed;--on-accent:#fff;--ring:#7c3aed59;--shadow-card:0 40px 80px -42px #4c1d9566;--shadow-accent:0 16px 36px -14px #7c3aed73}[data-style=corporate][data-theme=dark]{--bg:#0b0f17;--page-glow-1:#2563eb1f;--page-glow-2:#0d948812;--grid:#ffffff08;--surface:#121925;--surface-2:#0e141f;--border:#ffffff1a;--border-strong:#ffffff2e;--card-glow:transparent;--field-bg:#0e141f;--field-border:#ffffff24;--field-border-focus:#2563eb;--text:#e7ebf2;--text-muted:#9aa4b5;--text-subtle:#6b7587;--icon:#7b8597;--accent:#2563eb;--accent-strong:#1d4ed8;--accent-gradient:#2563eb;--accent-soft:#2563eb24;--accent-text:#60a5fa;--on-accent:#fff;--ring:#2563eb73;--shadow-card:0 1px 3px #0006, 0 18px 40px -26px #000000b3;--shadow-accent:none}[data-style=corporate][data-theme=light]{--bg:#f1f4f9;--page-glow-1:#2563eb0f;--page-glow-2:#0d94880d;--grid:#1428500a;--surface:#fff;--surface-2:#f6f8fb;--border:#0f172a1a;--border-strong:#0f172a2e;--card-glow:transparent;--field-bg:#fff;--field-border:#0f172a29;--field-border-focus:#2563eb;--text:#0f172a;--text-muted:#475569;--text-subtle:#94a3b8;--icon:#94a3b8;--accent:#2563eb;--accent-strong:#1d4ed8;--accent-gradient:#2563eb;--accent-soft:#2563eb14;--accent-text:#2563eb;--on-accent:#fff;--ring:#2563eb4d;--shadow-card:0 1px 2px #0f172a0f, 0 16px 40px -26px #0f172a40;--shadow-accent:none}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html,body,#root{min-height:100%}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;transition:background var(--transition), color var(--transition)}button{font:inherit}a{color:inherit}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
