/* Hamrah 3.4.2 client ultra layer */
:root { --bubble-scale: 1; --power-accent: var(--primary); }
body.amoled { --bg:#000; --surface:#050505; --surface-2:#0b0b0b; --surface-3:#121212; --bubble:#101010; --text:#fff; --text-2:#e9e9e9; --muted:#929292; --line:rgba(255,255,255,.11); }
body.privacy-hidden #app, body.privacy-hidden #chatScreen, body.privacy-hidden #loginScreen { filter: blur(22px) brightness(.55); pointer-events:none; }
body.secure-simulated img, body.secure-simulated video { -webkit-user-drag:none; user-select:none; }
.power-splash { position:fixed; inset:0; z-index:99999; display:grid; place-items:center; background:radial-gradient(circle at 50% 32%,color-mix(in srgb,var(--primary) 28%,#06111d),#06111d 58%,#02060b); transition:opacity .4s ease,transform .4s ease; }
.power-splash.hide { opacity:0; transform:scale(1.04); pointer-events:none; }
.power-splash-card { text-align:center; color:#fff; animation:splashFloat 1.2s ease-in-out infinite alternate; }
.power-splash-card img { width:104px;height:104px;border-radius:34px;object-fit:cover;box-shadow:0 22px 70px rgba(0,0,0,.42);border:2px solid rgba(255,255,255,.16); }
.power-splash-card h1{margin:14px 0 2px;font-size:1.65rem}.power-splash-card p{margin:0;opacity:.68;font-size:.76rem}.power-splash-dots{display:flex;justify-content:center;gap:6px;margin-top:18px}.power-splash-dots i{width:7px;height:7px;border-radius:50%;background:#fff;animation:dotWave 1s infinite}.power-splash-dots i:nth-child(2){animation-delay:.14s}.power-splash-dots i:nth-child(3){animation-delay:.28s}
@keyframes splashFloat{to{transform:translateY(-7px)}} @keyframes dotWave{50%{opacity:.25;transform:translateY(-4px)}}
.upload-tray { position:fixed; z-index:1500; left:10px; right:10px; bottom:calc(80px + env(safe-area-inset-bottom)); display:flex; flex-direction:column; gap:8px; pointer-events:none; }
.chat-screen:not(.hidden) ~ .upload-tray,.upload-tray.chat-active{bottom:calc(82px + env(safe-area-inset-bottom));}
.upload-card { pointer-events:auto; padding:11px 12px; border-radius:18px; background:color-mix(in srgb,var(--surface) 94%,transparent); border:1px solid var(--line); box-shadow:0 14px 36px rgba(0,0,0,.24); backdrop-filter:blur(18px); animation:uploadIn .34s cubic-bezier(.2,1.35,.4,1); }
.upload-head{display:flex;align-items:center;gap:9px}.upload-icon{width:37px;height:37px;border-radius:13px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-size:1.1rem}.upload-copy{min-width:0;flex:1}.upload-copy b{display:block;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-copy small{display:block;color:var(--muted);font-size:.59rem;margin-top:2px}.upload-card button{border:0;background:var(--surface-2);color:var(--text);border-radius:10px;padding:7px 9px;font-size:.62rem}.upload-card button.danger{color:#ef5c66}.upload-progress{height:6px;border-radius:99px;background:var(--surface-2);overflow:hidden;margin-top:9px}.upload-progress i{display:block;height:100%;width:0;background:var(--gradient);border-radius:inherit;transition:width .16s linear}.upload-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:7px}.upload-card.done{animation:uploadDone .7s ease both}.upload-card.error .upload-progress i{background:#ef5c66}
@keyframes uploadIn{from{opacity:0;transform:translateY(14px) scale(.96)}}@keyframes uploadDone{60%{transform:scale(1.02)}to{opacity:0;transform:translateY(10px)}}
.recording-hud { position:fixed; z-index:1600; left:10px; right:10px; bottom:calc(76px + env(safe-area-inset-bottom)); padding:12px; border-radius:20px; background:color-mix(in srgb,var(--surface) 96%,transparent); border:1px solid var(--line); box-shadow:0 16px 42px rgba(0,0,0,.3); backdrop-filter:blur(20px); display:flex;align-items:center;gap:10px;animation:uploadIn .3s ease; }
.recording-hud.hidden{display:none}.recording-dot{width:12px;height:12px;border-radius:50%;background:#ef4455;box-shadow:0 0 0 0 rgba(239,68,85,.5);animation:recordPulse 1.2s infinite}.recording-time{font-variant-numeric:tabular-nums;font-weight:900;min-width:47px}.record-wave{flex:1;display:flex;align-items:center;gap:2px;height:30px}.record-wave i,.voice-wave i{width:3px;border-radius:9px;background:var(--primary);height:20%;animation:waveBar .75s ease-in-out infinite alternate}.record-wave i:nth-child(3n){animation-delay:.18s}.record-wave i:nth-child(4n){animation-delay:.32s}.recording-hud button{border:0;border-radius:12px;padding:8px 10px;background:var(--surface-2);color:var(--text);font-size:.65rem}.recording-hud .record-send{background:var(--gradient);color:#fff}.recording-hint{position:absolute;bottom:-20px;right:12px;color:var(--muted);font-size:.53rem}
@keyframes recordPulse{70%{box-shadow:0 0 0 10px rgba(239,68,85,0)}}@keyframes waveBar{to{height:92%}}
.voice-preview { padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--surface-2);margin:12px 0}.voice-preview audio{width:100%}.voice-preview-actions{display:flex;gap:8px;margin-top:10px}.voice-preview-actions button{flex:1;border:0;border-radius:12px;padding:10px;background:var(--surface);color:var(--text)}.voice-preview-actions .send{background:var(--gradient);color:#fff}
.voice-player { min-width:215px;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:8px;padding:6px 0}.voice-player .voice-play{width:36px;height:36px;border:0;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center}.voice-wave{display:flex;height:28px;align-items:center;gap:2px;overflow:hidden}.voice-wave i{animation:none;height:calc(18% + (var(--h) * 1%));opacity:.65}.voice-speed{border:0;border-radius:10px;padding:6px;background:var(--primary-soft);color:var(--primary);font-size:.57rem;font-weight:900}.voice-duration{grid-column:2/3;color:var(--muted);font-size:.52rem;margin-top:-8px}
.message.grouped .bubble{margin-top:-5px}.message.grouped .author{display:none}.date-chip.dynamic{position:sticky;top:6px;z-index:2;backdrop-filter:blur(10px)}
.message.local-hidden{display:none}.message.selected .bubble{outline:3px solid color-mix(in srgb,var(--primary) 45%,transparent);transform:scale(.98)}.message-select-mark{position:absolute;inset-inline-start:-7px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:.65rem;box-shadow:0 5px 12px rgba(0,0,0,.18)}
.local-reactions{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.reaction-chip{border:1px solid var(--line);background:var(--surface-2);color:var(--text);border-radius:99px;padding:2px 7px;font-size:.58rem}.reaction-chip.active{border-color:var(--primary);background:var(--primary-soft)}.message-favorite-mark{display:inline-flex;gap:3px;color:#e7a619;font-size:.53rem;font-weight:800;margin-bottom:4px}.local-read-mark{font-size:.52rem;color:var(--primary);margin-inline-start:4px}
.multi-toolbar { position:fixed;z-index:1700;left:8px;right:8px;top:calc(8px + env(safe-area-inset-top));display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:18px;background:color-mix(in srgb,var(--surface) 95%,transparent);border:1px solid var(--line);box-shadow:0 15px 42px rgba(0,0,0,.28);backdrop-filter:blur(18px);animation:uploadIn .3s ease}.multi-toolbar.hidden{display:none}.multi-toolbar b{flex:1;font-size:.72rem}.multi-toolbar button{border:0;border-radius:11px;padding:8px;background:var(--surface-2);color:var(--text)}
.image-viewer { position:fixed;inset:0;z-index:5000;background:rgba(0,0,0,.94);display:grid;place-items:center;overflow:hidden}.image-viewer.hidden{display:none}.image-viewer img{max-width:96vw;max-height:88vh;object-fit:contain;transform:translate(var(--tx,0px),var(--ty,0px)) scale(var(--zoom,1));transition:transform .12s ease;touch-action:none}.viewer-toolbar{position:absolute;top:calc(10px + env(safe-area-inset-top));left:10px;right:10px;display:flex;justify-content:space-between;gap:8px}.viewer-toolbar button{border:0;border-radius:13px;padding:10px 12px;background:rgba(255,255,255,.13);color:#fff;backdrop-filter:blur(12px)}
.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;max-height:60vh;overflow:auto}.media-tile{aspect-ratio:1;border:0;border-radius:13px;overflow:hidden;background:var(--surface-2);padding:0}.media-tile img{width:100%;height:100%;object-fit:cover}.file-tile{padding:8px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;font-size:.57rem;color:var(--text)}
.power-setting-group{position:relative}.power-setting-group .tiny-state{font-size:.54rem;color:var(--muted)}.power-row-button{width:100%;border:0;background:transparent;color:inherit;text-align:inherit}.range-row input[type=range]{width:100%;accent-color:var(--primary)}
.server-profile-card{display:flex;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);margin-bottom:7px}.server-profile-card div{flex:1;min-width:0}.server-profile-card b,.server-profile-card small{display:block}.server-profile-card small{direction:ltr;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted);font-size:.55rem}.server-profile-card button{border:0;border-radius:10px;padding:8px;background:var(--surface);color:var(--text);font-size:.58rem}
.qr-box{display:grid;place-items:center;padding:15px;background:#fff;border-radius:18px;margin:12px auto;max-width:280px}.qr-box canvas{width:min(66vw,250px)!important;height:min(66vw,250px)!important;image-rendering:pixelated}.qr-payload{direction:ltr;text-align:left;overflow-wrap:anywhere;padding:9px;border-radius:12px;background:var(--surface-2);font-size:.57rem;color:var(--muted)}.camera-box{position:relative;aspect-ratio:1;border-radius:18px;overflow:hidden;background:#000}.camera-box video{width:100%;height:100%;object-fit:cover}.camera-scan-line{position:absolute;left:8%;right:8%;height:2px;background:#49e6b3;box-shadow:0 0 12px #49e6b3;animation:scanLine 2s linear infinite}@keyframes scanLine{from{top:10%}to{top:90%}}
.lock-screen{position:fixed;inset:0;z-index:10000;background:radial-gradient(circle at 50% 15%,color-mix(in srgb,var(--primary) 24%,#07101b),#07101b 65%);display:grid;place-items:center;padding:22px}.lock-screen.hidden{display:none}.lock-card{width:min(92vw,390px);text-align:center;color:#fff}.lock-card img{width:82px;height:82px;border-radius:27px;object-fit:cover}.lock-card input{width:100%;margin:18px 0 10px;padding:14px;border-radius:15px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.09);color:#fff;text-align:center;font-size:1.2rem;letter-spacing:.35em}.lock-card button{width:100%;border:0;border-radius:15px;padding:13px;background:var(--gradient);color:#fff;font-weight:900}.lock-card .bio{margin-top:9px;background:rgba(255,255,255,.1)}
.dev-log{max-height:52vh;overflow:auto;direction:ltr;text-align:left;background:#07101b;color:#b8f4d8;border-radius:14px;padding:10px;font:11px/1.6 monospace}.dev-log div{border-bottom:1px solid rgba(255,255,255,.08);padding:4px 0}.dev-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:10px}.dev-actions button{border:0;border-radius:12px;padding:10px;background:var(--surface-2);color:var(--text)}
.changelog-list{display:flex;flex-direction:column;gap:8px;max-height:60vh;overflow:auto}.change-item{display:flex;gap:8px;align-items:flex-start;padding:9px;border-radius:13px;background:var(--surface-2);font-size:.65rem}.change-item i{width:7px;height:7px;border-radius:50%;background:var(--primary);margin-top:7px;flex:none}
.room-custom-color{box-shadow:inset 4px 0 0 var(--room-local-color)}.room-folder-tag{display:inline-flex;margin-inline-start:5px;padding:1px 5px;border-radius:99px;background:var(--primary-soft);color:var(--primary);font-size:.46rem}.chat-local-note{padding:7px 12px;background:var(--primary-soft);color:var(--primary);font-size:.58rem;text-align:center}.chat-local-note.hidden{display:none}
.offline-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border-radius:99px;background:rgba(239,89,93,.14);color:#e14d58;font-size:.55rem}.queue-status{display:inline-flex;gap:3px;color:#e3a623;font-size:.5rem}.download-progress-ring{position:fixed;z-index:1800;right:14px;bottom:90px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--primary) var(--p,0%),var(--surface-2) 0);box-shadow:0 10px 30px rgba(0,0,0,.24)}.download-progress-ring::before{content:"";position:absolute;inset:6px;border-radius:50%;background:var(--surface)}.download-progress-ring span{position:relative;font-size:.58rem;font-weight:900}.download-progress-ring.hidden{display:none}
.logo-tap{cursor:pointer}.easter-overlay{position:fixed;inset:0;z-index:9990;display:grid;place-items:center;background:radial-gradient(circle,#2d1220,#030303 70%);color:#fff;text-align:center;padding:20px}.easter-overlay.hidden{display:none}.easter-overlay h1{font-size:2rem;margin:0}.easter-overlay .metal{font-size:4rem;animation:metalShake .16s infinite alternate}@keyframes metalShake{to{transform:rotate(2deg) scale(1.03)}}
body[data-bubble-scale="small"] .bubble{font-size:.9em;max-width:75%}body[data-bubble-scale="large"] .bubble{font-size:1.08em;max-width:90%}
body[data-chat-color] .chat-header{background:linear-gradient(135deg,var(--chat-local-color,var(--gradient)),var(--primary-2))}
@media (min-width:760px){.upload-tray,.recording-hud,.multi-toolbar{left:50%;right:auto;width:520px;transform:translateX(-50%)}}
.custom-folder-filters{margin-top:6px;overflow-x:auto;display:flex;gap:6px;scrollbar-width:none}.custom-folder-filters.hidden{display:none}.custom-folder-filters button{white-space:nowrap;border:1px solid var(--line);border-radius:99px;padding:6px 10px;background:var(--surface);color:var(--muted);font-size:.58rem}.custom-folder-filters button.active{background:var(--primary-soft);color:var(--primary);border-color:color-mix(in srgb,var(--primary) 40%,var(--line))}

.setting-unavailable { opacity:.52; }
.setting-unavailable::after { content:"پشتیبانی‌نشده"; padding:3px 6px; border-radius:99px; background:var(--surface-2); color:var(--muted); font-size:.48rem; }
.power-setting-group .admin-select { min-width:105px; max-width:130px; border:1px solid var(--line); border-radius:12px; background:var(--surface-2); color:var(--text); padding:8px 7px; font-size:.62rem; }
.power-setting-group .settings-title > svg { width:38px; height:38px; padding:9px; border-radius:13px; color:var(--primary); background:var(--primary-soft); }
