:root{
 --safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;width:100%;height:100%;min-height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif}
body{overflow:hidden;position:fixed;inset:0;width:100%;height:var(--app-height,100vh);min-height:0;max-height:none;display:flex;flex-direction:column;background:
 radial-gradient(80% 55% at 50% -10%,rgba(139,92,255,.24),transparent 68%),
 radial-gradient(60% 48% at 100% 30%,rgba(255,57,184,.11),transparent 72%),
 radial-gradient(55% 42% at 0% 75%,rgba(69,232,255,.055),transparent 70%),var(--bg)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.026) 1px,transparent 1px);background-size:30px 30px;mask-image:linear-gradient(to bottom,#000,transparent 94%);z-index:0}
body:after{content:"PLASMA / CONTROL";position:fixed;right:-92px;top:38%;font:900 58px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.15em;color:rgba(255,255,255,.018);transform:rotate(90deg);pointer-events:none;z-index:0}
button,input,select{font:inherit}button{cursor:pointer}button:active{transform:scale(.98)}
.screen{flex:1 1 auto;min-height:0;height:auto;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;display:none;position:relative;z-index:1;scrollbar-width:none;padding-bottom:18px}.screen::-webkit-scrollbar{display:none}.screen.active{display:block}
#screen-thread.active{display:flex;flex-direction:column;padding-bottom:0;min-height:0}#screen-thread .thread-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scroll-behavior:smooth}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:10px;padding:calc(11px + var(--safe-top)) 15px 11px;background:linear-gradient(180deg,rgba(6,5,11,.98),rgba(6,5,11,.86));border-bottom:1px solid var(--line);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.topbar:after{content:"";position:absolute;left:15px;right:15px;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--pink),var(--violet),var(--cyan),transparent);opacity:.55}
.brand{display:flex;align-items:center;gap:8px;min-width:0}.brandmark{font:900 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em;white-space:nowrap}.brandmark i{font-style:normal;color:var(--pink)}
.status-chip{display:flex;align-items:center;gap:6px;margin-left:auto;padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.025);font:800 8px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);letter-spacing:.09em}.status-chip:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--dim)}.status-chip.live{color:var(--green);border-color:rgba(112,255,174,.22)}.status-chip.live:before{background:var(--green);box-shadow:0 0 10px var(--green)}
.back{display:none;color:var(--cyan);font-size:30px;line-height:20px;width:24px}.has-back .back{display:block}
/* live dashboard signal */
.live-strip{margin:0 15px 12px;padding:11px 13px;border:1px solid rgba(69,232,255,.16);border-radius:15px;background:linear-gradient(105deg,rgba(69,232,255,.055),rgba(139,92,255,.055),rgba(255,57,184,.035));display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}.live-strip-kicker{display:block;color:var(--cyan);font:900 7px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em}.live-strip strong{display:block;margin-top:4px;font-size:10px;letter-spacing:.02em}.live-strip-right{text-align:right}.live-strip-right span{display:block;color:var(--green);font-size:16px;font-weight:950;line-height:1}.live-strip-right small{display:block;margin-top:3px;color:var(--dim);font:900 6px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em}
/* command dashboard */
.hero{padding:18px 15px 12px}.eyebrow{color:var(--cyan);font:900 8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.19em}.hero-row{display:flex;align-items:flex-end;gap:14px;margin-top:7px}.hero h2{margin:0;font-size:30px;line-height:.96;font-weight:950;letter-spacing:-.055em}.hero h2 span{background:linear-gradient(90deg,#fff 5%,var(--pink) 48%,var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}.hero-copy{flex:1;min-width:0}.hero p{margin:8px 0 0;color:var(--muted);font-size:11px;line-height:1.45;max-width:330px}.core{width:58px;height:58px;flex:0 0 58px;border-radius:19px;border:1px solid var(--line2);display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.12),transparent 30%),linear-gradient(145deg,rgba(255,57,184,.15),rgba(139,92,255,.11));box-shadow:0 0 32px rgba(255,57,184,.10),inset 0 0 22px rgba(139,92,255,.07);font-size:24px}.live-stat{display:flex;align-items:center;gap:7px;margin-top:10px;color:var(--dim);font:900 8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em}.live-stat .dot{width:7px;height:7px;border-radius:50%;background:var(--dim)}.live-stat.live{color:var(--green)}.live-stat.live .dot{background:var(--green);box-shadow:0 0 12px var(--green)}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 15px 12px}.metric{position:relative;overflow:hidden;padding:12px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012));box-shadow:var(--glow)}.metric:after{content:"";position:absolute;right:-18px;bottom:-22px;width:48px;height:48px;border-radius:50%;background:rgba(139,92,255,.10);filter:blur(10px)}.metric.accent{border-color:rgba(69,232,255,.25)}.metric b{display:block;font-size:18px;line-height:1}.metric b.live-num{color:var(--green);text-shadow:0 0 15px rgba(112,255,174,.22)}.metric span{display:block;margin-top:5px;color:var(--dim);font:900 7px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase}
.command-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:0 15px 13px}.command{min-height:74px;padding:12px;border:1px solid var(--line);border-radius:16px;text-align:left;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.008));color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}.command b{display:block;font-size:12px}.command span{display:block;margin-top:5px;color:var(--muted);font-size:9px;line-height:1.35}.command .ico{font-size:17px;margin-bottom:5px}.command.hot{border-color:rgba(255,57,184,.28);background:linear-gradient(145deg,rgba(255,57,184,.10),rgba(139,92,255,.055))}
.section-head{display:flex;align-items:center;justify-content:space-between;padding:12px 15px 8px}.section-head b{font-size:10px;letter-spacing:.13em;text-transform:uppercase}.section-head span{color:var(--dim);font:800 8px ui-monospace,SFMono-Regular,Menlo,monospace}
/* dialogs */
.chatlist-row{position:relative;display:flex;align-items:center;gap:11px;padding:12px 15px;border-top:1px solid rgba(255,255,255,.045);background:linear-gradient(90deg,rgba(255,255,255,.018),transparent 75%);transition:.15s}.chatlist-row.unread{background:linear-gradient(90deg,rgba(255,57,184,.10),transparent)}.chatlist-row.unread:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;background:linear-gradient(var(--pink),var(--violet));box-shadow:0 0 12px var(--pink)}.avatar{width:44px;height:44px;flex-shrink:0;border-radius:14px;display:flex;align-items:center;justify-content:center;font:900 11px ui-monospace,SFMono-Regular,Menlo,monospace;color:#fff;background:linear-gradient(145deg,#1b1428,#0c0912);border:1px solid var(--line);box-shadow:0 0 18px rgba(139,92,255,.14);position:relative;overflow:hidden}.avatar:after{content:"";position:absolute;inset:-35%;background:linear-gradient(120deg,transparent 35%,rgba(255,255,255,.13),transparent 65%);transform:translateX(-80%);animation:sweep 4s infinite}.chatlist-info{flex:1;min-width:0}.chatlist-top{display:flex;justify-content:space-between;gap:8px}.chatlist-name{font-size:13px;font-weight:850;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chatlist-time{color:var(--dim);font:800 8px ui-monospace,SFMono-Regular,Menlo,monospace}.chatlist-preview{font-size:11px;color:var(--muted);margin:4px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unread-dot{width:7px;height:7px;border-radius:50%;background:var(--pink);box-shadow:0 0 10px var(--pink)}
/* thread */
.thread-title-wrap{flex:1;min-width:0}.thread-title-wrap h1{font-size:14px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.thread-sub{display:block;color:var(--dim);font:800 7px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.10em;margin-top:3px}.thread-body{padding:16px 13px 28px;display:flex;flex-direction:column;gap:10px}.row{display:flex;flex-direction:column;max-width:89%;min-width:0;animation:msgIn .20s ease-out}.row.mine{align-self:flex-end;align-items:flex-end}.row.theirs{align-self:flex-start;align-items:flex-start}.bubble{max-width:100%;word-break:break-word;overflow-wrap:anywhere;border:1px solid rgba(255,255,255,.065);border-radius:16px;padding:10px 12px;background:linear-gradient(145deg,#12101b,#0b0910);box-shadow:0 8px 24px rgba(0,0,0,.20)}.bubble.mine{background:linear-gradient(135deg,rgba(255,57,184,.90),rgba(116,74,255,.94));border-color:rgba(255,255,255,.14);box-shadow:0 7px 26px rgba(255,57,184,.17)}.bubble.private.theirs{border-color:rgba(69,232,255,.25);background:linear-gradient(145deg,rgba(17,32,40,.92),rgba(9,12,17,.98))}.bubble.private.mine{background:linear-gradient(135deg,rgba(62,188,255,.85),rgba(118,78,255,.95))}.bubble .text{font-size:13px;line-height:1.43;margin:0}.bubble .translation{font-size:11px;color:var(--muted);margin:7px 0 0;padding-top:7px;border-top:1px solid rgba(255,255,255,.09)}.bubble.mine .translation{color:rgba(255,255,255,.82)}.bubble .tag{margin-bottom:4px;color:var(--cyan);font:900 7px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase}.meta{font:800 7px ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--dim);margin:3px 6px 0}.photo-notice{align-self:stretch;display:flex;gap:11px;align-items:center;padding:13px;border:1px solid rgba(255,57,184,.28);border-radius:17px;background:linear-gradient(135deg,rgba(255,57,184,.08),rgba(139,92,255,.08),rgba(5,5,10,.76));box-shadow:inset 0 0 25px rgba(139,92,255,.04)}.photo-notice-icon{width:43px;height:43px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,rgba(255,57,184,.20),rgba(139,92,255,.20));border:1px solid var(--line2);font-size:21px}.photo-notice b{display:block;color:var(--pink);font:900 8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em}.photo-notice span{display:block;margin-top:4px;font-size:12px;font-weight:800}.photo-notice small{display:block;margin-top:4px;color:var(--muted);font-size:9px;line-height:1.35}
.composer{flex-shrink:0;border-top:1px solid var(--line);background:rgba(7,6,12,.95);padding:8px 12px calc(9px + var(--safe-bottom));backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.quickreplies{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none}.quickreplies::-webkit-scrollbar{display:none}.quickreplies button,.mini-btn{white-space:nowrap;font-size:9px;font-weight:850;padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.035);border:1px solid var(--line);color:#ddd4e7}.toggle{display:flex;gap:4px;background:#05050a;border:1px solid rgba(255,255,255,.05);border-radius:11px;padding:3px;margin-bottom:7px}.toggle button{flex:1;border:0;border-radius:8px;padding:6px;background:transparent;color:var(--dim);font:900 8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.07em}.toggle button.active.pub{background:rgba(139,92,255,.13);color:#ddd5ff}.toggle button.active.priv{background:linear-gradient(90deg,rgba(69,232,255,.14),rgba(139,92,255,.18));color:var(--cyan)}.toggle button.active.pvt{background:linear-gradient(90deg,rgba(255,57,184,.18),rgba(168,85,247,.24));color:#fff;box-shadow:inset 0 0 0 1px rgba(255,57,184,.24),0 0 12px rgba(255,57,184,.12)}.inputrow{display:flex;align-items:center;gap:7px}.inputrow #replyInput{flex:1;min-width:0;height:42px;display:flex;align-items:center;overflow-x:auto;overflow-y:hidden;white-space:nowrap;background:#07070c;border:1px solid var(--line);color:var(--text);border-radius:13px;padding:10px 12px;font-size:16px;line-height:20px;outline:none;-webkit-user-select:text;user-select:text;-webkit-overflow-scrolling:touch}.inputrow #replyInput:focus{border-color:rgba(255,57,184,.55);box-shadow:0 0 0 3px rgba(255,57,184,.06)}.inputrow #replyInput:empty:before{content:attr(data-placeholder);color:var(--dim);pointer-events:none}.send-btn{width:40px;height:40px;border:1px solid rgba(255,255,255,.12);border-radius:13px;color:#fff;background:linear-gradient(135deg,var(--pink),var(--violet));box-shadow:0 0 20px rgba(255,57,184,.22);font-weight:950}
/* viewers */
.users-header{position:sticky;top:0;z-index:15;padding:calc(13px + var(--safe-top)) 15px 12px;background:linear-gradient(180deg,rgba(7,6,12,.98),rgba(7,6,12,.88));border-bottom:1px solid var(--line);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}.users-head-row{display:flex;align-items:center;justify-content:space-between}.users-title{font-weight:950;font-size:18px}.users-title small{display:block;margin-top:3px;color:var(--cyan);font:800 7px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.15em}.user-count{padding:7px 10px;border:1px solid rgba(69,232,255,.22);border-radius:999px;color:var(--cyan);background:rgba(69,232,255,.035);font:900 9px ui-monospace,SFMono-Regular,Menlo,monospace}.users-toolbar{display:flex;gap:8px;margin-top:11px}.users-toolbar button,.control-btn{flex:1;border:1px solid var(--line);background:rgba(255,255,255,.03);color:#e9e0f0;border-radius:11px;padding:9px;font:900 8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase}.users-toolbar button.primary,.control-btn.primary{background:linear-gradient(90deg,rgba(255,57,184,.13),rgba(139,92,255,.13));border-color:rgba(255,57,184,.30)}.user-row{min-height:58px;position:relative;display:flex;align-items:center;gap:10px;padding:11px 15px;border-bottom:1px solid rgba(255,255,255,.045);background:rgba(255,255,255,.008);transition:.15s}.user-row.me-row{background:rgba(139,92,255,.08);border-left:2px solid rgba(255,57,184,.55)}.color-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;box-shadow:0 0 9px currentColor}.user-name{flex:1;font-size:13px;font-weight:800}.viewer-meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px}.viewer-badge{color:var(--cyan);font:900 7px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.greet-hint{font-size:14px;opacity:.7}
/* settings / voice */
.voice-hero{margin:14px 15px;padding:17px;border:1px solid rgba(255,57,184,.24);border-radius:19px;background:linear-gradient(135deg,rgba(255,57,184,.09),rgba(69,232,255,.035),rgba(255,255,255,.018));box-shadow:var(--glow)}.voice-hero b{display:block;color:var(--pink);font:900 8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.17em}.voice-hero strong{display:block;margin-top:5px;font-size:21px}.voice-hero span{display:block;margin-top:5px;color:var(--muted);font-size:10px;line-height:1.45}.voice-actions{display:flex;gap:8px;margin-top:12px}.voice-actions button{flex:1;border:1px solid var(--line);border-radius:11px;padding:9px;background:rgba(255,255,255,.035);color:#eee;font:900 8px ui-monospace,SFMono-Regular,Menlo,monospace}.voice-actions button.primary{background:linear-gradient(135deg,var(--pink),var(--violet));border-color:transparent}.settings-card{margin:14px 15px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.038),rgba(255,255,255,.012));box-shadow:var(--glow);overflow:hidden}.settings-card:before{content:"SYSTEM // CONTROL";display:block;padding:11px 14px;border-bottom:1px solid var(--line);color:var(--cyan);font:900 7px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.17em}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px}.settings-row+.settings-row{border-top:1px solid rgba(255,255,255,.05)}.settings-label{font-size:12px;font-weight:850;margin:0}.settings-sub{font-size:9px;color:var(--muted);margin:3px 0 0;line-height:1.35}.switch{width:45px;height:26px;border-radius:999px;position:relative;border:1px solid rgba(255,255,255,.08);flex-shrink:0;background:#0b0910}.switch.on{background:linear-gradient(90deg,var(--pink),var(--violet));box-shadow:0 0 14px rgba(255,57,184,.35)}.switch .knob{width:20px;height:20px;border-radius:50%;background:#fff;position:absolute;top:2px;transition:left .16s;box-shadow:0 1px 5px rgba(0,0,0,.35)}.switch.on .knob{left:22px}.switch.off .knob{left:2px}select{background:#0b0910;color:#e9e1ef;border:1px solid var(--line);border-radius:9px;padding:7px 9px;font-size:10px;font-weight:800;outline:none;max-width:145px}.state-pill{padding:6px 8px;border:1px solid var(--line);border-radius:8px;color:var(--muted);font:900 7px ui-monospace,SFMono-Regular,Menlo,monospace}.state-pill.live{color:var(--green);border-color:rgba(112,255,174,.24);background:rgba(112,255,174,.04)}.danger{color:#ff8dbb!important}
/* bottom nav */
.tabbar{flex:0 0 auto;position:relative;z-index:30;min-height:59px;display:flex;justify-content:space-around;align-items:center;padding:7px 5px calc(7px + var(--safe-bottom));background:rgba(6,5,11,.97);border-top:1px solid var(--line);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.tabbar button{position:relative;width:25%;height:45px;background:none;border:0;color:#62596c;font-size:0}.tabbar button:before{font-size:19px;line-height:1}.tabbar button[data-tab="list"]:before{content:"⌁"}.tabbar button[data-tab="users"]:before{content:"◉"}.tabbar button[data-tab="voice"]:before{content:"◒"}.tabbar button[data-tab="settings"]:before{content:"⚙"}.tabbar button.active{color:#fff;text-shadow:0 0 13px rgba(255,57,184,.75)}.tabbar button.active:after{content:"";position:absolute;left:50%;bottom:2px;transform:translateX(-50%);width:21px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--pink),var(--violet));box-shadow:0 0 10px var(--pink)}
/* misc */
.sparkle{position:fixed;left:0;bottom:-40px;z-index:0;pointer-events:none;user-select:none;line-height:1;will-change:transform,opacity;animation-name:sparkleFloat,sparklePulse;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite,infinite}.empty{padding:62px 25px;text-align:center;color:var(--dim);font:800 10px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace}.banner{position:sticky;top:0;z-index:40;padding:7px 12px;text-align:center;background:rgba(255,57,184,.10);border-bottom:1px solid var(--line2);color:#ff9ad6;font:800 8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.banner.hidden{display:none}.toast{position:fixed;top:calc(8px + var(--safe-top));left:18px;right:18px;z-index:100;display:flex;align-items:center;gap:8px;padding:9px 11px;border:1px solid var(--line2);border-radius:13px;background:rgba(14,10,20,.95);box-shadow:0 8px 24px rgba(0,0,0,.42),0 0 18px rgba(255,57,184,.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);cursor:pointer;animation:toastIn .18s ease-out}.toast .icon{font-size:14px}.toast b{color:#ff9cda;font-size:11px}.toast span.body{display:block;max-width:68vw;font-size:10px;color:#e9e1ef;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-shell{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:25px;background:radial-gradient(80% 60% at 50% 0%,rgba(139,92,255,.22),transparent 68%),#05040a}.auth-card{width:min(390px,100%);border:1px solid var(--line);border-radius:24px;padding:28px 22px;background:rgba(10,8,15,.95);box-shadow:0 0 48px rgba(139,92,255,.13)}
.tabbar button .tab-icon{width:21px;height:21px;display:block;transition:.18s ease;filter:drop-shadow(0 0 0 transparent)}.tabbar button .tab-icon path,.tabbar button .tab-icon circle,.tabbar button .tab-icon rect,.tabbar button .tab-icon line{stroke:currentColor}.tabbar button.active .tab-icon{transform:translateY(-1px);filter:drop-shadow(0 0 8px rgba(255,57,184,.65))}.header-icon{width:19px;height:19px;display:block}.header-icon *{stroke:currentColor}.chat-head-actions{display:flex;align-items:center;gap:7px}.read-all-btn{display:flex;align-items:center;gap:5px;min-height:34px;padding:0 9px;border:1px solid rgba(112,255,174,.20);border-radius:11px;background:rgba(112,255,174,.045);color:#dfffee;font:900 7px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.07em;white-space:nowrap}.read-all-btn b{min-width:16px;padding:2px 4px;border-radius:999px;background:rgba(255,57,184,.14);color:var(--pink);font-size:7px;text-align:center}.read-all-btn:disabled{opacity:.42;filter:saturate(.65)}.chat-head .icon-btn{display:grid;place-items:center}.online-pill{white-space:nowrap}.screen.active{touch-action:pan-y}.screen.active .topbar{position:sticky;top:0}.settings-card:last-of-type{margin-bottom:18px}
@keyframes sweep{0%,65%,100%{transform:translateX(-80%)}80%{transform:translateX(80%)}}@keyframes sparkleFloat{0%{transform:translate3d(0,0,0) rotate(0deg);opacity:0}10%{opacity:.75}100%{transform:translate3d(0,-115vh,0) rotate(18deg);opacity:0}}@keyframes sparklePulse{0%,100%{filter:brightness(.8)}50%{filter:brightness(1.35)}}@keyframes msgIn{from{transform:translateY(5px);opacity:0}to{transform:none;opacity:1}}@keyframes toastIn{from{transform:translateY(-12px);opacity:0}to{transform:none;opacity:1}}@media(min-width:600px){body{align-items:center}.screen,.tabbar{width:520px;max-width:520px}.screen{margin:0 auto}.tabbar{margin:0 auto}.banner{position:fixed;top:0;left:50%;width:520px;max-width:520px;transform:translateX(-50%)}}

/* PLASMA 5.1 // focused mobile layout */
.chat-topbar{padding-bottom:10px}.online-pill{display:flex;align-items:center;gap:6px;margin-left:auto;color:var(--muted);font:900 8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em}.online-pill span{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 11px var(--green)}.online-pill b{color:#fff;font-size:10px}.chat-head{display:flex;align-items:center;justify-content:space-between;padding:20px 15px 14px}.chat-head h1,.settings-intro h1{margin:5px 0 0;font-size:27px;letter-spacing:-.045em}.icon-btn{width:42px;height:42px;border-radius:14px;border:1px solid rgba(255,57,184,.28);background:linear-gradient(145deg,rgba(255,57,184,.11),rgba(139,92,255,.09));color:#fff;font-size:18px;box-shadow:0 0 24px rgba(255,57,184,.08)}.chat-home-list{padding-bottom:14px}.chat-home-list .chatlist-row{padding:14px 15px;min-height:70px}.chat-home-list .avatar{width:46px;height:46px}.chat-home-list .chatlist-name{font-size:14px}.chat-home-list .chatlist-preview{font-size:11px}.online-hero{margin:14px 15px 10px;padding:18px;border-radius:22px;border:1px solid rgba(69,232,255,.19);background:radial-gradient(100% 120% at 100% 0,rgba(255,57,184,.13),transparent 58%),linear-gradient(145deg,rgba(69,232,255,.06),rgba(255,255,255,.018));box-shadow:var(--glow)}.online-big{display:flex;align-items:flex-end;gap:10px;margin-top:7px}.online-big strong{font-size:45px;line-height:.92;letter-spacing:-.07em}.online-big span{color:var(--muted);font:900 8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em;margin-bottom:3px}.online-signal{margin-top:12px;color:var(--green);font:900 8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.10em}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 15px 12px}.quick-grid button{min-height:46px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.028);color:#eee;font-weight:800;font-size:11px}.quick-grid button:active{background:rgba(255,57,184,.13);border-color:rgba(255,57,184,.3)}.online-actions{display:flex;gap:8px;padding:0 15px 5px}.online-actions .control-btn{min-height:40px}.stats-hero{margin:14px 15px 10px;padding:20px;border-radius:22px;border:1px solid rgba(255,57,184,.27);background:radial-gradient(90% 130% at 100% 0,rgba(139,92,255,.16),transparent 60%),linear-gradient(145deg,rgba(255,57,184,.09),rgba(255,255,255,.015));box-shadow:var(--glow)}.stats-money{margin-top:9px;font-size:42px;line-height:.95;font-weight:950;letter-spacing:-.06em;background:linear-gradient(90deg,#fff,var(--pink),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}.stats-money-sub{margin-top:8px;color:var(--muted);font:800 9px ui-monospace,SFMono-Regular,Menlo,monospace}.stats-money-sub b{color:#fff;font-size:11px}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:0 15px 12px}.stat-card{padding:14px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.038),rgba(255,255,255,.008));box-shadow:var(--glow)}.stat-card.hot{border-color:rgba(255,57,184,.28)}.stat-card b{display:block;font-size:22px;line-height:1}.stat-card span{display:block;margin-top:5px;color:var(--dim);font:900 7px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em}.events-card{margin:0 15px 20px;border:1px solid var(--line);border-radius:17px;overflow:hidden;background:rgba(255,255,255,.015)}.event-row{display:flex;align-items:center;gap:10px;padding:11px 12px;border-bottom:1px solid rgba(255,255,255,.045)}.event-row:last-child{border-bottom:0}.event-icon{width:29px;height:29px;display:grid;place-items:center;border-radius:9px;background:rgba(255,57,184,.09);font-size:13px}.event-main{min-width:0;flex:1}.event-main b{display:block;font-size:10px}.event-main span{display:block;margin-top:2px;color:var(--muted);font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-time{color:var(--dim);font:800 7px ui-monospace,SFMono-Regular,Menlo,monospace}.earnings-summary{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:8px;padding:0 15px 12px}.earnings-mini{padding:12px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.012));box-shadow:var(--glow);min-width:0}.earnings-mini.primary{border-color:rgba(112,255,174,.2);background:linear-gradient(145deg,rgba(112,255,174,.07),rgba(255,255,255,.01))}.earnings-mini b{display:block;font-size:17px;line-height:1;letter-spacing:-.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.earnings-mini span{display:block;margin-top:5px;color:var(--dim);font:900 7px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.11em}.earnings-history-card{margin:0 15px 18px;border:1px solid var(--line);border-radius:17px;overflow:hidden;background:rgba(255,255,255,.015);box-shadow:var(--glow)}.earnings-history-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line)}.earnings-history-head .title-wrap b{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.earnings-history-head .title-wrap span{display:block;margin-top:4px;color:var(--dim);font:800 7px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.earnings-reset{min-height:34px;padding:0 11px;border-radius:10px;border:1px solid rgba(255,80,120,.28);background:rgba(255,80,120,.07);color:#ff8aa0;font:900 8px ui-monospace,SFMono-Regular,Menlo,monospace}.earnings-reset:active{background:rgba(255,80,120,.14)}.earnings-list{display:flex;flex-direction:column}.earnings-day{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border-bottom:1px solid rgba(255,255,255,.045)}.earnings-day:last-child{border-bottom:0}.earnings-day.is-today{background:linear-gradient(90deg,rgba(255,57,184,.075),transparent 75%)}.earnings-date{min-width:0}.earnings-date strong{display:block;font-size:11px}.earnings-date span{display:block;margin-top:4px;color:var(--muted);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.earnings-value{text-align:right;flex:0 0 auto}.earnings-value b{display:block;color:var(--green);font-size:16px;letter-spacing:-.03em}.earnings-value span{display:block;margin-top:3px;color:var(--dim);font:800 7px ui-monospace,SFMono-Regular,Menlo,monospace}.earnings-empty{padding:18px 14px;color:var(--dim);font-size:9px;line-height:1.5}.settings-actions{display:grid;gap:8px;padding:12px 14px 14px}.settings-action-btn{min-height:42px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);color:#fff;font-weight:850;text-align:left;padding:0 12px}.settings-action-btn.danger{border-color:rgba(255,80,120,.28);background:rgba(255,80,120,.05);color:#ff8aa0}.settings-action-btn span{display:block;color:var(--dim);font:800 7px ui-monospace,SFMono-Regular,Menlo,monospace;margin-top:3px}.settings-action-row{display:flex;align-items:center;gap:10px}.settings-action-row>div{flex:1;min-width:0}.settings-action-row .control-btn{flex:0 0 auto}.settings-card.compact-card{margin-top:0}.settings-foot{padding-top:10px}
.settings-intro{padding:20px 15px 10px}.settings-intro p{margin:6px 0 0;color:var(--muted);font-size:10px;line-height:1.4}.card-title{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line);color:var(--cyan);font:900 7px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em}.card-title b{color:var(--green);font-size:7px}.settings-card{margin:0 15px 12px}.settings-row{padding:13px 14px}.control-btn.compact{flex:0 0 auto;padding:8px 10px}.settings-foot{text-align:center;padding:8px 15px 28px;color:var(--dim);font:900 7px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.15em}.settings-foot span{color:var(--pink);margin-left:8px}.tabbar{min-height:65px;padding:5px 5px calc(5px + var(--safe-bottom));gap:2px}.tabbar button{height:51px;width:25%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#62596c}.tabbar button:before{display:none}.tabbar button span{font-size:18px;line-height:1}.tabbar button small{font:900 6px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.10em}.tabbar button.active{color:#fff}.tabbar button.active span{text-shadow:0 0 14px var(--pink)}.tabbar button.active:after{bottom:1px;width:24px;height:2px}.thread-topbar{position:sticky}.screen.active#screen-thread{padding-bottom:0}.screen.active#screen-thread + .tabbar{display:none}.composer{position:sticky;bottom:0;z-index:25;padding:7px 10px calc(2px + var(--safe-bottom-live,var(--safe-bottom)));border-top:1px solid rgba(255,57,184,.18);background:rgba(7,6,12,.97)}.composer .quickreplies{padding-bottom:6px}.composer .toggle{margin-bottom:6px}.inputrow #replyInput{height:42px;font-size:16px;padding:9px 12px}.send-btn{height:42px;width:42px}.thread-body{padding-bottom:12px!important}.thread-body:after{content:"";display:block;height:2px;flex:0 0 2px}.screen.active#screen-thread{min-height:0}.screen.active#screen-thread .thread-body{overscroll-behavior-y:contain}

.voice-cache-row{display:flex;align-items:center;gap:12px}.voice-cache-card .settings-row{padding-top:12px;padding-bottom:14px}.voice-cache-track{height:4px;margin-top:8px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}.voice-cache-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--pink));box-shadow:0 0 10px rgba(255,57,184,.45);transition:width .25s ease}.danger-btn{border-color:rgba(255,80,120,.3)}.danger-btn:disabled{opacity:.5}.voice-sender{color:var(--cyan)!important}.voice-history-sentinel{display:block;width:100%;padding:10px 12px;text-align:center;color:var(--dim);font:900 8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.10em;user-select:none;background:rgba(255,255,255,.018);border:1px solid rgba(255,255,255,.05);border-radius:12px;cursor:pointer}.voice-history-sentinel:active{border-color:rgba(255,57,184,.3);color:#fff}
.thread-body{scroll-behavior:auto!important}

/* Subtle Dynamic-Island halo: the real island remains untouched, while the
   Plasma shell visually acknowledges the hardware cutout instead of leaving
   a dead black rectangle at the top of the PWA. */
html.pwa-standalone::before{
  content:"";
  position:fixed;
  z-index:2;
  top:-12px;
  left:50%;
  width:190px;
  height:70px;
  transform:translateX(-50%);
  pointer-events:none;
  border-radius:0 0 40px 40px;
  background:radial-gradient(ellipse at center top,rgba(255,57,184,.16) 0%,rgba(139,92,255,.10) 34%,rgba(69,232,255,.045) 52%,transparent 74%);
  filter:blur(8px);
}


.screen{padding-bottom:calc(18px + var(--safe-bottom))}
.screen.active#screen-thread{padding-bottom:0}
.settings-card{border-radius:19px;box-shadow:0 14px 42px rgba(0,0,0,.28),0 0 24px rgba(139,92,255,.07)}
.settings-row{min-height:54px}
.settings-row>select,.settings-row>.control-btn{width:118px;min-width:118px;min-height:38px;display:flex;align-items:center;justify-content:center}
.settings-row>.switch{width:48px;height:28px}
.settings-row.stacked{display:block;padding:14px}
.settings-row.stacked .settings-label{margin:0 0 4px}
.settings-input{width:100%;height:42px;margin-top:10px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.035);color:var(--text);outline:none;font-size:13px}
.settings-input:focus{border-color:rgba(255,57,184,.55);box-shadow:0 0 0 3px rgba(255,57,184,.08)}
.settings-action-btn.primary{border-color:rgba(255,57,184,.38);background:linear-gradient(135deg,rgba(255,57,184,.12),rgba(139,92,255,.12))}
.settings-credential-status{min-height:16px;padding:0 14px 12px;color:var(--green);font-size:9px;text-align:center}
.web-mode .web-mode-only{display:grid}
.web-mode .settings-actions.web-mode-only{display:grid}
.notify-prompt{position:fixed;inset:0;z-index:1100;display:none;align-items:flex-end;justify-content:center;padding:18px 15px calc(18px + var(--safe-bottom));background:rgba(4,3,8,.63);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.notify-prompt.show{display:flex}
.notify-prompt-card{width:min(430px,100%);padding:22px 18px 16px;border:1px solid rgba(255,57,184,.30);border-radius:24px;background:linear-gradient(160deg,rgba(22,12,34,.98),rgba(7,5,12,.98));box-shadow:0 22px 60px rgba(0,0,0,.55),0 0 34px rgba(255,57,184,.12)}
.notify-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;margin-bottom:13px;color:#fff;font-size:21px;background:linear-gradient(145deg,var(--pink),var(--violet));box-shadow:0 0 26px rgba(255,57,184,.25)}
.notify-kicker{color:var(--cyan);font:900 8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.16em}
.notify-prompt-card h2{margin:6px 0 8px;font-size:22px;letter-spacing:-.035em}
.notify-prompt-card p{margin:0 0 16px;color:var(--muted);font-size:10px;line-height:1.5}
.notify-primary,.notify-secondary{width:100%;height:44px;border-radius:12px;font:900 9px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}
.notify-primary{color:#fff;background:linear-gradient(135deg,var(--pink),var(--violet));box-shadow:0 10px 28px rgba(255,57,184,.18)}
.notify-secondary{margin-top:7px;color:var(--muted);background:rgba(255,255,255,.025);border:1px solid var(--line)}
.notify-ok{color:var(--green)!important}
@media (max-width:390px){.settings-row>select,.settings-row>.control-btn{width:108px;min-width:108px}.settings-intro{padding-top:14px}}
.web-auth{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:24px;background:
 radial-gradient(80% 60% at 50% -5%,rgba(139,92,255,.28),transparent 64%),
 radial-gradient(70% 55% at 100% 75%,rgba(255,57,184,.13),transparent 72%),#05040a;overflow:auto}
.web-auth.show{display:flex}.web-auth-card{width:min(410px,100%);padding:28px 22px 20px;border:1px solid rgba(255,57,184,.25);border-radius:28px;background:linear-gradient(155deg,rgba(19,12,31,.96),rgba(7,5,12,.98));box-shadow:0 28px 80px rgba(0,0,0,.56),0 0 60px rgba(139,92,255,.13);position:relative;overflow:hidden}.web-auth-card:after{content:"";position:absolute;left:-20%;right:-20%;bottom:-65px;height:140px;background:radial-gradient(closest-side,rgba(255,57,184,.18),transparent);filter:blur(20px);pointer-events:none}.web-auth-brand{display:flex;align-items:center;gap:14px;margin-bottom:22px}.web-auth-icon{width:58px;height:58px;border-radius:18px;flex:0 0 58px;border:1px solid rgba(255,57,184,.42);background:radial-gradient(circle at 38% 28%,rgba(255,255,255,.14),transparent 28%),linear-gradient(145deg,rgba(255,57,184,.20),rgba(139,92,255,.18));display:grid;place-items:center;box-shadow:0 0 32px rgba(255,57,184,.16)}.web-auth-icon svg{width:34px;height:34px}.web-auth-kicker{color:var(--cyan);font:900 8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.19em}.web-auth-title{margin:2px 0 0;font-size:25px;letter-spacing:-.04em;font-weight:950}.web-auth-title span{background:linear-gradient(90deg,#fff,var(--pink),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}.web-auth-sub{margin:0 0 18px;color:var(--muted);font-size:11px;line-height:1.5}.web-auth-label{display:block;color:var(--dim);font:900 8px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.13em;margin:12px 0 7px}.web-auth-input{width:100%;height:48px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--text);padding:0 14px;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}.web-auth-input:focus{border-color:rgba(255,57,184,.5);box-shadow:0 0 0 3px rgba(255,57,184,.09)}.web-auth-submit{width:100%;height:50px;margin-top:16px;border:1px solid rgba(255,57,184,.45);border-radius:15px;color:#fff;font-weight:900;background:linear-gradient(135deg,#ff39b8,#8b5cff);box-shadow:0 12px 32px rgba(255,57,184,.18)}.web-auth-error{min-height:18px;margin-top:9px;color:#ff9abf;font-size:10px;text-align:center}.web-auth-foot{margin-top:16px;text-align:center;color:var(--dim);font:800 7px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.12em}.web-install-hint{margin-top:11px;color:var(--dim);font-size:9px;line-height:1.4;text-align:center}.web-logout{display:none;margin-top:12px}.web-mode-only{display:none}
/* Shared touch layout: a single viewport owner for Safari, PWA and Telegram. */
html,html.pwa-standalone{height:100vh;min-height:0;overflow:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body,html.pwa-standalone body{
 position:fixed;inset:var(--app-visual-top,0px) 0 auto;
 width:100%;height:var(--app-height,100dvh);min-height:0;max-height:none;
}
#screen-thread.active{overflow:hidden;height:auto;min-height:0}
.thread-topbar{position:relative;flex:0 0 auto}
#screen-thread .thread-body{overflow-anchor:none}
.thread-body>.row,.thread-body>.photo-notice,.voice-history-sentinel{flex-shrink:0}
#screen-thread .composer{position:relative;bottom:auto;transform:none;flex:0 0 auto;padding:6px 14px calc(6px + var(--safe-bottom-live,var(--safe-bottom)))}
html.keyboard-open #screen-thread .composer{padding-bottom:0}
html.keyboard-open .composer .quickreplies{display:flex}
html.keyboard-open .thread-topbar{padding-top:calc(8px + var(--safe-top));padding-bottom:8px}
html.keyboard-open .sparkle{visibility:hidden}
/* Plasma: readable surfaces, consistent spacing and generous touch targets. */
body{background:radial-gradient(90% 50% at 60% -15%,rgba(139,92,255,.2),transparent 75%),#090711}
body:after{display:none}
.screen{padding-bottom:22px}
.topbar{padding-right:20px;padding-left:20px;background:rgba(12,9,19,.93)}
.brandmark{font-size:11px;letter-spacing:.12em}
.status-chip,.online-pill{font-size:10px;letter-spacing:.02em}
.chat-head,.settings-intro{padding:18px 16px 14px}
.chat-head h1,.settings-intro h1{font-size:23px;font-weight:650;line-height:1.2;letter-spacing:-.035em;margin:7px 0 0}
.eyebrow{font-size:10px;letter-spacing:.12em;color:#c9afff}
.chat-head-actions{gap:8px}
.read-all-btn{min-height:44px;font-size:10px;padding:8px 10px}
.icon-btn,.back{min-width:44px;min-height:44px;border-radius:14px}
.back{background:rgba(139,92,255,.08);border:1px solid var(--line);color:#dfcaff}
.chatlist-row{margin:0 12px 4px;padding:10px 11px;border:1px solid transparent;border-radius:18px;background:rgba(255,255,255,.025)}
.chatlist-row.unread{border-color:rgba(255,57,184,.17);background:linear-gradient(105deg,rgba(255,57,184,.08),rgba(139,92,255,.04))}
.chatlist-row.unread:before{display:none}
.chatlist-name{font-size:14px;font-weight:600}.chatlist-preview{font-size:12px;line-height:1.4}.chatlist-time{font-size:10px}
.avatar{width:38px;height:38px;border-radius:12px;box-shadow:none}.avatar:after{animation-duration:10s}
.thread-title-wrap h1{font-size:15px;font-weight:600}.thread-sub{font-family:inherit;font-weight:500;font-size:11px;letter-spacing:0}
.thread-body{padding:10px 12px;gap:6px}.bubble{padding:8px 10px;border-radius:15px;box-shadow:0 3px 12px rgba(0,0,0,.12)}
.bubble .text{font-size:14px;font-weight:400;line-height:1.4}.bubble .translation{font-size:12px;font-weight:400;line-height:1.45;margin-top:5px;padding-top:5px}
.bubble .tag{font-size:9px;letter-spacing:.07em}.row{max-width:91%}.row.mine .bubble{border-bottom-right-radius:6px}.row.theirs .bubble{border-bottom-left-radius:6px}
.voice-audio{min-width:210px;color-scheme:dark}.voice-history-sentinel{min-height:44px;color:#cdb7ef;font-size:11px;letter-spacing:0;border-color:rgba(174,132,255,.2);background:rgba(139,92,255,.07);margin:4px 0}
.voice-history-sentinel:disabled{opacity:.7;cursor:progress}
.quickreplies{gap:6px}.quickreplies button{min-height:30px;font-size:11px;font-weight:500;padding:5px 10px}
.composer .quickreplies{padding-bottom:4px}.composer .toggle{margin-bottom:5px;border-radius:13px}.toggle button{min-height:32px;font-family:inherit;font-weight:500;font-size:11px;letter-spacing:0}
.inputrow{gap:9px}.inputrow #replyInput{height:46px;border-radius:16px;background:rgba(255,255,255,.045);padding:12px;font-size:16px}
.send-btn{width:46px;height:46px;flex:0 0 46px;border-radius:16px;font-size:19px;box-shadow:0 4px 18px rgba(255,57,184,.16)}
.tabbar{flex:0 0 auto;min-height:60px;padding:5px 12px calc(5px + var(--safe-bottom-live,var(--safe-bottom)));border-top:1px solid var(--line);background:rgba(12,9,19,.97)}
.tabbar button{height:46px;border-radius:15px;gap:5px}.tabbar button small{font-size:10px;letter-spacing:0;font-family:inherit;font-weight:500}.tabbar button.active{background:rgba(139,92,255,.1);color:#ddc6ff}.tabbar button.active:after{display:none}
.settings-intro{padding:14px 16px 12px}.settings-intro h1{font-size:21px;margin:0}.settings-intro p{font-size:11px;line-height:1.4;margin-top:5px;max-width:330px}
.settings-card{margin:0 14px 9px;border-radius:14px;background:linear-gradient(135deg,rgba(173,139,223,.06),rgba(255,255,255,.015));box-shadow:none}
.settings-card:before{display:none}.card-title{padding:8px 12px;font-family:inherit;font-weight:600;font-size:11.5px;letter-spacing:0;color:#d0b9f4;background:rgba(139,92,255,.035)}.card-title b{font-size:9px;letter-spacing:.02em}
.settings-row{min-height:52px;padding:7px 12px;gap:10px;align-items:center}.settings-row>div:first-child{flex:1;min-width:0}
.settings-label{font-size:12.5px!important;font-weight:500;line-height:1.3;margin:0 0 2px}.settings-sub{font-size:10.5px!important;font-weight:400!important;line-height:1.35!important;letter-spacing:0!important;margin:0;color:var(--muted)}
.settings-row>select,.settings-row>.control-btn{width:112px;min-width:112px;min-height:38px;font-family:inherit;font-weight:500;font-size:12px;border-radius:13px;background-color:#171120;color:#eee6fa;border:1px solid var(--line);padding:9px}
.settings-row>select{font-size:16px;font-weight:400}.settings-row>.switch{width:50px;height:30px;flex:0 0 50px;position:relative}.settings-row>.switch:after{content:"";position:absolute;inset:-7px 0}
.settings-input{font-size:16px;height:42px;margin-top:6px}.settings-row.stacked{padding:10px 12px}
.settings-actions{padding:8px 10px;gap:6px}.settings-action-btn{padding:8px 10px;font-size:11.5px;font-weight:500;line-height:1.4;min-height:44px}.settings-action-btn span{font-size:10.5px;font-weight:400;line-height:1.35;letter-spacing:0;margin-top:3px;color:var(--muted)}
.settings-action-row strong{font-size:20px}.settings-action-btn span{font-family:inherit}.settings-credential-status{font-size:12px}.state-pill{font-size:11px;white-space:nowrap}.settings-foot{font-size:10px;letter-spacing:.07em}
.section-head{padding:18px 20px 12px}.section-head b{font-size:12px;letter-spacing:.04em}.section-head span{font-size:10px}.user-row{min-height:60px}.username{font-size:14px}
.stat-card span,.earnings-mini span{font-size:10px;letter-spacing:.05em}.stat-card{border-radius:14px;padding:12px}.stat-card b{font-size:20px;font-weight:600}.stats-money-sub{font-size:11px}.event-main b{font-size:12px}.event-main span{font-size:11px}.event-time{font-size:10px}
.earnings-date strong{font-size:13px}.earnings-date span{font-size:10px;white-space:normal;line-height:1.5}.earnings-value span{font-size:9px}.earnings-history-head .title-wrap b{font-size:12px;letter-spacing:0}.earnings-reset{min-height:44px;font-size:10px}
.web-auth-input{font-size:16px}.web-auth-label{font-size:10px}.web-auth-sub,.web-install-hint{font-size:12px}.web-auth-error{font-size:12px}.web-auth-foot{font-size:9px}.empty{font-size:14px;font-weight:400;line-height:1.6;padding:48px 24px}
.sparkle.money-symbol{color:#70ffae;font-family:Georgia,serif;font-weight:900;text-shadow:0 0 7px rgba(112,255,174,.65),0 2px 1px #17683c}
:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}
@media(max-width:374px){.settings-row{gap:8px;padding:10px}.settings-row>select,.settings-row>.control-btn{width:108px;min-width:108px}.chat-head{padding:20px 16px}.read-all-btn span{display:none}.bubble .text{font-size:14px}.voice-audio{min-width:185px}}
@media(prefers-reduced-motion:reduce){.sparkle{display:none}.avatar:after,.row,.toast{animation:none!important}*{scroll-behavior:auto!important}}

/* Standard system typography; decorative branding never sets the reading font. */
body,button,input,select{font-family:var(--ui-font);font-weight:400}
.brandmark,.eyebrow,.status-chip,.online-pill,.chatlist-time,.avatar,.bubble .tag,
.quickreplies button,.voice-history-sentinel,.card-title b,.settings-foot,.state-pill,
.section-head b,.section-head span,.stat-card span,.earnings-mini span,.earnings-value span,
.earnings-history-head .title-wrap span,.earnings-reset,.read-all-btn,.settings-action-btn span{
 font-family:var(--ui-font);font-weight:500;letter-spacing:0;
}
.brandmark{font-weight:650;letter-spacing:.08em}
.settings-row .control-btn{text-transform:none;letter-spacing:0}
.settings-row>select,.settings-row>.control-btn{flex:0 0 auto}
#webLogoutWrap{padding:0;margin:0 14px 12px}
#webLogoutWrap>.settings-action-btn{width:100%}
.settings-card.settings-access{display:none}
.web-mode .settings-card.settings-access{display:block}
.settings-access>summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;padding:10px 12px;min-height:52px}
.settings-access>summary::-webkit-details-marker{display:none}
.settings-access>summary>div{flex:1;min-width:0}
.settings-access>summary b{display:block;font-size:12.5px;font-weight:500}
.settings-access>summary small{display:block;margin-top:2px;font-size:10.5px;color:var(--muted)}
.settings-access>summary:after{content:"⌄";font-size:19px;color:var(--muted);transition:transform .15s}
.settings-access[open]>summary:after{transform:rotate(180deg)}
.settings-access[open]>summary{border-bottom:1px solid var(--line)}
.settings-access .settings-row{min-height:0;border-bottom:0}
.settings-access .settings-label{display:block}
.settings-access .settings-credential-status:empty{display:none}
.sparkle{opacity:.55}

/* Product surfaces. Viewport and keyboard geometry above are shared by all
   modes; visual rules here deliberately do not recalculate either. */
body { background: var(--bg); font-family: var(--ui-font); }
body:before, html.pwa-standalone:before { display: none; }
button { transition: background-color var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast); }
button:active { transform: none; filter: brightness(1.18); }
button:disabled { cursor: default; opacity: .5; filter: none; }
button:disabled:active { filter: none; }
:focus-visible { outline: 2px solid var(--cyan); outline-offset: 3px; }
button:focus-visible { z-index: 2; }
.topbar { background: var(--bg); border-color: var(--line); backdrop-filter: none; -webkit-backdrop-filter: none; }
.topbar:after { left: 16px; right: 16px; width: auto; background: linear-gradient(90deg,transparent,var(--pink),var(--violet),transparent); opacity: .65; }
.brandmark { color: var(--text); font-size: 12px; letter-spacing: .1em; }
.brandmark i { color: var(--violet); }
.online-pill, .status-chip { color: var(--muted); background: var(--panel); border: 1px solid var(--line); padding: 6px 9px; font-size: 10px; }
.online-pill { border-radius: 99px; }
.online-pill span, .status-chip.live:before { box-shadow: none; }
.status-chip.live { color: var(--green); border-color: #38574d; }
.chat-head { padding: 20px 16px 16px; gap: 12px; }
.chat-head h1 { margin: 0; font-size: 26px; font-weight: 650; }
.chat-head .eyebrow { display: none; }
.icon-btn, .back, .read-all-btn { background: var(--panel); border: 1px solid var(--line); color: var(--muted); border-radius: var(--radius-md); box-shadow: none; }
.read-all-btn { font-size: 11px; }
.read-all-btn b { color: var(--violet); background: var(--accent-soft); font-size: 10px; }
.chat-home-list { padding: 0 12px 16px; }
.chat-home-list .chatlist-row { margin: 0; min-height: 76px; padding: 12px; border: 0; border-radius: 0; background: transparent; cursor: pointer; transition: background-color .16s ease, border-color .16s ease; }
.chat-home-list .chatlist-row:not(:last-child)::after { content: ""; position: absolute; bottom: 0; left: 66px; right: 0; height: 1px; background: rgba(192,177,210,.12); pointer-events: none; }
.chat-home-list .chatlist-row.unread { background: rgba(192,161,255,.07); }
.chat-home-list .avatar { width: 42px; height: 42px; border-radius: var(--radius-md); }
.avatar { background: var(--panel2); color: var(--text); box-shadow: none !important; font-weight: 600; }
.avatar:after { display: none; }
.chat-home-list .chatlist-name { font-size: 14px; font-weight: 600; }
.chat-home-list .chatlist-preview { font-size: 12px; color: var(--muted); margin-top: 5px; }
.chatlist-time { color: var(--dim); font-variant-numeric: tabular-nums; }
.unread-dot { background: var(--violet); box-shadow: none; }
.thread-topbar { gap: 10px; }
.thread-sub { color: var(--muted); }
.bubble { background: #21172c; border: 1px solid transparent; box-shadow: inset 0 1px #ffffff05; border-radius: 20px; padding: 10px 12px; }
.bubble.mine { background: var(--message-public); border-color: transparent; box-shadow: none; }
.bubble.private.theirs { background: var(--message-private-incoming); border-color: rgba(190, 136, 255, .5); box-shadow: inset 0 1px 0 rgba(243, 222, 255, .1), inset 0 0 14px rgba(171, 93, 255, .04), 0 0 14px rgba(162, 83, 255, .09); }
.bubble.private.theirs .translation { color: #e0d2ed; border-color: #c0a1ff33; }
.bubble.private.theirs .tag { color: #ecd8ff; }
.bubble.private.mine { background: var(--message-private); border-color: transparent; }
.bubble .text { color: var(--text); font-size: 14px; }
.bubble .translation { color: #bdb0c9; border-color: #ffffff0b; font-size: 12px; }
.bubble.mine .translation { color: #f0e2f8; }
.bubble .tag { color: #f6c8ef; font-size: 9px; font-weight: 600; letter-spacing: .04em; }
.voice-audio { max-width: 100%; border-radius: var(--radius-sm); }
.voice-sender { display: none; }
.voice-history-sentinel { background: var(--panel); border-color: var(--line); color: var(--violet); }
.composer { background: var(--bg); border-color: var(--line); backdrop-filter: none; -webkit-backdrop-filter: none; }
.quickreplies { gap: 8px; }
.quickreplies button { min-height: 36px; background: var(--panel); color: var(--muted); border-color: var(--line); border-radius: var(--radius-sm); }
.composer .toggle { background: var(--panel); border: 0; border-radius: var(--radius-md); gap: 4px; padding: 3px; }
.toggle button { color: var(--muted); min-height: 38px; display: flex; align-items: center; justify-content: center; gap: 6px; border-radius: var(--radius-sm); }
.toggle button.active.pub { color: var(--pink); background: #38182e; }
.toggle button.active.priv { color: var(--violet); background: #281e43; }
.toggle button.active.pvt { color: var(--green); background: #20352e; box-shadow: none; }
.control-icon { width: 16px; height: 16px; flex: 0 0 16px; stroke: currentColor; fill: none; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.inputrow #replyInput { background: var(--panel); border-color: var(--line2); border-radius: var(--radius-md); }
.inputrow #replyInput:focus, .settings-input:focus, .web-auth-input:focus { border-color: var(--violet); box-shadow: 0 0 0 2px #a898ff20; }
.send-btn { display: grid; place-items: center; background: var(--accent-gradient); border-color: #8972de; border-radius: var(--radius-md); box-shadow: none; }
.send-btn .control-icon { width: 21px; height: 21px; }
.tabbar {
  --glass-base: #21152f;
  --glass-tint: rgba(43, 24, 67, .48);
  --glass-rim: rgba(209, 178, 255, .23);
  --glass-highlight: rgba(200, 161, 255, .11);
  --glass-selected: linear-gradient(145deg,rgba(206,170,255,.25),rgba(159,103,223,.19) 48%,rgba(113,72,168,.22));
  background-color: var(--glass-base);
  background-image: radial-gradient(ellipse at 18% 0%,var(--glass-highlight),transparent 65%),linear-gradient(180deg,#ffffff08,transparent 70%);
  border-color: var(--glass-rim); border-radius: 24px 24px 0 0; gap: 4px;
  box-shadow: inset 0 1px #ffffff0a,0 -8px 28px #05020c24;
}
.tabbar button { color: #bdb4cc; border-radius: var(--radius-md); text-shadow: none; }
.tabbar button.active {
  background: var(--glass-selected); color: #f7eaff;
  box-shadow: inset 0 1px #fff1ff52,inset 0 0 0 1px #e7baff21,inset 0 -1px #b276dd24,0 3px 12px #08030e24;
  text-shadow: 0 1px 5px #ce95f325;
}
.tabbar button.active .tab-icon { transform: none; filter: none; }
.tabbar.glass-nav-ready { touch-action: none; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
.glass-nav-ready button { z-index: 1; }
.glass-nav-ready button.active { background: transparent; box-shadow: none; }
.glass-lens {
  position: absolute; left: 0; top: 0; pointer-events: none; z-index: 0;
  width: var(--lens-width,0px); height: var(--lens-height,0px);
  border-radius: var(--radius-md); background: var(--glass-selected);
  box-shadow: inset 0 1px #fff1ff52,inset 0 0 0 1px #e7baff21,inset 0 -1px #b276dd24,0 3px 12px #08030e24;
  transform: translate3d(var(--lens-x,0px),var(--lens-y,0px),0) scale(var(--lens-scale,1));
  transition: transform 260ms cubic-bezier(.22,.85,.25,1),width 180ms ease,height 180ms ease,opacity 120ms ease;
}
.glass-lens:after { content: ""; position: absolute; inset: 1px; border-radius: inherit; background: radial-gradient(ellipse at 30% 0%,#ffffff21,transparent 65%); }
.glass-held { --lens-scale: 1.14; }
.glass-dragging .glass-lens { transition: opacity 120ms ease; }
.glass-outside .glass-lens { opacity: .45; }
.glass-dragging button.active { color: #bdb4cc; text-shadow: none; }
.glass-dragging button.glass-preview { color: #fff0ff; }
@media (prefers-reduced-motion:reduce) { .glass-held { --lens-scale: 1; } }
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .tabbar { background-color: var(--glass-tint); backdrop-filter: blur(22px) saturate(145%); -webkit-backdrop-filter: blur(22px) saturate(145%); }
}
@media (hover:hover) {
  .tabbar button:not(.active):hover { background: #e5c2ff0c; color: var(--text); }
}
@media (prefers-reduced-transparency:reduce) {
  .tabbar { background-color: var(--glass-base); backdrop-filter: none; -webkit-backdrop-filter: none; }
}
.settings-intro { padding: 22px 20px 26px; }
.settings-intro h1 { font-size: 28px; font-weight: 600; letter-spacing: -.04em; }
.settings-intro p { color: var(--muted); font-size: 12px; margin-top: 7px; }
.settings-card { background: transparent; border: 0; border-radius: var(--radius-lg); overflow: visible; margin: 0 14px 22px; }
.settings-card>.settings-row, .settings-card>.settings-actions { background: var(--panel); }
.settings-card>.card-title+.settings-row, .settings-card>.card-title+.settings-actions { border-radius: 20px 20px 0 0; border-top: 0; }
.settings-card>.settings-row:last-child, .settings-card>.settings-actions:last-child { border-radius: 0 0 20px 20px; }
.settings-card>.card-title+.settings-row:last-child, .settings-card>.card-title+.settings-actions:last-child { border-radius: 20px; }
.settings-card.settings-access { background: var(--panel); overflow: hidden; }
.card-title { background: transparent; padding: 0 14px 10px; color: #d4b8eb; font-size: 12px; font-weight: 500; border-bottom: 0; }
.card-title>span { display: flex; align-items: center; gap: 8px; }
.section-icon { width: 16px; height: 16px; flex: 0 0 16px; fill: none; stroke: var(--violet); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.settings-card>.card-title+.settings-row { box-shadow: inset 0 1px var(--surface-light); }
.card-title b { color: var(--muted); font-weight: 400; font-size: 9px; letter-spacing: .02em; }
.settings-row { position: relative; min-height: 62px; padding: 11px 14px; border: 0; gap: 14px; }
.settings-row+.settings-row { border-top: 0; }
.settings-row+.settings-row:before { content: ""; position: absolute; top: 0; left: 14px; right: 14px; height: 1px; background: #d8baff0b; pointer-events: none; }
.settings-label { color: var(--text); font-size: 13px !important; font-weight: 500; line-height: 1.4; margin-bottom: 3px; }
.settings-sub { color: var(--muted); font-size: 11px !important; line-height: 1.5 !important; }
.settings-row>select, .settings-row>.control-btn { min-height: 44px; background-color: #c0a1ff09; border-color: #c0a1ff16; border-radius: 14px; color: #dfccef; text-transform: none; letter-spacing: 0; }
.settings-row>select { font-size: 16px; appearance: none; -webkit-appearance: none; padding-right: 28px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='m3 4 3 3 3-3' fill='none' stroke='%23adb3c8' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; }
.settings-row>.switch { width: 48px; height: 28px; flex-basis: 48px; border-color: #c0a1ff26; background: #302439; box-shadow: inset 0 1px 3px #0002; }
.settings-row>.switch:after { inset: -8px 0; }
.settings-row>.switch.on { background: var(--accent-gradient); border-color: #d7aaff66; }
.switch .knob { width: 22px; height: 22px; top: 2px; }
.switch.on .knob { left: 22px; }
.settings-input { background: var(--bg2); border-color: var(--line2); border-radius: var(--radius-sm); }
.settings-action-btn { border-color: #c0a1ff16; background: var(--panel); border-radius: var(--radius-md); color: var(--text); padding: 12px 14px; }
.settings-card>.settings-actions { padding: 0; background: transparent; }
.settings-action-row { gap: 14px; }
.settings-action-row strong { font-size: 18px; font-weight: 400; opacity: .7; }
.settings-action-btn span { line-height: 1.5; }
.settings-row>.state-pill { border: 0; background: #82dfb309; padding: 7px 10px; border-radius: 10px; }
.settings-action-btn.primary, .control-btn.primary { background: var(--accent-soft); color: #d0c7ff; border-color: #655984; }
.settings-action-btn.danger, .danger-btn, .earnings-reset { color: var(--red) !important; background: #2c1e29; border-color: #69414f; }
.settings-action-btn.danger, .settings-row>.danger-btn { background: #ff9cae08; border-color: #ff9cae18; }
.settings-access>summary { min-height: 56px; }
.settings-access>summary small { font-size: 11px; }
.settings-access[open]>.settings-actions { padding: 10px 14px 14px; }
.settings-foot, .settings-foot span { color: var(--dim); }
.voice-cache-card .settings-row { padding-block: 10px; }
.voice-cache-track span { background: var(--cyan); box-shadow: none; }
.online-hero, .stats-hero { position: relative; isolation: isolate; overflow: hidden; background: radial-gradient(ellipse at 100% 0%,#fca9dc24,transparent 68%),linear-gradient(125deg,#392033,#291b34 54%,#21182d); border: 1px solid #f8bfdf24; border-radius: var(--radius-lg); box-shadow: inset 0 1px #ffedfa14; padding: 22px; margin: 16px 14px 12px; }
.online-hero:after, .stats-hero:after { content: ""; position: absolute; z-index: -1; width: 150px; height: 150px; right: -35px; top: -75px; border: 1px solid #e1b0ff12; border-radius: 50%; box-shadow: 0 0 0 22px #c0a1ff04,0 0 0 45px #c0a1ff03; pointer-events: none; }
.online-signal { display: flex; align-items: center; gap: 6px; color:var(--muted); }
.online-signal.live { color:var(--green); }
.online-signal.offline { color:var(--red); }
.online-signal:before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: currentColor; flex-shrink: 0; }
.eyebrow { color: var(--muted); font: 500 11px var(--ui-font); letter-spacing: .02em; }
.stats-money, .online-big strong { color: var(--text); background: none; -webkit-text-fill-color: currentColor; font-size: 40px; font-weight: 600; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.online-big span, .online-signal, .stats-money-sub { font: 400 11px/1.5 var(--ui-font); letter-spacing: 0; }
.stats-money-sub b { font-weight: 500; }
.stats-grid { gap: 8px; padding: 0; margin: 0 14px 12px; border: 0; border-radius: 0; background: transparent; }
.stat-card, .stat-card.hot { background: linear-gradient(145deg,#21172d,var(--panel)); border: 1px solid #ffffff07; border-radius: var(--radius-lg); box-shadow: inset 0 1px #ffffff04; padding: 15px 16px; }
.stat-card:nth-child(odd) { border-right-color: #ffffff07; }
.stat-card:nth-last-child(-n+2) { border-bottom-color: #ffffff07; }
.stat-card b { font-size: 20px; font-variant-numeric: tabular-nums; }
.stat-card span, .earnings-mini span { color: var(--muted); font: 400 11px var(--ui-font); letter-spacing: 0; }
.earnings-summary { padding: 0 14px 8px; gap: 8px; }
.earnings-mini, .earnings-mini.primary { background: var(--panel); border-color: var(--line); box-shadow: none; border-radius: var(--radius-md); padding: 12px; }
.earnings-mini.primary b { color: var(--green); }
.section-head { padding: 16px 16px 10px; }
.section-head b { text-transform: none; font-size: 13px; font-weight: 600; letter-spacing: 0; }
.events-card, .earnings-history-card { margin-inline: 14px; background: var(--panel); border-color: var(--line); box-shadow: none; border-radius: var(--radius-md); }
.earnings-history-head .title-wrap b { text-transform: none; }
.earnings-day.is-today { background: #82dfb309; }
.event-icon { background: var(--accent-soft); color: var(--violet); }
.event-time, .earnings-date span, .earnings-value span { color: var(--muted); font-size: 11px; }
.earnings-empty { font: 400 12px/1.5 var(--ui-font); color: var(--muted); padding: 24px 16px; }
.user-row { margin-inline: 14px; padding: 8px 12px; min-height: 56px; background: transparent; border: 0; border-radius: var(--radius-md); cursor: pointer; }
.user-row:not(.me-row):not(:last-child):after { content: ""; position: absolute; bottom: 0; left: 29px; right: 12px; height: 1px; background: rgba(192,177,210,.12); pointer-events: none; }
.user-row.me-row { margin-block: 4px; }
.user-row[role=button]:focus-visible { outline-offset: -2px; background: #c0a1ff08; }
.user-row.anonymous-row { cursor: default; }
.user-name { font-size: 14px; font-weight: 500; margin-block: 8px; overflow-wrap: anywhere; }
.user-row.me-row { background: linear-gradient(125deg,rgba(192,161,255,.10),rgba(152,67,199,.07)); border: 1px solid rgba(192,161,255,.16); border-radius: var(--radius-md); box-shadow: inset 0 1px 0 rgba(255,255,255,.035); cursor: default; }
.viewer-badge { font: 500 10px var(--ui-font); color: var(--muted); letter-spacing: 0; }
.color-dot { box-shadow: none; }
.empty { color: var(--muted); font: 400 13px/1.6 var(--ui-font); padding: 36px 20px; }
.web-auth { background: var(--bg); padding: max(20px,var(--safe-top)) 20px max(20px,var(--safe-bottom)); }
.web-auth-card, .notify-prompt-card { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--glow); }
.web-auth-card { margin-block: auto; flex-shrink: 0; }
.web-auth-card:after { display: none; }
.web-auth-icon { background: var(--accent-soft); border-color: var(--line2); box-shadow: none; border-radius: var(--radius-md); }
.web-auth-icon { background: transparent; border: 0; }
.web-auth-icon img { display: block; width: 100%; height: 100%; object-fit: contain; }
.web-auth-kicker, .notify-kicker { color: var(--muted); font: 500 10px var(--ui-font); letter-spacing: .08em; }
.web-auth-title { font-size: 26px; font-weight: 650; color: var(--text); }
.web-auth-brand>div:last-child { min-width: 0; }
.web-auth-title span { color: var(--violet); background: none; white-space: nowrap; }
.web-auth-label { color: var(--muted); font: 500 12px var(--ui-font); letter-spacing: 0; }
.web-auth-submit, .notify-primary { background: var(--accent-fill); border: 1px solid #8972de; box-shadow: none; font: 600 13px var(--ui-font); letter-spacing: 0; border-radius: var(--radius-md); }
.web-auth-foot { font: 400 10px var(--ui-font); color: var(--dim); letter-spacing: 0; }
.notify-prompt-card p { font: 400 13px/1.5 var(--ui-font); }
.notify-secondary { font: 500 12px var(--ui-font); }
.notify-icon { background: var(--accent-soft); color: var(--violet); box-shadow: none; }
.sparkle { z-index: 0; pointer-events: none; }
body:has(#screen-stats.active)>.sparkle,
body:has(#screen-settings.active)>.sparkle { z-index: 2; }
/* Settings in the admin workspace stay clear, even through translucent glass. */
body:has(#screen-admin.active)>.sparkle{visibility:hidden;animation-play-state:paused}
.auth-language { display: flex; justify-content: flex-end; margin-top: 12px; }
.language-card .settings-row { flex-wrap: wrap; }
.language-card .settings-row > div:first-child { flex: 1 1 125px; }
.settings-appearance{grid-column:1/-1;min-width:0;margin:0 14px 22px}
.settings-appearance-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:stretch}
.settings-appearance-grid>.settings-card{min-width:0;margin:0}
.settings-appearance-grid>.settings-card>.settings-row{height:100%;min-height:76px;border-radius:20px}
.settings-preferences{display:contents}
html[lang=en] .settings-row>.control-btn { white-space: normal; line-height: 1.3; }
html[lang=en] .viewer-badge { max-width: 84px; text-align: right; }
.sparkle.money-symbol { color: var(--green); text-shadow: none; }
.toast { color: var(--text); background: var(--panel2); border-color: var(--line2); box-shadow: var(--glow); font-family: var(--ui-font); }
@media (hover:hover) {
  button:not(:disabled):hover, .chatlist-row:hover, .user-row[role=button]:hover { background-color: var(--panel2); }
  .send-btn:hover, .web-auth-submit:hover { background: #7960d8; }
}
@media (pointer:coarse) {
  .quickreplies button, .toggle button { min-height: 40px; }
  .settings-row>.control-btn, .settings-row>select { min-height: 44px; }
}
@media (min-width:700px) {
  .screen, .tabbar { width: min(100%,960px); max-width: 960px; }
  .screen { border-inline: 1px solid var(--line); }
  .topbar { padding-inline: 24px; }
  .chat-head, .settings-intro { padding: 24px; }
  .chat-home-list { padding-inline: 24px; }
  .chat-home-list .chatlist-row { padding: 16px 12px; }
  .thread-body { padding: 20px 24px; }
  .row { max-width: min(78%,620px); }
  #screen-thread .composer { padding-inline: 24px; }
  .settings-sections { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; padding: 0 24px; align-items: start; }
  .settings-sections .settings-card, .settings-sections #webLogoutWrap { margin: 0; }
  .settings-preferences{display:grid;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto 1fr;gap:16px;align-items:start;min-width:0}
  .settings-preferences>.voice-settings{grid-column:1;grid-row:1}
  .settings-preferences>.message-filters{grid-column:2;grid-row:1/3}
  .settings-preferences>.notification-card{grid-column:1;grid-row:2}
  .settings-appearance{margin:0}
  .settings-appearance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .settings-foot { padding-top: 24px; }
  .stats-hero, .online-hero, .stats-grid, .events-card, .earnings-history-card { margin-inline: 24px; }
  .stats-hero { padding: 28px; }
  .earnings-summary { padding-inline: 24px; }
  .section-head { padding-inline: 24px; }
  .tabbar { justify-content: center; border-inline: 1px solid var(--line); }
  .tabbar button { max-width: 180px; flex-direction: row; gap: 10px; }
  .tabbar button small { font-size: 12px; }
  .user-row { margin-inline: 24px; }
}
@media (max-width:600px) and (orientation:portrait) {
  /* Compact the status strip by 10px without painting above the viewport. */
  html.pwa-standalone #offlineBanner { padding-top: 0; padding-bottom: 4px; flex-shrink: 0; }
  /* Compact resting dock: retain 4px of a 34px iPhone inset. */
  html.pwa-standalone:not(.keyboard-open) .tabbar { min-height: 0; }
  html.pwa-standalone:not(.keyboard-open) #screen-thread .composer {
    padding-bottom: max(0px,calc(var(--safe-bottom-live,var(--safe-bottom)) - 30px));
  }
}
@media (max-width:374px) {
  .chat-head { flex-wrap: wrap; padding: 16px; }
  .thread-topbar { padding-inline: 12px; gap: 8px; }
  .thread-topbar .avatar { width: 32px; height: 32px; }
  #threadConnectionStatus { font-size: 9px; }
}
@media (prefers-reduced-motion:reduce) {
  *, *:before, *:after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .sparkle { display: none; }
}

/* Platform glass sits above the existing dock, in the same visual family. */
.platform-online{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:6px;margin-left:auto;flex-shrink:0}
.platform-online .online-pill{display:inline-flex;gap:4px;padding:5px 8px;font-size:9px;margin:0;white-space:nowrap}
.platform-online .unavailable>b{color:var(--dim)}
.platform-logo{display:block;width:16px;height:16px;object-fit:contain;flex-shrink:0;border-radius:3px}
.platform-online .platform-logo{width:12px;height:12px;border-radius:2px}
.platform-option{display:flex;align-items:center;white-space:nowrap}
.platform-option .platform-logo{margin-right:7px}
.platform-online .unavailable>span{background:var(--muted);box-shadow:none}
.platform-unread{position:absolute;top:0;right:13%;min-width:17px;padding:2px 5px;border-radius:20px;background:var(--pink);color:#fff;font:700 10px/1.2 sans-serif;text-shadow:none}
.platform-unread[hidden],.platform-menu[hidden]{display:none}
.platform-menu{position:fixed;z-index:80;width:236px;padding:6px;box-sizing:border-box;border:1px solid rgba(232,210,255,.3);border-radius:25px;background:linear-gradient(145deg,rgba(224,204,255,.2),rgba(48,27,60,.76) 46%,rgba(95,47,98,.36));backdrop-filter:blur(30px) saturate(160%);-webkit-backdrop-filter:blur(30px) saturate(160%);box-shadow:inset 0 1px 0 rgba(255,245,255,.25),inset 0 -1px 0 rgba(224,175,239,.1),0 14px 40px #0007;transform-origin:bottom center;animation:platformReveal .18s ease-out}
.platform-menu button{position:relative;box-sizing:border-box;width:100%;height:56px;min-height:56px;display:flex;align-items:center;justify-content:space-between;padding:11px 15px;border:1px solid transparent;border-radius:19px;background:transparent;color:var(--text);font:600 15px/1.2 -apple-system,BlinkMacSystemFont,sans-serif;text-align:left;cursor:pointer;transition:background .16s,border-color .16s}
.platform-menu small{margin-left:9px;font-size:12px;font-weight:400;color:var(--muted)}
.platform-menu button[aria-checked=true]{background:linear-gradient(140deg,rgba(221,186,251,.26),rgba(147,100,183,.16));border-color:rgba(235,218,253,.27);box-shadow:inset 0 1px 0 #ffffff20,0 2px 10px #0002}
.platform-menu button:hover{background-color:#d8b5eb12}
.platform-menu button:focus-visible{outline:2px solid #d6b2f0;outline-offset:-2px}
.platform-menu b{font-size:12px;color:#efc4ec}
.message-delivery{box-sizing:border-box;display:inline-grid;place-items:center;flex:0 0 24px;width:24px;height:24px;padding:0;border:0;border-radius:8px;background:transparent;color:inherit;opacity:.8;cursor:pointer}
.message-delivery svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.message-delivery[data-delivery="confirmed"]{color:#ffe7f7;opacity:1}
.message-delivery:is([data-delivery="failed"],[data-delivery="expired"],[data-delivery="uncertain"],[data-delivery="retryable"]){color:#ffd294;opacity:1}
.message-delivery:focus-visible{outline:2px solid var(--pink);outline-offset:2px}
@media(hover:hover) and (pointer:fine){.message-delivery:hover{background:#ffffff12;opacity:1}}
.message-delivery:active{background:#ffffff1c}
@keyframes platformReveal{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:420px){.platform-online{gap:4px}.topbar:has(.platform-online) .brandmark{font-size:10px;letter-spacing:.09em}}
@media(prefers-reduced-motion:reduce){.platform-menu{animation:none}.platform-menu button{transition:none}}

/* Floating dock: shared glass material, with a separate cache action. */
:root { --dock-height: 60px; --dock-bottom: max(12px,calc(var(--safe-bottom-live,var(--safe-bottom)) - 18px)); }
.navigation-dock {
  position: absolute; z-index: 30; bottom: var(--dock-bottom); left: 0; right: 0; margin-inline: auto;
  display: flex; align-items: center; gap: 10px;
  width: calc(100% - 28px); max-width: 720px; height: var(--dock-height);
}
body:has(#screen-thread.active) .navigation-dock { display: none; }
.screen:not(#screen-thread) { padding-bottom: calc(var(--dock-height) + var(--dock-bottom) + 18px); }
.navigation-dock .tabbar, .cache-dock-button, .owner-studio-return, .device-cache-dialog {
  background: rgba(119,113,128,.28); border: 1px solid rgba(245,240,255,.21);
  box-shadow: inset 0 1px 1px #ffffff19,0 5px 20px #00000024;
  backdrop-filter: blur(12px) saturate(125%); -webkit-backdrop-filter: blur(12px) saturate(125%);
}
.navigation-dock .tabbar {
  flex: 1 1 auto; width: 0; min-width: 0; max-width: none; height: 100%; min-height: 0;
  border-radius: 999px; padding: 4px; gap: 0; justify-content: space-between;
  --glass-selected: rgba(236,228,248,.17);
}
.navigation-dock .tabbar button {
  flex: 1 1 25%; min-width: 0; max-width: none; width: 25%; height: 50px;
  border-radius: 999px; flex-direction: column; gap: 4px; padding: 4px 0;
  color: #d5cedf;
}
.navigation-dock .tabbar button small { display:flex;align-items:center;justify-content:center;gap:4px;font-size: 9px; line-height: 12px; white-space: nowrap; }
.navigation-dock .tabbar button small > span { font:inherit;line-height:inherit;text-shadow:inherit; }
.nav-platform-logo{width:12px;height:12px;object-fit:contain;flex:0 0 12px}
.navigation-dock .tabbar button.active { color: #d3b7ff; }
.navigation-dock .glass-lens { border-radius: 999px; box-shadow: inset 0 1px #ffffff24; }
.navigation-dock .glass-held .glass-lens { background: #302b3938; box-shadow: inset 0 1px 1px #f6eaff75,inset 0 -1px 1px #bc9ce866,0 3px 10px #0002; }
.navigation-dock .tab-icon { stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.navigation-dock .glass-preview .tab-icon { transform: scale(1.08); }
.navigation-dock button .tab-icon { transition: transform 180ms ease; }
.cache-dock-button { display: grid; place-items: center; width: var(--dock-height); height: var(--dock-height); flex: 0 0 var(--dock-height); border-radius: 50%; color: #f4edf9; }
.cache-dock-button svg { width: 27px; height: 27px; }
.cache-dock-button:focus-visible,.owner-studio-return:focus-visible { outline: 2px solid var(--violet); outline-offset: 3px; }
.device-cache-dialog {
  width: min(420px,calc(100% - 28px)); max-height: calc(var(--app-height,100dvh) - 60px);
  overflow-y: auto; margin: auto; padding: 20px;
  border-radius: 26px; color: var(--text); background: rgba(45,38,53,.65);
  backdrop-filter: none; -webkit-backdrop-filter: none;
}
/* Blur the inert page itself: top-layer backdrop sampling varies across WebKit builds. */
body:has(.device-cache-dialog[open]) > :is(.screen,.navigation-dock,.banner) { filter: blur(22px) saturate(125%); }
.device-cache-dialog::backdrop { background: rgba(8,6,12,.16); }
.device-cache-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.device-cache-heading h2 { font-size: 21px; margin: 0; font-weight: 600; letter-spacing: -.03em; }
.device-cache-heading .icon-btn { width: 44px; height: 44px; font-size: 26px; flex-shrink: 0; }
.device-cache-dialog p { color: var(--muted); font-size: 12px; line-height: 1.5; margin: 8px 0; }
.device-cache-option { display: flex; align-items: center; gap: 16px; padding: 18px 0; border-top: 1px solid var(--line); }
.device-cache-option:first-of-type { margin-top: 16px; }
.device-cache-option>div { flex: 1; min-width: 0; }
.device-cache-option h3 { font-size: 15px; font-weight: 600; margin: 0; }
.device-cache-option .control-btn { width: auto; min-width: 78px; min-height: 44px; padding: 8px 12px; font: 500 12px var(--ui-font); flex: 0 0 auto; text-transform: none; letter-spacing: 0; }
#deviceVoiceCacheSize { color: var(--violet); font-size: 11px; font-variant-numeric: tabular-nums; }
.device-cache-dialog .device-cache-feedback { color: var(--violet); margin: 0; }
@media (max-width:359px) {
  .navigation-dock { width: calc(100% - 20px); gap: 6px; }
  :root { --dock-height: 56px; }
  .navigation-dock .tabbar button { height: 46px; }
  .navigation-dock .tabbar button small { font-size: 8px; }
}
@media (prefers-reduced-transparency:reduce) {
  .navigation-dock .tabbar, .cache-dock-button, .owner-studio-return, .device-cache-dialog { background: #2b2236; backdrop-filter: none; -webkit-backdrop-filter: none; }
  body:has(.device-cache-dialog[open]) > :is(.screen,.navigation-dock,.banner) { filter: none; }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .navigation-dock .tabbar, .cache-dock-button, .owner-studio-return, .device-cache-dialog { background: #2b2236; }
}

/* Conversation channels share color, text and icons with the composer. */
:root { --channel-public: #9ed9ee; --channel-private: #d6baff; }
.thread-body { gap: 10px; }
.row { max-width: 90%; animation: none; }
.bubble { padding: 10px 12px 7px; border-radius: 18px 18px 18px 5px; background: #162730; border-color: #83bed52e; box-shadow: none; }
.bubble.mine { border-radius: 18px 18px 5px 18px; background: #254755; border-color: #99d3eb33; box-shadow: none; }
.bubble.private.theirs { background: #30213f; border-color: #c7a1ef40; box-shadow: none; }
.bubble.private.mine { background: #574075; border-color: #d5b6ff40; }
.bubble .text { font-size: 14px; line-height: 1.5; }
.bubble .translation { line-height: 1.5; margin-top: 8px; padding-top: 8px; }
.message-footer { display: flex; align-items:center;gap:3px;justify-content: flex-end; min-width:max-content; margin-top: 4px; font-size: 10px; line-height: 1.3; color: #b5c7ce; }
.message-channel { display: flex; align-items: center; gap: 5px; margin-bottom: 6px; color: var(--channel-public); font-size: 11px; font-weight: 600; }
.message-channel svg { width: 11px; height: 11px; fill: none; stroke: currentColor; stroke-width: 1.7; }
.private .message-channel { color: var(--channel-private); }
.private .message-footer { color: #cabbda; }
.message-footer time { font-variant-numeric: tabular-nums; white-space:nowrap; flex-shrink:0; }
.voice-player { display: flex; align-items: center; gap: 5px; width: 222px; max-width: 100%; height: 44px; margin: 6px 0 0; color: var(--channel-public); }
.private .voice-player { color: var(--channel-private); }
.voice-player .voice-audio { display: none; }
.voice-play { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; padding: 0; border-radius: 50%; border: 0; color: inherit; background: radial-gradient(circle,currentColor 0 16px,transparent 16.5px); }
.voice-play svg { color: #19232e; }
.private .voice-play svg { color: #32223f; }
.voice-play svg { width: 17px; height: 17px; fill: currentColor; }
.voice-pause-symbol { display: none; }
.is-playing .voice-play-symbol { display: none; }
.is-playing .voice-pause-symbol { display: block; }
.voice-track { flex: 1; min-width: 0; }
.voice-track-heading { display: flex; align-items: center; gap: 5px; font-size: 10px; line-height: 1.3; }
.voice-caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.is-error .voice-caption,.is-loading .voice-caption { position: static; width: auto; height: auto; clip-path: none; font-size: 9px; }
.is-error .voice-time,.is-loading .voice-time { display: none; }
.voice-time { white-space: nowrap; font-variant-numeric: tabular-nums; opacity: .85; }
.voice-progress { display: block; width: 100%; height: 26px; margin: 0; padding: 0; appearance: none; -webkit-appearance: none; background: transparent; color: inherit; touch-action: none; }
.voice-progress::-webkit-slider-runnable-track { height: 5px; border-radius: 9px; background: linear-gradient(to right,currentColor var(--voice-progress,0%),#dbc2eb30 var(--voice-progress,0%)); }
.voice-progress::-webkit-slider-thumb { appearance: none; -webkit-appearance: none; width: 10px; height: 10px; margin-top: -2.5px; border-radius: 50%; background: currentColor; }
.voice-progress::-moz-range-track { height: 5px; border-radius: 9px; background: #dbc2eb30; }
.voice-progress::-moz-range-progress { height: 5px; background: currentColor; border-radius: 9px; }
.voice-progress::-moz-range-thumb { width: 10px; height: 10px; border: 0; background: currentColor; border-radius: 50%; }
.voice-progress:disabled { opacity: .5; }
.voice-speed { width: 44px; height: 44px; flex: 0 0 44px; padding: 0; border: 0; border-radius: 12px; background: transparent; color: inherit; font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; }
.voice-play:focus-visible, .voice-speed:focus-visible, .voice-progress:focus-visible { outline: 2px solid var(--violet); outline-offset: 2px; }
.is-loading .voice-play { opacity: .6; }
.composer .quickreplies { scrollbar-width: none; flex-shrink: 0; }
.quickreplies button { border-radius: 999px; min-height: 36px; color: #d5c4e4; background: #241a30; }
html.keyboard-open .composer .quickreplies { display: flex; padding-bottom: 5px; }
html.keyboard-open .quickreplies button { min-height: 32px; }
.reset-section-title { margin: 20px 0 8px; color: var(--violet); font-size: 11px; font-weight: 500; }
.device-cache-option:has(.danger-btn) { gap: 12px; }
.device-cache-dialog { max-height: calc(var(--app-height,100dvh) - 2 * max(20px,var(--safe-top))); }
@media (max-width:359px) {
  .bubble { padding-inline: 11px; }
  .voice-player { width: 236px; gap: 7px; }
  .voice-track-heading { flex-wrap: wrap; gap: 0 4px; }
}

/* Reply mode remains visible before sending, with the same channel palette. */
.toggle button.pub.active { background: #254755; color: var(--channel-public); }
.toggle button.priv.active { background: #574075; color: var(--channel-private); }
#screen-thread[data-reply-mode="pub"] .thread-sub { color: var(--channel-public); }
#screen-thread[data-reply-mode="priv"] .thread-sub { color: var(--channel-private); }
#screen-thread[data-reply-mode="pub"] .send-btn { background: #254755; border-color: #83bed566; color: var(--channel-public); }
#screen-thread[data-reply-mode="priv"] .send-btn { background: #574075; border-color: #c7a1ef66; color: var(--channel-private); }
/* Decorative animation stays out of reading, typing and modal controls. */
body:has(.device-cache-dialog[open]) > .sparkle { display: none; }
@media(prefers-reduced-motion:reduce) { .navigation-dock .glass-lens,.navigation-dock button .tab-icon { transition: none; } .navigation-dock .glass-preview .tab-icon { transform: none; } }

/* UI48 — Darlin's supplied cosmic public/private references. */
:root { --channel-public:#d0a7ff; --channel-private:#ff80c6; }
#screen-thread { --chat-rgb:183,118,255; --chat-accent:#d0a7ff; isolation:isolate; position:relative; background:#08050e; }
#screen-thread[data-reply-mode="priv"] { --chat-rgb:255,54,157; --chat-accent:#ff80c6; }
#screen-thread::before { content:""; position:absolute; inset:0; z-index:-2; pointer-events:none; background:var(--chat-background-public,url('assets/darlin-cosmos-ui48.png')) center center/cover no-repeat; }
#screen-thread[data-reply-mode="priv"]::before { background-image:var(--chat-background-private,url('assets/darlin-cosmos-ui48.png'));filter:hue-rotate(35deg) saturate(1.15); }
#screen-thread[data-reply-mode="priv"][data-custom-private]::before{filter:none}
#screen-thread[data-reply-mode="priv"][data-custom-private] .cosmic-inscriptions,#screen-thread[data-reply-mode="pub"][data-custom-public] .cosmic-inscriptions{display:none}
#screen-thread::after { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(#05020b2e,#05020b08 40%,#05020b52); }
.thread-topbar { padding:12px 14px; min-height:87px; border-bottom:1px solid rgba(var(--chat-rgb),.42); background:linear-gradient(180deg,#08050ec9,#08050e64); gap:10px; z-index:3; }
.thread-topbar .back { width:40px; height:40px; flex:0 0 40px; border:1px solid rgba(var(--chat-rgb),.35); border-radius:16px; background:rgba(20,11,31,.64); color:var(--chat-accent); font-size:31px; }
.thread-topbar .avatar { border:1px solid var(--chat-accent); border-radius:50%; box-shadow:0 0 0 3px #08050e,0 0 0 4px rgba(var(--chat-rgb),.3),0 0 12px rgba(var(--chat-rgb),.25); width:40px; height:40px; flex:0 0 40px; }
.thread-title-wrap { min-width:0; flex:1; }
.thread-title-wrap h1 { font-size:16px; letter-spacing:0; font-weight:600; }
.thread-sub { font-size:10px; line-height:1.35; display:block; margin-top:4px; }
.thread-identity { display:flex; flex-direction:column; align-items:flex-end; flex-shrink:0; gap:3px; }
.darlin-signature { font-family:"Snell Roundhand","Segoe Script","Brush Script MT",cursive; color:var(--chat-accent); font-size:28px; font-style:italic; font-weight:400; line-height:1.2; transform:rotate(-12deg); text-shadow:0 0 8px rgba(var(--chat-rgb),.28); }
.thread-identity .status-chip { font-size:9px; line-height:1.3; padding:5px 7px; border-radius:20px; background:#130b219c; border-color:rgba(var(--chat-rgb),.3); }
.thread-identity .status-chip.away { color:var(--red); }
.thread-identity .status-chip.away:before { background:var(--red); }
.cosmic-inscriptions { position:absolute; inset:0; z-index:-1; pointer-events:none; overflow:hidden; }
.cosmic-copy { position:absolute; color:var(--chat-accent); opacity:.76; font-size:5.5px; font-weight:500; line-height:2; letter-spacing:2px; }
.cosmic-upper-left { top:99px; left:20px; }
.cosmic-upper-right { top:110px; right:17px; }
.cosmic-lower-left { left:18px; bottom:230px; }
.cosmic-lower-right { right:17px; bottom:213px; max-width:90px; text-align:center; }
.cosmic-copy .darlin-signature { display:block; font-size:23px; line-height:1.9; margin-bottom:8px; letter-spacing:0; white-space:nowrap; }
.cosmic-heart,.little-rule { display:block; font-size:12px; }
.moon-phases { display:block; font-size:11px; line-height:1.65; margin-top:8px; text-align:center; }
.cosmic-phases { left:16px; bottom:182px; font-size:11px; line-height:1.2; }
.private-copy { display:none; }
#screen-thread[data-reply-mode="priv"] .private-copy { display:block; }
#screen-thread[data-reply-mode="priv"] .public-copy { display:none; }
#screen-thread .thread-body { position:relative; padding:65px 16px 18px; gap:12px; z-index:1; }
#screen-thread[data-reply-mode="priv"] .thread-body { padding-top:14px; }
.row { max-width:84%; }
.bubble,.bubble.theirs { --bubble-rgb:183,118,255; --bubble-accent:#d0a7ff; color:#f5edf9; padding:10px 12px 7px; border:1px solid rgba(var(--bubble-rgb),.75); border-radius:13px; background:linear-gradient(140deg,rgba(var(--bubble-rgb),.13),#0e0916dc 42%); box-shadow:inset 0 0 7px rgba(var(--bubble-rgb),.3),0 0 8px rgba(var(--bubble-rgb),.19); }
.bubble.mine { border-radius:13px; background:linear-gradient(135deg,#b888ef,#6424c2 82%); border-color:#dbb2ff; box-shadow:inset 0 1px 8px #e7c7ff9c,0 0 9px #ab63ff4a; }
.bubble.private.theirs,.bubble.private.mine { --bubble-rgb:255,54,157; --bubble-accent:#ff91cc; border-color:#ff6bb7; }
.bubble.private.theirs { background:linear-gradient(140deg,#9e1a613b,#180816de 50%); box-shadow:inset 0 0 10px #ff3da536,0 0 8px #ff329c30; }
.bubble.private.mine { background:linear-gradient(140deg,#a32465,#e30078 90%); box-shadow:inset 0 1px 9px #ff88c9a3,0 0 9px #ff329c40; }
.bubble .text { font-size:14px; line-height:1.38; }
.bubble .translation { color:#d6bbeb; font-size:12px; line-height:1.4; border-top:1px solid #dbb2ff20; margin-top:7px; padding-top:7px; }
.bubble.private .translation { color:#e5aacc; border-color:#ff8ec22b; }
.message-channel,.private .message-channel { color:var(--bubble-accent); font-weight:400; font-size:10px; margin-bottom:5px; }
.message-channel svg { width:13px; height:13px; }
.message-footer,.private .message-footer { color:#dac2ef; font-size:9px; }
.private .message-footer { color:#f6b1d5; }
/* Outgoing metadata: a quiet baseline with distinct, non-overlapping actions. */
.row.mine .message-footer{flex-wrap:nowrap;column-gap:8px;margin-top:3px;font-size:10px;line-height:1.2;color:#f3dff9}
.row.mine .message-footer time{letter-spacing:.01em;opacity:.85}
.row.mine .message-channel{color:#ffeffa;opacity:.85}
.row.mine .message-footer .delivery-status{display:inline-flex;flex:0 0 auto}
.row.mine .message-footer :is(.message-language,.message-delivery) svg{width:16px;height:16px}
.voice-player,.private .voice-player { color:var(--bubble-accent); width:222px; gap:5px; }
.voice-play { background:radial-gradient(circle,rgba(var(--bubble-rgb),.6) 0 14px,rgba(var(--bubble-rgb),.95) 15px,rgba(var(--bubble-rgb),.15) 16px,transparent 17px); }
.voice-play svg,.private .voice-play svg { color:#efd9ff; }
.private .voice-play { background:radial-gradient(circle,#ff7dc7 0 15px,#ffa4db 16px,transparent 17px); }
.private .voice-play svg { color:#651238; }
.voice-progress::-webkit-slider-runnable-track { height:4px; }
.voice-progress::-webkit-slider-thumb { box-shadow:0 0 7px currentColor; }
#screen-thread .composer { display:flex; flex-direction:column; gap:6px; z-index:3; background:linear-gradient(180deg,transparent,rgba(10,5,17,.24) 28%,rgba(10,5,17,.40)); border-top:none; padding:7px 14px calc(6px + var(--safe-bottom-live,var(--safe-bottom))); }
.composer .quickreplies { order:0; padding-bottom:2px; gap:6px; }
.quickreplies button { flex:0 0 auto; min-height:30px; padding:5px 12px; border:1px solid rgba(var(--chat-rgb),.45); color:#f1def6; font-size:10px; background:linear-gradient(#211128a1,#0e0815c2); box-shadow:inset 0 1px 3px #deb2ff1a; }
#screen-thread .composer .toggle { order:1; border:1px solid rgba(var(--chat-rgb),.48); padding:3px; border-radius:19px; margin:0; background:#100917a1; box-shadow:inset 0 1px 3px #deb2ff26; }
#screen-thread .toggle button { min-height:36px; border-radius:15px; color:#d6bddf; font-size:10px; gap:6px; }
.toggle button.pub.active { background:linear-gradient(145deg,#b987ed,#6e2ec9); color:#fff; box-shadow:inset 0 0 9px #e8c8ff9c,0 0 8px #a363ed5c; }
.toggle button.priv.active { background:linear-gradient(145deg,#ec54a5,#d30073); color:#fff; box-shadow:inset 0 0 9px #ffa0d89c,0 0 8px #ff429c5c; }
#screen-thread .inputrow { order:2; gap:8px; }
#screen-thread #replyInput { min-height:42px; height:auto; border:1px solid rgba(var(--chat-rgb),.6); border-radius:22px; background:#100818ab; box-shadow:inset 0 1px 6px rgba(var(--chat-rgb),.16); font-size:16px; }
#screen-thread[data-reply-mode="pub"] .send-btn,#screen-thread[data-reply-mode="priv"] .send-btn { width:44px; height:44px; border-radius:50%; background:radial-gradient(circle at 40% 30%,rgba(var(--chat-rgb),.55),rgba(var(--chat-rgb),.15)); color:#f3dfff; border-color:rgba(var(--chat-rgb),.9); box-shadow:inset 0 0 6px rgba(var(--chat-rgb),.45),0 0 9px rgba(var(--chat-rgb),.25); }
#screen-thread[data-reply-mode="priv"] .inputrow { order:2; }
#screen-thread[data-reply-mode="priv"] .toggle { order:1; }
#screen-thread[data-reply-mode="priv"] .public-extra-reply { display:none; }
.cosmic-footer { order:3; color:var(--chat-accent); opacity:.8; font-size:5px; letter-spacing:2.2px; text-align:center; padding:7px 0 3px; pointer-events:none; }
html.keyboard-open .cosmic-footer { display:none; }
html.keyboard-open #screen-thread .composer { padding-bottom:0; }
/* Lighter glass, without another expensive blur layer. */
.navigation-dock .tabbar,.cache-dock-button,.owner-studio-return { background:rgba(73,59,91,.28); border-color:#eadfff35; backdrop-filter:blur(12px) saturate(135%); -webkit-backdrop-filter:blur(12px) saturate(135%); box-shadow:inset 0 1px #ffefff22,0 5px 18px #00000029; }
.navigation-dock .tabbar { --glass-selected:rgba(225,196,255,.13); }
/* One home for access management and every existing reset action. */
.device-cache-dialog { padding:22px; border:1px solid #b774e875; border-radius:28px; background:linear-gradient(145deg,#160d25ed,#11081fe0),url('assets/darlin-cosmos-ui48.png') center/cover; box-shadow:inset 0 1px 7px #d8a3ff24,0 0 30px #a561ee26,0 24px 80px #0008; }
.management-kicker { display:block; font-size:8px; color:#c99ce9; letter-spacing:2px; margin-bottom:7px; }
.device-cache-heading h2 { font-size:26px; color:#f1dbff; }
.device-cache-heading .icon-btn { border:1px solid #b685d847; border-radius:50%; background:#3d224a66; }
.device-cache-dialog .reset-section-title { color:#d3a2f4; font-size:10px; letter-spacing:.08em; margin-top:24px; }
.device-cache-option { border-color:#c58de726; gap:12px; padding:17px 0; }
.device-cache-option h3 { font-size:14px; }
.device-cache-option p { color:#bcabc8; font-size:11px; }
.device-cache-option .control-btn { border:1px solid #b576df6b; background:linear-gradient(#4d285f80,#2311308a); border-radius:13px; color:#e4c7f7; }
.device-cache-option .danger-btn { color:#ffb0d3; border-color:#dd5e9a63; background:#581d393d; }
.device-cache-dialog .settings-access { margin:0; border:1px solid #b87cda36; border-radius:16px; background:#190d2580; }
.device-cache-dialog .settings-access summary { padding:15px; }
.device-cache-dialog .settings-access summary b { font-size:14px; }
.device-cache-dialog .settings-input { background:#1009179c; border-color:#b77eda42; font-size:16px; }
.device-cache-dialog .settings-actions { margin:10px 0 0; }
.device-cache-dialog .settings-access .settings-actions { margin:10px 12px; }
.device-cache-dialog .settings-action-btn { border-color:#be79e044; border-radius:14px; }
.device-cache-dialog .settings-credential-status { padding:0 12px 12px; }
@media(max-width:359px) { .thread-topbar { gap:7px;padding-inline:10px; }.thread-topbar .avatar{width:32px;height:32px;flex-basis:32px}.thread-title-wrap h1{font-size:14px}.thread-identity .darlin-signature{font-size:23px}.thread-sub{font-size:9px}.thread-identity .status-chip{font-size:8px}.row{max-width:91%}.cosmic-copy{font-size:5px;letter-spacing:1.4px}.device-cache-dialog{padding:17px}.device-cache-option{gap:8px}.device-cache-option .control-btn{min-width:68px} }
@media(prefers-reduced-transparency:reduce) { .navigation-dock .tabbar,.cache-dock-button,.owner-studio-return {background:#281d36;backdrop-filter:none;-webkit-backdrop-filter:none}.bubble,.bubble.theirs{background:#1d112b}.bubble.private.theirs{background:#2b0e21} }

.cosmic-lower-right.public-copy { max-width:120px; width:120px; }
.cosmic-lower-right.public-copy .darlin-signature { font-size:16px; transform-origin:right center; letter-spacing:-.4px; }
/* Keep the close control reachable while management forms scroll. */
.device-cache-heading { position:sticky; top:-22px; z-index:2; margin:-22px -22px 0; padding:20px 22px 12px; background:linear-gradient(#190e27 80%,#190e2700); }
@media(max-width:359px) { .device-cache-heading { top:-17px;margin:-17px -17px 0;padding:17px 17px 12px; } }

/* Stable initial history placeholder, no perpetual animation/compositor layers. */
.chat-loading { padding: 16px 12px; color: var(--muted); font-size: 13px; }
.chat-loading > span { display: block; margin-bottom: 8px; }
.chat-loading-row { height: 76px; border-bottom: 1px solid rgba(192,177,210,.12); background: radial-gradient(circle at 26px 38px,rgba(192,161,255,.12) 0 22px,transparent 23px),linear-gradient(rgba(192,161,255,.10),rgba(192,161,255,.10)) 66px 25px / 42% 12px no-repeat,linear-gradient(rgba(192,161,255,.06),rgba(192,161,255,.06)) 66px 46px / 62% 10px no-repeat; }

/* Photos: the image leads; shared accents identify direction without a loud fill. */
.photo-message{width:min(84%,320px)}
.photo-message .bubble{width:100%;padding:7px;border-radius:22px;overflow:hidden;box-shadow:0 6px 22px #0003}
.photo-message .bubble.theirs{background:rgba(19,12,28,.93);border:1px solid var(--surface-rim)}
.photo-message .bubble.mine{background:linear-gradient(150deg,#29132b,#150d20);border:1px solid #e782be55;box-shadow:0 6px 22px #0003,inset 0 1px #ffd5ee0c}
.photo-rail,.photo-draft-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;border-radius:16px}
.photo-rail::-webkit-scrollbar,.photo-draft-rail::-webkit-scrollbar{display:none}
.photo-slide,.photo-draft-slide{position:relative;flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}
.photo-preview{position:relative;display:block;width:100%;min-height:140px;padding:0;border:0;border-radius:16px;overflow:hidden;background:var(--panel);color:var(--text);cursor:pointer}
.photo-preview img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:var(--panel)}
.photo-preview img:not([data-photo-ready]){visibility:hidden}
.photo-preview:has(img:not([data-photo-ready])):not(.photo-unavailable)::before{content:"";position:absolute;left:calc(50% - 10px);top:calc(50% - 10px);width:20px;height:20px;border:1px solid var(--surface-rim);border-top-color:var(--pink);border-radius:50%;animation:photo-ready-turn 1.2s linear infinite}
@keyframes photo-ready-turn{to{transform:rotate(360deg)}}
.photo-expand{position:absolute;right:8px;top:8px;display:grid;place-items:center;width:30px;height:30px;border:1px solid #fff2;border-radius:10px;background:#0e081c80;color:#fff;pointer-events:none}
.photo-expand svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.photo-load-error{display:none;font:400 12px var(--ui-font);color:var(--muted);padding:18px}
.photo-unavailable .photo-load-error{display:block}
.photo-slide>.message-footer{margin:0;min-height:30px;padding:3px 7px 0;color:var(--muted)}
.photo-slide>.message-footer time{font-size:10px;font-variant-numeric:tabular-nums}
.photo-album-nav,.photo-gallery-nav{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:2px}
.photo-album-nav{border-top:1px solid var(--surface-rim)}
.photo-arrow{width:44px;height:44px;min-width:44px;border:0;border-radius:14px;background:transparent;color:var(--pink);font:300 28px/1 var(--ui-font);cursor:pointer}
.photo-arrow:disabled{opacity:.25;cursor:default}
.photo-arrow:active{background:var(--accent-soft)}
.photo-arrow:focus-visible,.attach-photo:focus-visible,.photo-preview:focus-visible,.photo-submit:focus-visible,.photo-draft-remove:focus-visible{outline:2px solid var(--pink);outline-offset:2px}
.photo-count,#photoCounter,#sendPhotoCounter{font:500 11px/1 var(--ui-font);color:var(--muted);font-variant-numeric:tabular-nums;min-width:42px;text-align:center}
.photo-dialog{color:var(--text);background:linear-gradient(145deg,#201426,#120b19 65%);border:1px solid var(--surface-rim);border-radius:24px;padding:16px;width:min(92vw,760px);max-height:calc(var(--app-height,100dvh) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px);overflow-y:auto;box-sizing:border-box}
.photo-dialog::backdrop{background:rgba(5,3,10,.86)}
.photo-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.photo-dialog-head h2{font:600 17px/1.3 var(--ui-font);margin:0;letter-spacing:-.02em}
.photo-dialog img{display:block;max-width:100%;max-height:calc(var(--app-height,100dvh) - 250px);object-fit:contain;border-radius:16px}
.photo-stage{display:flex;align-items:center;justify-content:center;min-height:160px;touch-action:pan-y pinch-zoom}
.photo-stage img{margin:0;user-select:none;-webkit-user-select:none}
.photo-dialog img[hidden],.photo-dialog button[hidden],.photo-preview img[hidden],.photo-gallery-nav[hidden],.attach-photo[hidden],#replyPhotoFile[hidden]{display:none}
.photo-dialog p{color:var(--muted);font-size:12px;line-height:1.5}
.photo-retry{min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:14px;color:inherit;background:var(--panel)}
.attach-photo{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--pink);cursor:pointer}
.attach-photo .control-icon{width:22px;height:22px}
.send-photo-dialog{max-width:480px}
.photo-draft-rail{min-height:160px;margin:16px 0 8px;background:var(--panel)}
.photo-draft-slide{display:flex;align-items:center;justify-content:center}
.photo-draft-slide img{width:100%;height:clamp(160px,40dvh,420px);max-height:calc(var(--app-height,100dvh) - 280px);object-fit:contain}
.photo-draft-remove{position:absolute;right:8px;top:8px;width:44px;height:44px;border:1px solid #fff2;border-radius:50%;color:#fff;background:#120a1d9e;font:300 22px var(--ui-font);cursor:pointer}
.photo-submit{width:100%;min-height:48px;padding:12px 20px;border:1px solid #f4a3dc55;border-radius:16px;background:var(--accent-gradient);color:#fff;font:600 14px var(--ui-font);cursor:pointer}
.photo-submit:disabled{opacity:.45;cursor:default}
.photo-recipient{overflow-wrap:anywhere}

/* UI61: controls use the existing theme and mobile composer geometry. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.thread-latest{position:absolute;right:22px;bottom:calc(var(--composer-height,150px) + env(safe-area-inset-bottom) + 20px);z-index:5;min-height:44px;padding:10px 18px;background:var(--panel,#211529);border:1px solid var(--line2);border-radius:24px;box-shadow:0 6px 24px #0006}
.thread-latest[hidden]{display:none}
.message-filters .card-title{padding-inline:0;border:0;font-size:14px;color:var(--text)}
.filter-help,.filter-note{font:400 12px/1.5 var(--ui-font);color:var(--muted);margin:0 0 14px}
.filter-note{margin:12px 0 0;font-size:11px}
.filter-platforms{display:flex;gap:4px;padding:4px;margin-bottom:12px;border:1px solid var(--line);border-radius:16px;background:var(--panel)}
.filter-platforms button{flex:1;min-height:44px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--muted);font:500 13px var(--ui-font);cursor:pointer}
.filter-platforms button[aria-pressed=true]{background:var(--accent-soft);border-color:#bc88e836;color:var(--text)}
.filter-platforms button:focus-visible{outline:2px solid var(--violet);outline-offset:2px}
.filter-table{width:100%;table-layout:fixed;border-collapse:collapse;margin:0;color:var(--text);background:var(--panel);border-radius:16px;overflow:hidden}
.filter-table thead th{font-size:10px;font-weight:500;color:var(--muted);text-align:center;padding:12px 0}
.filter-table th:first-child{width:calc(100% - 132px);padding-left:12px;text-align:left}
.filter-table tbody th,.filter-table td{border-top:1px solid var(--line);height:52px;font-size:12px;font-weight:500}
.filter-table td{width:44px}
.filter-table input{width:21px;height:21px;accent-color:var(--pink);cursor:pointer}
.filter-table input:disabled{opacity:.35;cursor:default}
.filter-table input:focus-visible{outline:2px solid var(--violet);outline-offset:4px}
.filter-table label{display:flex;min-width:44px;min-height:44px;align-items:center;justify-content:center}
.filter-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:6px}
[data-filter-panel][hidden]{display:none}
#messageFilterStatus{min-height:18px;margin:6px 0 0;color:var(--muted);font-size:12px}
#tokenBalances{margin-block:16px 20px}
#tokenBalances .card-title{border:0;padding:0 0 12px;font:500 13px var(--ui-font);color:var(--muted);letter-spacing:0}
.balance-accounts{border:1px solid var(--line);border-radius:20px;background:linear-gradient(135deg,#25182b80,var(--panel));padding:0 14px}
.balance-account{display:flex;align-items:center;gap:12px;min-height:90px;padding:14px 0}
.balance-account+.balance-account{border-top:1px solid var(--line)}
.balance-logo{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border:1px solid #ffffff0d;border-radius:14px;background:#ffffff05}
.balance-logo img{object-fit:contain;max-width:32px;max-height:32px}
.balance-identity{flex:1;min-width:0}
.balance-identity b{display:block;font-size:13px;font-weight:550}
.balance-identity span{display:block;margin-top:5px;color:var(--muted);font-size:11px;overflow-wrap:anywhere}
.balance-value{text-align:right;flex:0 0 auto;font-variant-numeric:tabular-nums}
.balance-value strong{display:block;font-size:23px;font-weight:600;letter-spacing:-.04em;color:var(--text)}
.balance-value span{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.balance-value small{display:block;font-size:10px;color:var(--muted);margin-top:6px}
.device-cache-dialog{padding:20px;border:1px solid #a97ac845;border-radius:26px;background:radial-gradient(80% 40% at 100% 0,#63325f28,transparent),#171020;box-shadow:0 20px 80px #0009;scroll-padding-top:76px}
.device-cache-heading{position:sticky;top:-20px;z-index:2;padding:16px 20px 14px;margin:-20px -20px 0;background:#171020;border-bottom:1px solid var(--line)}
.device-cache-heading h2{font-size:24px}
.management-kicker{font-size:9px;letter-spacing:.16em;color:var(--muted)}
.device-cache-heading .icon-btn{background:#b990dc12;border:1px solid #b990dc30;border-radius:50%;box-shadow:none;color:var(--text)}
.device-cache-dialog .reset-section-title{font:500 12px var(--ui-font);letter-spacing:0;margin:20px 0 4px;color:var(--muted)}
.device-cache-dialog .device-cache-option{gap:12px;padding:16px 0;border-top:0}
.device-cache-dialog .device-cache-option h3{font-size:14px}
.device-cache-dialog .device-cache-option p{font-size:12px;line-height:1.5}
.device-cache-dialog .control-btn{background:#cfa4eb0a;border-color:#cfa4eb30;border-radius:12px;box-shadow:none}
.management-data{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:8px 0 16px}
.management-data>summary{position:relative;list-style:none;cursor:pointer;padding:16px 28px 16px 0;min-height:44px;font-size:14px;font-weight:500}
.management-data>summary::-webkit-details-marker{display:none}
.management-data>summary:after{content:'⌄';position:absolute;right:4px;top:22px;color:var(--muted);font-size:18px}
.management-data[open]>summary:after{transform:rotate(180deg)}
.management-data>summary span{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:5px}
.management-data .device-cache-option+.device-cache-option{border-top:1px solid var(--line)}
.device-cache-dialog .settings-access{border-color:var(--line);background:#ffffff03;border-radius:16px}
.device-cache-dialog .settings-access summary{min-height:44px}
.device-cache-dialog .settings-action-btn{border-color:var(--line);background:#ffffff03;border-radius:16px}
.device-cache-dialog .danger-btn{color:#efadbd!important;background:#552d3a26;border-color:#d7889c40}
@media(max-width:359px){.balance-accounts{padding-inline:12px}.balance-account{gap:8px}.balance-logo{width:36px;height:36px;flex-basis:36px}.balance-identity b{font-size:12px}.balance-value strong{font-size:21px}.filter-table th:first-child{padding-left:8px}.filter-table tbody th{font-size:11px}.device-cache-dialog{padding:16px}.device-cache-heading{top:-16px;margin:-16px -16px 0;padding-inline:16px}}

#notifySound{width:22px;height:22px;accent-color:var(--pink)}
.notification-card .settings-row{min-height:48px}

/* UI64: one balance row, platform-specific filters, calm first-load state. */
.balance-account{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px}
.balance-value{grid-column:2;min-width:0;text-align:left}
.balance-amount{display:grid;grid-template-columns:minmax(0,1fr) max-content;align-items:baseline;gap:6px 12px}
.balance-token-count{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 8px;min-width:0}
.balance-amount strong{font-size:22px;overflow-wrap:anywhere;max-width:100%}
.balance-amount span{display:inline;margin:0}
.balance-usd{font-weight:550;font-size:19px;color:var(--green);margin-left:0;text-align:right;white-space:nowrap;max-width:100%}
.balance-value small{margin-top:4px}
.balance-amount .balance-native-usd{color:var(--green);font-variant-numeric:tabular-nums}
.balance-session b{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}
.viewer-platforms{margin:18px 14px 4px}
#screen-online{touch-action:pan-y;overflow-x:hidden}
#screen-online #usersBody{transition:transform 160ms ease;transform:translate3d(0,0,0)}
#screen-online.viewer-swipe-active #usersBody{transition:none;transform:translate3d(var(--viewer-swipe-x,0px),0,0);will-change:transform}
#screen-online.viewer-swipe-active{user-select:none;-webkit-user-select:none}
@media(prefers-reduced-motion:reduce){#screen-online #usersBody,#screen-online.viewer-swipe-active #usersBody{transition:none;transform:none}}
.viewer-platform-filters{--viewer-index:0;position:relative;isolation:isolate;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;padding:6px;border:1px solid var(--glass-rim);border-radius:27px;background:var(--glass-sheen),var(--glass-tint);backdrop-filter:blur(var(--glass-blur)) saturate(125%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(125%);box-shadow:inset 0 1px 1px #ffffff22,inset 0 -1px #d0b5ef0c,0 4px 16px #0000001f}
.viewer-platform-filters:before{box-sizing:border-box;content:"";position:absolute;z-index:-1;top:6px;bottom:6px;left:6px;width:calc((100% - 36px)/5);transform:translateX(calc(var(--viewer-index)*(100% + 6px)));border:1px solid #dec6f34d;border-radius:999px;background:var(--glass-selected);box-shadow:inset 0 1px 1px #ffffff3d,inset 1px 0 0 #ffffff12,inset 0 -1px 0 #d9baff16,0 3px 12px #0002;transition:transform 280ms cubic-bezier(.2,.8,.2,1);pointer-events:none}
.viewer-platform-filters.glass-nav-ready{touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.viewer-platform-filters.glass-nav-ready:before{display:none}
.viewer-platform-filters>.glass-lens,.chat-folders>.glass-lens{z-index:0;border-radius:999px;border:1px solid #dec6f34d;background:var(--glass-selected);box-shadow:inset 0 1px 1px #ffffff3d,inset 1px 0 0 #ffffff12,inset 0 -1px 0 #d9baff16,0 3px 12px #0002}
.viewer-platform-filters.glass-held{--lens-scale:1.04}
.viewer-platform-filters.glass-dragging .viewer-platform-filter:active{transform:none}
.viewer-platform-filters.glass-dragging .glass-preview{color:var(--text)}
@media(prefers-reduced-motion:reduce){.viewer-platform-filters>.glass-lens{transition:none}.viewer-platform-filters.glass-held{--lens-scale:1}}
@media(prefers-reduced-transparency:reduce){.viewer-platform-filters>.glass-lens{background:#493257}}
.viewer-platform-filters:has([data-viewer-filter=cb][aria-pressed=true]){--viewer-index:1}
.viewer-platform-filters:has([data-viewer-filter=sc][aria-pressed=true]){--viewer-index:2}
.viewer-platform-filters:has([data-viewer-filter=bc][aria-pressed=true]){--viewer-index:3}
.viewer-platform-filters:has([data-viewer-filter=cs][aria-pressed=true]){--viewer-index:4}
.viewer-platform-filter{position:relative;min-width:0;min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px 2px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;transition:background .18s,border-color .18s,color .18s,transform .18s}
.viewer-platform-filter .platform-logo{width:20px;height:20px;object-fit:contain}
.viewer-filter-short{font:500 9px/1.2 var(--ui-font);white-space:nowrap;color:var(--muted);max-width:100%}
.viewer-platform-filter[data-viewer-filter=all] .viewer-filter-short{display:none}
.viewer-platform-filter[data-viewer-filter=all]{gap:11px}
.viewer-platform-filter b{font:600 16px/1.1 var(--font-body,system-ui);font-variant-numeric:tabular-nums;letter-spacing:-.025em;color:var(--text)}
.viewer-platform-filter .viewer-filter-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.viewer-platform-filter[data-viewer-filter=all] .viewer-filter-label{position:static;width:auto;height:23px;display:flex;align-items:center;overflow:visible;clip-path:none;font-size:12px;font-weight:600}
.viewer-platform-filter[data-viewer-filter=all] img{display:none}
.viewer-platform-filter[aria-pressed=true]{color:var(--text)}
.viewer-platform-filter:active{transform:scale(.96)}
.viewer-platform-filter:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
.viewer-platform-filter.unavailable:not([aria-pressed=true]){color:var(--dim)}
.viewer-platform-filter.unavailable b{color:var(--dim)}
.viewer-platform-filter.unavailable .viewer-filter-short{color:var(--dim)}
.viewer-empty{display:flex;align-items:center;justify-content:center;gap:10px;min-height:120px;padding:24px;line-height:1.6;text-align:center}
.viewer-empty .platform-logo{width:26px;height:26px;flex-shrink:0}
.viewer-list-hint{display:flex;justify-content:space-between;gap:12px;margin:13px 4px 6px;color:var(--muted);font-size:10px;line-height:1.5}
#screen-online .topbar .platform-online{display:none}
@media(prefers-reduced-motion:reduce){.viewer-platform-filter,.viewer-platform-filters:before{transition:none}}
@media(prefers-reduced-transparency:reduce){.viewer-platform-filters{background:#281d36;backdrop-filter:none;-webkit-backdrop-filter:none}.viewer-platform-filters:before{background:#493257}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.viewer-platform-filters{background:#281d36}}
@media(hover:hover){.viewer-platform-filter:not([aria-pressed=true]):hover{background:#d9c1f70d;border-color:#d9c1f71a}}
.earnings-mini small{font-size:10px;color:var(--muted);display:block;line-height:1.4;margin-top:4px}
.earnings-mini b{overflow-wrap:anywhere}
.management-action-icon{flex-shrink:0;width:24px;height:24px;stroke:currentColor;stroke-width:1.7;fill:none;color:var(--muted)}
.device-cache-dialog .settings-action-btn{padding:16px 18px;min-height:76px}
.device-cache-dialog .settings-action-btn:hover{border-color:#cfa4eb55;background:#cfa4eb08}
.device-cache-dialog .settings-action-btn:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
.device-cache-dialog>#webLogoutWrap{padding:0;margin:10px 0 0}
.chat-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:min(400px,55svh);gap:12px;padding:24px;text-align:center}
.chat-loading .plasma-loading-mark{margin-bottom:24px}
.chat-loading>span{font-size:13px;color:var(--muted)}
.chat-load-retry{animation:plasma-retry-reveal 0s 8s both}
@keyframes plasma-retry-reveal{from{visibility:hidden}to{visibility:visible}}
@media(max-width:359px){.balance-account{grid-template-columns:36px minmax(0,1fr);gap:8px}.balance-amount strong{font-size:20px}.balance-usd{font-size:18px}.filter-table tbody th{font-size:11px;line-height:1.4}}

.thread-latest.control-btn{font:600 13px system-ui;letter-spacing:0;color:var(--text)}

/* Quiet language action beside delivery, sharing the compact footer baseline. */
.message-language{box-sizing:border-box;flex:0 0 28px;width:28px;height:28px;padding:0;display:inline-grid;place-items:center;border:0;border-radius:9px;background:linear-gradient(145deg,#ffffff18,#ffffff05);box-shadow:inset 0 1px #ffffff1a,inset 0 -1px #360c4915;color:inherit;opacity:.9;cursor:pointer;margin:0}
.message-language svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
@media(hover:hover) and (pointer:fine){.message-language:hover{background:linear-gradient(145deg,#ffffff28,#ffffff10);opacity:1}}
.message-language:active{background:#ffffff22;opacity:1}
.message-language:focus-visible{outline:2px solid var(--pink);outline-offset:2px}
.message-language,.message-delivery{transition:background-color 140ms ease,box-shadow 140ms ease,opacity 140ms ease,transform 140ms ease}
@media(prefers-reduced-motion:reduce){.message-language,.message-delivery{transition:none}}
@media(prefers-reduced-transparency:reduce){.message-language{background:#472345;box-shadow:none}}
.reply-language-dialog{box-sizing:border-box;width:min(440px,calc(100% - 32px));max-height:calc(var(--app-height,100dvh) - 64px);overflow:auto;padding:22px;border:1px solid var(--line2);border-radius:24px;background:var(--panel,#211529);color:var(--text);box-shadow:0 20px 80px #0009}
.reply-language-dialog::backdrop{background:#09050dcc;backdrop-filter:blur(8px)}
.reply-language-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.reply-language-heading h2{font:600 21px var(--ui-font);margin:0}
.reply-language-heading .icon-btn{width:44px;height:44px;border-radius:50%;background:#ffffff06;border:1px solid var(--line)}
.reply-language-dialog .photo-recipient{font-size:13px;color:var(--violet);margin:12px 0 16px}
.reply-language-help{font-size:12px;line-height:1.6;color:var(--muted);margin:12px 0 16px}
.reply-language-dialog label{display:block;margin-bottom:8px;font-size:13px}
.reply-language-dialog select{width:100%;max-width:none;min-height:48px;padding:10px 14px;border-radius:14px;border:1px solid var(--line2);background:var(--field,#171020);color:var(--text);font:16px var(--ui-font)}
.reply-language-dialog select:focus-visible{outline:2px solid var(--pink);outline-offset:2px}
#replyLanguageStatus{font-size:12px;min-height:18px;margin:12px 0;color:var(--muted)}

/* UI74: DOM source menu keeps the editor active until a source is chosen. */
#threadComposer .inputrow{position:relative}
.photo-source-menu{position:absolute;left:0;bottom:calc(100% + 10px);z-index:12;width:min(224px,calc(100vw - 36px));box-sizing:border-box;max-height:max(96px,calc(var(--app-height,100dvh) - 140px));overflow-y:auto;overscroll-behavior:contain;padding:6px;background:var(--panel,#211529);border:1px solid var(--surface-rim);border-radius:18px;box-shadow:0 12px 36px #0008}
.photo-source-menu[hidden],#replyPhotoCamera[hidden]{display:none}
.photo-source-menu button{display:flex;align-items:center;gap:12px;width:100%;min-height:48px;padding:12px;border:0;border-radius:12px;background:transparent;color:var(--text);font:500 14px var(--ui-font);text-align:left;cursor:pointer}
.photo-source-menu button+button{border-top:1px solid var(--line)}
.photo-source-menu .control-icon{flex:0 0 20px;width:20px;height:20px;color:var(--pink)}
.photo-source-menu button:hover,.photo-source-menu button:active{background:var(--accent-soft)}
.photo-source-menu button:focus-visible{outline:2px solid var(--pink);outline-offset:-2px}

/* UI78: reference-sized search/folders; prepared, interruptible page motion. */
#screen-list.active{display:flex;flex-direction:column;overflow:hidden;padding-bottom:0}
#screen-list>.chat-topbar{display:flex;flex:0 0 auto;min-height:38px;padding:calc(8px + var(--safe-top)) 14px 6px;border-bottom:0;background:transparent}
#screen-list>.chat-topbar .brandmark{font-size:10px;letter-spacing:.12em}
#screen-list .platform-online .online-pill{background:rgba(73,59,91,.24);border:1px solid var(--surface-rim);border-radius:20px;padding:5px 8px}
.viewer-room{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:3px}
.viewer-meta .platform-logo{flex-shrink:0;width:18px;height:18px;object-fit:contain}
#screen-list>.chat-head{flex:0 0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:4px 14px 8px;min-height:50px}
#screen-list .chat-head>div:first-child{grid-column:2;grid-row:1;min-width:0}
#screen-list .chat-head h1{display:flex;align-items:center;gap:7px;font-size:17px;line-height:1.25;letter-spacing:0;font-weight:650;margin:0}
.chat-head h1 img{border-radius:9px;flex-shrink:0}
#screen-list .chat-head-actions{display:contents}
#screen-list #markAllReadBtn{grid-column:1;grid-row:1;justify-self:start;min-height:40px;padding:8px 12px;border-radius:24px;background:var(--panel2);font-size:16px;gap:6px}
#screen-list #markAllReadBtn span{display:none}
#screen-list .chat-head-actions>.icon-btn{grid-column:3;grid-row:1;justify-self:end;border-radius:50%;height:40px;width:40px;background:var(--panel2)}
.inbox-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-anchor:none;padding-bottom:calc(var(--dock-height) + var(--dock-bottom) + 26px);scroll-padding-bottom:calc(var(--dock-height) + var(--dock-bottom) + 10px)}
.inbox-scroll::-webkit-scrollbar,.chat-folders::-webkit-scrollbar{display:none}
.chat-search-wrap{display:flex;align-items:center;gap:10px;padding:0 14px 8px}
.chat-search{position:relative;display:flex;align-items:center;min-width:0;flex:1;background:var(--panel2);border:1px solid transparent;border-radius:24px;color:var(--muted);height:40px}
.chat-search:focus-within{border-color:var(--surface-rim)}
.chat-search svg{position:absolute;left:13px;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;pointer-events:none}
.chat-search input{width:100%;min-width:0;height:40px;background:none;border:0;outline:0;color:var(--text);font:400 16px var(--ui-font);padding:0 14px 0 38px}
.chat-search input::placeholder{color:var(--muted)}
.chat-search:has(input:placeholder-shown):not(:focus-within) input{text-align:center;padding-inline:30px}
.chat-search:has(input:placeholder-shown):not(:focus-within) svg{left:calc(50% - 54px)}
#chatSearchCancel{min-height:44px;border:0;padding:0;background:none;color:var(--pink);font:500 15px var(--ui-font);cursor:pointer}
#chatSearchCancel[hidden]{display:none}
.chat-folders{position:sticky;top:0;z-index:4;display:flex;gap:0;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;margin:0 14px 4px;padding:3px;background:rgba(73,59,91,.24);border:1px solid #eadfff35;border-radius:24px;backdrop-filter:blur(12px) saturate(135%);-webkit-backdrop-filter:blur(12px) saturate(135%);box-shadow:inset 0 1px #ffefff18;touch-action:pan-x;isolation:isolate}
.chat-folders:before{content:'';position:absolute;top:3px;bottom:3px;left:0;width:var(--folder-w,0px);transform:translate3d(var(--folder-x,0px),0,0);background:var(--accent-soft);border:1px solid var(--surface-rim);border-radius:22px;pointer-events:none;z-index:-1}
.chat-folder{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:7px 13px;border:0;border-radius:22px;background:transparent;color:var(--muted);font:500 14px var(--ui-font);white-space:nowrap;cursor:pointer}
.chat-folder[aria-selected=true]{color:var(--text)}
.chat-folder:active{transform:none}
.chat-folder b{padding:1px 5px;border-radius:10px;min-width:18px;background:var(--line);font-size:11px;font-weight:600}
.chat-folder[aria-selected=true] b{background:var(--violet);color:#fff}
.chat-folder b[hidden]{display:none}
.folder-platform-logo{width:16px;height:16px;object-fit:contain}
.chat-folder-viewport{position:relative;min-height:calc(100% - 48px);overflow:clip;touch-action:pan-y pinch-zoom}
#chatListBody{background:var(--bg);backface-visibility:hidden;transition:transform 160ms ease;transform:translate3d(0,0,0)}
.chat-folder-viewport.viewer-swipe-active #chatListBody{transition:none;transform:translate3d(var(--viewer-swipe-x,0px),0,0);will-change:transform}
.chat-folder-viewport.viewer-swipe-active{user-select:none;-webkit-user-select:none}
@media(prefers-reduced-motion:reduce){#chatListBody,.chat-folder-viewport.viewer-swipe-active #chatListBody{transition:none;transform:none}}
.is-swiping{user-select:none;-webkit-user-select:none}
#screen-list .chat-home-list{padding:0 14px 16px}
#screen-list .chatlist-row{position:relative;display:flex;gap:10px;align-items:center;height:76px;min-height:76px;padding:8px 0;margin:0;border:0;border-radius:0;background:transparent;contain:layout style}
#screen-list .chatlist-row:not(:last-child):after{left:64px;right:0;background:var(--line);opacity:.55}
#screen-list .chatlist-row .avatar{width:54px;height:54px;flex:0 0 54px;border-radius:50%;font-size:19px;font-weight:500}
#screen-list .chatlist-info{min-width:0;flex:1;align-self:stretch;padding:2px 0}
#screen-list .chatlist-top{display:flex;align-items:baseline;gap:5px;min-height:21px}
#screen-list .chatlist-name{flex:1;min-width:0;font-size:16px;font-weight:600;line-height:1.25}
#screen-list .chatlist-preview{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow:hidden;font-size:14px;line-height:19px;margin:2px 25px 0 0;color:var(--muted)}
#screen-list .chatlist-time{font-size:11px;line-height:18px;flex-shrink:0;color:var(--muted)}
.chat-source-logo{width:13px;height:13px;object-fit:contain;flex-shrink:0;align-self:center}
.chat-row-actions{position:absolute;right:0;bottom:11px;display:flex;align-items:center;gap:4px}
.chat-unread-count{min-width:19px;height:19px;display:grid;place-items:center;padding:0 5px;border-radius:12px;background:var(--violet);color:#fff;font:600 11px var(--ui-font)}
.chat-pin{width:13px;height:16px;fill:none;stroke:var(--muted);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.chat-row-menu{position:absolute;right:0;bottom:0;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:14px;padding:12px;background:var(--panel);color:var(--muted);cursor:pointer;opacity:0;pointer-events:none}
.chat-row-menu svg{width:20px;height:20px;fill:currentColor}
.chat-row-menu:focus-visible{opacity:1;pointer-events:auto}
@media(hover:hover) and (pointer:fine){.chatlist-row:hover .chat-row-menu{opacity:1;pointer-events:auto}}
.chat-context-menu{position:fixed;z-index:1500;padding:6px;border:1px solid var(--surface-rim,#67416f);border-radius:16px;background:var(--panel,#211529);box-shadow:0 12px 36px #0008;max-width:calc(100vw - 24px)}
.chat-context-menu[hidden]{display:none}
.chat-context-menu button{min-height:48px;padding:12px 16px;border:0;border-radius:11px;background:none;color:var(--text);font:500 14px var(--ui-font);text-align:left;cursor:pointer}
.chat-context-menu button:hover,.chat-context-menu button:active{background:var(--accent-soft)}
#threadName{display:flex;align-items:center;gap:8px}
#threadName>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.thread-platform-logo{flex:0 0 19px;width:19px;height:19px;object-fit:contain}



#threadBody .search-result .bubble{outline:2px solid var(--pink);outline-offset:3px}

/* UI79: ambient decorations remain visible over both chat surfaces, below controls. */
body:has(#screen-list.active)>.sparkle,body:has(#screen-thread.active)>.sparkle{z-index:2;animation-name:chatSparkleFloat;opacity:.28;filter:none}
@media(prefers-reduced-transparency:reduce){.chat-folders{background:#281d36;backdrop-filter:none;-webkit-backdrop-filter:none}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.chat-folders{background:#281d36}}


@keyframes chatSparkleFloat{0%{transform:translate3d(0,0,0) rotate(0deg);opacity:0}10%,70%{opacity:.28}100%{transform:translate3d(0,-115vh,0) rotate(18deg);opacity:0}}

/* Account controls share the existing management sheet. */
.admin-accounts{padding:22px 0;border-bottom:1px solid var(--line)}
.admin-accounts[hidden]{display:none}.admin-accounts h3{margin:0 0 10px;font-size:18px}.admin-accounts p{font-size:13px;color:var(--muted);line-height:1.5}
.admin-mode{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;font-size:14px}.admin-mode select{max-width:55%;min-height:44px;border:1px solid var(--line);border-radius:14px;background:var(--panel2);color:var(--text);padding:10px;font:inherit}
.admin-user-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-top:1px solid var(--line)}.admin-user-row b{min-width:0;overflow-wrap:anywhere;font-size:14px}.admin-user-row button{flex-shrink:0;min-height:44px}
.admin-create{display:grid;gap:10px;margin-top:18px}.admin-create h4{margin:0 0 5px;font-size:15px}.admin-create label{font-size:13px;color:var(--muted)}.admin-create input{width:100%;box-sizing:border-box}.admin-create button{min-height:44px;margin-top:6px}.admin-feedback{min-height:20px}.admin-feedback.is-error{color:var(--red)}

.admin-accounts summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;font-size:16px;font-weight:600;cursor:pointer;list-style:none}.admin-accounts summary::-webkit-details-marker{display:none}.admin-accounts summary:after{content:"⌄";color:var(--muted)}.admin-accounts[open] summary:after{content:"⌃"}.admin-accounts .control-btn{font:500 13px var(--ui-font);letter-spacing:0;text-transform:none;padding:10px 14px;border-radius:14px}.settings-row[hidden]{display:none}

.admin-user-row>div{min-width:0}.admin-user-row small{display:block;color:var(--muted);font-size:11px;line-height:1.5;margin-top:5px}
.admin-user-row .control-btn{flex:0 0 auto;width:auto;max-width:52%;white-space:normal;line-height:1.35}

/* UI83: clear plum glass; fixed geometry and a quiet, readable control sheet. */
.chatbox-welcome{display:none}
.admin-user-earnings{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-top:12px;border-top:1px solid var(--line)}
.admin-user-row:has(.admin-user-earnings){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
.admin-user-row:has(.admin-user-earnings)>.control-btn{max-width:140px}
.admin-user-earnings>div{min-width:0;display:flex;flex-direction:column;gap:4px}
.admin-user-earnings span,.admin-user-earnings small{color:var(--muted);font-size:11px;line-height:1.5}
.admin-user-earnings strong{font-size:20px;font-weight:500;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:#b8e5d2}
.admin-user-earnings .admin-earnings-updated{grid-column:1/-1;font-size:10px}
@media(min-width:820px){
 body.chatbox-mode{--chatbox-sidebar:350px;--safe-top:0px;--safe-bottom:0px;align-items:stretch;background:var(--bg)}
 .chatbox-mode>.screen{position:absolute;inset:0 0 0 var(--chatbox-sidebar);width:auto;max-width:none;margin:0;border:0;overflow:auto;padding-bottom:24px}
 .chatbox-mode>#screen-list{display:flex;flex-direction:column;inset:0 auto 0 0;width:var(--chatbox-sidebar);max-width:none;padding:0;border-right:1px solid #d9b2eb26;background:linear-gradient(160deg,#20152960,#110c18ad)}
 .chatbox-mode #screen-list .chat-topbar{flex-wrap:wrap;gap:8px;min-height:68px;position:relative;padding:15px 16px;background:transparent}
 .chatbox-mode .chat-head{padding:14px 16px 12px}
 .chatbox-mode .chat-head h1{font-size:24px}
 .chatbox-mode .chat-head-actions{gap:5px}
 .chatbox-mode #screen-list .chatlist-row{padding:13px 14px;min-height:76px}
 .chatbox-mode #screen-list .chatbox-selected{background:#c28fe617;box-shadow:inset 3px 0 #ce9fe3}
 .chatbox-mode #screen-list .chatlist-name{font-size:14px}
 .chatbox-mode #screen-list .chatlist-preview{font-size:13px}
 .chatbox-mode #screen-list .chatlist-row .avatar{width:42px;height:42px;flex-basis:42px;font-size:16px}
 .chatbox-mode #screen-list .chatlist-time{font-size:10px}
 .chatbox-mode .inbox-scroll{padding-bottom:104px;scrollbar-width:thin}
 .chatbox-mode .chat-folders{margin-inline:12px}
 .chatbox-mode .chat-folders button{font-size:12px;padding-inline:6px;gap:4px;min-height:44px}
 .chatbox-mode .chat-search-wrap{padding-inline:12px}
 body.chatbox-mode:has(#screen-thread.active) .navigation-dock{display:flex}
 body.chatbox-mode:has(#screen-thread.active) .cache-dock-button{display:flex}
 .chatbox-mode .navigation-dock{left:14px;right:auto;bottom:14px;width:calc(var(--chatbox-sidebar) - 78px);max-width:none;transform:none}
 .chatbox-mode .navigation-dock .tabbar{width:100%;max-width:none;min-height:66px;margin:0}
 .chatbox-mode .navigation-dock small{font-size:9px}
 .chatbox-mode .cache-dock-button{left:calc(var(--chatbox-sidebar) - 57px);right:auto;bottom:24px;width:44px;height:44px;transform:none}
 body.chatbox-mode>#screen-thread.active{display:flex;flex-direction:column;overflow:hidden;padding:0;width:calc(100% - var(--chatbox-sidebar));max-width:none;min-width:0;left:var(--chatbox-sidebar);right:0}
 .chatbox-mode #screen-thread .thread-topbar{position:relative;flex-shrink:0;padding-inline:24px;min-height:88px}
 .chatbox-mode #screen-thread .thread-body{padding:36px clamp(22px,4vw,60px) 22px;min-height:0;flex:1;scrollbar-width:thin}
 .chatbox-mode #screen-thread .composer{position:relative;bottom:auto;flex-shrink:0;padding:14px 22px 12px;backdrop-filter:none;-webkit-backdrop-filter:none}
 .chatbox-mode #screen-thread .bubble{max-width:min(100%,580px)}
 .chatbox-mode #screen-thread .thread-topbar .back{display:none}
 .chatbox-mode #screen-thread .cosmic-inscriptions{opacity:.45}
 .chatbox-mode #screen-settings,.chatbox-mode #screen-stats,.chatbox-mode #screen-online{scrollbar-width:thin}
 .chatbox-mode #screen-settings .settings-sections{max-width:920px;margin:auto}
 .chatbox-mode .chatbox-welcome{position:absolute;inset:0 0 0 var(--chatbox-sidebar);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;text-align:center;padding:32px;color:var(--muted);pointer-events:none;background:radial-gradient(ellipse at 55% 45%,#764a9a12,transparent 65%)}
 .chatbox-welcome img{border-radius:22px;opacity:.8;box-shadow:0 8px 40px #be80cf16;margin-bottom:8px}
 .chatbox-welcome h2{font-size:23px;color:var(--text);font-weight:500;letter-spacing:-.03em;margin:0}
 .chatbox-welcome p{font-size:14px;line-height:1.7;max-width:290px;margin:0}
 .chatbox-mode:has(#screen-thread.active) .chatbox-welcome,.chatbox-mode:has(#screen-stats.active) .chatbox-welcome,.chatbox-mode:has(#screen-settings.active) .chatbox-welcome,.chatbox-mode:has(#screen-online.active) .chatbox-welcome{display:none}
 .chatbox-mode .banner{left:var(--chatbox-sidebar);right:0;width:auto;max-width:none;transform:none}
 .chatbox-mode .toast{left:calc(var(--chatbox-sidebar) + 24px);right:24px;max-width:560px;margin-left:auto}
}
.navigation-dock .tabbar,.cache-dock-button,.owner-studio-return,.chat-folders{
  background:var(--glass-sheen),var(--glass-tint);border-color:rgba(239,220,255,.25);
  backdrop-filter:blur(var(--glass-blur)) saturate(125%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(125%);
  box-shadow:inset 0 1px 1px #ffffff22,inset 0 -1px #d0b5ef0c,0 4px 16px #0000001f;
}
.navigation-dock .tabbar,.cache-dock-button,.owner-studio-return{background:var(--dock-glass-sheen),var(--dock-glass-tint)}
.navigation-dock .tabbar{--glass-selected:var(--dock-glass-selected)}
.chat-folders:before{background:linear-gradient(135deg,#dcb6ff22,#c286f410);border-color:#dec6f32e}
.chat-search{background:#a386bd12;border-color:#dbc4ef17}.chat-search:focus-within{background:#ac8cc51a;border-color:#dfb7ff55}
#screen-list #markAllReadBtn,#screen-list .chat-head-actions>.icon-btn{background:#b69dc410;border:1px solid #e1c7f01b}
.online-pill.zero>span:first-child{background:#aa99b5;box-shadow:none}
.thread-identity .status-chip[hidden]{display:none}
.device-cache-dialog{width:min(460px,calc(100% - 28px));padding:22px;border-radius:26px;border:1px solid #ddc2f035;background:linear-gradient(145deg,#21172bec,#15101df5);box-shadow:inset 0 1px #fff1ff17,0 24px 90px #0008;scrollbar-width:thin;scrollbar-color:#78598d transparent}
.device-cache-dialog::backdrop{background:#09060e80;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.device-cache-heading{background:#20162b;top:-22px;margin:-22px -22px 0;padding:20px 22px 18px}
.device-cache-heading h2{font-size:25px;letter-spacing:-.035em}.management-kicker{font-size:9px;letter-spacing:.2em;color:#ba9ccd}
#deviceCacheDescription{font-size:13px;line-height:1.6;margin:14px 0 22px;color:var(--muted)}
.management-data,.admin-accounts{border-color:#d3b4e320;padding:14px 0}.management-data{padding:0;margin:8px 0 0}.admin-accounts>p{margin:10px 0 18px;font-size:12px;line-height:1.6}
.admin-mode{margin-top:14px;padding:14px;border:1px solid #dac3eb20;border-radius:16px;background:#d6b5ef06;align-items:center}
.admin-mode>span{font-size:13px}.admin-mode select{background:#b892df12;border-color:#d6b5ef28;font-size:13px;padding:10px 12px;max-width:58%}
.admin-hint{font-size:12px!important;line-height:1.6!important}
.admin-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 10px}
.admin-section-heading h4{font-size:15px;font-weight:600;letter-spacing:-.01em;margin:0}
.admin-service-badge{font-size:11px;color:#d5b7e8;border:1px solid #d7b1f128;border-radius:8px;padding:4px 8px;background:#c8a1e60a;font-variant-numeric:tabular-nums}
.admin-translator{display:grid;gap:8px;border-block:1px solid #d3b4e320;margin:22px 0;padding-bottom:16px}
.admin-translator .admin-section-heading{margin-top:18px}.admin-translator p{margin:0 0 4px}.admin-translator label{font-size:13px;margin:4px 0}
.admin-translator .settings-input,.admin-create .settings-input{min-height:46px;border-radius:13px;padding:10px 13px;background:#09070f70;border:1px solid #d4b3eb30;font-size:16px}
.admin-translator .control-btn,.admin-create>.control-btn{min-height:46px;background:linear-gradient(120deg,#bb65b133,#9362d53b);border:1px solid #dba0f04d;color:#f4e3ff;border-radius:14px}
.admin-translator .control-btn{width:100%;margin-top:6px}.admin-translator .admin-feedback:empty,.admin-feedback:empty{display:none}
.admin-feedback.is-error{color:#ffb0cc!important}.admin-user-row{padding:14px 0}.admin-user-row .danger-btn{background:#c34b7608;border-color:#d999ae24;color:#f0b3ca}
.admin-create{padding-top:18px;border-top:1px solid #d3b4e320;margin-top:18px;gap:9px}.admin-create h4{font-size:14px;margin-bottom:8px}
.device-cache-dialog #webLogoutWrap{margin-top:14px}.device-cache-dialog #webLogoutWrap .settings-action-btn{width:100%;margin:0;padding:16px;background:#fff5ff04;border-color:#dcc4ec22;border-radius:16px}
.device-cache-dialog :focus-visible{outline:2px solid #d7a8f7;outline-offset:3px}
@media(max-width:359px){.device-cache-dialog{padding:17px}.device-cache-heading{top:-17px;margin:-17px -17px 0;padding:17px}.admin-mode{padding:12px;gap:8px}.admin-mode>span{font-size:12px}}
@media(prefers-reduced-transparency:reduce){.navigation-dock .tabbar,.cache-dock-button,.owner-studio-return,.chat-folders{background:#281d36;backdrop-filter:none;-webkit-backdrop-filter:none}.device-cache-dialog{background:#1c1425}.device-cache-dialog::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.navigation-dock .tabbar,.cache-dock-button,.owner-studio-return,.chat-folders{background:#281d36}}

/* Keep all three connected platforms discoverable before their first message. */
@media(max-width:480px){
 .chat-folder{font-size:12px;padding-inline:6px;gap:4px;min-height:44px;flex-grow:1}
 .folder-platform-logo{width:14px;height:14px}
}

.tabbar button .chatbox-icon .chatbox-outline{stroke:currentColor;fill:#c49cff0c}
.tabbar button.active .chatbox-icon .chatbox-outline{stroke:#d9b8ec;fill:#c49cff14}
.tabbar button.active .chatbox-icon .chatbox-heart{stroke:#f4b7de;fill:#edacd63d;stroke-width:1.25}

/* A proper workspace for Darlin, using the same plum glass and native controls. */
.cache-dock-label,.chatbox-admin-button{display:none}
.admin-entry[hidden],.admin-user-row[hidden],#adminNoResults[hidden],#adminCreatedAccess[hidden]{display:none!important}
.management-admin-link{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;min-height:74px;margin:18px 0;padding:16px;border:1px solid var(--glass-rim);border-radius:var(--radius-md);background:var(--glass-selected);color:var(--text);text-align:left}
.management-admin-link b,.management-admin-link small{display:block}.management-admin-link b{font-size:16px;font-weight:600}.management-admin-link small{font-size:12px;color:var(--muted);margin-top:5px}
#screen-admin{padding-bottom:calc(114px + var(--safe-bottom));scrollbar-width:thin}
.admin-topbar{gap:12px;min-height:82px;align-items:center}
.admin-topbar>div{flex:1;min-width:0}.admin-topbar h1{font-size:23px;letter-spacing:-.035em;line-height:1.25;margin:4px 0 0;font-weight:600}
.admin-topbar .admin-back{width:44px;height:44px;flex-shrink:0;font-size:30px;color:var(--text)}
.admin-refresh{min-height:44px;padding:9px 12px;font-size:12px!important}
#screen-admin .admin-workspace{padding:22px 18px;border:0;margin:0 auto;max-width:1160px}
.admin-overview{display:flex;flex-direction:column;gap:24px;padding:6px 0 24px;border-bottom:1px solid var(--surface-rim)}
.admin-overview-label{font-size:11px;color:var(--pink);font-weight:500;letter-spacing:.02em}
.admin-overview h2{font-size:27px;line-height:1.18;font-weight:500;letter-spacing:-.04em;max-width:20ch;margin:10px 0}
.admin-overview p{font-size:13px;line-height:1.6;color:var(--muted);max-width:42ch;margin:0}
.admin-overview-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.admin-overview-metrics>div{display:flex;flex-direction:column;gap:6px;min-width:0}.admin-overview-metrics b{font-size:25px;font-weight:500;letter-spacing:-.04em;font-variant-numeric:tabular-nums;color:var(--text)}.admin-overview-metrics span{font-size:11px;line-height:1.5;color:var(--muted)}
.admin-infinity{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:16px;color:var(--violet);vertical-align:middle}
.admin-infinity>svg{display:block;width:100%;height:100%;overflow:visible}
#adminClientCount{display:flex;align-items:center;gap:5px;white-space:nowrap}
#adminClientCount>.admin-infinity{width:40px;height:28px;padding:5px 7px;border-radius:11px;border:1px solid var(--glass-rim);background:var(--glass-sheen),var(--glass-tint);box-shadow:inset 0 1px 1px #fff2;color:var(--violet)}
.admin-access-badge:has(.admin-infinity){display:flex;align-items:center;justify-content:flex-end;gap:4px}
.admin-access-badge>.admin-infinity{width:19px;height:14px}
.admin-columns{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-top:20px}
.admin-models,.admin-sidebar{min-width:0}
.admin-list-toolbar{display:flex;gap:8px;margin-bottom:18px;align-items:center}
.admin-model-search{flex:1;min-width:0}
.admin-model-search input,.admin-list-toolbar select{border:1px solid var(--surface-rim);border-radius:13px;min-height:44px;background:#e8caff07;color:var(--text);font:400 14px var(--ui-font);padding:10px 12px;width:100%;min-width:0}
.admin-list-toolbar select{width:auto;max-width:45%;font-size:12px;padding-right:8px}.admin-model-search input::placeholder{color:var(--muted)}
#adminUserList{display:grid;gap:14px}
.admin-models{container-type:inline-size;container-name:admin-model-list}
.admin-list-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto}
.admin-model-search{grid-column:1/-1}
.admin-list-toolbar select{width:100%;max-width:100%;appearance:none;-webkit-appearance:none;padding-right:34px;background-color:var(--panel);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23bfb2d5' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E"),var(--glass-sheen);background-repeat:no-repeat;background-position:right 12px center,center;background-size:14px,100% 100%;border-color:var(--glass-rim);box-shadow:inset 0 1px 1px #fff1}
.admin-list-toolbar select option{background:var(--panel);color:var(--text)}
@container admin-model-list (min-width:520px){.admin-list-toolbar{grid-template-columns:minmax(0,1fr) auto auto}.admin-model-search{grid-column:auto}}
.admin-trash-toggle{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:9px 13px;border:1px solid var(--glass-rim);border-radius:999px;background:var(--glass-sheen),var(--glass-tint);color:var(--muted);font:500 12px/1.4 var(--ui-font);white-space:nowrap}
.admin-trash-toggle svg{width:17px;height:17px;flex-shrink:0}
.admin-trash-toggle b{min-width:21px;padding:1px 5px;border-radius:999px;background:#d6b3ef14;color:var(--text);font-size:11px;font-weight:500}
.admin-trash-toggle[aria-pressed=true]{background:var(--glass-selected);border-color:#d6b3ef66;color:var(--text)}
.admin-trash-note{margin:0 2px 16px;color:var(--muted);font-size:12px;line-height:1.65}
#screen-admin .admin-user-row{display:block;padding:18px;border:1px solid var(--surface-rim);border-radius:22px;background:linear-gradient(145deg,#d59fb90a,#b797db05);min-width:0;container-type:inline-size}
.admin-model-heading{display:flex;align-items:center;gap:11px;min-width:0}
.admin-model-avatar{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;border:1px solid #dba6e12d;border-radius:15px;background:linear-gradient(135deg,#c38ed621,#be78a812);color:#f1cde8;font-size:14px;font-weight:500}
.admin-model-identity{flex:1;min-width:0;display:grid;gap:4px}.admin-model-name{font-size:16px;line-height:1.3;font-weight:600;overflow-wrap:anywhere}.admin-model-role{font-size:11px;color:var(--muted)}
.admin-model-state{font-size:10px;line-height:1.5;color:var(--muted);text-align:right;max-width:98px;flex:0 1 98px}
.admin-user-row[data-state=live] .admin-model-state{color:var(--green)}.admin-user-row[data-state=connected] .admin-model-state{color:var(--violet)}.admin-user-row[data-state=disabled]{opacity:.75}
#screen-admin .admin-user-earnings{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 16px;padding:0;border:0;min-height:63px;font-size:12px;color:var(--muted)}
#screen-admin .admin-user-earnings strong{font-size:23px;font-weight:500;color:var(--text)}
.admin-model-events{border-top:1px solid var(--surface-rim);padding-top:4px}
.admin-model-events summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;cursor:pointer;list-style:none}
.admin-model-events summary::-webkit-details-marker,.admin-section summary::-webkit-details-marker{display:none}
.admin-model-events summary b{display:block;font-size:13px;font-weight:500}.admin-events-state{display:block;font-size:11px;line-height:1.5;color:var(--muted);margin-top:5px;overflow-wrap:anywhere}
.admin-disclosure{font-size:18px;color:var(--muted);transition:transform var(--motion-fast)}.admin-model-events[open] .admin-disclosure{transform:rotate(180deg)}
.admin-events-form{border-top:1px solid var(--surface-rim);padding-top:14px;display:grid;gap:10px;min-width:0}
.admin-events-form fieldset{border:0;margin:0;padding:0;display:grid;gap:10px;min-width:0}
.admin-events-form label{font-size:12px;color:var(--text)}.admin-events-form p{margin:0;font-size:12px;line-height:1.6;color:var(--muted)}.admin-events-form .admin-events-room{color:var(--violet)}
.admin-events-last{font-size:11px;color:var(--muted)}.admin-provider-link{font-size:12px;line-height:1.6;color:var(--violet);padding:6px 0;text-underline-offset:4px;width:fit-content}
.admin-secret-field{display:flex;align-items:stretch;min-width:0;width:100%;border:1px solid #d4b3eb30;border-radius:13px;overflow:hidden;background:#09070f70}
#screen-admin .admin-secret-field input{min-width:0;flex:1;width:100%;border:0;border-radius:0;background:none;box-shadow:none}
.admin-secret-field>button{min-width:68px;flex-shrink:0;padding:8px;color:var(--violet);border:0;border-left:1px solid var(--surface-rim);background:#c49cff08;font-size:11px}
.admin-secret-field:focus-within{outline:2px solid var(--violet);outline-offset:2px}
#screen-admin .admin-events-form .settings-input{min-height:46px;padding:10px 12px;font-size:16px;color:var(--text)}
.admin-events-toggle{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer;margin-top:4px}.admin-events-toggle input{accent-color:var(--violet);width:19px;height:19px;flex-shrink:0;margin:0}
.admin-events-feedback{font-size:12px!important;line-height:1.6}.admin-events-feedback.is-error{color:var(--red)!important}
#screen-admin .control-btn{min-height:44px;font-size:13px;font-weight:500;padding:11px 16px;border-radius:13px;color:var(--text);background:#c49cff0d;border:1px solid #d5acec30}
#screen-admin .admin-model-heading>.admin-view-account{display:flex;align-items:center;justify-content:center;gap:7px;width:118px;min-width:0;max-width:100%;min-height:46px;margin:0;padding:8px 11px;border-radius:999px;border:1px solid #edc9f65c;background:radial-gradient(ellipse at 15% 0%,#f0b3da24,transparent 72%),var(--glass-selected);backdrop-filter:blur(var(--glass-blur)) saturate(135%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(135%);box-shadow:inset 0 1px 1px #fff5,inset 0 -1px 1px #593a7740,0 5px 18px #09050e33;color:#fff0fc;font:500 12px/1.35 var(--ui-font);text-align:center;transition:background-color var(--motion-fast),border-color var(--motion-fast),box-shadow var(--motion-fast)}
.admin-account-symbol{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:linear-gradient(145deg,#f5c5e827,#cda6f30a);border:1px solid #f7d9fa36;box-shadow:inset 0 1px #fff2;color:#f5c9eb}
.admin-account-symbol svg,.admin-account-arrow{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.admin-account-label{flex:1;min-width:0;overflow-wrap:anywhere}.admin-account-arrow{width:16px;height:16px;flex:0 0 16px;color:#e3c9f0}
.admin-model-heading--action{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"profile action" "state state";column-gap:10px;row-gap:6px}
.admin-model-profile{grid-area:profile;display:flex;align-items:center;gap:11px;min-width:0}
.admin-model-heading--action>.admin-view-account{grid-area:action;justify-self:center;align-self:center}
.admin-model-heading--action>.admin-model-state{grid-area:state;justify-self:start;max-width:none;margin-left:53px;text-align:left;overflow-wrap:anywhere}
.admin-model-heading--action .admin-account-label{position:static;min-width:0;line-height:1.35}
.admin-account-label-full{display:none}.admin-account-label-short{display:inline}
.admin-model-heading--action .admin-account-symbol{width:20px;height:22px;flex-basis:20px;border:0;box-shadow:none;background:none;border-radius:0}
.admin-model-heading--action .admin-account-arrow{display:none}
@container(max-width:275px){#screen-admin .admin-model-heading>.admin-view-account{width:100px;gap:5px;padding-inline:8px}.admin-model-heading--action .admin-model-profile{gap:8px}.admin-model-heading--action .admin-model-avatar{width:34px;height:38px;border-radius:13px}.admin-model-heading--action>.admin-model-state{margin-left:42px}}
@container(min-width:480px){
 .admin-model-heading--action{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-areas:"profile action state";gap:16px}
 #screen-admin .admin-model-heading>.admin-view-account{width:184px;min-height:48px;padding:6px 12px 6px 7px;font-size:13px}
 .admin-model-heading--action>.admin-model-state{justify-self:end;max-width:110px;margin-left:0;text-align:right}
 .admin-model-heading--action .admin-account-label{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal}
 .admin-account-label-full{display:inline}.admin-account-label-short{display:none}
 .admin-model-heading--action .admin-account-arrow{display:block}
}
#screen-admin .admin-view-account:focus-visible{outline:2px solid var(--pink);outline-offset:4px}
#screen-admin .admin-view-account:active:not(:disabled){background-color:#e4b6eb20;box-shadow:inset 0 2px 7px #140c1f42,inset 0 1px #fff2}
#screen-admin .admin-view-account:disabled{opacity:.55;cursor:default}
@media(hover:hover){#screen-admin .admin-view-account:hover:not(:disabled){border-color:#f5d8fa8c;background-color:#e8b8ed13;box-shadow:inset 0 1px 1px #fff6,inset 0 -1px #bd8bd324,0 6px 20px #ac6cab16}}
#screen-admin .admin-primary{background:linear-gradient(115deg,#78435b,#584077);border-color:#edc2e43b;color:#fff5fb}
.admin-model-danger{margin-top:10px;border-top:1px solid var(--surface-rim);padding-top:4px}.admin-model-danger summary{color:var(--muted);font-size:11px;line-height:1.5;cursor:pointer;min-height:44px;align-content:center}.admin-model-danger p{font-size:12px;line-height:1.6;color:var(--muted);margin:0 0 12px}.admin-model-danger .danger-btn{color:var(--red)!important;border-color:#d999ae24!important;background:#c34b7608!important}
/* Access follows the same model card: one deadline, one place to extend it. */
.admin-model-access{margin:0 0 14px;border:1px solid var(--glass-rim);border-radius:20px;background:radial-gradient(ellipse at 5% 0%,#e6add616,transparent 70%),linear-gradient(120deg,#ddc3f30c,#a681ca05);box-shadow:inset 0 1px 1px #fff1;overflow:hidden}
.admin-model-access>summary{list-style:none;display:flex;align-items:center;gap:10px;min-height:72px;padding:13px 14px;cursor:pointer}
.admin-model-access>summary::-webkit-details-marker{display:none}
.admin-model-access>summary:after{content:none}
.admin-access-symbol{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;color:var(--pink);border:1px solid #edc9f526;border-radius:12px;background:#dfb2ec0b;box-shadow:inset 0 1px #fff1}
.admin-access-symbol svg{width:19px;height:19px}
.admin-access-heading{display:grid;gap:5px;flex:1;min-width:0}.admin-access-heading>b{font-size:13px;line-height:1.3;font-weight:500}.admin-access-deadline{font-size:11px;line-height:1.45;color:var(--muted);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.admin-access-badge{color:var(--violet);font-size:11px;line-height:1.4;max-width:88px;text-align:right}.admin-access-chevron{color:var(--muted);font-size:18px;transition:transform var(--motion-fast)}.admin-model-access[open] .admin-access-chevron{transform:rotate(180deg)}
.admin-model-access[data-access-state=expired] .admin-access-badge,.admin-user-row[data-state=expired] .admin-model-state{color:var(--red)}.admin-model-access[data-access-state=disabled] .admin-access-badge{color:var(--muted)}
.admin-access-form{display:grid;gap:14px;padding:0 14px 16px;border-top:1px solid var(--surface-rim)}
.admin-access-form .admin-access-explanation{margin:14px 0 0;color:var(--muted);font-size:12px;line-height:1.6}
#screen-admin .admin-access-picker{border:0;margin:4px 0 0;padding:0;min-width:0;width:100%;container-type:inline-size;container-name:access-duration}
.admin-access-picker legend{font-size:12px;font-weight:500;margin-bottom:10px;color:var(--text)}
.admin-access-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
@container access-duration (max-width:340px){.admin-access-options{grid-template-columns:repeat(2,minmax(0,1fr))}}
#screen-admin .admin-access-options label{position:relative;margin:0;min-width:0;cursor:pointer}
.admin-access-options input{position:absolute;opacity:0;width:1px;height:1px;inset:50% auto auto 50%;margin:0}
.admin-access-options label>span{min-height:46px;display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 5px;border-radius:14px;border:1px solid #d4b7ed27;background:#0a061529;color:var(--muted);font:500 12px/1.35 var(--ui-font);text-align:center;transition:border-color var(--motion-fast),background-color var(--motion-fast),color var(--motion-fast);overflow-wrap:anywhere}
.admin-access-options b{font:400 22px/1 var(--ui-font)}
.admin-access-options input:checked+span{color:#fff0fc;border-color:#e4b8eb70;background:linear-gradient(130deg,#ce87ba2d,#ab84e329);box-shadow:inset 0 1px 1px #fff3,0 3px 12px #09040e21}
.admin-access-options input:focus+span{outline:2px solid var(--pink);outline-offset:2px}
#screen-admin .admin-access-custom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 0;font-size:12px;color:var(--muted)}
#screen-admin .admin-access-custom[hidden]{display:none}
#screen-admin .admin-access-custom input{max-width:100px;min-width:0;min-height:46px;font:400 16px var(--ui-font);text-align:center;border:1px solid var(--glass-rim);border-radius:13px;background:#110b1e88;color:var(--text);padding:10px}
#screen-admin .admin-access-preview{margin:0;font-size:12px;line-height:1.6;color:var(--violet);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
#screen-admin .admin-access-reminder{font-size:11px;line-height:1.6;color:var(--muted);margin:0}
.admin-access-feedback{font-size:12px;line-height:1.6;color:var(--green);margin:0}.admin-access-feedback:empty{display:none}.admin-access-feedback.is-error{color:var(--red)}
#screen-admin .admin-access-form .admin-primary{width:100%;max-width:100%;justify-content:center;border-radius:999px;background:radial-gradient(ellipse at 20% 0%,#eac8ef35,transparent 75%),var(--glass-selected);border-color:#edc2e45c;box-shadow:inset 0 1px 1px #fff3;min-height:46px}
.admin-access-picker:disabled{opacity:.55}.admin-access-picker:disabled label{cursor:default}
@media(hover:hover){.admin-model-access>summary:hover{background:#dec0ed08}.admin-access-options label:hover>span{border-color:#edc2e45c}}
@media(prefers-reduced-motion:reduce){.admin-access-options label>span,.admin-access-chevron{transition:none}}
@container(max-width:280px){.admin-model-access>summary{gap:8px;padding-inline:10px}.admin-access-symbol{display:none}.admin-access-form{padding-inline:10px}}
.admin-sidebar{display:flex;flex-direction:column;gap:16px}
.admin-section{border:1px solid var(--surface-rim);border-radius:20px;background:#e0a7ce05;padding:0 17px}.admin-section>summary{font-size:14px;font-weight:500;list-style:none;min-height:58px;display:flex;align-items:center;justify-content:space-between;cursor:pointer}.admin-section>summary:after{content:'+';color:var(--muted);font-size:20px;font-weight:400}.admin-section[open]>summary:after{content:'−'}
#screen-admin .admin-create{margin:0;padding:0 0 18px;border:0;display:grid;gap:10px}#screen-admin .admin-create label{font-size:12px;color:var(--text);margin-top:4px}.admin-create p{margin:0 0 5px}
.admin-text-button{background:none;border:0;color:var(--violet);font-size:12px;min-height:44px;text-align:left;padding:5px 0}
.admin-created-access{display:grid;gap:9px;margin-bottom:18px;padding-top:16px;border-top:1px solid var(--surface-rim);font-size:13px}.admin-created-access p{font-size:12px;line-height:1.5;margin:0;color:var(--muted)}.admin-created-access>span{color:var(--violet);overflow-wrap:anywhere}
#screen-admin .admin-mode{margin:0;display:flex;justify-content:space-between;gap:8px;padding:12px}.admin-mode+ .admin-hint{margin:12px 0}
#screen-admin .admin-translator{margin:16px 0 0;border-bottom:0}.admin-translator .control-btn{margin-top:5px}
#screen-admin .admin-feedback:empty{display:none}#screen-admin .admin-feedback{font-size:12px;line-height:1.6;margin:14px 0 0;color:var(--green)}
.admin-empty{padding:24px 12px;text-align:center;font-size:13px;color:var(--muted);line-height:1.6}
#screen-admin :focus-visible{outline:2px solid var(--violet);outline-offset:3px}#screen-admin button:disabled{opacity:.5;cursor:wait}.admin-events-form fieldset:disabled{opacity:.55}
.chatbox-welcome-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:12px}.chatbox-welcome-actions .control-btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;min-width:144px;font:500 14px/1.3 var(--ui-font);letter-spacing:0;text-transform:none;white-space:nowrap;padding:12px 18px;background:linear-gradient(145deg,#e0b9f212,#d6a7ee05);border-color:#d6a7ee30;border-radius:16px;box-shadow:inset 0 1px #fff1,0 4px 16px #07040d1a;transition:border-color 160ms ease,box-shadow 160ms ease,transform 160ms ease}
.chatbox-welcome-actions .control-btn:first-child{background:linear-gradient(135deg,#a76dd23d,#cb79b41c);border-color:#d6a7ee66;color:#fff0fb}
@media(hover:hover) and (pointer:fine){.chatbox-welcome-actions .control-btn:hover{border-color:#e5bdf49c;box-shadow:inset 0 1px #fff3,0 4px 18px #d28ddd12}}
.chatbox-welcome-actions .control-btn:active{box-shadow:inset 0 1px 5px #09051033}
.chatbox-welcome-actions .control-btn:focus-visible{outline:2px solid var(--pink);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.chatbox-welcome-actions .control-btn{transition:none}}
@media(prefers-reduced-transparency:reduce){.chatbox-welcome-actions .control-btn{background:#2d223b}.chatbox-welcome-actions .control-btn:first-child{background:#51345d}}
.chatbox-shortcuts{display:flex;align-items:center;gap:9px;font-size:11px;margin-top:8px;color:var(--muted)}.chatbox-shortcuts kbd{font:400 10px var(--ui-font);padding:4px 6px;border:1px solid var(--surface-rim);border-radius:5px;background:#d5beef06}
.chatbox-welcome-kicker{font-size:10px;font-weight:500;letter-spacing:.14em;color:#c9a6d2;margin-bottom:3px}
@media(min-width:820px){
 body.chatbox-mode{--chatbox-sidebar:clamp(350px,29vw,390px)}
 .chatbox-mode .chatbox-welcome{pointer-events:auto;gap:14px;background:radial-gradient(ellipse at 52% 42%,#764a9a18,transparent 60%)}
 .chatbox-mode .chatbox-welcome h2{font-size:clamp(23px,2vw,30px)}
 .chatbox-mode .chatbox-welcome p{max-width:310px;font-size:14px;line-height:1.7}
 .chatbox-mode .chatbox-welcome-mark{display:grid;place-items:center;width:98px;height:98px;border-radius:32px;background:radial-gradient(circle,#dca5db18,transparent 75%);margin-bottom:3px}
 .chatbox-mode .chatbox-welcome img{margin:0;opacity:1;border-radius:20px;box-shadow:0 8px 40px #b980c525}
 .chatbox-mode:has(#screen-admin.active) .chatbox-welcome{display:none}
 .chatbox-mode .navigation-dock{left:16px;bottom:16px;width:calc(var(--chatbox-sidebar) - 32px)}
 .chatbox-mode .navigation-dock .tabbar{min-height:66px;padding-inline:4px}
 .chatbox-mode .navigation-dock .tabbar button small{font-size:10px}
 .chatbox-mode .cache-dock-button{position:absolute;left:0;bottom:78px;width:calc((var(--chatbox-sidebar) - 42px)/2);height:44px;border-radius:14px;display:flex;gap:8px;padding:8px;transform:none}
 .chatbox-mode .cache-dock-button svg{width:18px;height:18px;order:-1}
 .chatbox-mode .cache-dock-label{display:inline;font-size:12px}
 .chatbox-mode .chatbox-admin-button{display:flex;align-items:center;justify-content:center;gap:8px;position:fixed;z-index:40;left:calc(var(--chatbox-sidebar)/2 + 5px);bottom:94px;width:calc((var(--chatbox-sidebar) - 42px)/2);height:44px;padding:8px;border:1px solid #d6b1e62b;border-radius:14px;background:linear-gradient(135deg,#d7a7d815,#ad8ed510),var(--bg);color:#e4c7ed;font-size:12px}
 .chatbox-admin-button svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
 .chatbox-mode .inbox-scroll{padding-bottom:156px}
 .chatbox-mode #screen-list .chat-topbar{padding:18px 18px 15px;min-height:76px;gap:10px}
 .chatbox-mode #screen-list .chat-head{padding:16px 18px 14px}
 .chatbox-mode #screen-list .chat-head h1{font-size:23px}
 .chatbox-mode #screen-list .chatlist-row{padding:13px 16px;min-height:78px}
 .chatbox-mode #screen-list .chatlist-preview{font-size:13px;line-height:19px}
 .chatbox-mode #screen-list .chatlist-name{font-size:15px;line-height:1.3}
 .chatbox-mode #screen-list .chat-search-wrap{padding-inline:16px}
 .chatbox-mode #screen-list .chat-folders{margin-inline:16px}
 .chatbox-mode #screen-admin{padding-bottom:32px}
 .chatbox-mode .admin-topbar{padding:22px 26px;min-height:98px}
 .chatbox-mode .admin-back{display:none}
 .chatbox-mode #screen-admin .admin-workspace{padding:25px 26px}
}
@media(min-width:1200px){
 .chatbox-mode .admin-columns{grid-template-columns:minmax(0,1fr) 274px;gap:22px}
 .chatbox-mode .admin-overview{flex-direction:row;align-items:center;justify-content:space-between;gap:26px}
 .chatbox-mode .admin-overview-metrics{flex:0 0 245px;gap:16px}
 .chatbox-mode .admin-overview h2{font-size:30px}
}
@media(max-width:480px){.admin-model-search input{font-size:16px}.admin-list-toolbar select{min-height:46px}.admin-overview h2{font-size:26px}#screen-admin .admin-workspace{padding:20px 14px}.admin-user-row .admin-model-state{font-size:10px;max-width:90px}.admin-model-identity .admin-model-name{font-size:15px}}
@media(prefers-reduced-motion:reduce){.admin-disclosure{transition:none}}

#screen-admin .admin-refresh{flex:0 0 auto;width:auto;max-width:120px;font:500 12px var(--ui-font);letter-spacing:0;text-transform:none}
.admin-model-events summary:after{content:none!important}
#screen-admin .admin-user-earnings span,#screen-admin .admin-user-earnings small{font-size:12px}
#screen-admin .admin-user-earnings .admin-earnings-updated{font-size:11px}
#screen-admin .admin-model-state,.admin-events-state{font-size:12px}
#screen-admin .control-btn{font-family:var(--ui-font);text-transform:none;letter-spacing:0}


/* Desktop controls share the existing rightmost Settings destination. */
.chatbox-resize,.desktop-control-center{display:none}
@media(min-width:820px){
 .chatbox-mode .cache-dock-button,.chatbox-mode .chatbox-admin-button{display:none!important}
 .chatbox-mode .navigation-dock{width:calc(var(--chatbox-sidebar) - 32px)}
 .chatbox-mode .inbox-scroll{padding-bottom:104px}
 .chatbox-mode .chatbox-resize{display:block;position:absolute;z-index:45;inset:0 auto 0 calc(var(--chatbox-sidebar) - 5px);width:10px;cursor:col-resize;touch-action:none;outline:none}
 .chatbox-resize:before{content:'';position:absolute;inset:0 4px;background:transparent;transition:background 160ms ease}
 .chatbox-resize>span{position:absolute;left:2px;top:calc(50% - 22px);height:44px;width:6px;border-radius:9px;background:var(--violet);opacity:0;box-shadow:0 0 12px #c49cff40;transition:opacity 160ms ease}
 .chatbox-resize:hover:before,.chatbox-resize:focus-visible:before,.chatbox-resizing .chatbox-resize:before{background:#c49cff70}
 .chatbox-resize:hover>span,.chatbox-resize:focus-visible>span,.chatbox-resizing .chatbox-resize>span{opacity:1}
 .chatbox-resizing,.chatbox-resizing *{cursor:col-resize!important;user-select:none!important}
 .chatbox-mode .desktop-control-center{display:block;grid-column:1/-1;margin-bottom:18px}
 .desktop-control-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}
 .desktop-control-action[hidden]+.desktop-control-action{grid-column:1/-1}
 .desktop-control-action{display:flex;align-items:center;gap:12px;min-height:76px;padding:14px;text-align:left;color:var(--text);border:1px solid var(--surface-rim);border-radius:16px;background:#d6a7ee08;font:inherit}
 .desktop-control-action:hover{background:#d6a7ee13;border-color:#d6a7ee50}
 .desktop-control-action>svg{width:25px;height:25px;flex:none;fill:none;stroke:var(--violet);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
 .desktop-control-action>span:nth-child(2){display:grid;gap:6px;flex:1;min-width:0}
 .desktop-control-action b{font-size:14px;font-weight:500}.desktop-control-action small{font-size:12px;line-height:1.5;color:var(--muted)}
 .desktop-control-center :focus-visible{outline:2px solid var(--violet);outline-offset:3px}
}
@media(min-width:820px) and (max-width:1100px){.desktop-control-actions{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.chatbox-resize:before,.chatbox-resize>span{transition:none}}

@media(min-width:820px){
 .chatbox-mode>#screen-list{container-type:inline-size;container-name:chatbox-sidebar}
 .chatbox-mode .chat-folders button{font-size:11px;font-size:clamp(11px,3.4cqi,12px);padding-inline:clamp(3px,1.5cqi,6px);gap:3px}
 .chatbox-mode .chat-folders .folder-platform-logo{flex-shrink:0}
}

@media(min-width:820px){.chatbox-mode #screen-settings{container-type:inline-size;container-name:chatbox-settings}}
@container chatbox-settings (max-width:740px){
 .settings-sections{grid-template-columns:minmax(0,1fr)}
 .settings-appearance-grid{grid-template-columns:minmax(0,1fr)}
 .settings-preferences{display:contents}
 .settings-preferences>.voice-settings,.settings-preferences>.message-filters,.settings-preferences>.notification-card{grid-column:auto;grid-row:auto}
 .desktop-control-actions{grid-template-columns:1fr}
}

/* Four platforms retain usable tabs in the adjustable desktop sidebar. */
@container chatbox-sidebar (max-width:390px){
 .chat-folder:not([aria-selected=true]):not([data-folder=all])>span{display:none}
 .chat-folder{min-width:38px}
}
.filter-platforms{flex-wrap:wrap}
.toast{top:calc(8px + var(--safe-top) + var(--toast-offset,0px));min-height:44px}
.toast:focus-visible{outline:2px solid var(--violet);outline-offset:3px}
@media(max-width:460px){
 .chat-folder:not([aria-selected=true]):not([data-folder=all])>span{display:none}
 .chat-folder{min-width:38px}
}

/* Live member data and an isolated owner preview share existing glass tokens. */
.viewer-platform-filters{border-radius:999px}
.viewer-platform-filter .platform-logo{filter:none;opacity:1}
#screen-online .online-hero{border-radius:34px;padding:16px 20px;margin-block:12px 10px;border-color:var(--glass-rim);background:var(--glass-sheen),linear-gradient(135deg,#b578a81a,#8063a510),var(--glass-tint);backdrop-filter:blur(var(--glass-blur)) saturate(125%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(125%);box-shadow:inset 0 1px 1px #fff2,inset 0 -1px #d0b5ef0c,0 4px 16px #0000001f}
#screen-online .online-big{margin-top:6px;gap:9px}
#screen-online .online-big strong{font-size:36px}
#screen-online .online-signal{margin-top:9px}
@media(prefers-reduced-transparency:reduce){#screen-online .online-hero{background:#281d36;backdrop-filter:none;-webkit-backdrop-filter:none}#screen-thread .composer{background:#170e20f2}}
.thread-member-stats{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px;font-size:10px;line-height:1.4}
.thread-member-stats[hidden]{display:none}
.member-stat{display:inline-flex;gap:4px;align-items:baseline;padding:3px 7px;border-radius:10px;border:1px solid #d5b6f326;background:#c69ae810;color:var(--muted);white-space:nowrap}
.member-stat b{color:var(--text);font-size:12px;font-variant-numeric:tabular-nums;font-weight:600}.member-stat small{font-size:9px}
.thread-topbar:has(.thread-member-stats:not([hidden])){min-height:96px}
.admin-view-dialog{width:min(1120px,96vw);height:94dvh;max-height:94dvh;padding:0;border:1px solid var(--line2);border-radius:28px;background:var(--bg);color:var(--text);overflow:hidden;box-shadow:0 32px 100px #0009}
.admin-view-dialog::backdrop{background:#08050dbb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.admin-view-dialog>header{display:flex;gap:16px;justify-content:space-between;align-items:center;min-height:72px;padding:12px 18px;background:var(--glass-base);border-bottom:1px solid var(--line2)}
.admin-view-dialog header strong{display:block;font-size:16px;overflow-wrap:anywhere}.admin-view-dialog header small{display:block;color:var(--muted);margin-top:5px;font-size:11px}
.admin-view-dialog>header .control-btn{width:auto;min-width:100px;min-height:44px;flex:0 0 auto;font:500 12px var(--ui-font);border-radius:18px}
.admin-view-body{height:calc(100% - 76px)}.admin-view-body iframe{width:100%;height:100%;border:0;background:var(--bg)}
.admin-view-notice{position:fixed;top:0;left:0;right:0;z-index:1200;padding:6px 10px;background:#382440;color:#f2dff9;text-align:center;font-size:10px;pointer-events:none}
.admin-view-expired .admin-view-notice{inset:0;display:grid;place-items:center;padding:30px;font-size:18px;background:var(--bg);pointer-events:auto}
.admin-view-readonly .composer,.admin-view-readonly .quickreplies,.admin-view-readonly .reply-modes,.admin-view-readonly #screen-settings button:not([data-tab]):not([data-nav]),.admin-view-readonly #screen-settings input,.admin-view-readonly #screen-settings select{pointer-events:none;opacity:.5}
.admin-view-readonly #screen-settings .settings-action-btn,.admin-view-mode #webLogout,.admin-view-mode .admin-entry{display:none!important}
.admin-view-mode .topbar,.admin-view-mode .thread-topbar{padding-top:30px}
.admin-view-mode #screen-list>.chat-topbar{padding-top:calc(30px + var(--safe-top))}
@media(max-width:600px){.admin-view-dialog{width:100%;max-width:100%;height:100dvh;max-height:100dvh;margin:0;border-radius:0;border:0}.admin-view-dialog>header{padding-top:max(12px,env(safe-area-inset-top))}.member-stat{padding:2px 5px}}

/* Each account previews two independent backgrounds in the existing admin cards. */
.admin-appearance{grid-column:1/-1;border:1px solid var(--glass-rim);border-radius:24px;background:var(--glass-sheen),linear-gradient(120deg,#ce8ab213,#a58bc40b),var(--glass-tint);backdrop-filter:blur(var(--glass-blur)) saturate(120%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(120%);box-shadow:inset 0 1px 1px #fff2,inset 0 -1px #d4b6ed0b,0 3px 14px #09050e14;overflow:hidden;transition:border-color var(--motion-fast),background-color var(--motion-fast)}
.admin-appearance>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:76px;padding:14px 15px;cursor:pointer;list-style:none}.admin-appearance>summary::-webkit-details-marker{display:none}
.admin-appearance>summary:after{content:none!important}
.appearance-symbol{display:grid;place-items:center;flex:0 0 38px;width:38px;height:42px}.appearance-symbol svg{width:34px;height:34px;overflow:visible;fill:none;stroke:#e8c9f4;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.appearance-symbol .appearance-symbol-back{fill:#cf75ad30;stroke:#f3b7d87a}.appearance-symbol .appearance-symbol-front{fill:#9678bd39;stroke:#e3c3f3a3}
.appearance-heading{min-width:0;flex:1;overflow-wrap:anywhere}.admin-appearance summary b{display:block;color:var(--text);font:500 14px/1.35 var(--ui-font)}.admin-appearance summary small{display:block;color:var(--muted);font-size:11px;margin-top:4px;line-height:1.5}
.appearance-chevron{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;border:1px solid #dec5ef24;background:#e2bbf009;box-shadow:inset 0 1px #fff1;color:#d8bddf}.appearance-chevron svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.admin-appearance[open]{border-color:#e8c6f13d}.admin-appearance[open]>summary{margin-bottom:8px}
.admin-appearance[open] .admin-disclosure{transform:rotate(180deg)}
@media(hover:hover){.admin-appearance:hover{border-color:#e9caf34f;background-color:#d9a5dd08}}
.admin-appearance>summary:active{background-color:#ddafed0b}
.appearance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 14px}
.appearance-tile{min-width:0}.appearance-preview{position:relative;isolation:isolate;aspect-ratio:4/3;overflow:hidden;border:1px solid var(--glass-rim);border-radius:18px;background:#08050e;display:flex;flex-direction:column;justify-content:space-between;padding:12px}
.appearance-requirements{margin:0 16px 16px;padding:12px 14px;border:1px solid var(--surface-rim);border-radius:16px;background:#ffffff03;font-size:11px;line-height:1.6;color:var(--muted)}
.appearance-requirements b{display:block;color:var(--text);font-size:12px;font-weight:550;margin-bottom:4px}.appearance-requirements p{margin:4px 0}
.appearance-preview:before{content:"";position:absolute;inset:0;z-index:-2;background:var(--appearance-preview-image,url('assets/darlin-cosmos-ui48.png')) center/cover no-repeat}
.appearance-tile[data-kind=private] .appearance-preview:not(.is-custom):before{filter:hue-rotate(35deg) saturate(1.15)}
.appearance-preview:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(#08050e4d,transparent 45%,#08050e55)}
.appearance-kind{align-self:flex-start;max-width:100%;font-size:10px;line-height:1.4;color:#f2e4f6;border:1px solid #f4e4ff30;background:#160b229c;padding:4px 8px;border-radius:10px}
.appearance-message{align-self:flex-end;display:flex;flex-direction:column;gap:3px;max-width:90%;padding:8px 10px;border-radius:13px 13px 4px 13px;border:1px solid #e0bcff66;background:linear-gradient(130deg,#a16edfcf,#6e35bade);box-shadow:0 2px 12px #0003;color:#fff}
.appearance-message>span{font-size:8px;opacity:.8}.appearance-message>b{font-size:12px;font-weight:500}.appearance-tile[data-kind=private] .appearance-message{background:linear-gradient(130deg,#ce478bd9,#d00070e0);border-color:#ffa9d766}
.appearance-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.appearance-actions button{flex:1 1 70px;min-height:40px;border-radius:12px;border:1px solid var(--surface-rim);padding:7px 9px;color:var(--text);background:#cba3e30a;font:500 11px var(--ui-font);cursor:pointer}
.appearance-actions [data-bg-action=save]{background:var(--accent-gradient);border-color:#e6c0f34a}.appearance-actions [data-bg-action=reset]{color:var(--muted)}
.appearance-actions button:disabled{opacity:.4;cursor:default}.appearance-actions [hidden]{display:none}.appearance-feedback{min-height:1.5em;font-size:10px;line-height:1.6;color:var(--green);margin:7px 0}.appearance-feedback.is-error{color:var(--red)}
.appearance-note{padding:0 14px 14px;margin:0;color:var(--muted);font-size:11px;line-height:1.6}
.admin-appearance :focus-visible{outline:2px solid var(--pink);outline-offset:2px}
#screen-admin .admin-appearance>summary:focus-visible{outline-offset:-4px;border-radius:23px}
@media(prefers-reduced-motion:reduce){#screen-admin .admin-view-account,.admin-appearance,.admin-appearance .admin-disclosure{transition:none}}
@media(prefers-reduced-transparency:reduce){#screen-admin .admin-model-heading>.admin-view-account{background:#493152;backdrop-filter:none;-webkit-backdrop-filter:none}.admin-appearance{background:#251b30;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(max-width:359px){.appearance-grid{gap:8px;padding-inline:10px}.appearance-preview{padding:8px}.appearance-actions button{flex-basis:100%}.appearance-kind{font-size:9px}}
@media(prefers-reduced-transparency:reduce){.appearance-kind{background:#21132d}.appearance-message{background:#633997}.appearance-tile[data-kind=private] .appearance-message{background:#ac1b66}}

/* Shared public stream: native identity colours within the Plasma glass. */
[hidden].online-pill,[hidden].viewer-platform-filter,[hidden][data-filter-platform],[hidden].message-filters,[hidden].stream-reply-target{display:none!important}
.viewer-platform-filters{grid-template-columns:repeat(var(--viewer-platform-count,5),minmax(0,1fr));overflow-x:auto;scrollbar-width:none}
.viewer-platform-filter{min-width:0}.viewer-platform-filters::-webkit-scrollbar{display:none}
.viewer-platform-filter .viewer-filter-short{font-size:10px}
.stream-message-heading{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:7px;font-size:13px}
.stream-message-heading b{overflow-wrap:anywhere}.stream-message-heading img.platform-logo{width:17px;height:17px}
.stream-badge{font-size:9px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 5px;border:1px solid #d6afff25;border-radius:6px;color:#e6cfff}
.stream-emote{display:inline-block;width:auto;height:28px;max-width:70px;object-fit:contain;vertical-align:middle}
.stream-reply-target{display:flex;align-items:center;gap:8px;padding:0 0 10px}.stream-reply-target>span{font-size:12px;color:var(--text-muted,#b9adcb);margin-right:auto}
.stream-reply-target button{display:flex;align-items:center;gap:7px;min-height:44px;padding:8px 12px;border-radius:20px;border:1px solid #d3b4f32a;background:#21152c4d;color:var(--text,#fff);font:inherit;font-size:12px}
.stream-reply-target button[aria-pressed=true]{background:linear-gradient(145deg,#e6c7ff24,#a86cf72b);border-color:#e1b6ff70;box-shadow:inset 0 1px #ffeaff24}
.stream-presence{width:5px;height:5px;border-radius:50%;background:#8d8498}.stream-presence.connected{background:#85e5b7}
.stream-thread .message-channel,.stream-thread #btnPvt,.stream-thread .message-language{display:none}
.stream-thread .row .bubble{max-width:100%}.stream-thread .row.theirs{justify-content:flex-start}
.stream-reply-target button:focus-visible{outline:2px solid #dba8ff;outline-offset:3px}

#btnPriv[hidden]{display:none!important}.stream-thread .message-delivery{margin-left:6px}

.platform-online{max-width:100%;overflow-x:auto;scrollbar-width:none}.platform-online .online-pill{flex-shrink:0}.stream-thread #threadComposer .toggle{display:none}

@media(max-width:359px){.viewer-platform-filter .viewer-filter-short{font-size:8px;letter-spacing:-.02em}.viewer-platform-filters{gap:4px}}

/* Compact wallet rows: native units stay left, comparable USD amounts stay right. */
#tokenBalances .balance-account{grid-template-columns:32px minmax(0,1fr) max-content;gap:3px 10px;min-height:0;padding:12px 0;align-items:center}
#tokenBalances .balance-logo{grid-column:1;grid-row:1/4;align-self:start;width:32px;height:32px;border-radius:11px}
#tokenBalances .balance-logo img{width:24px;height:24px}
#tokenBalances .balance-identity{grid-column:2;grid-row:1;min-width:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:0 6px}
#tokenBalances .balance-identity b{font-size:12px;line-height:1.4}
#tokenBalances .balance-identity span{max-width:100%;margin-top:0;font-size:10px;line-height:1.4;overflow-wrap:anywhere}
#tokenBalances .balance-value,#tokenBalances .balance-amount{display:contents}
#tokenBalances .balance-token-count{grid-column:2;grid-row:2;gap:3px 5px;line-height:1.4}
#tokenBalances .balance-token-count strong{font-size:14px;line-height:1.4;font-weight:550}
#tokenBalances .balance-token-count span{font-size:10px;line-height:1.4}
#tokenBalances .balance-usd{grid-column:3;grid-row:1/3;align-self:center;font-size:17px;line-height:1.3;font-variant-numeric:tabular-nums}
#tokenBalances .balance-value>small{grid-column:2/4;grid-row:3;display:flex;gap:3px;flex-wrap:wrap;margin:0;font-size:10px;line-height:1.4}
#balanceTotalScope .balance-scope-logo.is-unavailable{opacity:.6}

/* Restorable accounts share the existing glass cards, with an explicit deadline. */
#adminMonthlyReports{grid-column:1/-1;min-width:0}
#screen-admin .admin-user-row [hidden]{display:none!important}
#screen-admin .admin-user-row[data-state=trashed],#screen-admin .admin-user-row[data-state=purging]{opacity:1;border-color:#e2bfdc29;background:linear-gradient(145deg,#d9b1ca0d,#b797db06)}
.admin-user-row[data-state=trashed] .admin-model-state{color:var(--pink)}
.admin-user-row[data-state=purging] .admin-model-state{color:var(--muted)}
.admin-trash-actions{display:flex;flex-wrap:wrap;gap:10px}
.admin-trash-actions>.control-btn{min-height:44px;flex:1 1 160px;max-width:100%;padding:11px 15px;border-radius:17px;font:500 12px/1.45 var(--ui-font);white-space:normal}
.admin-model-danger.is-trash{margin-top:18px;padding-top:16px}.admin-model-danger.is-trash>summary{display:none}
.admin-model-danger.is-trash p{margin-bottom:16px;color:var(--muted)}
.admin-trash-actions :focus-visible{outline:2px solid var(--pink);outline-offset:3px}
.admin-user-row[data-state=trashed] .admin-model-heading--action,.admin-user-row[data-state=purging] .admin-model-heading--action{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"profile state"}
.admin-user-row[data-state=trashed] .admin-model-state,.admin-user-row[data-state=purging] .admin-model-state{margin:0;max-width:100px;justify-self:end;text-align:right}

/* Current broadcast and account wallets share one compact glass overview. */
#screen-stats{container-type:inline-size;container-name:plasma-stats}
.stats-overview.stats-hero{padding:15px 18px 16px}
.stats-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}
.stats-overview-heading h1{margin:0;color:var(--muted);font:500 11px/1.5 var(--ui-font);letter-spacing:.015em}
.stats-overview-mark{display:grid;place-items:center;flex:0 0 20px;width:20px;height:20px;color:var(--pink);opacity:.8}
.stats-overview-mark svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.stats-overview-main{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:14px;margin-top:10px;min-width:0}
.stats-income{display:flex;flex-direction:column;align-items:flex-start;justify-self:stretch;gap:6px;width:100%;min-width:0;max-width:100%}
.stats-income-value-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px 10px;width:100%;min-width:0}
.stats-currency-symbol-button{appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:0 0 56px;gap:4px;min-width:44px;min-height:44px;margin:0;padding:7px;border:1px solid var(--surface-rim,var(--line));border-radius:13px;background:#ffffff05;color:var(--text);font:inherit;cursor:pointer;touch-action:manipulation}
.stats-currency-symbol-button .currency-trigger-symbol svg{width:26px;height:26px}
.stats-currency-symbol-button:focus-visible{outline:2px solid var(--pink);outline-offset:4px}.stats-currency-symbol-button:active:not(:disabled){background:var(--surface-light)}.stats-currency-symbol-button:disabled{cursor:default}
.stats-income-chevron{flex:0 0 10px;width:10px;height:10px;fill:none;stroke:var(--muted);stroke-width:1.4;opacity:.7}.stats-currency-symbol-button:disabled .stats-income-chevron{opacity:.35}
@media(hover:hover){.stats-currency-symbol-button:hover:not(:disabled){background:var(--surface-light)}}
.stats-overview .stats-money{min-width:0;width:max-content;max-width:100%;margin:0;font-size:clamp(28px,8.8cqi,38px);line-height:1.12;font-weight:650;letter-spacing:-.045em;white-space:nowrap;font-variant-numeric:tabular-nums}
.stats-overview .stats-money.is-long-value{font-size:clamp(18px,6.3cqi,34px);letter-spacing:-.035em}
.stats-income .stats-currency-host{display:contents}.stats-income .stats-currency-host:empty{display:none}
.stats-currency-host .currency-rate-note{max-width:none}
.stats-income-wide .stats-money{flex-basis:100%;white-space:normal;overflow-wrap:anywhere}.stats-income-wide .stats-currency-symbol-button{margin-left:auto}
.stats-income-wide .plasma-money>.plasma-money-number{min-width:0;white-space:normal;overflow-wrap:anywhere}
.stats-trend{appearance:none;display:flex;flex-direction:column;align-items:stretch;justify-content:center;align-self:center;justify-self:stretch;gap:0;min-width:44px;min-height:44px;width:100%;padding:6px 0 4px;border:0;border-radius:12px;background:transparent;color:var(--pink);cursor:pointer;touch-action:manipulation}
.stats-trend-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-inline:6px;margin-bottom:3px}
.stats-trend-caption{font:500 10px/1.4 var(--ui-font);color:var(--muted);white-space:nowrap}
.stats-trend-open{font:400 13px/1 var(--ui-font);color:var(--pink);opacity:.7}
.stats-trend .stats-trend-plot{display:block;width:100%;height:64px;overflow:visible;fill:none}
.stats-trend-axis{position:relative;display:block;height:15px;font:400 9px/1.4 var(--ui-font);color:var(--muted);font-variant-numeric:tabular-nums}
.stats-trend-axis>span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}.stats-trend-axis .is-future{opacity:.55}
.stats-trend-guide{stroke:var(--muted);stroke-width:.6;opacity:.2;vector-effect:non-scaling-stroke}
.stats-trend-guide.is-mid{stroke-dasharray:2 5;opacity:.12}
.stats-trend-gap{stroke:var(--muted);stroke-width:1.3;stroke-linecap:round;opacity:.5;vector-effect:non-scaling-stroke}
.stats-trend-line{stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 2px 5px #e389b826)}
.stats-trend-fill{stroke:none}
.stats-trend-point{fill:currentColor;stroke:none;opacity:.78}.stats-trend-point.is-current{fill:var(--panel2);stroke:currentColor;stroke-width:1.6;vector-effect:non-scaling-stroke;opacity:1}
.stats-trend:focus-visible{outline:2px solid var(--pink);outline-color:color-mix(in srgb,var(--pink) 70%,transparent);outline-offset:2px}.stats-trend:active{background:var(--surface-light)}
@media(hover:hover){.stats-trend:hover{background:var(--surface-light)}}
/* Both report sections use the same quiet glass refresh control. */
#screen-stats .stats-report-refresh{box-sizing:border-box;display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;border:1px solid var(--glass-rim);border-radius:50%;background:var(--glass-sheen),#c49cff0b;box-shadow:inset 0 1px 1px #fff2;color:var(--text);font:500 13px/1 var(--ui-font);cursor:pointer;transition:background-color var(--motion-fast),border-color var(--motion-fast)}
#screen-stats .stats-report-refresh svg{display:block;width:21px;height:21px}
#screen-stats .stats-report-refresh:disabled{opacity:.55;cursor:wait}
#screen-stats .stats-report-refresh:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
#screen-stats .stats-report-refresh:active:not(:disabled){background:var(--glass-selected)}
@media(hover:hover){#screen-stats .stats-report-refresh:hover:not(:disabled){border-color:var(--line2);background-color:var(--surface-light)}}
@media(prefers-reduced-motion:reduce){#screen-stats .stats-report-refresh{transition:none}}
.stats-trend-dialog{max-width:430px}.stats-trend-dialog h2{font-size:19px}.stats-trend-dialog .studio-close svg{display:block;width:24px;height:24px;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round}
.stats-trend-total{display:block;color:var(--green);font:600 30px/1.25 var(--ui-font);letter-spacing:-.035em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.stats-trend-source,.stats-trend-zone,.stats-trend-help{color:var(--muted);font:400 12px/1.55 var(--ui-font);overflow-wrap:anywhere}.stats-trend-source{margin:8px 0 4px}.stats-trend-zone{font-size:10px;margin:0 0 14px}.stats-trend-help{margin:14px 0 0}
.stats-trend-days{margin:0}.stats-trend-day{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:14px;padding:11px 0;border-bottom:1px solid var(--surface-rim);font:400 12px/1.4 var(--ui-font)}.stats-trend-day dt,.stats-trend-day dd{margin:0}.stats-trend-day dd{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stats-trend-day.is-unknown{color:var(--muted)}.stats-trend-day.is-current:not(.is-unknown) dd{color:var(--pink)}
.stats-overview .earnings-summary{grid-template-columns:minmax(0,1.65fr) minmax(0,.65fr);gap:0;margin-top:14px;padding:12px 0 0;border-top:1px solid var(--surface-rim,var(--line));background:none}
.stats-overview .earnings-mini{min-width:0;padding:0 12px;border:0;border-radius:0;background:none;box-shadow:none}
.stats-overview .earnings-mini:first-child{padding-left:0}
.stats-overview .earnings-mini:last-child{padding-right:0}
.stats-overview .earnings-mini+.earnings-mini{border-left:1px solid var(--surface-rim,var(--line))}
.stats-overview .earnings-mini>span{margin:0 0 5px;color:var(--muted);font:400 10px/1.4 var(--ui-font);letter-spacing:0;overflow-wrap:anywhere}
.stats-overview .earnings-mini>b{color:var(--text);font-size:clamp(14px,4.5vw,18px);font-weight:600;line-height:1.25;letter-spacing:-.025em;font-variant-numeric:tabular-nums;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.stats-overview #earningsHistoryTotal{color:var(--green)}
.stats-overview #balanceTotalScope{margin-top:5px;min-height:12px;gap:4px}
.stats-overview #balanceTotalScope .balance-scope-logo{width:11px;height:11px;flex-basis:11px}
@container plasma-stats (max-width:599px){
 /* Large real amounts remain complete, rather than splitting their cents or
    hiding digits. Ordinary balances retain the compact two-column rhythm. */
 .stats-overview:has(.earnings-mini>b.is-long-value) .earnings-summary{grid-template-columns:minmax(0,1fr);gap:12px}
 .stats-overview:has(.earnings-mini>b.is-long-value) .earnings-mini{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 14px;padding:0;border-left:0}
 .stats-overview:has(.earnings-mini>b.is-long-value) .earnings-mini>span{grid-column:1;grid-row:1;margin:0}
 .stats-overview:has(.earnings-mini>b.is-long-value) .earnings-mini>b{grid-column:2;grid-row:1/3;font-size:16px;text-align:right}
 .stats-overview:has(.earnings-mini>b.is-long-value) #balanceTotalScope{grid-column:1;grid-row:2;margin-top:5px}
}
@container plasma-stats (min-width:700px){
 .stats-overview.stats-hero{padding:18px 24px}
 .stats-overview .stats-money{font-size:40px}
 .stats-overview .stats-money.is-long-value{font-size:34px}
 .stats-trend .stats-trend-plot{height:82px}
 .stats-overview .earnings-mini>b{font-size:20px}
}

/* Stable platform pills share the viewer selector's glass and manual order. */
.chat-folders{display:grid;grid-template-columns:repeat(var(--chat-platform-count,5),minmax(50px,1fr));gap:4px;padding:5px;touch-action:pan-y pinch-zoom;border-radius:999px;overflow-x:auto;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.chat-folders:before{top:5px;bottom:5px;border-radius:999px;background:var(--glass-selected);border-color:#dec6f34d;box-shadow:inset 0 1px 1px #ffffff3d,inset 1px 0 #ffffff12,inset 0 -1px #d9baff16,0 3px 12px #0002}
.chat-folders .chat-folder,.chatbox-mode .chat-folders .chat-folder{position:relative;min-width:0;min-height:56px;flex-direction:column;gap:3px;padding:6px 2px;font:500 10px/1.2 var(--ui-font);border:1px solid transparent;border-radius:999px;transition:color var(--motion-fast),background var(--motion-fast)}
.chat-folders .chat-folder:not([data-folder=all])>.folder-platform-short{display:block;font-size:10px;letter-spacing:-.02em;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-folders .chat-folder[data-folder=stream]>.folder-platform-short{font-size:8px;letter-spacing:-.04em}
.chat-folders .chat-folder[data-folder=all]>span{font-size:11px;font-weight:600}
.chat-folders .folder-platform-logo{width:19px;height:19px;object-fit:contain;border-radius:3px;pointer-events:none}
.chat-folders .chat-folder b{position:absolute;top:3px;right:2px;min-width:15px;max-width:calc(100% - 4px);padding:1px 4px;font-size:9px;line-height:13px;background:var(--panel2);border:1px solid var(--surface-rim);text-overflow:ellipsis;overflow:hidden;pointer-events:none}
.chat-folders .chat-folder:focus-visible{outline:2px solid var(--pink);outline-offset:-2px}
.chat-folders .chat-folder.glass-preview{background:#d9c1f70b;border-color:#d9c1f733}
.chat-folders.glass-held{--lens-scale:1.04}
.chat-folders.platform-reordering,.viewer-platform-filters.platform-reordering{z-index:10}
.platform-reorder-source{position:relative;z-index:2;translate:var(--reorder-x,0px) 0;background:var(--glass-selected)!important;box-shadow:0 8px 24px #0005,inset 0 1px #ffffff3d;outline:1px solid #e9cdf57a;cursor:grabbing!important}
.platform-reorder-menu{position:fixed;z-index:200;width:min(258px,calc(100vw - 24px));padding:9px;border:1px solid var(--glass-rim);border-radius:20px;background:var(--glass-sheen),var(--panel2);box-shadow:inset 0 1px #ffffff22,0 15px 50px #0007;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}
.platform-reorder-menu>b{display:block;font-size:11px;font-weight:500;color:var(--muted);padding:7px 11px 10px}
.platform-reorder-menu>button{display:block;width:100%;min-height:44px;text-align:left;padding:10px 12px;border:0;border-radius:12px;background:transparent;color:var(--text);font:500 13px/1.4 var(--ui-font);cursor:pointer}
.platform-reorder-menu>button:disabled{opacity:.35;cursor:default}.platform-reorder-menu>button:focus-visible{outline:2px solid var(--pink);outline-offset:-2px}.platform-reorder-menu>button:not(:disabled):hover{background:var(--accent-soft)}
@media(prefers-reduced-motion:reduce){.chat-folders .chat-folder{transition:none}}

.chat-folders .chat-folder[aria-selected=true] b{background:var(--violet);color:#fff}

/* Verified owner Mini App: existing business panels, one compact navigation. */
.owner-miniapp #screen-admin{padding-bottom:calc(94px + var(--safe-bottom-live,var(--safe-bottom)));scroll-padding-block:92px 110px}
.owner-miniapp #screen-admin .admin-topbar{min-height:78px;gap:10px;padding-inline:16px}
.owner-miniapp .admin-topbar .admin-back{font:500 11px/1.4 var(--ui-font);width:auto;max-width:76px;padding:8px 10px;border:1px solid var(--surface-rim);border-radius:14px;background:var(--glass-sheen),var(--glass-tint)}
.owner-miniapp .admin-topbar h1{font-size:23px}
.owner-miniapp #screen-admin .admin-workspace{padding:18px 16px}
.owner-miniapp .admin-overview{padding:0 0 18px;gap:0}
.owner-miniapp .admin-overview>div:first-child{display:none}
.owner-miniapp .admin-overview-metrics{gap:14px}
.owner-miniapp .admin-overview-metrics b{font-size:26px}
.owner-miniapp .admin-overview-metrics span{font-size:10px}
.owner-miniapp .admin-columns{display:block;margin-top:16px}
.owner-miniapp [data-owner-admin-panel][hidden],.owner-admin-nav[hidden],.owner-studio-return[hidden]{display:none!important}
.owner-miniapp [data-owner-admin-panel]{scroll-margin-top:96px;outline:none}
.owner-miniapp .owner-admin-models{display:grid;gap:20px;min-width:0}
.owner-miniapp #adminCreateSection{margin:0;background:var(--glass-sheen),#d2adf306}
.owner-miniapp #adminCreateSection>summary{min-height:48px;display:flex;align-items:center;justify-content:space-between;padding-block:14px}
.owner-miniapp .admin-sidebar{gap:18px}
.owner-miniapp .admin-sidebar .server-resources-entry,.owner-miniapp .admin-sidebar .server-migration-entry{margin-top:0}
.owner-miniapp .admin-overview-metrics>div{border-left:1px solid var(--surface-rim);padding-left:14px}
.owner-miniapp .admin-overview-metrics>div:first-child{border-left:0;padding-left:0}
.owner-admin-nav{--glass-selected:var(--dock-glass-selected);position:fixed;z-index:35;bottom:calc(12px + var(--safe-bottom-live,var(--safe-bottom)));left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(420px,calc(100% - 32px));padding:5px;border:1px solid var(--glass-rim);border-radius:24px;background:var(--dock-glass-sheen),#2b2236;box-shadow:inset 0 1px #fff2,0 8px 32px #0005;isolation:isolate}
.owner-admin-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:52px;border:0;border-radius:19px;background:transparent;color:var(--muted);font:500 10px/1.3 var(--ui-font);padding:5px 8px;cursor:pointer;z-index:1;overflow-wrap:anywhere}
.owner-admin-nav button svg{width:21px;height:21px;flex:none}
.owner-admin-nav button[aria-selected=true]{color:var(--text)}
.owner-admin-nav button:focus-visible{outline:2px solid var(--pink);outline-offset:-2px}
.owner-miniapp:not(.owner-admin-active) .owner-admin-nav,.owner-admin-active .navigation-dock{display:none!important}
.owner-studio-return{display:none}
.owner-miniapp .owner-studio-return{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:0 0 var(--dock-height);width:var(--dock-height);height:var(--dock-height);min-width:var(--dock-height);min-height:var(--dock-height);padding:0;border-radius:50%;color:var(--text);font:500 9px/1.2 var(--ui-font);cursor:pointer}
.owner-studio-return svg{width:24px;height:24px;flex:none}
.owner-miniapp .navigation-dock .tabbar{flex:1;min-width:0;padding-inline:3px}
.owner-miniapp .navigation-dock .tabbar button small{display:block;min-width:0;max-width:100%;padding-inline:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.owner-miniapp .navigation-dock .tabbar button:is([data-tab=list],[data-tab=online]) small{display:flex;gap:3px}
.owner-miniapp .navigation-dock .tabbar button small>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:359px){.owner-miniapp .navigation-dock{width:calc(100% - 16px);gap:4px}}
@media(max-width:360px){.owner-miniapp #screen-admin .admin-topbar{gap:8px;padding-inline:12px}.owner-miniapp #screen-admin .admin-workspace{padding-inline:12px}.owner-miniapp .admin-refresh{padding-inline:9px}.owner-miniapp #screen-admin .admin-user-row{padding:14px}.owner-miniapp .admin-overview-metrics{gap:10px}.owner-miniapp .admin-overview-metrics>div{padding-left:10px}}

/* Match the existing Viewers lens while keeping direct gestures under the finger. */
.chat-folders{grid-template-columns:repeat(var(--chat-platform-count,5),minmax(44px,1fr));padding:1px;gap:3px}
.chat-folders .chat-folder,.chatbox-mode .chat-folders .chat-folder{min-height:44px;padding-block:4px}
.chat-folders:before{top:1px;bottom:1px;transition:transform 260ms cubic-bezier(.22,.85,.25,1),width 180ms ease}
.chat-folders.glass-dragging:before,.chat-folders.platform-reordering:before{transition:none}
.chat-folders.glass-nav-ready:before{display:none}
@media(prefers-reduced-motion:reduce){.chat-folders:before,.chat-folders>.glass-lens{transition:none}.chat-folders.glass-held{--lens-scale:1}}
