.modal-overlay[data-v-cbdbf3f5]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px;padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom))}.modal[data-v-cbdbf3f5]{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:24px;width:100%;max-width:340px;display:flex;flex-direction:column;gap:16px;animation:modalIn-cbdbf3f5 .2s ease forwards}@keyframes modalIn-cbdbf3f5{0%{opacity:0;transform:scale(.95) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal__header[data-v-cbdbf3f5]{display:flex;align-items:center;justify-content:space-between}.modal__title[data-v-cbdbf3f5]{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--text-primary)}.modal__close[data-v-cbdbf3f5]{color:var(--text-muted)}.modal__pin-section[data-v-cbdbf3f5]{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;display:flex;flex-direction:column;gap:10px}.modal__pin-label[data-v-cbdbf3f5]{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--text-primary)}.modal__pin-badge[data-v-cbdbf3f5]{margin-left:auto;font-size:10px;font-weight:700;letter-spacing:.05em;padding:2px 7px;border-radius:99px}.modal__pin-badge--off[data-v-cbdbf3f5]{background:#ffffff12;color:var(--text-muted)}.modal__pin-badge--on[data-v-cbdbf3f5]{background:#00c87826;color:#00c878}.modal__pin-toggle-row[data-v-cbdbf3f5]{display:flex;align-items:center;gap:10px}.modal__pin-hint[data-v-cbdbf3f5]{flex:1;font-size:11px;color:var(--text-muted);line-height:1.4}.modal__pin-toggle[data-v-cbdbf3f5]{position:relative;width:40px;height:22px;border-radius:11px;background:var(--border);border:none;cursor:pointer;transition:background .2s;flex-shrink:0;padding:0}.modal__pin-toggle--active[data-v-cbdbf3f5]{background:var(--accent)}.modal__pin-toggle-thumb[data-v-cbdbf3f5]{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s;display:block}.modal__pin-toggle--active .modal__pin-toggle-thumb[data-v-cbdbf3f5]{transform:translate(18px)}.modal__pin-input-row[data-v-cbdbf3f5]{display:flex;align-items:center;gap:8px}.modal__pin-input-wrap[data-v-cbdbf3f5]{flex:1;position:relative;display:flex;align-items:center}.modal__pin-input[data-v-cbdbf3f5]{width:100%;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 32px 7px 10px;font-size:14px;font-family:var(--font-mono, monospace);color:var(--text-primary);outline:none;transition:border-color .15s}.modal__pin-input[data-v-cbdbf3f5]:focus{border-color:var(--accent)}.modal__pin-eye[data-v-cbdbf3f5]{position:absolute;right:6px;color:var(--text-muted)}.modal__pin-gen[data-v-cbdbf3f5]{color:var(--text-muted);flex-shrink:0}.modal__pin-gen[data-v-cbdbf3f5]:hover{color:var(--text-primary)}.pin-slide-enter-active[data-v-cbdbf3f5],.pin-slide-leave-active[data-v-cbdbf3f5]{transition:all .2s ease;overflow:hidden}.pin-slide-enter-from[data-v-cbdbf3f5],.pin-slide-leave-to[data-v-cbdbf3f5]{opacity:0;max-height:0}.pin-slide-enter-to[data-v-cbdbf3f5],.pin-slide-leave-from[data-v-cbdbf3f5]{opacity:1;max-height:80px}.modal__qr[data-v-cbdbf3f5]{display:flex;flex-direction:column;align-items:center;gap:10px}.qr-canvas[data-v-cbdbf3f5]{border-radius:var(--radius-md);display:block}.modal__qr-hint[data-v-cbdbf3f5]{font-size:12px;color:var(--text-muted);text-align:center}.modal__qr-placeholder[data-v-cbdbf3f5]{height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border:1px dashed var(--border);border-radius:var(--radius-md);width:220px;color:var(--text-muted);font-size:12px;text-align:center;padding:16px}.modal__url-row[data-v-cbdbf3f5]{display:flex;align-items:center;gap:8px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 10px}.modal__url[data-v-cbdbf3f5]{flex:1;font-size:11px;color:var(--text-secondary);-webkit-user-select:text;user-select:text}.modal__copy[data-v-cbdbf3f5]{flex-shrink:0}.modal__warning[data-v-cbdbf3f5]{display:flex;align-items:flex-start;gap:7px;padding:9px 11px;background:#ffb40014;border:1px solid rgba(255,180,0,.2);border-radius:var(--radius-sm);font-size:12px;color:#ffb400;line-height:1.4}.modal__warning--secure[data-v-cbdbf3f5]{background:#00c87814;border-color:#00c87840;color:#00c878}.modal__warning svg[data-v-cbdbf3f5]{flex-shrink:0;margin-top:1px}.modal__actions[data-v-cbdbf3f5]{display:flex;flex-direction:column;gap:8px}.modal__copy-hint[data-v-cbdbf3f5]{font-size:11px;color:var(--text-muted);text-align:center;margin:0;line-height:1.4}.btn-full[data-v-cbdbf3f5]{width:100%}.btn-full[data-v-cbdbf3f5]:disabled{opacity:.4;cursor:not-allowed}.overlay[data-v-b4befbba]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:24px}.card[data-v-b4befbba]{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-xl);padding:32px 24px 24px;width:100%;max-width:320px;display:flex;flex-direction:column;align-items:center;gap:12px;animation:cardIn-b4befbba .25s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes cardIn-b4befbba{0%{opacity:0;transform:scale(.88) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.card__icon[data-v-b4befbba]{width:64px;height:64px;border-radius:50%;background:rgba(var(--accent-rgb, 108, 99, 255),.1);display:flex;align-items:center;justify-content:center;margin-bottom:4px;transition:background .2s}.card__icon--error[data-v-b4befbba]{background:#ff4d4d1a;animation:shake-b4befbba .5s ease}@keyframes shake-b4befbba{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.card__title[data-v-b4befbba]{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.card__subtitle[data-v-b4befbba]{font-size:13px;color:var(--text-muted);text-align:center;line-height:1.5;margin:0}.pin-input-wrap[data-v-b4befbba]{position:relative;width:100%;display:flex;align-items:center;margin-top:4px}.pin-input-wrap--error .pin-input[data-v-b4befbba]{border-color:var(--danger, #ff4d4d)}.pin-input[data-v-b4befbba]{width:100%;background:var(--bg-input);border:1.5px solid var(--border);border-radius:var(--radius-md);padding:11px 40px 11px 14px;font-size:16px;font-family:var(--font-mono, monospace);letter-spacing:.1em;color:var(--text-primary);text-align:center;outline:none;transition:border-color .15s}.pin-input[data-v-b4befbba]:focus{border-color:var(--accent)}.pin-eye[data-v-b4befbba]{position:absolute;right:10px;color:var(--text-muted)}.pin-error[data-v-b4befbba]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--danger, #ff4d4d)}.err-fade-enter-active[data-v-b4befbba],.err-fade-leave-active[data-v-b4befbba]{transition:opacity .2s}.err-fade-enter-from[data-v-b4befbba],.err-fade-leave-to[data-v-b4befbba]{opacity:0}.card__actions[data-v-b4befbba]{display:flex;gap:10px;width:100%;margin-top:4px}.card__actions .btn[data-v-b4befbba]{flex:1}.spinner[data-v-b4befbba]{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-b4befbba .7s linear infinite}@keyframes spin-b4befbba{to{transform:rotate(360deg)}}.home[data-v-19d65b61]{min-height:100dvh;overflow-x:hidden;display:flex;flex-direction:column;justify-content:center;width:100%;max-width:min(480px,100vw);margin:0 auto;box-sizing:border-box;padding-left:calc(16px + env(safe-area-inset-left));padding-right:calc(16px + env(safe-area-inset-right));padding-top:max(20px,env(safe-area-inset-top));padding-bottom:max(20px,env(safe-area-inset-bottom))}.home__header[data-v-19d65b61]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:20px;min-width:0}.logo[data-v-19d65b61]{display:flex;align-items:center;gap:10px;flex-shrink:0}.logo__text[data-v-19d65b61]{font-size:20px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;white-space:nowrap}.home__header .badge[data-v-19d65b61]{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabs[data-v-19d65b61]{display:flex;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:4px;margin-bottom:16px}.tab[data-v-19d65b61]{flex:1;padding:9px;border:none;background:transparent;border-radius:calc(var(--radius-md) - 2px);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.tab--active[data-v-19d65b61]{background:var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow-sm)}.form-group[data-v-19d65b61]{margin-bottom:18px}.ttl-mode-switch[data-v-19d65b61]{display:flex;gap:4px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:3px;margin-bottom:12px}.ttl-mode-btn[data-v-19d65b61]{flex:1;padding:7px 10px;background:transparent;border:none;border-radius:calc(var(--radius-md) - 2px);color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,color .15s;-webkit-tap-highlight-color:transparent}.ttl-mode-btn--active[data-v-19d65b61]{background:var(--bg-surface);color:var(--text-primary);box-shadow:0 1px 3px #0000004d}.ttl-date-wrap[data-v-19d65b61]{display:flex;flex-direction:column;gap:10px}.date-picker-row[data-v-19d65b61]{display:flex;align-items:center;gap:10px}.date-picker-sep[data-v-19d65b61]{font-size:13px;color:var(--text-muted);flex-shrink:0}.date-picker-field[data-v-19d65b61]{flex:1;position:relative;display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:var(--bg-elevated);border:1.5px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s,background .15s;min-width:0}.date-picker-field--time[data-v-19d65b61]{flex:0 0 auto;width:100px}.date-picker-field--filled[data-v-19d65b61]{border-color:var(--accent);background:var(--accent-dim, rgba(91,91,255,.06))}.date-picker-field[data-v-19d65b61]:focus-within{border-color:var(--accent)}.date-picker-field__label[data-v-19d65b61]{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);pointer-events:none}.date-picker-field--filled .date-picker-field__label[data-v-19d65b61]{color:var(--accent)}.date-picker-field__input[data-v-19d65b61]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:1;-webkit-appearance:none;border:none;background:transparent}.date-picker-field__display[data-v-19d65b61]{font-size:15px;font-weight:500;color:var(--text-primary);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.date-picker-field:not(.date-picker-field--filled) .date-picker-field__display[data-v-19d65b61]{color:var(--text-muted);font-weight:400;font-family:var(--font)}.ttl-date-result[data-v-19d65b61]{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--success);padding:8px 12px;background:#34c75912;border:1px solid rgba(52,199,89,.2);border-radius:var(--radius-sm)}.ttl-date-result--warn[data-v-19d65b61]{color:var(--danger);background:#ff3b300f;border-color:#ff3b3033}.hint-fade-enter-active[data-v-19d65b61],.hint-fade-leave-active[data-v-19d65b61]{transition:opacity .2s,transform .15s}.hint-fade-enter-from[data-v-19d65b61],.hint-fade-leave-to[data-v-19d65b61]{opacity:0;transform:translateY(-4px)}.ttl-grid[data-v-19d65b61]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ttl-btn[data-v-19d65b61]{padding:9px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .12s ease}.ttl-btn--active[data-v-19d65b61]{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.ttl-btn[data-v-19d65b61]:hover:not(.ttl-btn--active){background:var(--bg-surface);color:var(--text-primary)}.btn-full[data-v-19d65b61]{width:100%}.action-row[data-v-19d65b61]{display:flex;gap:10px;align-items:center}.btn-share[data-v-19d65b61]{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 16px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background .15s,border-color .15s;-webkit-tap-highlight-color:transparent}.btn-share[data-v-19d65b61]:hover{background:var(--bg-input);border-color:var(--accent);color:var(--accent)}.created-box[data-v-19d65b61]{margin-top:20px;display:flex;flex-direction:column;gap:14px}.created-box__title[data-v-19d65b61]{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--success)}.secret-field[data-v-19d65b61]{display:flex;flex-direction:column;gap:5px}.secret-value[data-v-19d65b61]{display:flex;align-items:center;gap:6px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);padding:6px 8px}.secret-value__text[data-v-19d65b61]{flex:1;font-size:12px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:text;user-select:text}.password-display[data-v-19d65b61]{letter-spacing:.1em}.copy-hint[data-v-19d65b61]{font-size:11px;color:var(--success);margin-top:2px}.warning-box[data-v-19d65b61]{display:flex;gap:8px;padding:10px 12px;background:#ffb40014;border:1px solid rgba(255,180,0,.2);border-radius:var(--radius-sm);font-size:12px;color:#ffb400;line-height:1.4}.password-input-wrap[data-v-19d65b61]{position:relative}.password-input-wrap .input[data-v-19d65b61]{padding-right:42px}.password-toggle[data-v-19d65b61]{position:absolute;right:6px;top:50%;transform:translateY(-50%)}.error-text[data-v-19d65b61]{font-size:13px;color:var(--danger);margin:-8px 0 4px}.home__footer[data-v-19d65b61]{padding:24px 0 0}.security-hints[data-v-19d65b61]{display:flex;flex-direction:column;gap:8px}.hint[data-v-19d65b61]{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted)}.slide-up-enter-active[data-v-19d65b61]{transition:all .2s ease}.slide-up-enter-from[data-v-19d65b61]{opacity:0;transform:translateY(8px)}.timer-badge[data-v-c4fb0b9c]{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:100px;font-size:12px;font-weight:600;letter-spacing:.02em;transition:all .3s ease}.timer--ok[data-v-c4fb0b9c]{background:#3ddc971a;color:#3ddc97;border:1px solid rgba(61,220,151,.2)}.timer--warning[data-v-c4fb0b9c]{background:#ffb4001a;color:#ffb400;border:1px solid rgba(255,180,0,.2)}.timer--critical[data-v-c4fb0b9c]{background:#ff4d6d1f;color:#ff4d6d;border:1px solid rgba(255,77,109,.25);animation:pulse-c4fb0b9c 1s ease-in-out infinite}.timer--expired[data-v-c4fb0b9c]{background:#ff4d6d14;color:#ff4d6d;border:1px solid rgba(255,77,109,.15);opacity:.7}@keyframes pulse-c4fb0b9c{0%,to{opacity:1}50%{opacity:.6}}.bubble-wrap[data-v-818be62f]{display:flex;justify-content:flex-start;padding:2px 16px;animation:msgIn-818be62f .15s ease forwards;position:relative;align-items:flex-end;gap:6px}.bubble-wrap--own[data-v-818be62f]{justify-content:flex-end;flex-direction:row-reverse}@keyframes msgIn-818be62f{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.bubble-actions[data-v-818be62f]{display:flex;flex-direction:column;gap:4px;opacity:0;pointer-events:none;transition:opacity .15s}.bubble-actions--visible[data-v-818be62f]{opacity:1;pointer-events:auto}.action-btn[data-v-818be62f]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);cursor:pointer;padding:0;transition:color .15s,background .15s,border-color .15s;-webkit-tap-highlight-color:transparent}.action-btn[data-v-818be62f]:hover{color:var(--text-primary);border-color:var(--border-focus)}.action-btn--danger[data-v-818be62f]:hover{color:var(--danger);border-color:var(--danger);background:var(--danger-dim, rgba(255,59,48,.08))}.bubble[data-v-818be62f]{max-width:72%;padding:10px 14px;border-radius:16px;position:relative;cursor:pointer;transition:opacity .15s}.bubble--other[data-v-818be62f]{background:var(--msg-other-bg);border:1px solid var(--msg-other-border);border-bottom-left-radius:4px}.bubble--own[data-v-818be62f]{background:var(--msg-own-bg);border:1px solid var(--msg-own-border);border-bottom-right-radius:4px}.bubble--deleted[data-v-818be62f]{opacity:.55;cursor:default}.bubble__sender[data-v-818be62f]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.sender-id[data-v-818be62f]{font-size:11px;font-weight:600;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:.04em}.bubble--own .sender-id[data-v-818be62f]{color:#5b5bff99}.bubble__time[data-v-818be62f]{font-size:10px;color:var(--text-muted);margin-left:auto}.bubble__text[data-v-818be62f]{font-size:14px;line-height:1.5;color:var(--text-primary);word-break:break-word;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.no-drag[data-v-818be62f]{-webkit-user-drag:none}.bubble__edited-label[data-v-818be62f]{font-size:10px;color:var(--text-muted);margin-top:2px;font-style:italic}.bubble__deleted-text[data-v-818be62f]{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);font-style:italic;pointer-events:none}.bubble__status[data-v-818be62f]{display:flex;justify-content:flex-end;margin-top:3px;height:10px}.status-icon[data-v-818be62f]{flex-shrink:0}.status-icon--muted[data-v-818be62f]{color:#5b5bff40}.status-icon--sent[data-v-818be62f]{color:#5b5bff80}.status-icon--read[data-v-818be62f]{color:#4fc3f7}.bubble__edit-wrap[data-v-818be62f]{display:flex;flex-direction:column;gap:6px}.bubble__edit-input[data-v-818be62f]{width:100%;background:transparent;border:none;border-bottom:1px solid var(--border-focus);color:var(--text-primary);font-size:14px;font-family:var(--font);line-height:1.5;resize:none;outline:none;padding:2px 0;min-height:22px;max-height:200px;-webkit-user-select:text;user-select:text}.bubble__edit-actions[data-v-818be62f]{display:flex;gap:6px;justify-content:flex-end}.edit-action[data-v-818be62f]{font-size:12px;padding:3px 10px;border-radius:8px;border:1px solid var(--border);cursor:pointer;font-family:var(--font);transition:background .15s,color .15s;-webkit-tap-highlight-color:transparent}.edit-action--cancel[data-v-818be62f]{background:transparent;color:var(--text-muted)}.edit-action--cancel[data-v-818be62f]:hover{background:var(--bg-elevated);color:var(--text-primary)}.edit-action--save[data-v-818be62f]{background:var(--accent);border-color:var(--accent);color:#fff}.edit-action--save[data-v-818be62f]:hover:not(:disabled){background:var(--accent-hover)}.edit-action--save[data-v-818be62f]:disabled{opacity:.4;cursor:not-allowed}.file-attach[data-v-feafeb02]{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;max-width:300px;cursor:default}.file-attach--other[data-v-feafeb02]{background:var(--msg-other-bg);border:1px solid var(--msg-other-border)}.file-attach--own[data-v-feafeb02]{background:var(--msg-own-bg);border:1px solid var(--msg-own-border)}.file-attach__icon[data-v-feafeb02]{color:var(--text-muted);flex-shrink:0}.file-attach__info[data-v-feafeb02]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-attach__name[data-v-feafeb02]{font-size:13px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;user-select:none}.file-attach__size[data-v-feafeb02]{font-size:11px;color:var(--text-muted);-webkit-user-select:none;user-select:none}.file-attach__download[data-v-feafeb02]{flex-shrink:0;color:var(--accent)}.file-attach__download[data-v-feafeb02]:hover{background:var(--accent-dim)}.room[data-v-9be17947]{height:100dvh;display:flex;flex-direction:column;background:var(--bg);overflow:hidden;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.room-header[data-v-9be17947]{display:flex;align-items:center;justify-content:space-between;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;background:var(--bg-surface);border-bottom:1px solid var(--border);flex-shrink:0;gap:8px}.room-header__left[data-v-9be17947]{display:flex;align-items:center;gap:10px;min-width:0}.room-id-display[data-v-9be17947]{display:flex;flex-direction:column;min-width:0}.room-id-label[data-v-9be17947]{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.room-id-value[data-v-9be17947]{font-size:12px;color:var(--text-secondary);max-width:140px}.room-header__right[data-v-9be17947]{display:flex;align-items:center;gap:8px;flex-shrink:0}.peer-online-badge[data-v-9be17947]{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--success);font-family:var(--font-mono)}.peer-dot[data-v-9be17947]{display:block;width:6px;height:6px;border-radius:50%;background:var(--success);animation:peerPulse-9be17947 2s ease-in-out infinite}@keyframes peerPulse-9be17947{0%,to{opacity:1}50%{opacity:.4}}.participant-badge[data-v-9be17947]{display:flex;align-items:center;gap:4px;padding:3px 8px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:100px;font-size:11px;color:var(--text-muted)}.ws-indicator[data-v-9be17947]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.ws--on[data-v-9be17947]{background:var(--success);box-shadow:0 0 6px var(--success)}.ws--off[data-v-9be17947]{background:var(--text-muted)}.panic-btn[data-v-9be17947]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1.5px solid rgba(255,59,48,.4);background:#ff3b3014;color:var(--danger, #FF3B30);cursor:pointer;flex-shrink:0;transition:background .15s,border-color .15s,transform .1s;-webkit-tap-highlight-color:transparent}.panic-btn[data-v-9be17947]:hover{background:#ff3b302e;border-color:#ff3b30b3}.panic-btn[data-v-9be17947]:active{transform:scale(.9)}.connecting-screen[data-v-9be17947],.state-screen[data-v-9be17947]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text-secondary);font-size:14px;padding:0 24px}.state-screen__title[data-v-9be17947]{font-size:16px;font-weight:500;color:var(--text-primary);text-align:center}.spinner--lg[data-v-9be17947]{width:32px;height:32px;border-width:3px}.messages[data-v-9be17947]{flex:1;overflow-y:auto;overflow-x:hidden;padding:16px 0 8px;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.messages-empty[data-v-9be17947]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;color:var(--text-muted);font-size:13px;text-align:center;padding:20px}.file-wrap[data-v-9be17947]{display:flex;justify-content:flex-start;padding:2px 16px;flex-direction:column;align-items:flex-start}.file-wrap--own[data-v-9be17947]{justify-content:flex-end;align-items:flex-end}.file-status[data-v-9be17947]{margin-top:3px;margin-right:2px}.status-icon--muted[data-v-9be17947]{color:#5b5bff40}.status-icon--sent[data-v-9be17947]{color:#5b5bff80}.status-icon--read[data-v-9be17947]{color:#4fc3f7}.composer[data-v-9be17947]{flex-shrink:0;background:var(--bg);padding:10px 16px calc(12px + env(safe-area-inset-bottom))}.file-preview[data-v-9be17947]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;margin-bottom:8px;animation:msgIn-9be17947 .15s ease forwards}.file-preview__icon[data-v-9be17947]{color:var(--accent);flex-shrink:0;display:flex}.file-preview__name[data-v-9be17947]{flex:1;font-size:13px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview__size[data-v-9be17947]{font-size:11px;color:var(--text-muted);flex-shrink:0}.file-preview__remove[data-v-9be17947]{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:50%;padding:0;transition:color .15s,background .15s}.file-preview__remove[data-v-9be17947]:hover{color:var(--danger);background:var(--danger-dim)}.composer__box[data-v-9be17947]{display:flex;align-items:flex-end;gap:4px;background:var(--bg-surface);border:1.5px solid var(--border);border-radius:24px;padding:6px 6px 6px 8px;transition:border-color .15s}.composer__box--focused[data-v-9be17947]{border-color:var(--border-focus)}.composer__attach[data-v-9be17947]{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:50%;transition:color .15s,background .15s;-webkit-tap-highlight-color:transparent}.composer__attach[data-v-9be17947]:hover:not(:disabled){color:var(--text-primary);background:var(--bg-elevated)}.composer__attach[data-v-9be17947]:disabled{opacity:.4;cursor:not-allowed}.composer__input[data-v-9be17947]{flex:1;padding:7px 4px;background:transparent;border:none;color:var(--text-primary);font-family:var(--font);resize:none;overflow:hidden;line-height:1.45;min-height:36px;max-height:120px;-webkit-user-select:text;user-select:text;font-size:max(16px,15px)}.composer__input[data-v-9be17947]:focus{outline:none}.composer__input[data-v-9be17947]::placeholder{color:var(--text-muted)}.composer__input[data-v-9be17947]:disabled{opacity:.6}.composer__send[data-v-9be17947]{flex-shrink:0;width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:var(--bg-elevated);border:1px solid var(--border);border-radius:50%;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s,transform .1s;-webkit-tap-highlight-color:transparent}.composer__send--active[data-v-9be17947]{background:var(--accent);border-color:var(--accent);color:#fff}.composer__send--active[data-v-9be17947]:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.composer__send[data-v-9be17947]:active:not(:disabled){transform:scale(.92)}.composer__send[data-v-9be17947]:disabled{opacity:.4;cursor:not-allowed}.composer__send-spinner[data-v-9be17947]{animation:spin-9be17947 .8s linear infinite}@keyframes msgIn-9be17947{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes spin-9be17947{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.typing-indicator[data-v-9be17947]{display:flex;align-items:center;gap:8px;padding:4px 16px 8px}.typing-indicator__dots[data-v-9be17947]{display:flex;align-items:center;gap:3px;background:var(--msg-other-bg);border:1px solid var(--msg-other-border);border-radius:12px 12px 12px 4px;padding:8px 12px}.typing-indicator__dots span[data-v-9be17947]{display:block;width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:typingBounce-9be17947 1.2s ease-in-out infinite}.typing-indicator__dots span[data-v-9be17947]:nth-child(2){animation-delay:.2s}.typing-indicator__dots span[data-v-9be17947]:nth-child(3){animation-delay:.4s}@keyframes typingBounce-9be17947{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.typing-indicator__text[data-v-9be17947]{font-size:11px;color:var(--text-muted);font-family:var(--font-mono)}.typing-fade-enter-active[data-v-9be17947],.typing-fade-leave-active[data-v-9be17947]{transition:opacity .2s,transform .2s}.typing-fade-enter-from[data-v-9be17947],.typing-fade-leave-to[data-v-9be17947]{opacity:0;transform:translateY(4px)}.modal-overlay[data-v-9be17947]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:999;padding:20px}.modal-panic[data-v-9be17947]{background:var(--bg-surface);border:1px solid var(--border);border-radius:20px;padding:28px 24px 24px;max-width:320px;width:100%;display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.modal-panic__icon[data-v-9be17947]{width:56px;height:56px;border-radius:50%;background:#ff3b301a;display:flex;align-items:center;justify-content:center}.modal-panic__title[data-v-9be17947]{font-size:17px;font-weight:600;color:var(--text-primary);margin:0}.modal-panic__text[data-v-9be17947]{font-size:13px;color:var(--text-secondary);line-height:1.5;margin:0}.modal-panic__actions[data-v-9be17947]{display:flex;gap:10px;width:100%}.modal-panic__actions .btn[data-v-9be17947]{flex:1;justify-content:center}.btn-danger[data-v-9be17947]{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border-radius:12px;font-size:14px;font-weight:500;font-family:var(--font);cursor:pointer;transition:background .15s,transform .1s;-webkit-tap-highlight-color:transparent;background:var(--danger, #FF3B30);border:1px solid var(--danger, #FF3B30);color:#fff}.btn-danger[data-v-9be17947]:hover{background:#e0342a;border-color:#e0342a}.btn-danger[data-v-9be17947]:active{transform:scale(.97)}.modal-fade-enter-active[data-v-9be17947],.modal-fade-leave-active[data-v-9be17947]{transition:opacity .2s}.modal-fade-enter-from[data-v-9be17947],.modal-fade-leave-to[data-v-9be17947]{opacity:0}.notfound[data-v-8b98137e]{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.notfound__code[data-v-8b98137e]{font-size:72px;font-weight:800;color:var(--border);line-height:1}.notfound__text[data-v-8b98137e]{color:var(--text-secondary);font-size:16px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d0d0f;--bg-surface: #17171a;--bg-elevated: #1f1f24;--bg-input: #252529;--border: #2e2e35;--border-focus:#4a4aff;--text-primary: #e8e8f0;--text-secondary: #7f7f99;--text-muted: #4a4a5a;--accent: #5b5bff;--accent-hover:#7070ff;--accent-dim: rgba(91,91,255,.15);--danger: #ff4d6d;--danger-dim: rgba(255,77,109,.12);--success: #3ddc97;--msg-own-bg: #1e1e4a;--msg-own-border: rgba(91,91,255,.3);--msg-other-bg: #1e1e24;--msg-other-border: rgba(255,255,255,.06);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "SF Mono", "Fira Code", monospace;--shadow-sm: 0 1px 3px rgba(0,0,0,.4);--shadow-md: 0 4px 16px rgba(0,0,0,.5);--shadow-lg: 0 8px 32px rgba(0,0,0,.6);--transition: .15s ease}html{overflow-x:hidden;width:100%}body{height:100%;height:100dvh;width:100%;overflow-x:hidden;background:var(--bg);color:var(--text-primary);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;-moz-user-select:none;user-select:none}#app{height:100%;height:100dvh;width:100%;overflow-x:hidden;display:flex;flex-direction:column}input,textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border:none;border-radius:var(--radius-md);font-size:14px;font-weight:500;cursor:pointer;transition:background var(--transition),transform var(--transition),opacity var(--transition);white-space:nowrap}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.btn-ghost:hover:not(:disabled){background:var(--bg-elevated);color:var(--text-primary)}.btn-danger{background:var(--danger-dim);color:var(--danger);border:1px solid rgba(255,77,109,.2)}.btn-danger:hover:not(:disabled){background:#ff4d6d33}.btn-icon{padding:8px;background:transparent;color:var(--text-secondary);border-radius:var(--radius-sm)}.btn-icon:hover{background:var(--bg-elevated);color:var(--text-primary)}.input{width:100%;padding:12px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;font-family:var(--font);transition:border-color var(--transition)}.input:focus{outline:none;border-color:var(--border-focus)}.input::placeholder{color:var(--text-muted)}.label{display:block;font-size:12px;font-weight:500;color:var(--text-secondary);margin-bottom:6px;letter-spacing:.04em;text-transform:uppercase}.card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-sizing:border-box;width:100%;min-width:0}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:100px;font-size:12px;font-weight:500}.badge-success{background:#3ddc971f;color:var(--success)}.badge-danger{background:var(--danger-dim);color:var(--danger)}.badge-neutral{background:var(--bg-elevated);color:var(--text-secondary)}.divider{height:1px;background:var(--border);margin:20px 0}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:fadeIn .2s ease forwards}.text-muted{color:var(--text-secondary)}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.text-mono{font-family:var(--font-mono)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 20px;font-size:13px;color:var(--text-primary);z-index:1000;box-shadow:var(--shadow-md);animation:fadeIn .2s ease forwards;pointer-events:none}.no-drag{-webkit-user-drag:none;user-drag:none}@media print{body{display:none!important}}
