/* Fili glass surfaces: navigation floats; conversation text stays opaque and legible. */
:root{--glass:rgba(255,255,255,.72);--glass-line:rgba(255,255,255,.82);--glass-shadow:0 12px 40px #1936490e,0 1px 0 #fff9 inset;--accent:#98743c;--surface:#fff9;--dock-space:102px}
:root[data-theme=night]{--glass:rgba(26,44,59,.76);--glass-line:rgba(200,222,239,.14);--glass-shadow:0 12px 40px #0003,0 1px 0 #ffffff10 inset;--accent:#e5c78f;--surface:#142a3cbb}
html,body{background:var(--paper)}.app-mode .app-shell{isolation:isolate;background:transparent;box-shadow:none;max-width:1440px;border:0}
.app-mode:before{content:'';position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 9% 5%,#b9d9e747,transparent 55%),radial-gradient(ellipse at 90% 80%,#dfc49029,transparent 60%);z-index:-1}
.app-shell>.inbox,.app-shell>.workspace{background:transparent}.inbox{position:relative;border-inline-end:1px solid var(--line)}.inbox-header{padding:24px 26px 10px;background:transparent}.topbar{margin-bottom:24px}.brand-cluster{display:flex;align-items:center;gap:12px}.wordmark{gap:9px;font-size:23px;letter-spacing:-.8px}.small-mascot{width:35px;height:35px;margin:0}.small-mascot img{border-radius:11px}.ai-launch{position:relative;display:grid;place-items:center;border-radius:15px;background:var(--glass);padding:3px;border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);width:42px;height:42px;transition:transform .25s}.ai-launch img{width:34px;height:34px;border-radius:12px}.ai-launch>span{position:absolute;inset-inline-end:-6px;bottom:-4px;font-size:8px;font-weight:750;color:#193649;background:#d9f8ff;border:2px solid var(--paper);border-radius:7px;padding:1px 3px}.ai-launch:active{transform:scale(.9)}
.account-button,.chat-header>.icon,.new-group{background:var(--glass)!important;border:1px solid var(--glass-line);box-shadow:var(--glass-shadow);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%)}.account-button{width:40px;height:40px}.account-button svg{width:21px;height:21px}.home-title{display:flex;align-items:center;justify-content:space-between}.home-title h1{font-size:34px;letter-spacing:-1.3px;margin:0;font-weight:750}.home-title h1 span{color:var(--accent)}.home-title .icon{width:37px;height:37px;border-radius:50%;color:var(--accent);padding:8px}.home-title .icon[hidden]{display:none}.hello{font-size:12px;line-height:1.5;margin:8px 0 18px;color:var(--muted)}.search-wrap .search{border-radius:17px;background:var(--glass);border:1px solid var(--glass-line);box-shadow:0 1px 0 #fff4 inset;height:44px;font-size:14px}.list-title{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;padding:17px 26px 8px;margin:0}.conversation-list{padding:0 12px calc(var(--dock-space) + env(safe-area-inset-bottom));scrollbar-width:thin}.person{border:0!important;background:transparent!important;border-radius:22px;padding:15px 13px;gap:12px;min-height:83px;position:relative;transition:background .2s,transform .22s;touch-action:pan-y}.person+.person:before{content:'';position:absolute;inset-inline-start:75px;inset-inline-end:15px;top:0;height:1px;background:var(--line);opacity:.65}.person:hover,.person.active{background:var(--surface)!important}.person:active{transform:scale(.98)}.person-name{font-size:15px;letter-spacing:-.15px}.person-sub{font-size:12px;line-height:1.55;margin-top:4px}.person-time{font-size:10px;align-self:flex-start;margin-top:6px;white-space:nowrap;color:var(--muted)}.avatar{width:49px;height:49px;border-radius:18px}.avatar img{border-radius:inherit}.group-avatar{background:linear-gradient(145deg,#d6e4e8,#e7dbbf);color:#193649}.group-avatar svg{width:26px;height:26px}.unread-dot{width:8px;height:8px;background:#af874a;border-radius:50%;position:absolute;inset-inline-end:14px;bottom:20px}.person.unread .person-name{font-weight:800}.inbox-bottom{display:none}
.glass-dock{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:5px;padding:7px;width:calc(100% - 60px);max-width:340px;height:66px;border-radius:28px;border:1px solid var(--glass-line);background:var(--glass);box-shadow:0 15px 36px #19364923,0 1px 2px #fff9 inset;backdrop-filter:blur(28px) saturate(190%);-webkit-backdrop-filter:blur(28px) saturate(190%);z-index:8}.glass-dock button{position:relative;flex:1;display:grid;place-items:center;border-radius:21px;height:50px;background:transparent;color:var(--muted);border:0;transition:background .28s,color .28s,transform .28s}.glass-dock button[aria-current=page]{background:linear-gradient(150deg,#c4a26324,#fff2);color:var(--ink);box-shadow:0 1px 0 #fff7 inset}.glass-dock button:active{transform:scale(.87)}.glass-dock svg{width:24px;height:24px}.nav-dot{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--accent);bottom:3px;opacity:0;transition:opacity .2s}.glass-dock button[aria-current=page] .nav-dot{opacity:1}
.chat-header{background:var(--glass)!important;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);border-bottom:1px solid var(--glass-line);padding:14px 22px;gap:11px}.chat-header .avatar{width:40px;height:40px;border-radius:15px}.chat-header .peer{min-width:0;flex:1}.chat-header .peer p{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}.chat-header .peer h2{font-size:16px}.chat-header>.icon{width:37px;height:37px;border-radius:15px;flex:none;color:var(--ink)}.chat-header>.icon svg{width:18px;height:18px}.messages{background:transparent!important;padding-inline:28px;scrollbar-width:thin}.bubble{border-radius:20px 20px 20px 6px;background:var(--surface);box-shadow:0 2px 7px #19364905;border:1px solid #ffffff25;line-height:1.6}.own .bubble{background:#193e53;color:#fff;border-radius:20px 20px 6px 20px}.group-sender{display:block;color:var(--accent);font-size:11px;margin-bottom:4px}.composer-area{background:transparent!important;padding:9px 20px max(13px,env(safe-area-inset-bottom));border-top:0}.composer{border:1px solid var(--glass-line);border-radius:26px;background:var(--glass);box-shadow:var(--glass-shadow);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);padding:5px 6px 5px 10px;gap:3px}.composer .send{width:34px;height:34px;border-radius:50%;flex:none}.composer .composer-tool{width:31px;height:34px}.composer textarea{background:transparent;max-height:110px}.day{background:var(--glass);border:1px solid var(--glass-line);padding:5px 12px;border-radius:14px;font-size:10px;width:fit-content;margin:20px auto}.chat-intro{color:var(--muted);font-size:12px;line-height:1.8}
.welcome{position:relative}.welcome:before{content:'';position:absolute;width:320px;height:320px;max-width:80%;border:1px solid #c4a26315;border-radius:50%;z-index:-1;box-shadow:0 0 0 45px #c4a26306,0 0 0 90px #c4a26303}.welcome .mascot{animation:fili-float 6s ease-in-out infinite}.welcome h2{letter-spacing:-1.2px}.welcome .tag{border:1px solid var(--glass-line);background:var(--glass);box-shadow:var(--glass-shadow)}
dialog.glass-sheet,dialog.people-dialog{border:1px solid var(--glass-line);background:var(--glass);color:var(--ink);box-shadow:0 28px 100px #071a3844,0 1px 1px #fff8 inset;backdrop-filter:blur(40px) saturate(170%);-webkit-backdrop-filter:blur(40px) saturate(170%);border-radius:30px;padding:25px;width:min(440px,calc(100% - 30px));max-height:85dvh;overflow:auto}dialog::backdrop{background:#09192b66;backdrop-filter:blur(6px)}.settings-row{display:flex;align-items:center;gap:15px;background:var(--surface);padding:15px;width:100%;color:var(--ink);border-radius:17px}.settings-row svg{width:22px;height:22px}.people-results{max-height:34dvh;overflow:auto;margin:12px -8px}.selected-people{color:var(--accent);font-size:12px;line-height:1.7}.selection-check{font-size:22px;color:var(--accent)}.people-dialog .person{width:100%;text-align:start;min-height:70px}.people-dialog .primary{width:100%}.people-dialog input,.field select{border:1px solid var(--line);background:var(--surface);border-radius:14px;min-height:44px;color:var(--ink);padding:10px 13px;width:100%;font-size:16px}.empty-list svg{width:35px;height:35px;margin:15px auto;color:var(--accent)}.list-loading{padding:30px;color:var(--muted);text-align:center}
.organized-settings{max-width:650px;width:100%;padding:24px;margin:0 auto;overflow-y:auto;scrollbar-width:thin}.settings-profile-card{background:var(--glass);border:1px solid var(--glass-line);border-radius:26px;padding:23px;box-shadow:var(--glass-shadow);gap:15px;margin:20px 0 24px}.settings-profile-card .photo-line{margin-bottom:8px}.settings-profile-card .field{gap:4px}.settings-profile-card .hint{font-size:10px}.settings-profile-card .primary{min-height:42px}.settings-profile-card .avatar.large{width:68px;height:68px;border-radius:24px}.settings-category{border:1px solid var(--glass-line);background:var(--glass);border-radius:21px;margin:12px 0;box-shadow:var(--glass-shadow);overflow:hidden}.settings-category summary{list-style:none;display:flex;align-items:center;gap:13px;padding:19px 17px;cursor:pointer;font-size:14px;font-weight:600}.settings-category summary::-webkit-details-marker{display:none}.settings-category summary>svg:first-child{width:21px;height:21px;color:var(--accent)}.settings-category summary>span{flex:1}.settings-category summary>svg:last-child{width:14px;height:14px;color:var(--muted);transition:transform .2s}.settings-category[open] summary>svg:last-child{transform:rotate(90deg)}.settings-category[open] summary{border-bottom:1px solid var(--line)}.settings-content{padding:0 18px 18px}.settings-content section{padding:16px 0;margin:0;border:0;border-bottom:1px solid var(--line)}.settings-content section:last-child{border-bottom:0}.settings-content .hint{line-height:1.8}.settings-content h3{font-size:13px;margin:0 0 6px}.settings-version{font-size:11px;color:var(--muted);text-align:center;margin:30px 0 10px}.organized-settings>.logout{margin-top:20px;width:100%;border-radius:17px}.zone-label{font-size:12px;color:var(--accent);overflow-wrap:anywhere}.profile-top{display:flex;align-items:center;justify-content:space-between}.profile-top h2{font-size:28px;letter-spacing:-.7px}
@keyframes fili-float{50%{transform:translateY(-7px) rotate(1.3deg)}}@keyframes fili-dot{50%{opacity:.3;transform:translateY(-3px)}}@keyframes fili-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.conversation-list,.settings-category{animation:fili-enter .3s ease both}
@media(max-width:760px){.app-shell>.workspace{display:none}.app-shell.detail>.workspace{display:flex}.app-shell.detail>.inbox{display:none}.inbox{border:0;width:100%}.inbox-header{padding:18px 22px 10px}.messages{padding-inline:16px}.chat-header{padding:10px 13px}.composer-area{padding-inline:10px}.organized-settings{padding:18px 16px}.glass-dock{width:min(300px,calc(100% - 70px))}.home-title h1{font-size:32px}}
@media(min-width:761px){.app-shell{grid-template-columns:365px minmax(0,1fr)}.glass-dock{bottom:22px}.organized-settings{padding-top:30px}.workspace>.organized-settings{height:100%}.app-shell.detail>.inbox{display:flex}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(prefers-reduced-transparency:reduce){:root{--glass:#f2f5f7;--surface:#fff}:root[data-theme=night]{--glass:#1a2c3b;--surface:#142a3c}.glass-dock,.chat-header,.composer,dialog.glass-sheet{backdrop-filter:none;-webkit-backdrop-filter:none}}
@supports not (backdrop-filter:blur(1px)){:root{--glass:#f2f5f7}:root[data-theme=night]{--glass:#1a2c3b}}

.person[hidden],.composer-tool[hidden],.search-wrap[hidden]{display:none!important}.glass-dock .has-update:after{content:'';position:absolute;top:8px;right:15px;width:8px;height:8px;border:2px solid var(--paper);background:#e44256;border-radius:50%}.new-group svg{width:100%;height:100%}.people-dialog .person-copy{flex:1;min-width:0}.people-dialog .selection-check{flex:none}.action-sheet .secondary{width:100%;margin-top:10px}
@media(min-width:761px){.app-shell:not(.detail)>.workspace>.welcome{display:block}.app-shell.detail>.inbox{display:flex!important}.app-shell.detail>.workspace{display:flex!important}}

.app-mode .inbox-header{padding-top:calc(18px + env(safe-area-inset-top))}.app-mode .chat-header{padding-top:calc(12px + env(safe-area-inset-top))}.app-mode .organized-settings{padding-top:calc(20px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom))}html[dir=rtl] .settings-category:not([open]) summary>svg:last-child{transform:rotate(180deg)}

.profile-editor{background:var(--glass);border:1px solid var(--glass-line);border-radius:26px;box-shadow:var(--glass-shadow);margin:20px 0 26px;overflow:hidden}.profile-summary{list-style:none;display:flex;align-items:center;gap:16px;padding:21px;cursor:pointer}.profile-summary::-webkit-details-marker{display:none}.profile-summary .avatar.large{width:64px;height:64px;border-radius:22px;flex:none}.profile-summary-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:6px;text-align:start}.profile-summary-copy strong{font-size:19px;overflow:hidden;text-overflow:ellipsis}.profile-summary-copy>span{font-size:11px;color:var(--muted);text-align:start}.profile-summary>svg{width:16px;height:16px;color:var(--muted);flex:none}.profile-editor[open] .profile-summary{border-bottom:1px solid var(--line)}.profile-editor .settings-profile-card{background:transparent;box-shadow:none;border:0;margin:0;padding:20px}.profile-editor .photo-line #profile-avatar{display:none}html[dir=rtl] .profile-summary>svg{transform:rotate(180deg)}.settings-category:has(.has-update) summary:after{content:'';background:#e44256;width:8px;height:8px;border-radius:50%}
/* Stable touch lists, numbered badges, and persistent navigation in Settings. */
.app-shell{position:relative}.conversation-list{overflow-y:auto;overflow-x:hidden;touch-action:pan-y;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.person,.person *,.action-sheet,.action-sheet *,.glass-dock,.glass-dock *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.person{touch-action:pan-y}.person-portrait{position:relative;display:inline-flex;flex:none}.unread-count{position:absolute;right:-9px;top:-5px;min-width:24px;height:24px;padding:0 5px;display:grid;place-items:center;border-radius:50%;background:#d4b168;color:#132b3b;border:2px solid var(--paper);box-shadow:0 2px 7px #0002;font-size:11px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.home-actions{display:flex;gap:9px;align-items:center}.notification-shortcut{display:grid;place-items:center;width:40px;height:40px;border:1px solid #e75a6855;background:#e7475a19;color:#e8495e;border-radius:15px;position:relative}.notification-shortcut svg{width:21px;height:21px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round}.notification-shortcut:after{content:'';position:absolute;right:1px;top:1px;width:7px;height:7px;border-radius:50%;background:#f05c6d;border:2px solid var(--paper)}.notification-shortcut[hidden]{display:none}.notification-prompt .primary{width:100%}.notification-prompt .link{display:block;margin:14px auto 0}.notification-prompt p{font-size:14px;line-height:1.8;color:var(--muted)}.action-sheet h2{font-size:21px;overflow-wrap:anywhere}.action-sheet .settings-row{min-height:54px;font-size:15px}.action-sheet .settings-row svg{width:23px;height:23px;flex:none}.composer-note:empty,.composer-note[hidden]{display:none!important}.composer-area:after,.composer:after{content:none!important}.composer-area{padding-bottom:max(9px,env(safe-area-inset-bottom));min-height:0}.composer{min-height:44px}.organized-settings{padding-bottom:calc(115px + env(safe-area-inset-bottom))!important}#profile-save[hidden]{display:none}.app-mode #app{background:radial-gradient(ellipse at 0 0,#88bad91c,transparent 65%),radial-gradient(ellipse at 100% 100%,#c4a2630c,transparent 65%),var(--paper)}
@media(max-width:760px){.app-shell.detail:not(.settings-open)>.glass-dock{display:none}.app-shell.settings-open>.glass-dock{display:flex}.home-title h1{margin-top:14px}.topbar{gap:8px}.brand-cluster{gap:9px}.inbox-header{padding-inline:20px}.glass-dock{transition:background .2s,box-shadow .2s}}
@media(min-width:761px){.app-shell>.glass-dock{left:182px;max-width:304px}html[dir=rtl] .app-shell>.glass-dock{left:auto;right:30px;transform:none}}
@media(prefers-reduced-motion:no-preference){.glass-dock button:active,.account-button:active,.notification-shortcut:active{transform:scale(.94)}.person:hover{box-shadow:0 1px 0 #ffffff20 inset}.action-sheet[open]{animation:fili-enter .18s ease-out}}
/* Refined translucent navigation: content stays sharp, controls float over it. */
:root{--glass:rgba(255,255,255,.32);--glass-line:rgba(255,255,255,.65);--surface:rgba(255,255,255,.58);--spring:cubic-bezier(.2,.8,.22,1.12)}
:root[data-theme=night]{--glass:rgba(29,49,65,.42);--glass-line:rgba(222,239,255,.23);--surface:rgba(28,49,66,.64)}
.app-mode #app{background:radial-gradient(ellipse at 5% 12%,#70b7e528,transparent 52%),radial-gradient(ellipse at 95% 83%,#d7b87724,transparent 58%),var(--paper)}
.glass-dock{background:linear-gradient(145deg,#ffffff36,#ffffff0c),var(--glass);border:1px solid var(--glass-line);box-shadow:0 14px 45px #071a3829,0 1px 1px #ffffffb0 inset,0 -1px 1px #ffffff24 inset;backdrop-filter:blur(34px) saturate(185%);-webkit-backdrop-filter:blur(34px) saturate(185%);overflow:hidden}
.glass-dock::before{content:'';position:absolute;pointer-events:none;top:6px;bottom:6px;left:calc(7px + var(--active-tab,0)*(100% - 14px)/4);width:calc((100% - 14px)/4);border-radius:23px;background:linear-gradient(135deg,#ffffff70,#ffffff18);border:1px solid #ffffff55;box-shadow:0 2px 8px #1936490c,0 1px 1px #fff9 inset;transition:left .38s var(--spring),right .38s var(--spring),width .3s var(--spring)}
html[dir=rtl] .glass-dock::before{left:auto;right:calc(7px + var(--active-tab,0)*(100% - 14px)/4)}
[data-theme=night] .glass-dock::before{background:linear-gradient(130deg,#e1edff28,#ffffff0a);border-color:#ffffff27}
.glass-dock button{z-index:1;transition:transform .24s var(--spring),color .2s}.glass-dock button[aria-current=page]{background:transparent;box-shadow:none}.glass-dock button:active{transform:scale(.88)}
.conversation-list{transition:transform .25s var(--spring),opacity .2s}.tab-dragging .conversation-list{transform:translateX(var(--tab-drag));transition:none;opacity:.94}
.inbox[data-tab-direction=forward]:not(.tab-dragging) .conversation-list{animation:tab-arrive .28s ease-out}.inbox[data-tab-direction=back]:not(.tab-dragging) .conversation-list{animation:tab-return .28s ease-out}
@keyframes tab-arrive{from{opacity:.65;transform:translateX(10px)}to{opacity:1;transform:none}}@keyframes tab-return{from{opacity:.65;transform:translateX(-10px)}to{opacity:1;transform:none}}
.workspace{position:relative}.chat-header{position:absolute;top:0;left:0;right:0;z-index:8;background:linear-gradient(#ffffff12,#ffffff05),var(--glass)!important;backdrop-filter:blur(30px) saturate(170%);-webkit-backdrop-filter:blur(30px) saturate(170%);box-shadow:0 1px 0 #ffffff18 inset,0 6px 24px #071a3808}
.messages{padding-top:calc(110px + env(safe-area-inset-top))!important}.chat-header .call-start,.chat-header>.back{background:linear-gradient(135deg,#ffffff2b,#ffffff05),var(--glass)!important;box-shadow:0 1px 1px #ffffff65 inset,0 3px 9px #071a3808}
.composer-area{position:relative;z-index:9;padding:8px 10px max(8px,env(safe-area-inset-bottom));background:transparent!important}
.composer{background:linear-gradient(160deg,#ffffff38,#ffffff08),var(--glass);backdrop-filter:blur(30px) saturate(165%);-webkit-backdrop-filter:blur(30px) saturate(165%);box-shadow:0 9px 28px #071a381a,0 1px 1px #ffffff80 inset;border:1px solid var(--glass-line);align-items:flex-end}
.message-editor{position:relative;flex:1;min-width:0;min-height:36px;max-height:112px;overflow-y:auto;padding:8px 10px;line-height:21px;font-size:16px;white-space:pre-wrap;overflow-wrap:anywhere;text-align:start;outline:none;border:0;background:transparent;color:var(--ink);-webkit-user-select:text;user-select:text;touch-action:pan-y;caret-color:var(--gold);scrollbar-width:thin}
.message-editor.is-empty:before{content:attr(data-placeholder);position:absolute;pointer-events:none;color:var(--muted);opacity:.8}.message-editor:focus{outline:none;box-shadow:none}.composer:focus-within{border-color:#c4a26370;box-shadow:0 9px 28px #071a381a,0 1px 1px #ffffff80 inset}
.keyboard-open .composer-area{padding:6px 10px!important}.keyboard-open .composer{margin:0}.settings-category,.profile-editor{background:linear-gradient(135deg,#ffffff25,#ffffff04),var(--glass);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 1px 1px #ffffff80 inset,0 7px 23px #071a3809}
.notification-shortcut{background:linear-gradient(145deg,#ffffff35,#ffffff08),#df40571a;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 1px 1px #ffffff65 inset}.notification-shortcut:active{transform:scale(.9)}
@media(max-width:360px){.brand-cluster{gap:7px}.brand-cluster .wordmark{font-size:20px;gap:7px}.brand-cluster .small-mascot{width:31px;height:31px}.ai-launch{width:35px;height:35px}.ai-launch img{width:29px;height:29px}.home-actions{gap:6px}.notification-shortcut,.account-button{width:36px;height:36px}}
@media(prefers-reduced-transparency:reduce){:root{--glass:#f0f4f7;--surface:#fff}:root[data-theme=night]{--glass:#1b3040;--surface:#203748}.glass-dock,.chat-header,.composer,.settings-category,.profile-editor{backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){.glass-dock::before,.conversation-list,.glass-dock button{transition:none!important;animation:none!important}}
/* Notices stay below the phone's safe area, above every app screen. */
#toast{top:calc(env(safe-area-inset-top) + 14px);bottom:auto;z-index:200;max-height:30dvh;overflow:auto;line-height:1.5;transform:translate(-50%,-10px);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);background:color-mix(in srgb,var(--navy) 92%,transparent);border:1px solid #ffffff25;transition:opacity .2s,transform .25s}#toast.visible{transform:translate(-50%,0)}
.settings-row.remove-chat{color:#df5366}.remove-chat svg{color:inherit}
.app-shell.tab-dragging .profile{transform:translateX(var(--tab-drag));transition:none}.profile{touch-action:pan-y}
.is-updating{display:inline-flex;align-items:center;justify-content:center;gap:8px}.is-updating:before{content:'';display:inline-block;width:16px;height:16px;flex:none;border:2px solid currentColor;border-inline-end-color:transparent;border-radius:50%;animation:update-spin .8s linear infinite}.is-updating .update-dot{display:none!important}
@keyframes update-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.is-updating:before{animation:none;border-style:dotted}#toast{transition:none}}
#update{top:calc(env(safe-area-inset-top) + 14px);bottom:auto}

.primary.danger{background:#c23b4f}.account-sheet .auth-form{margin-top:8px}.account-sheet .confirm-actions{margin-top:14px}

/* 0.18: clearer dark-mode bubbles */
[data-theme=night] .own .bubble{background:#2c5f80;border-color:#2c5f80;color:#fff}
[data-theme=night] .message-row:not(.own) .bubble{background:#1a2c3b;border-color:#2b4053}
/* 0.18: Fili Developer Team update card */
.release-bubble{padding:0!important;max-width:min(92%,380px)!important;overflow:hidden}
.release-card{padding:16px 18px 14px;line-height:1.55}
.release-top{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.release-logo{width:40px;height:40px;border-radius:12px;flex:none}
.release-top strong{display:block;font-size:16px;line-height:1.3}
.release-top span{display:block;font-size:12px;opacity:.7}
.release-intro{margin:4px 0 6px;font-weight:600;font-size:14px}
.release-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.release-list li{position:relative;padding-inline-start:26px;font-size:14px}
.release-list li::before{content:"✓";position:absolute;inset-inline-start:0;top:1px;width:18px;height:18px;border-radius:50%;background:#c4a26333;color:#98712d;font-size:11px;font-weight:700;display:grid;place-items:center}
[data-theme=night] .release-list li::before{background:#c4a26340;color:#e7c98f}
.release-foot{margin:12px 0 0;padding-top:10px;border-top:1px solid #c4a26333;font-size:13px;opacity:.8}
/* 0.18: safety code */
.safety-code{font:600 20px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;text-align:center;padding:14px;margin:10px 0;border-radius:16px;background:#c4a2631f;word-spacing:.4em}

/* 0.19: Fili Premium */
[data-accent=ocean]{--navy:#0f6c8c;--accent-own:#0f6c8c}[data-accent=forest]{--navy:#2f6b4a;--accent-own:#2f6b4a}[data-accent=plum]{--navy:#6a3d7a;--accent-own:#6a3d7a}[data-accent=sunset]{--navy:#b4533a;--accent-own:#b4533a}[data-accent=graphite]{--navy:#3b4250;--accent-own:#3b4250}
[data-accent]:not([data-accent=classic]) .own .bubble{background:var(--accent-own);border-color:var(--accent-own);color:#fff}
[data-accent]:not([data-accent=classic]) .primary,[data-accent]:not([data-accent=classic]) #send{background:var(--accent-own)}
[data-power=saver] *{animation:none!important;transition:none!important}[data-power=saver] .glass-dock,[data-power=saver] .glass-sheet,[data-power=saver] .chat-header,[data-power=saver] .composer-area,[data-power=saver] dialog::backdrop{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.plan-badge{display:inline-flex;width:17px;height:17px;vertical-align:-3px;margin-inline-start:4px}.plan-badge svg{width:100%;height:100%}.plan-badge path:first-child{stroke:none}.plan-badge path:last-child{fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.plan-badge.pro path:first-child{fill:#2f8cff}.plan-badge.proplus path:first-child{fill:#d4a017}
.premium-card{margin:14px 0;padding:18px;border-radius:22px;background:linear-gradient(135deg,#193e53,#2c5f80);color:#fff;box-shadow:0 10px 30px #19364926}
.premium-card.plan-proplus{background:linear-gradient(135deg,#6b4e10,#c4a263)}.premium-card.plan-pro{background:linear-gradient(135deg,#123f6e,#2f8cff)}
.premium-head{display:flex;gap:12px;align-items:center}.premium-head strong{display:block;font-size:18px}.premium-head span{display:block;font-size:13px;opacity:.85}
.premium-mark{width:42px;height:42px;border-radius:14px;display:grid!important;place-items:center;background:#ffffff26;font-size:20px;flex:none}
.premium-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.premium-actions button{flex:1;min-width:90px;padding:10px 12px;border-radius:14px}
.premium-actions .primary{background:#fff!important;color:#193e53}.premium-actions .secondary{background:#ffffff22;color:#fff;border:1px solid #ffffff40}
.pref-row{display:flex;flex-direction:column;gap:8px;padding:10px 2px}.pref-row.locked .choice-row,.pref-row.locked .accent-row,.pref-row.locked .switch{opacity:.55}
.pref-label{font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.lock-pill{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:#2f8cff1f;color:#1f6fd1;cursor:pointer}.lock-pill.proplus{background:#d4a0172b;color:#8a6508}
.choice-row{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid #19364926;background:transparent;color:inherit;border-radius:999px;padding:7px 12px;font-size:13px;cursor:pointer}.chip.selected{background:var(--navy);color:#fff;border-color:var(--navy)}
.accent-row{display:flex;gap:10px;flex-wrap:wrap}.accent-dot{width:34px;height:34px;border-radius:50%;background:var(--dot);border:3px solid transparent;box-shadow:0 0 0 1px #19364920;cursor:pointer}.accent-dot.selected{border-color:#fff;box-shadow:0 0 0 2px var(--dot)}
.switch{position:relative;width:46px;height:28px;display:inline-block}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;inset:0;border-radius:999px;background:#19364930;transition:.2s}.switch span::after{content:"";position:absolute;width:22px;height:22px;top:3px;inset-inline-start:3px;border-radius:50%;background:#fff;transition:.2s}.switch input:checked+span{background:var(--navy)}.switch input:checked+span::after{transform:translateX(18px)}[dir=rtl] .switch input:checked+span::after{transform:translateX(-18px)}
.storage-used{font-size:13px;opacity:.75}
.plans-sheet{max-width:560px}.plan-grid{display:grid;gap:12px;margin:12px 0}.plan-card{border:1px solid #19364920;border-radius:20px;padding:14px 16px}.plan-card.focus{box-shadow:0 0 0 2px #d4a017}
.plan-card.pro{border-color:#2f8cff55}.plan-card.proplus{border-color:#d4a01788;background:linear-gradient(180deg,#d4a0170f,transparent)}
.plan-card header{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.plan-card header strong{font-size:17px}.plan-card header span{font-size:13px;font-weight:600;opacity:.8}
.plan-card ul{margin:10px 0;padding-inline-start:18px;font-size:13.5px;line-height:1.7}.plan-card .primary{width:100%}.plan-current{font-weight:600;font-size:13px;color:#2f6b4a;margin:4px 0 0}
.plan-actions{display:flex;gap:8px;margin-bottom:10px}.plan-actions button{flex:1}
[data-theme=night] .chip{border-color:#ffffff30}[data-theme=night] .plan-card{border-color:#ffffff22}[data-theme=night] .lock-pill{color:#8cc0ff}[data-theme=night] .lock-pill.proplus{color:#e7c98f}
.photo-note{display:block;max-width:min(260px,100%);max-height:320px;border-radius:14px;cursor:zoom-in;object-fit:cover}
.attachment-locked p{margin:6px 0;font-size:13px;opacity:.85}.file-download{display:inline-block;margin-top:6px;text-decoration:none}
.photo-lightbox{max-width:96vw;max-height:94vh;padding:8px;background:#000c}.photo-lightbox img{max-width:92vw;max-height:86vh;display:block;margin:auto;border-radius:10px}.photo-lightbox .icon{position:absolute;top:8px;inset-inline-end:8px;background:#fff;border-radius:50%;width:34px;height:34px}
.accent-dot[data-value=classic]{--dot:#193e53}.accent-dot[data-value=ocean]{--dot:#0f6c8c}.accent-dot[data-value=forest]{--dot:#2f6b4a}.accent-dot[data-value=plum]{--dot:#6a3d7a}.accent-dot[data-value=sunset]{--dot:#b4533a}.accent-dot[data-value=graphite]{--dot:#3b4250}
.premium-head strong{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.premium-actions button{font-size:14px;padding:10px 8px;white-space:nowrap}

/* 0.20: display size (whole app) and text size (chats, lists, settings) — both apply instantly */
[data-ui-scale="90"] .app-mode :is(.profile,.inbox-scroll,.messages)>*{zoom:.9}[data-ui-scale="110"] .app-mode :is(.profile,.inbox-scroll,.messages)>*{zoom:1.1}[data-ui-scale="120"] .app-mode :is(.profile,.inbox-scroll,.messages)>*{zoom:1.2}
[data-ui-scale]:not([data-ui-scale="100"]) .app-mode .app-shell{height:100%!important}
@media(min-width:1241px){[data-ui-scale]:not([data-ui-scale="100"]) .app-mode .app-shell{height:calc(100% - 48px)!important}}
[data-text-size=s]{--ts:.9}[data-text-size=l]{--ts:1.15}[data-text-size=xl]{--ts:1.3}
[data-text-size]:not([data-text-size=m]) .bubble{font-size:calc(16px*var(--ts))}
[data-text-size]:not([data-text-size=m]) .message-meta{font-size:calc(11px*var(--ts))}
[data-text-size]:not([data-text-size=m]) .message-editor{font-size:calc(16px*var(--ts))}
[data-text-size]:not([data-text-size=m]) .person-name{font-size:calc(15px*var(--ts))}
[data-text-size]:not([data-text-size=m]) .person-sub{font-size:calc(12.5px*var(--ts))}
[data-text-size]:not([data-text-size=m]) .person-time{font-size:calc(10.5px*var(--ts))}
[data-text-size]:not([data-text-size=m]) .home-title h1{font-size:calc(34px*var(--ts))}
[data-text-size]:not([data-text-size=m]) .hello,[data-text-size]:not([data-text-size=m]) .list-title{font-size:calc(12px*var(--ts))}
[data-text-size]:not([data-text-size=m]) .chat-header h2,[data-text-size]:not([data-text-size=m]) .peer h2{font-size:calc(17px*var(--ts))}
[data-text-size]:not([data-text-size=m]) .settings-category summary span,[data-text-size]:not([data-text-size=m]) .settings-row span{font-size:calc(15px*var(--ts))}
[data-text-size]:not([data-text-size=m]) .hint,[data-text-size]:not([data-text-size=m]) .pref-label{font-size:calc(13px*var(--ts))}
[data-text-size]:not([data-text-size=m]) .release-list li{font-size:calc(14px*var(--ts))}
[data-text-size]:not([data-text-size=m]) .search-wrap .search{font-size:calc(14px*var(--ts))}
/* 0.20: email, phone and contacts */
.code-line{display:flex;gap:10px;align-items:center;margin-top:-4px}.code-line .secondary{white-space:nowrap}
.code-input{font:600 22px/1 ui-monospace,Menlo,monospace;letter-spacing:.5em;text-align:center;max-width:150px}
.find-contacts{margin:10px 2px 0;font-size:13px}
.contact-info .pref-row{gap:6px}.contact-line{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;overflow-wrap:anywhere}
.phone-line{display:flex;gap:8px}.phone-line select{max-width:46%;min-width:0;border-radius:12px;padding:8px;border:1px solid var(--line);background:transparent;color:inherit}.phone-line input{flex:1;min-width:0}
.contact-actions{display:flex;gap:10px;align-items:center}
.friends-results{display:grid;gap:4px;margin:10px 0;max-height:40dvh;overflow:auto}.friends-results .person{width:100%;text-align:start;border:0;background:transparent;display:flex;gap:12px;align-items:center;padding:8px;border-radius:14px}
.recovery-sheet .warning{font-size:12.5px}

.message-editor.is-empty:before{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 20px)}
[data-text-size]:not([data-text-size=m]) .message-editor{line-height:1.35}
.confirm-actions button{white-space:nowrap}.confirm-actions .primary{min-width:120px}
.code-input{height:48px;border-radius:14px;border:1px solid var(--line);background:#f4f6f8;color:var(--ink);padding:0 12px}
.code-input:focus{outline:2px solid var(--gold);outline-offset:1px}
[data-theme=night] .code-input{background:#1c3448;border-color:#2a4356}
/* 0.20: short screens (phone landscape, large display size) keep the list usable */
@media (max-height:520px){.inbox .hello{display:none}.home-title h1{font-size:26px}.inbox-header{padding-top:10px;padding-bottom:6px}.welcome img,.welcome .mascot,.empty-workspace img{max-height:110px;width:auto}}
@media (max-height:520px){[data-text-size]:not([data-text-size=m]) .home-title h1{font-size:calc(26px*var(--ts))}}
@media (max-height:520px){.welcome .fili-video,.welcome video,.welcome picture,.welcome .mascot-wrap{max-height:120px;max-width:120px}}

/* 0.21: everything below the top bar scrolls up and fades; Filitext + icons stay */
.inbox-header{padding-bottom:6px!important}.inbox-header .topbar{margin-bottom:6px}
.inbox-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;touch-action:pan-y}
.inbox-scroll .conversation-list{overflow:visible!important;flex:none!important;min-height:auto}
.inbox-collapse{padding:6px 22px 0;will-change:opacity,transform;transform-origin:top}
.inbox .topbar{transition:box-shadow .2s}.inbox.header-collapsed .inbox-header{box-shadow:0 1px 0 var(--line)}
[data-power=saver] .inbox-collapse{will-change:auto}
@media (max-height:520px){.inbox-collapse .hello{display:none}}
/* 0.21: new message button with four choices */
.fab-wrap{position:absolute;inset:0;pointer-events:none;z-index:9}.fab-wrap[hidden]{display:none}
.fab{pointer-events:auto;position:absolute;inset-inline-end:18px;bottom:calc(max(18px,env(safe-area-inset-bottom)) + 84px);width:58px;height:58px;border-radius:50%;border:0;background:var(--navy);color:#fff;display:grid;place-items:center;box-shadow:0 10px 26px #19364945,0 2px 6px #19364930;transition:transform .2s,background .2s}
.fab svg{width:26px;height:26px;transition:transform .25s}.fab:active{transform:scale(.92)}.fab-wrap.open .fab svg{transform:rotate(45deg)}
.fab-scrim{pointer-events:auto;position:absolute;inset:0;background:#10273333;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.fab-menu{pointer-events:auto;position:absolute;inset-inline-end:18px;bottom:calc(max(18px,env(safe-area-inset-bottom)) + 154px);display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.fab-option{display:flex;align-items:center;gap:10px;border:0;background:transparent;padding:0;color:var(--ink);animation:fab-pop .22s ease both}
.fab-option span{background:var(--glass,#fff);border:1px solid var(--glass-line,#0001);padding:8px 14px;border-radius:999px;font-size:14px;font-weight:600;box-shadow:0 6px 18px #19364920;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);white-space:nowrap}
.fab-option i{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--navy);box-shadow:0 6px 18px #19364930}.fab-option svg{width:22px;height:22px}
.fab-option:nth-child(2){animation-delay:.03s}.fab-option:nth-child(3){animation-delay:.06s}.fab-option:nth-child(4){animation-delay:.09s}
@keyframes fab-pop{from{opacity:0;transform:translateY(12px) scale(.9)}to{opacity:1;transform:none}}
[data-theme=night] .fab-option i{background:#1c3448;color:#e7c98f}[data-theme=night] .fab-option span{background:#172a3aee;color:var(--ink)}
@media(min-width:761px){.fab{bottom:28px}.fab-menu{bottom:98px}}
/* 0.21: contacts */
.contacts-intro{margin:6px 4px 14px;padding:16px;border-radius:20px;background:var(--glass,#fff);border:1px solid var(--glass-line,#0001)}.contacts-intro strong{display:block;font-size:16px;margin-bottom:4px}.contacts-intro .primary{margin-top:10px;width:100%}
.contact-invite{display:flex;align-items:center;gap:12px}.contact-invite .chip{margin-inline-start:auto;text-decoration:none;flex:none}
.contact-initial{display:grid!important;place-items:center;background:#c4a26333;color:#98712d;font-weight:700}
.name-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:340px){.name-row{grid-template-columns:1fr}}
.glass-dock{width:min(340px,calc(100% - 40px))!important}
.fab-menu[hidden],.fab-scrim[hidden]{display:none!important}
.friends-sheet input,.phone-line input,.phone-line select{min-height:46px;border:1px solid var(--line);border-radius:13px;padding:10px 12px;background:var(--paper,#fff);color:var(--ink);font-size:16px}
.friends-sheet form input{width:100%}
.auth-form div.field{display:block;font-size:13px;font-weight:650}
/* 0.21.1: dock highlight sized for five tabs */
.glass-dock{--tabs:5}
.glass-dock::before{left:calc(7px + var(--active-tab,0)*(100% - 14px)/var(--tabs));width:calc((100% - 14px)/var(--tabs))}
html[dir=rtl] .glass-dock::before{left:auto;right:calc(7px + var(--active-tab,0)*(100% - 14px)/var(--tabs))}
.glass-dock{gap:0}

/* 0.21.1: "new update" notice sits at the top and opens Settings → Updates */
#update{top:max(10px,env(safe-area-inset-top))!important;bottom:auto!important;font-size:13px!important;font-weight:600;border-color:#c4a26388!important;gap:12px}
#update button{border-radius:12px;padding:8px 12px;font-weight:700}
#app-updates.flash{animation:update-flash 1.6s ease}@keyframes update-flash{0%,60%{box-shadow:0 0 0 3px #c4a263aa;border-radius:16px}100%{box-shadow:none}}

/* 0.21.1: account items inside the top profile box */
.account-block{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.account-block h4{margin:0 0 6px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.account-block #logout{margin-top:12px;width:100%}
.account-block h4{padding-inline:20px}
