/* Compact account pages and bounded conversation layout. */
html{width:100%;height:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}body{min-width:0;overflow-x:hidden}button,input,select,textarea{min-width:0}button{touch-action:manipulation}img,video,canvas{max-width:100%}
.welcome{min-height:0;height:100vh;height:100dvh;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);overflow:auto}.story{min-width:0;min-height:0;padding:clamp(20px,4vh,42px) clamp(24px,5vw,80px) 20px}.story-body{padding:clamp(12px,3vh,32px) 0;margin:auto 0;min-height:0}.story h1{font-size:clamp(32px,4.2vw,60px);margin:18px 0 16px}.story-body>p{font-size:14px}.preview{margin-top:20px;padding:14px}.sample{margin:12px 0}.preview-title{padding-bottom:10px}.preview-bottom{margin-top:12px}.feature-row{margin-top:20px;gap:14px}.auth-area{min-width:0;min-height:0;padding:58px 24px 18px;gap:0}.auth-card{max-width:365px}.tiny-logo{font-size:28px;margin-bottom:10px}.auth-card h2{font-size:28px}.auth-card>p{margin:6px 0 16px}.auth-tabs{margin-bottom:16px}.auth-card label{margin-bottom:12px}.auth-card input{padding:11px 13px;min-height:44px}.auth-card .primary{min-height:44px;padding:12px}.auth-card #forgot-password{margin:8px auto 0;min-height:36px}.privacy-note{margin-top:14px}.terms{margin:10px 0}.auth-footer{margin-top:8px}.install-card{padding:8px 12px;margin:10px 0 0;max-width:365px;gap:10px;border-radius:10px;box-shadow:none;min-height:44px}.install-card .install-mark{width:28px;height:28px;border-radius:8px;font-size:12px}.install-card strong{font-size:12px}.install-card small{font-size:11px;margin-top:0}.theme-toggle{width:44px;height:44px;padding:0;font-size:21px;display:inline-flex!important}.sidebar-brand{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0}.sidebar-brand .brand{font-size:22px;min-width:0}.sidebar-brand .theme-toggle{width:40px;height:40px;flex-shrink:0}.sidebar{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior-y:contain}.sidebar-brand{margin-bottom:16px}#contact-invites-button{margin-top:0;margin-bottom:12px;min-height:44px}.direct-label{margin:16px 8px 8px}#direct-list{max-height:none;min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain}.sidebar-bottom{padding-top:12px;flex-shrink:0}.sidebar-bottom>.settings-trigger{margin:0;padding:12px 10px;width:100%;font-size:12px;text-align:left;border:1px solid var(--line);border-radius:10px}.profile{padding:12px 0}.settings-menu{display:grid;gap:8px}.settings-menu>button{display:flex;align-items:center;text-align:left;width:100%;margin:0;padding:12px 14px;min-height:48px;border:1px solid var(--line);border-radius:12px;font-size:14px;color:var(--text);background:var(--surface)}.settings-menu>button:hover{border-color:var(--accent)}.settings-menu>button[hidden]{display:none!important}.contact-methods{display:flex;gap:6px;padding:5px;margin:16px 0;background:var(--bg);border:1px solid var(--line);border-radius:12px}.contact-methods button{flex:1;min-height:44px;padding:8px;font-size:14px;border-radius:8px}.contact-methods [aria-pressed=true]{background:var(--accent);color:#17122c}[data-theme=light] .contact-methods [aria-pressed=true]{color:#fff}.device-item{line-height:1.6}.device-item small{overflow-wrap:anywhere}.dialog-header{position:sticky;top:0;background:inherit;z-index:1}.dialog-header button{min-width:44px;min-height:44px;flex-shrink:0}dialog{max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);padding:20px;overscroll-behavior:contain;overflow-x:hidden}dialog label,input{max-width:100%}#profile-dialog section{scroll-margin-top:60px}#profile-dialog section>label{display:block}body.logged-in{height:100vh;height:100dvh;overflow:hidden}.chat-shell{height:100vh;height:100dvh;min-height:0}.messages{overscroll-behavior:contain}.room-heading{flex:1;min-width:0}.header-actions{gap:8px}.header-actions .theme-toggle{flex-shrink:0}
@media(min-width:761px) and (max-height:780px){.preview{display:none}.feature-row{margin-top:16px}.story h1{font-size:clamp(32px,4vw,52px)}.auth-area{padding-top:52px}.tiny-logo{display:none}.privacy-note{margin-top:10px}.auth-card>p{margin-bottom:10px}.auth-tabs{margin-bottom:12px}.auth-card label{margin-bottom:8px}.terms{margin:6px 0}.auth-footer{display:none}}
@media(min-width:761px) and (max-height:610px){.welcome .privacy-note{display:none}.story footer{display:none}.story{padding:20px 32px}.auth-card h2{font-size:24px}.auth-card>p{font-size:12px}.auth-tabs{margin-bottom:8px}.auth-tabs button{padding:8px}.auth-card input{min-height:40px;padding:8px 12px}.install-card{margin-top:6px}.auth-card .terms{font-size:11px}.auth-area{justify-content:flex-start}}
@media(max-width:760px){.welcome{display:flex;flex-direction:column;height:auto;min-height:100vh;min-height:100dvh;overflow:visible}.story{padding:14px 18px 0;background:var(--bg)!important;flex-shrink:0;border:0}.story-body,.story footer{display:none}.story>.brand{font-size:22px;min-height:40px}.story .logo{width:36px;height:36px;border-radius:11px}.auth-area{padding:20px 18px 14px;flex:1;justify-content:center;gap:0}.auth-area>.theme-toggle{top:calc(-40px);right:18px;width:40px;height:40px}.auth-card{max-width:420px}.tiny-logo{display:none}.auth-card h2{font-size:27px}.auth-card>p{font-size:13px;margin:4px 0 16px}.auth-tabs{margin-bottom:14px}.auth-tabs button{min-height:44px;padding:10px;font-size:14px}.auth-card label{font-size:13px;margin-bottom:12px}.auth-card input{font-size:16px;min-height:44px}.welcome .privacy-note{display:none}.welcome .terms{font-size:0;margin:6px 0 0}.welcome .terms br{display:none}.welcome .terms .text-button{font-size:11px;padding:6px;min-height:28px}.auth-footer{display:none}.auth-area .install-card{max-width:420px;margin-top:8px;min-height:44px}.install-card strong{font-size:12px}.install-card small{font-size:10px}.chat-shell{display:flex;flex-direction:column;width:100%;height:calc(100vh - 62px - env(safe-area-inset-bottom,0px));height:calc(100dvh - 62px - env(safe-area-inset-bottom,0px))}.sidebar{width:100%;height:100%;padding:14px 14px 0;display:flex;flex-direction:column;position:relative;transform:none;border:0}.sidebar .brand{margin:0}.sidebar-brand{margin-bottom:12px}.sidebar #profile-button{display:none}.new-chat{min-height:44px;margin:0;flex-shrink:0}.direct-label{margin:12px 8px 8px;flex-shrink:0}.sidebar #direct-list{flex:1;overflow:auto;max-height:none}.sidebar .sidebar-bottom{margin-top:0;padding-top:8px}.sidebar .profile{padding:10px 0}.sidebar .profile small{display:none}.sidebar .empty-direct{margin:4px 8px}.sidebar #archives-button{margin:8px 0;min-height:36px;flex-shrink:0}#pending-group-list{flex-shrink:0;max-height:120px;overflow:auto}.conversation{display:none;min-width:0;min-height:0}.in-conversation .sidebar{display:none}.in-conversation .conversation{display:flex;height:100%;width:100%;flex-direction:column}.chat-header{height:66px;padding:0 8px;gap:4px}.header-actions{gap:0;margin-left:auto}.header-actions .theme-toggle{display:inline-flex!important;min-width:36px;width:36px;min-height:44px;height:44px}.header-actions .icon-button,#menu-button{min-width:36px;width:36px;min-height:44px}.room-heading h2{font-size:14px}.room-heading p{font-size:10px}.header-actions .secure-badge{display:none}.messages{padding:18px 12px}.composer-area{padding:8px 8px 10px}.composer{padding:5px;gap:1px}.composer .icon-button{width:30px;min-width:30px}.composer .send-button{width:36px;min-width:36px;margin-left:2px}.composer textarea{min-width:0;font-size:16px;padding:8px 3px}.composer-meta>span:last-child{display:none}body.logged-in #mobile-nav{height:calc(62px + env(safe-area-inset-bottom,0px));padding:5px max(8px,env(safe-area-inset-right,0px)) calc(5px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;align-items:stretch;box-sizing:border-box}#mobile-nav button{min-width:0;width:100%;font-size:20px;line-height:1.1;gap:4px;padding:4px;min-height:44px}#mobile-nav span{font-size:11px;white-space:nowrap;line-height:1.2}dialog{padding:16px;width:calc(100vw - 20px);margin:auto;max-height:calc(100dvh - 20px)}.dialog-header h2{font-size:20px}.install-options{gap:8px;margin:12px 0}.install-option{min-height:60px;padding:10px;gap:10px}.install-option small{font-size:11px}#invite-qr{width:180px;height:180px;margin:12px auto}.people-panel{display:none}}
@media(max-width:760px) and (max-height:670px){.auth-area{justify-content:flex-start;padding-top:12px;padding-bottom:8px}.auth-card h2{font-size:23px}.auth-card>p{margin-bottom:10px}.auth-tabs{margin-bottom:10px}.auth-card label{margin-bottom:8px}.auth-card input{min-height:42px;padding:10px 12px}.install-card small{display:none}.auth-card #forgot-password{min-height:32px;margin-top:4px}.welcome .terms{margin-top:2px}.story{padding-top:10px}.auth-card .primary{min-height:42px;padding:10px}}
@media(max-width:360px){.sidebar-brand .brand{font-size:20px}.header-actions .icon-button,.header-actions .theme-toggle,#menu-button{width:32px;min-width:32px}.chat-header{gap:2px;padding:0 4px}.composer .icon-button{width:28px;min-width:28px}.composer{gap:0}.room-heading p{max-width:100px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}}

/* Minimal installation links keep both platforms accessible. */
.auth-area .install-card{display:flex;flex-direction:column;align-items:center;gap:0;padding:0;margin-top:8px;background:none;border:0;box-shadow:none;min-height:0}.install-card .android-download{font-size:13px;font-weight:600;color:var(--accent);padding:6px;text-decoration:none;min-height:32px;display:inline-flex;align-items:center}.install-card .ios-install-link{font-size:11px;padding:4px 8px;min-height:28px;color:var(--muted);text-decoration:underline}.install-card .android-download:hover{text-decoration:underline}.install-card[hidden]{display:none!important}

#auth-error:empty{display:none}.auth-card .primary{margin-top:12px}.theme-toggle{align-items:center;justify-content:center}.welcome .auth-card .terms{margin-top:6px}
@media(max-width:760px) and (max-height:670px){.register-mode #auth-subtitle{display:none}.register-mode .auth-card h2{font-size:21px;margin-bottom:8px}.register-mode .auth-card label{margin-bottom:6px}.register-mode #password-help{font-size:10px;line-height:1.3}.register-mode .auth-card .primary{margin-top:8px}.register-mode .auth-tabs{margin-bottom:8px}.register-mode .install-card .android-download{min-height:28px;padding:4px}.register-mode .install-card .ios-install-link{min-height:24px;padding:2px 8px}}

/* Account controls live at the bottom of Settings. */
.sidebar .sidebar-bottom{margin-top:auto;padding-bottom:14px}.settings-profile{border-top:1px solid var(--line);margin-top:18px;padding:16px 0 0;display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center}.settings-profile>div{min-width:0}.settings-profile strong{display:block;font-size:14px;white-space:normal;overflow-wrap:anywhere}.settings-profile small{display:block;font-size:11px;overflow-wrap:anywhere}.settings-profile #logout{grid-column:1/-1;width:100%;margin:4px 0 0;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;color:var(--text);background:var(--surface);font-size:13px;text-align:left}.settings-profile #logout:hover{border-color:var(--accent)}

.avatar img{width:100%;height:100%;object-fit:cover;border-radius:inherit}.profile-photo-actions{display:flex;flex-wrap:wrap;gap:8px}#profile-photo{width:72px;height:72px;margin-top:8px}#profile-personal{display:grid;gap:12px;margin-bottom:20px}#profile-personal p{font-size:12px}#my-profile-open{padding:0;text-align:left;color:inherit}body.native-app .sidebar-bottom{display:none}#mobile-chats{order:2}#mobile-invites{order:1}#mobile-profile{order:3}#room-description.is-online{color:#16834c}#image-viewer{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;border-radius:0;background:#080a0f;color:white;overflow:hidden}#image-viewer::backdrop{background:#080a0f}.viewer-toolbar{height:64px;padding:10px max(12px,env(safe-area-inset-right));display:flex;align-items:center;gap:12px;padding-top:max(10px,env(safe-area-inset-top))}.viewer-toolbar span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-toolbar button,.viewer-toolbar a{color:white;min-width:44px;min-height:44px;padding:10px;background:#222938;border-radius:10px}#viewer-stage{height:calc(100% - 64px);overflow:auto;display:grid;place-items:start center;padding:12px 12px max(12px,env(safe-area-inset-bottom));touch-action:pan-x pan-y pinch-zoom}#viewer-image{max-width:100%;max-height:100%;object-fit:contain;align-self:center}#change-password-form{display:grid;gap:12px}#change-password-form label{display:grid;gap:6px}#change-password-form label:has(input[type=checkbox]){display:flex;align-items:center}#revoke-other-sessions,#presence-visible{width:auto}html.viewer-open,html.viewer-open body{overflow:hidden}

#profile-personal .secondary{min-height:44px;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);text-align:left}#profile-personal .text-button{min-height:44px;padding:8px 12px;border-radius:10px}#profile-personal label{display:flex;align-items:center;gap:8px;font-size:13px}#presence-visible{width:18px;height:18px;flex-shrink:0}#profile-personal p{margin:0;color:var(--muted)}#profile-personal .profile-photo-actions{display:grid;grid-template-columns:1fr;gap:8px}#change-password-dialog .primary{min-height:44px;padding:12px;border-radius:12px;background:var(--accent);color:var(--bg)}#profile-personal h3{margin-bottom:0}

.brand .brand-logo{object-fit:contain;background:transparent;padding:0;flex-shrink:0}.chat-header #room-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--accent);font:inherit;font-weight:700;opacity:1}.chat-header #room-icon img{width:100%;height:100%;object-fit:cover}.chat-header #room-icon.has-photo{cursor:pointer}.chat-header #room-icon:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:760px){.chat-header #room-icon{width:32px;height:32px;border-radius:10px}.chat-header{gap:5px}.chat-header .room-heading{flex:1;min-width:0}}

#room-title>button{border:0;background:none;padding:0;color:inherit;font:inherit;text-align:left;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}#room-title>button:disabled{opacity:1;cursor:default}#room-title>button:focus-visible{outline:2px solid var(--accent)}#person-summary{display:flex;align-items:center;gap:14px;margin:20px 0}#person-summary .avatar{width:64px;height:64px}#chat-menu-block{color:var(--text)}#blocked-dialog .person{justify-content:space-between;gap:12px}#blocked-dialog .person>span{min-width:0;overflow-wrap:anywhere}
