/* Telegram iOS visual layer. Runtime colors still come from Telegram themeParams. */
:root{--hairline:color-mix(in srgb,var(--line) 64%,transparent);--ios-group:#f2f2f7}
html,body{overscroll-behavior:none}body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;letter-spacing:-.01em}button{-webkit-tap-highlight-color:transparent}#app{max-width:none}#main{scroll-behavior:smooth}.screen-transition{animation:ios-in .18s ease-out}@keyframes ios-in{from{opacity:.7;transform:translateX(5px)}to{opacity:1;transform:none}}

/* Native compact navigation bar */
#topbar,#topbar.profile{position:relative;height:calc(50px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 8px 0;background:color-mix(in srgb,var(--header-bg,var(--bar)) 92%,transparent);color:var(--text);border-bottom:.5px solid var(--hairline);box-shadow:none;-webkit-backdrop-filter:saturate(180%) blur(22px);backdrop-filter:saturate(180%) blur(22px)}
#heading,#topbar.profile #heading{position:absolute;left:76px;right:76px;top:calc(env(safe-area-inset-top) + 4px);height:42px;display:grid;place-items:center;color:var(--text);font-size:17px;font-weight:600;letter-spacing:-.25px;text-align:center;pointer-events:none;overflow:hidden}#heading:has(.thread-heading){pointer-events:auto}
#topbar .back,#topbar .top-action,#topbar.profile .back,#topbar.profile .top-action{position:relative;z-index:2;height:44px;min-width:52px;padding:0 4px;color:var(--accent);font-size:16px;font-weight:400}#topbar .back{justify-content:flex-start;gap:0}#topbar .back svg{width:25px;height:25px;margin-left:-2px}#topbar .back span{margin-left:-3px}#topbar .top-action{margin-left:auto;justify-content:flex-end}#topbar .top-action svg{width:25px;height:25px}#topbar .top-action svg circle{fill:currentColor;stroke:none}#topbar button:active{opacity:.55}
.thread-heading{width:100%;justify-content:center;gap:7px}.thread-heading .avatar{width:34px;height:34px;min-width:34px;flex-basis:34px}.thread-heading span:last-child{flex:0 1 auto;max-width:calc(100% - 43px)}.thread-heading b{font-size:15px;line-height:17px;letter-spacing:-.2px}.thread-heading small{font-size:11px;line-height:13px;color:var(--sub);font-weight:400}.copyable-username{cursor:pointer;-webkit-touch-callout:none;user-select:none}

/* Chat and contact lists */
.screen-caption{padding:6px 16px 5px;color:var(--sub);background:var(--bg);font-size:12px;text-align:center}.search-wrap{padding:8px 9px 7px;background:var(--bg)}.search-field{position:relative}.search{height:36px;border-radius:10px;background:color-mix(in srgb,var(--secondary) 95%,var(--bg));padding:0 12px 0 35px;font-size:16px;text-align:left}.search-field svg{left:10px;top:9px;width:18px;height:18px}.search:focus{outline:none}.filter-strip{gap:6px;padding:0 9px 7px;background:var(--bg)}.chip{min-height:28px;padding:5px 11px;border-radius:14px;background:var(--secondary);font-size:12px}.chip.active{background:var(--accent);color:var(--button-text,#fff)}.list{background:var(--bg)}.row{min-height:72px;padding-left:10px;gap:10px;background:var(--bg)}.row:active{background:color-mix(in srgb,var(--secondary) 75%,var(--bg));opacity:1}.row-content{padding:9px 10px 9px 0;border-bottom:.5px solid var(--hairline);gap:3px}.row-title{font-size:16px;line-height:20px;font-weight:600;letter-spacing:-.2px}.row-sub{font-size:14px;line-height:18px}.row-date{font-size:13px;font-weight:400}.avatar{width:56px;height:56px;flex:0 0 56px;box-shadow:none}.avatar img[hidden]{display:none!important}.chat-count{min-width:20px;padding:0 4px;color:var(--sub);font-size:12px;text-align:right}.chat-count.unread{height:20px;line-height:20px;border-radius:10px;background:var(--accent);color:#fff;text-align:center}.row-chevron{padding-right:12px;color:#c7c7cc}.empty{padding:84px 32px;font-size:15px}.skeleton{height:72px;border-color:var(--hairline)}.more{min-height:38px;margin:10px auto 16px;padding:8px 16px;border-radius:10px;background:var(--secondary)}

/* iPhone Telegram floating tab capsule */
#tabs{position:relative;height:calc(64px + env(safe-area-inset-bottom));margin:0 18px calc(6px + env(safe-area-inset-bottom));padding:3px;border:1px solid color-mix(in srgb,var(--line) 55%,transparent);border-radius:34px;background:color-mix(in srgb,var(--bg) 88%,transparent);box-shadow:0 6px 20px #00000010,inset 0 .5px #ffffffa8;-webkit-backdrop-filter:saturate(180%) blur(24px);backdrop-filter:saturate(180%) blur(24px);overflow:hidden;touch-action:pan-y}.tab-slider{position:absolute;z-index:0;left:3px;top:3px;width:calc((100% - 6px)/3);height:56px;border:.5px solid color-mix(in srgb,var(--line) 42%,#fff);border-radius:29px;background:color-mix(in srgb,var(--secondary) 84%,transparent);box-shadow:inset 0 1px #ffffffaa,0 2px 9px #0000000d;-webkit-backdrop-filter:saturate(175%) blur(18px);backdrop-filter:saturate(175%) blur(18px);transform:translate3d(100%,0,0);transition:transform .48s cubic-bezier(.16,1.18,.28,1),box-shadow .22s ease;will-change:transform;pointer-events:none}.tab-slider:after{content:"";position:absolute;inset:1px;border-radius:inherit;background:linear-gradient(105deg,#ffffff32,transparent 38%,#ffffff1c 69%,transparent);opacity:.85;transition:opacity .2s}.dragging .tab-slider{transition:none;box-shadow:inset 0 1px #ffffffcc,0 3px 13px #00000018}.dragging .tab-slider:after{opacity:1}.tab-slider.settling{transition:transform .52s cubic-bezier(.16,1.22,.24,1)}#tabs[data-active=users] .tab-slider{transform:translate3d(0,0,0)}#tabs[data-active=chats] .tab-slider{transform:translate3d(100%,0,0)}#tabs[data-active=tools] .tab-slider{transform:translate3d(200%,0,0)}#tabs button{position:relative;z-index:1;height:56px;border-radius:29px;gap:0;font-size:11px;line-height:13px;font-weight:600;letter-spacing:-.1px;background:transparent;box-shadow:none;transition:color .25s ease,transform .12s ease;touch-action:pan-y}#tabs button.active{color:var(--accent);background:transparent}#tabs svg{width:29px;height:29px;stroke-width:1.7}#tabs button:first-of-type:not(.active){color:color-mix(in srgb,var(--text) 78%,var(--sub))}#tabs button:active{transform:scale(.96);opacity:.7}.tab-avatar{width:29px!important;height:29px!important;min-width:29px!important;flex:0 0 29px!important;font-size:11px!important;box-shadow:none!important}.tab-avatar img{border-radius:50%}:root{--tab-icon-cut:#fff}:root[data-theme=dark]{--tab-icon-cut:#1c1c1e}

/* Telegram profile */
.profile-main{background:var(--secondary)!important}.profile-hero{min-height:292px;padding:24px 12px 17px;background:var(--secondary);color:var(--text);border-bottom:0}.profile-leaves{display:none}.profile-hero .profile-avatar{width:112px;height:112px;flex-basis:112px;border:0;box-shadow:none}.profile-hero h2{margin:12px 0 0;color:var(--text);font-size:22px;line-height:26px;font-weight:600;letter-spacing:-.35px}.profile-status{margin-top:2px;color:var(--sub);font-size:14px}.profile-actions{gap:7px;margin-top:20px}.profile-actions button{min-height:66px;border:0;border-radius:11px;background:var(--bg);color:var(--accent);box-shadow:none;font-size:11px;font-weight:400}.profile-actions button:active{background:color-mix(in srgb,var(--secondary) 70%,var(--bg));opacity:1}.profile-actions span{font-size:24px;line-height:27px}.profile-details{padding:8px 9px 32px}.profile-card{margin:0 0 9px;padding:14px 15px;border-radius:11px;background:var(--bg);box-shadow:none}.profile-card-label{font-size:13px;color:var(--sub);font-weight:400}.profile-handle{font-size:17px;font-weight:400}.profile-separator{margin:13px 0;background:var(--hairline)}.profile-stat{padding:11px 0;border-color:var(--hairline);font-size:15px}.profile-stat b{font-weight:400}.profile-footnote{font-size:12px;line-height:16px}.profile-segment{max-width:none;margin:8px 0 0;padding:0;border:0;border-radius:11px;background:var(--bg);box-shadow:none}.profile-segment button{padding:13px 6px;border-radius:0;color:var(--accent);font-size:15px;font-weight:400}.profile-segment button+button{border-left:.5px solid var(--hairline)}.profile-segment button:first-child{background:transparent;box-shadow:none}

/* Telegram message thread */
.thread{position:relative;background-color:var(--chat-bg);background-image:radial-gradient(circle at 16px 18px,color-mix(in srgb,var(--text) 4%,transparent) 0 1px,transparent 1.5px);background-size:68px 68px}.thread-search{padding:6px 8px 3px;background:transparent}.thread-search .search-wrap{padding:0;background:transparent}.thread-scroll{display:flex;flex-direction:column;padding:8px 7px 12px;scroll-behavior:smooth}#messages{margin-top:auto}.day-pill{margin:10px auto 12px;padding:4px 8px;border:0;border-radius:10px;background:#6f7f8399;color:#fff;box-shadow:none;font-size:11px}.message-row{margin:2px 0}.bubble{max-width:min(82%,490px);padding:6px 9px 4px;border-radius:16px 16px 16px 5px;background:var(--incoming);box-shadow:0 1px 1.5px #0002;font-size:15px}.out .bubble{border-radius:16px 16px 5px 16px;background:var(--outgoing)}.bubble-meta{font-size:10px;margin-top:2px}.history-note{border-radius:4px}.bubble-media{max-height:330px;border-radius:10px}.jump-latest{position:absolute;right:12px;bottom:calc(62px + env(safe-area-inset-bottom));z-index:2;width:40px;height:40px;border:.5px solid var(--hairline);border-radius:50%;display:grid;place-items:center;color:var(--sub);background:color-mix(in srgb,var(--bar) 94%,transparent);box-shadow:0 2px 7px #0002;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.jump-latest svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2}.thread-footer{height:calc(51px + env(safe-area-inset-bottom));padding:6px 7px calc(6px + env(safe-area-inset-bottom));gap:7px;background:color-mix(in srgb,var(--bar) 95%,transparent);border-top:.5px solid var(--hairline);box-shadow:none;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.thread-footer button{width:32px;height:36px;display:grid;place-items:center;padding:0;color:var(--sub);opacity:.7}.thread-footer svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.8}.composer-input{min-width:0;flex:1;height:37px;padding:0 12px;border:.5px solid var(--line);border-radius:18px;background:var(--bg);color:var(--sub);font-size:14px}.composer-send{border-radius:50%}

/* Grouped settings and tools */
.group-header{padding:18px 16px 6px;background:var(--secondary);color:var(--sub);font-size:12px;font-weight:400;text-transform:uppercase}.tool-list{margin:0 9px 8px;overflow:hidden;border:0;border-radius:11px;background:var(--bg);box-shadow:none}.tool-list .row{min-height:56px;padding-left:11px;background:transparent}.tool-list .row-content{padding:8px 11px 8px 0}.tool-list .row-title{font-size:15px}.tool-list .row-sub{font-size:12px}.tool-glyph{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;flex:none;color:#fff;background:var(--accent);font-size:20px}.group{margin-top:0;background:var(--bg)}.group .row{min-height:52px}.info-row,.event-row{border-color:var(--hairline)}.event-icon{border-radius:9px}.feed-intro{margin:8px 9px;border-radius:10px}.ios-switch{display:inline-block;width:51px;height:31px;border-radius:16px;background:var(--line);position:relative;transition:background .2s}.ios-switch:after{content:"";position:absolute;top:2px;left:2px;width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0004;transition:transform .2s}[aria-checked=true] .ios-switch{background:#34c759}[aria-checked=true] .ios-switch:after{transform:translateX(20px)}

.sheet-overlay{background:#0006;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sheet{padding:8px 8px calc(8px + env(safe-area-inset-bottom))}.sheet-label{font-size:12px}.sheet button{background:color-mix(in srgb,var(--bar) 96%,transparent);border-color:var(--hairline);font-size:18px}.sheet button:first-of-type{border-radius:13px 13px 0 0}.sheet .cancel{border-radius:13px}.viewer{background:#000}.viewer-close{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#2c2c2eaa}.media-grid{gap:2px}.media-tile{background:var(--secondary)}

@media(max-width:350px){.profile-actions{gap:5px}.profile-actions button{font-size:10px}.bubble{max-width:88%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
