:root{
  --bg:#071321;--bg2:#091a2d;--panel:#0d2036;--panel2:#102943;--card:rgba(17,42,69,.94);
  --line:rgba(151,215,255,.18);--line2:rgba(86,226,255,.28);--text:#f5fbff;--muted:#9fb8d2;--muted2:#708aa6;
  --cyan:#58e8ff;--violet:#8873ff;--green:#59e7ab;--red:#ff617a;--amber:#ffc76b;--shadow:0 22px 80px rgba(0,0,0,.34);
  --safe-bottom:env(safe-area-inset-bottom);--safe-top:env(safe-area-inset-top)
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;background:#050d17;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","PingFang SC",Helvetica,Arial,sans-serif}
body{overscroll-behavior:none}
button,input,textarea,select{font:inherit;color:inherit}button{border:0;cursor:pointer}input,textarea,select{outline:none}
button:disabled{opacity:.45;cursor:default}
.hidden{display:none!important}
.app-shell{position:relative;min-height:100dvh;max-width:820px;margin:0 auto;overflow:hidden;background:
  radial-gradient(circle at 10% -10%,rgba(88,232,255,.12),transparent 30%),
  radial-gradient(circle at 92% 8%,rgba(136,115,255,.11),transparent 28%),
  linear-gradient(180deg,#071321 0%,#091a2d 56%,#071321 100%)}
.grid-glow{position:fixed;inset:0;pointer-events:none;opacity:.14;background-image:linear-gradient(rgba(118,195,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(118,195,255,.08) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,black,transparent 88%)}
.aurora{position:fixed;width:320px;height:320px;border-radius:50%;filter:blur(80px);opacity:.13;pointer-events:none}.a1{background:var(--cyan);left:-200px;top:120px}.a2{background:var(--violet);right:-210px;top:380px}
.topbar{position:sticky;top:0;z-index:15;height:76px;padding:var(--safe-top) 16px 0;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,rgba(7,19,33,.97),rgba(7,19,33,.76));backdrop-filter:blur(22px);border-bottom:1px solid rgba(160,215,255,.07)}
.brand-wrap{display:flex;align-items:center;gap:10px;min-width:0}.brand-mark{width:44px;height:44px;border-radius:14px;border:1px solid rgba(136,115,255,.4);box-shadow:0 0 30px rgba(88,232,255,.12);background:rgba(10,22,39,.9);display:grid;place-items:center;overflow:hidden}.brand-mark img{width:35px;height:35px}.brand-name{font-size:16px;font-weight:950;letter-spacing:2.2px;white-space:nowrap}.brand-name span{font-weight:700;color:#9db2c8;letter-spacing:2.8px}.brand-sub{font-size:8px;color:#6f89a5;letter-spacing:2.2px;margin-top:2px}.top-actions{display:flex;gap:7px}.icon-btn,.round-btn{width:42px;height:42px;border-radius:14px;background:rgba(12,31,52,.82);border:1px solid var(--line);color:#bcd3e8;box-shadow:0 12px 30px rgba(0,0,0,.18);display:grid;place-items:center;font-size:19px}.icon-btn:active,.round-btn:active,.tab:active,.primary:active,.secondary:active,.action:active,.composer-btn:active{transform:scale(.97)}
.view{position:relative;z-index:1;padding:10px 14px calc(88px + var(--safe-bottom));min-height:calc(100dvh - 76px)}
.view.chat-mode{display:flex;flex-direction:column;height:calc(100dvh - 76px);min-height:0;overflow:hidden;padding-bottom:calc(10px + var(--safe-bottom))}
.view.chat-mode .chat-header{flex:0 0 auto}
.view.chat-mode .chat-search{flex:0 0 auto}
.view.chat-mode .messages{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}
.view.chat-mode .typing{flex:0 0 auto}
.view.chat-mode .reply-bar{flex:0 0 auto}
.view.chat-mode .composer-wrap{flex:0 0 auto}
.hero{padding:18px 5px 14px}.eyebrow{font-size:9px;letter-spacing:3px;font-weight:900;color:#62dff8;text-transform:uppercase}.hero h1{margin:4px 0 4px;font-size:35px;line-height:1.04;letter-spacing:-1px}.hero p{margin:0;color:#a9bed4;font-size:12px;line-height:1.65;max-width:660px}.version-chip{display:inline-flex;margin-top:10px;padding:7px 10px;border-radius:999px;border:1px solid rgba(88,232,255,.16);background:rgba(88,232,255,.05);color:#8beaff;font-size:9px;font-weight:900;letter-spacing:.6px}
.card{border:1px solid var(--line);background:linear-gradient(150deg,rgba(18,45,75,.95),rgba(10,27,46,.93));border-radius:22px;padding:14px;box-shadow:0 16px 60px rgba(0,0,0,.18);margin-bottom:12px}.soft{background:rgba(10,28,48,.76)}
.section-head{display:flex;align-items:center;justify-content:space-between;margin:18px 4px 9px}.section-title{font-size:13px;font-weight:950;letter-spacing:.3px}.section-action{font-size:10px;color:#85e7ff;background:transparent;padding:6px}.sub{color:var(--muted);font-size:10px;line-height:1.55}.title{font-size:13px;font-weight:850}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.input,.textarea,.select{width:100%;background:#081a2c;border:1px solid rgba(147,211,255,.18);border-radius:13px;padding:11px 12px;color:#eaf8ff;font-size:12px}.textarea{min-height:76px;resize:none}.input:focus,.textarea:focus,.select:focus{border-color:rgba(88,232,255,.54);box-shadow:0 0 0 3px rgba(88,232,255,.07)}.label{display:block;color:#8da8c4;font-size:9px;font-weight:850;letter-spacing:.7px;margin:0 0 6px}.label+.input{margin-bottom:10px}.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.primary,.secondary{width:100%;padding:12px 14px;border-radius:14px;font-size:11px;font-weight:950;letter-spacing:.3px}.primary{color:#03111c;background:linear-gradient(135deg,var(--cyan),#97eeff 60%,#8c7bff);box-shadow:0 12px 30px rgba(88,232,255,.14)}.secondary{color:#c9e8ff;background:rgba(13,34,56,.9);border:1px solid rgba(151,215,255,.17)}.danger{color:#ff9cac;border-color:rgba(255,97,122,.2)}
.action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.action{min-height:82px;border:1px solid rgba(145,208,252,.15);border-radius:18px;background:rgba(13,34,56,.82);padding:13px;display:flex;flex-direction:column;justify-content:center;text-align:left}.action .action-ico{font-size:19px;margin-bottom:6px}.action strong{font-size:12px}.action span{font-size:9px;color:#839db9;margin-top:3px;line-height:1.4}
.tabbar{position:fixed;z-index:18;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,820px);padding:8px 8px calc(8px + var(--safe-bottom));display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:linear-gradient(180deg,rgba(7,18,31,.76),rgba(6,15,26,.98));border-top:1px solid rgba(151,215,255,.1);backdrop-filter:blur(20px);box-shadow:0 -14px 38px rgba(0,0,0,.28)}.tab{position:relative;min-height:52px;border-radius:15px;background:transparent;color:#66809d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:8px;font-weight:850}.tab-ico{font-size:17px;line-height:1}.tab.active{color:#e9fbff;background:rgba(35,82,116,.28);box-shadow:inset 0 0 0 1px rgba(88,232,255,.11)}.tab.active .tab-ico{color:var(--cyan);text-shadow:0 0 16px rgba(88,232,255,.55)}.tab-badge{position:absolute;top:2px;left:50%;margin-left:9px;min-width:17px;height:17px;padding:0 4px;border-radius:99px;background:var(--red);color:white;display:grid;place-items:center;font-size:8px;font-weight:950;border:2px solid #071321}.tab-badge[hidden]{display:none}
.searchbar{display:flex;gap:8px;align-items:center;margin:6px 0 12px}.searchbox{position:relative;flex:1}.searchbox .input{padding-left:36px}.search-ico{position:absolute;left:12px;top:11px;color:#6f8aa6;font-size:14px}.chat-row,.friend-row,.group-row{display:flex;align-items:center;gap:11px;padding:12px 4px;border-bottom:1px solid rgba(151,215,255,.08);cursor:pointer}.chat-row:last-child,.friend-row:last-child,.group-row:last-child{border-bottom:0}.avatar{width:45px;height:45px;flex:0 0 45px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(88,232,255,.95),rgba(136,115,255,.92));color:#05111e;font-weight:950;box-shadow:0 0 22px rgba(88,232,255,.1);position:relative}.avatar.sm{width:38px;height:38px;flex-basis:38px;border-radius:12px;font-size:11px}.online-dot{position:absolute;width:10px;height:10px;border-radius:50%;right:-2px;bottom:-1px;background:#657f9c;border:2px solid #102943}.online-dot.on{background:var(--green);box-shadow:0 0 10px rgba(89,231,171,.75)}.row-main{min-width:0;flex:1}.row-title{display:flex;align-items:center;gap:4px;min-width:0}.row-title strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-preview{margin-top:4px;font-size:9px;color:#7893ad;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-meta{align-self:stretch;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:5px}.time{font-size:8px;color:#6a839e}.unread-pill{min-width:18px;height:17px;border-radius:99px;padding:0 5px;display:grid;place-items:center;background:var(--red);color:#fff;font-size:8px;font-weight:950}.empty{padding:38px 10px;text-align:center;color:#718aa4}.empty strong{display:block;color:#b6cde2;font-size:12px;margin-bottom:5px}.empty span{font-size:9px;line-height:1.6}
.badge{display:inline-flex;align-items:center;gap:5px;padding:6px 8px;border-radius:999px;background:rgba(89,231,171,.06);border:1px solid rgba(89,231,171,.12);color:#91ebc5;font-size:8px;font-weight:850}.dot{width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 10px rgba(89,231,171,.7)}
.chat-header{position:sticky;top:-10px;z-index:6;margin:0 -2px;padding:8px 4px 10px;display:flex;align-items:center;gap:8px;background:linear-gradient(180deg,rgba(7,19,33,.98),rgba(7,19,33,.84));backdrop-filter:blur(18px);border-bottom:1px solid rgba(151,215,255,.06)}.chat-header .back{width:36px;height:36px;border-radius:11px;background:rgba(14,36,59,.85);color:#a9c5dc}.chat-header-main{min-width:0;flex:1}.chat-header-name{font-size:13px;font-weight:950}.chat-header-status{font-size:8px;color:#7d9ab5;margin-top:2px}.chat-header-actions{display:flex;gap:5px}.chat-action{width:36px;height:36px;border-radius:11px;background:rgba(14,36,59,.82);color:#b9d2e8;border:1px solid rgba(151,215,255,.11)}
.chat-search{display:flex;gap:6px;margin:8px 0}.chat-search .input{padding:9px 10px;font-size:10px}.reply-bar{display:flex;align-items:center;gap:8px;margin:0 0 7px;padding:8px 10px;border-radius:11px;background:rgba(88,232,255,.06);border:1px solid rgba(88,232,255,.1);font-size:9px;color:#94bbd7}.reply-bar span{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.messages{padding:9px 2px 7px}.date-divider{text-align:center;color:#66819e;font-size:8px;margin:11px 0}.msg{display:flex;gap:7px;margin:6px 0;align-items:flex-end}.msg.mine{justify-content:flex-end}.msg.mine .msg-avatar{display:none}.msg-body{max-width:79%}.msg.mine .msg-body{display:flex;flex-direction:column;align-items:flex-end}.msg-bubble{padding:9px 10px;border-radius:16px 16px 16px 5px;background:#102d49;border:1px solid rgba(151,215,255,.11);box-shadow:0 9px 25px rgba(0,0,0,.15);word-break:break-word;font-size:12px;line-height:1.5}.msg.mine .msg-bubble{border-radius:16px 16px 5px 16px;background:linear-gradient(135deg,#173b58,#274c71);border-color:rgba(88,232,255,.14)}.msg.recalled .msg-bubble{color:#7089a4;font-style:italic;background:rgba(16,38,61,.55)}.msg-meta{margin-top:3px;display:flex;gap:5px;align-items:center;font-size:7px;color:#657f9a}.msg-quote{padding:6px 7px;border-left:2px solid var(--cyan);margin-bottom:6px;border-radius:7px;background:rgba(88,232,255,.05);color:#90acc7;font-size:9px}.msg-image,.msg-video{display:block;max-width:240px;max-height:300px;border-radius:13px}.msg-audio{width:220px;max-width:100%}.msg-file{display:flex;align-items:center;gap:8px;min-width:170px}.file-ico{width:31px;height:31px;border-radius:10px;background:rgba(88,232,255,.08);display:grid;place-items:center;color:#8feaff}.msg-location,.msg-transfer{min-width:200px}.transfer-amount{font-size:17px;font-weight:950;margin:3px 0}.transfer-token{font-size:9px;color:#8db5d1}.composer-wrap{position:sticky;bottom:calc(0px + var(--safe-bottom));z-index:7;margin:5px -2px 0;padding:8px 0 8px;background:linear-gradient(180deg,rgba(7,19,33,.65),rgba(7,19,33,.98) 30%);backdrop-filter:blur(18px)}.composer{display:flex;align-items:flex-end;gap:6px}.composer-btn{width:39px;height:39px;flex:0 0 39px;border-radius:13px;background:rgba(14,36,59,.94);border:1px solid rgba(151,215,255,.14);color:#b5d0e7}.composer-input{flex:1;min-height:39px;max-height:110px;background:#0a2034;border:1px solid rgba(151,215,255,.16);border-radius:13px;padding:10px 11px;font-size:11px;line-height:1.35;resize:none}.composer-send{width:58px;height:39px;border-radius:13px;background:linear-gradient(135deg,var(--cyan),#8d7fff);color:#06111d;font-size:9px;font-weight:950}.typing{height:12px;font-size:8px;color:#67859f;padding-left:5px}
.modal-backdrop{position:fixed;inset:0;z-index:60;background:rgba(1,7,13,.74);backdrop-filter:blur(9px);display:flex;align-items:flex-end}.modal{width:100%;max-width:820px;margin:0 auto;background:linear-gradient(180deg,#0c2037,#071422);border:1px solid rgba(151,215,255,.13);border-bottom:0;border-radius:26px 26px 0 0;padding:15px 15px calc(18px + var(--safe-bottom));max-height:92dvh;overflow:auto;box-shadow:0 -25px 100px rgba(0,0,0,.45)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.modal-head h3{font-size:16px;margin:0}.close{background:transparent;color:#8ca6c0;font-size:25px;padding:3px 7px}.modal-scroll{max-height:60dvh;overflow:auto}.check-row{display:flex;align-items:center;gap:9px;padding:9px 0;border-bottom:1px solid rgba(151,215,255,.07);font-size:11px}.check-row input{accent-color:#58e8ff}.modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.qr-wrap{display:grid;place-items:center;padding:14px;background:#fff;border-radius:18px;width:276px;margin:12px auto;box-shadow:0 0 50px rgba(88,232,255,.1)}.qr-box{width:240px;height:240px;display:grid;place-items:center;background:#fff}.qr-box canvas,.qr-box img{display:block;width:240px!important;height:240px!important}.code-box{font-size:9px;color:#9dc1da;background:#081a2c;border:1px solid var(--line);padding:10px;border-radius:11px;word-break:break-all}
.standalone-scanner{display:flex;flex-direction:column;align-items:center;gap:10px;padding:10px 2px 2px;text-align:center}.camera-orbit{width:190px;height:190px;border-radius:42px;display:grid;place-items:center;position:relative;background:radial-gradient(circle at 50% 48%,rgba(88,232,255,.16),rgba(8,20,38,.92) 58%,rgba(7,19,33,1));border:1px solid rgba(88,232,255,.2);box-shadow:inset 0 0 36px rgba(88,232,255,.08),0 0 42px rgba(141,127,255,.08)}.camera-ring{position:absolute;inset:22px;border:1px solid rgba(141,127,255,.34);border-radius:50%;box-shadow:0 0 26px rgba(88,232,255,.1)}.camera-glyph{font-size:54px;color:#a9edff;text-shadow:0 0 24px rgba(88,232,255,.55);z-index:1}.camera-title{font-size:16px;font-weight:950;color:#e8f6ff}.camera-copy{font-size:10px;line-height:1.6;color:#7895ae;max-width:310px}.standalone-scanner .primary,.standalone-scanner .secondary{width:100%;max-width:360px}.standalone-scanner .scan-state{position:static;max-width:360px}.standalone-scanner+.scanner-actions{display:none}
.scanner{position:relative;overflow:hidden;border-radius:20px;background:#01060a;border:1px solid rgba(88,232,255,.18);min-height:280px}.scanner video{display:block;width:100%;height:100%;min-height:280px;object-fit:cover;background:#01060a}.scan-frame{position:absolute;inset:18% 12%;border:1px solid rgba(88,232,255,.58);border-radius:22px;box-shadow:0 0 0 999px rgba(0,0,0,.22),0 0 30px rgba(88,232,255,.12)}.scan-frame:after{content:"";position:absolute;left:8%;right:8%;top:10%;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);box-shadow:0 0 18px rgba(88,232,255,.85);animation:scan 1.8s ease-in-out infinite}@keyframes scan{0%,100%{transform:translateY(0)}50%{transform:translateY(190px)}}.scan-state{position:absolute;left:12px;right:12px;bottom:12px;padding:8px 9px;border-radius:11px;background:rgba(4,13,23,.72);border:1px solid rgba(151,215,255,.12);backdrop-filter:blur(10px);text-align:center;color:#c9e6ff;font-size:9px}.scan-state.ok{color:#abf5d4}.scan-state.error{color:#ffd1d8;border-color:rgba(255,97,122,.22)}.scanner-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.qr-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.message-pop{position:fixed;z-index:50;left:9px;right:9px;top:calc(var(--safe-top) + 84px);display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:18px;background:linear-gradient(145deg,rgba(18,47,77,.98),rgba(9,24,42,.98));border:1px solid rgba(88,232,255,.26);box-shadow:0 18px 70px rgba(0,0,0,.42),0 0 35px rgba(88,232,255,.08);backdrop-filter:blur(24px);animation:popin .24s ease-out}.message-pop-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,var(--cyan),var(--violet));color:#06111c;font-size:11px;font-weight:950}.message-pop-copy{min-width:0;flex:1;text-align:left}.message-pop-copy strong{display:block;font-size:11px}.message-pop-copy span{display:block;color:#a8bfd4;font-size:9px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message-pop-dot{width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 15px rgba(88,232,255,.85)}@keyframes popin{from{opacity:0;transform:translateY(-12px) scale(.98)}to{opacity:1;transform:none}}
.toast{position:fixed;z-index:90;left:50%;bottom:calc(86px + var(--safe-bottom));transform:translate(-50%,15px);opacity:0;pointer-events:none;max-width:90%;padding:10px 14px;border-radius:999px;background:rgba(13,34,56,.95);border:1px solid rgba(151,215,255,.17);color:#dff7ff;font-size:10px;box-shadow:var(--shadow);transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
.update-banner{position:fixed;z-index:80;left:10px;right:10px;bottom:calc(84px + var(--safe-bottom));display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:17px;background:rgba(8,24,41,.96);border:1px solid rgba(88,232,255,.18);box-shadow:0 18px 70px rgba(0,0,0,.4);backdrop-filter:blur(18px)}.update-banner[hidden]{display:none}.update-banner>div{flex:1;min-width:0}.update-banner strong{display:block;font-size:10px}.update-banner span{display:block;font-size:8px;color:#8ca7c1;margin-top:3px}.update-btn{padding:9px 11px;border-radius:11px;background:linear-gradient(135deg,var(--cyan),#8b77ff);color:#06111d;font-size:9px;font-weight:950}
.lock-screen{position:fixed;inset:0;z-index:100;background:radial-gradient(circle at 20% 10%,rgba(88,232,255,.1),transparent 30%),linear-gradient(180deg,#06111f,#071521);display:grid;place-items:center;padding:25px}.lock-card{width:min(420px,100%);padding:24px;border-radius:25px;border:1px solid rgba(151,215,255,.15);background:linear-gradient(150deg,rgba(18,45,75,.97),rgba(8,24,41,.98));box-shadow:var(--shadow);text-align:center}.lock-logo{width:70px;height:70px;margin:0 auto 12px}.lock-title{font-size:24px;font-weight:950}.lock-sub{font-size:9px;color:#87a2bd;line-height:1.6;margin:5px 0 17px}.lock-status{min-height:15px;color:#ff9cac;font-size:8px;margin:8px 0}
.call-layer{position:fixed;inset:0;z-index:70;background:#030910;display:flex;flex-direction:column}.call-top{padding:calc(16px + var(--safe-top)) 15px 12px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,rgba(3,9,16,.98),rgba(3,9,16,.78));position:absolute;left:0;right:0;top:0;z-index:2}.call-title{font-size:12px;font-weight:950}.call-status{font-size:8px;color:#80a0bc;margin-top:2px}.call-remote{width:100%;height:100%;object-fit:cover;background:#081522}.call-self{position:absolute;right:12px;top:calc(78px + var(--safe-top));width:105px;height:150px;object-fit:cover;border-radius:14px;border:1px solid rgba(151,215,255,.18);background:#081522;display:none}.call-controls{position:absolute;left:0;right:0;bottom:calc(20px + var(--safe-bottom));display:flex;justify-content:center;gap:10px}.call-btn{width:54px;height:54px;border-radius:50%;background:rgba(12,28,45,.86);border:1px solid rgba(151,215,255,.16);color:#e2f5ff;font-size:20px}.call-btn.end{background:#7c2434}.incoming-call{position:fixed;z-index:75;left:12px;right:12px;bottom:calc(20px + var(--safe-bottom));padding:15px;border-radius:20px;border:1px solid rgba(151,215,255,.18);background:rgba(10,30,50,.97);box-shadow:var(--shadow);backdrop-filter:blur(18px)}
.kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.kpi{padding:12px;border-radius:16px;background:rgba(9,27,46,.72);border:1px solid rgba(151,215,255,.11)}.kpi .v{font-size:17px;font-weight:950}.kpi .l{font-size:8px;color:#7591ad;margin-top:3px}.progress{height:6px;background:#081827;border-radius:99px;overflow:hidden}.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--violet));border-radius:inherit}.game{display:grid;gap:10px}.game-arena{height:280px;border-radius:21px;border:1px solid rgba(88,232,255,.18);background:radial-gradient(circle at 50% 50%,rgba(88,232,255,.09),transparent 43%),#04101c;position:relative;overflow:hidden}.game-star{position:absolute;width:7px;height:7px;border-radius:50%;background:#eafaff;box-shadow:0 0 14px rgba(234,250,255,.8)}.game-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#67edff,#736eff);color:#03101b;font-weight:950;box-shadow:0 0 45px rgba(88,232,255,.35)}
body.theme-light{--bg:#eef6fb;--bg2:#e8f1f8;--panel:#fff;--panel2:#f5fbff;--card:rgba(255,255,255,.96);--line:rgba(51,99,135,.15);--line2:rgba(36,155,190,.24);--text:#10283c;--muted:#587089;--muted2:#7890a7;--shadow:0 22px 70px rgba(40,82,118,.12)}body.theme-light{background:#eef6fb;color:var(--text)}body.theme-light .app-shell{background:linear-gradient(180deg,#f4fbff,#e9f4fb)}body.theme-light .topbar{background:linear-gradient(180deg,rgba(244,251,255,.98),rgba(244,251,255,.84))}body.theme-light .tabbar{background:linear-gradient(180deg,rgba(244,251,255,.78),rgba(233,244,251,.98))}body.theme-light .input,body.theme-light .textarea,body.theme-light .select{background:#f5fbff;color:#17344c}body.theme-light .card{background:linear-gradient(150deg,rgba(255,255,255,.98),rgba(242,249,253,.96))}

/* v2.1.0 additions */
.msg-status{color:#657f9a}
.msg-status-failed{color:var(--red);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
.msg-action{background:transparent;color:#657f9a;font-size:11px;padding:0 2px}
.request-actions{display:flex;gap:5px;flex:0 0 auto}
.request-actions button{width:auto;padding:8px 9px;font-size:9px}
.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.media-cell{aspect-ratio:1;border-radius:13px;overflow:hidden;background:rgba(13,34,56,.9);border:1px solid rgba(151,215,255,.14);display:flex;align-items:center;justify-content:center}
.media-thumb{width:100%;height:100%;object-fit:cover;display:block}
.media-file-cell{flex-direction:column;gap:5px;padding:6px;text-align:center}
.media-file-cell small{font-size:8px;color:#93abc4;line-height:1.3;word-break:break-all}
.search-results{margin-top:12px;max-height:60vh;overflow-y:auto}
.chat-header-info{display:flex;align-items:center;gap:8px;min-width:0;flex:1;background:transparent;text-align:left;padding:0}

body.theme-tech{--bg:#050b1a;--bg2:#071026;--panel:#0a1730;--panel2:#0e1f40;--card:rgba(10,23,48,.95);--line:rgba(94,166,255,.24);--line2:rgba(64,140,255,.34);--text:#eaf2ff;--muted:#9db3d9;--muted2:#7189b3;--cyan:#4ea1ff;--violet:#6f6bff;--shadow:0 22px 80px rgba(0,16,50,.4)}
body.theme-tech{background:#050b1a;color:var(--text)}
body.theme-tech .app-shell{background:linear-gradient(180deg,#071026,#050b1a)}
body.theme-tech .topbar{background:linear-gradient(180deg,rgba(6,14,32,.98),rgba(6,14,32,.84))}
body.theme-tech .tabbar{background:linear-gradient(180deg,rgba(6,14,32,.78),rgba(6,14,32,.98))}
body.theme-tech .card{background:linear-gradient(150deg,rgba(14,32,62,.95),rgba(7,17,38,.93))}
body.theme-tech .input,body.theme-tech .textarea,body.theme-tech .select{background:#081428}

body.theme-glass{--line:rgba(151,215,255,.24);--line2:rgba(86,226,255,.3);--shadow:0 22px 80px rgba(0,0,0,.32)}
body.theme-glass{background:radial-gradient(circle at 18% 0%,rgba(88,232,255,.12),transparent 40%),radial-gradient(circle at 90% 90%,rgba(136,115,255,.12),transparent 42%),#0b1626;color:var(--text)}
body.theme-glass .card,body.theme-glass .action,body.theme-glass .modal{background:rgba(18,40,66,.4);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
body.theme-glass .topbar,body.theme-glass .tabbar{background:rgba(10,22,38,.5);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
body.theme-glass .msg-bubble{background:rgba(16,45,73,.55);backdrop-filter:blur(10px)}
body.theme-glass .msg.mine .msg-bubble{background:linear-gradient(135deg,rgba(23,59,88,.6),rgba(39,76,113,.6))}
@media(min-width:700px){.app-shell{min-height:100dvh;border-left:1px solid rgba(151,215,255,.08);border-right:1px solid rgba(151,215,255,.08)}.view{padding-left:20px;padding-right:20px}.modal-backdrop{padding:20px}.modal{border-bottom:1px solid rgba(151,215,255,.13);border-radius:26px;max-width:640px}.tabbar{bottom:10px;border-radius:20px;width:650px;border:1px solid rgba(151,215,255,.11)}.topbar{padding-left:24px;padding-right:24px}.action-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:380px){.view{padding-left:11px;padding-right:11px}.hero h1{font-size:30px}.action-grid{grid-template-columns:1fr}.msg-body{max-width:84%}.msg-image,.msg-video{max-width:205px}.qr-wrap{width:250px}.qr-box,.qr-box canvas,.qr-box img{width:216px!important;height:216px!important}.scanner{min-height:250px}.scanner video{min-height:250px}.scan-frame:after{animation:none}.modal{padding-left:12px;padding-right:12px}}

/* component completion */
.row{display:flex;align-items:center;gap:10px;min-height:54px;padding:10px 4px;border-bottom:1px solid rgba(151,215,255,.08)}
.row:last-child{border-bottom:0}.row>button{flex:0 0 auto}
.wallet-label{font-size:8px;color:#7d98b4;letter-spacing:1.1px;text-transform:uppercase}.wallet-address{font-size:19px;font-weight:950;letter-spacing:-.3px;margin:5px 0 10px}.wallet-hero{background:radial-gradient(circle at 85% 10%,rgba(88,232,255,.12),transparent 28%),linear-gradient(150deg,rgba(19,49,80,.97),rgba(8,25,43,.96))}
.login-wrap{min-height:calc(100dvh - 94px);display:grid;align-items:center;padding:16px 0}.login-card{padding:24px}.login-title{text-align:center;font-size:30px;font-weight:950;letter-spacing:-.8px}.login-sub{text-align:center;color:#93abc4;font-size:10px;line-height:1.6;margin:5px 0 15px}.toggle{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:15px;background:#081827;border:1px solid rgba(151,215,255,.12);margin-bottom:13px}.toggle button{padding:10px 8px;border-radius:11px;background:transparent;color:#718aa5;font-size:10px;font-weight:900}.toggle .on{background:rgba(88,232,255,.09);color:#e5faff}.footnote{color:#6d89a5;font-size:8px;line-height:1.6;text-align:center;margin-top:10px}.login-card .lock-logo{width:76px;height:76px;display:block;margin:0 auto 12px}.login-card .input{margin-bottom:10px}
.msg-action{width:auto!important;padding:0 2px!important;font-size:10px;color:#6884a0}.msg-file{border:0;color:inherit;background:transparent;padding:0;text-align:left;width:100%}.msg-file small{display:block;color:#7590aa;font-size:8px;margin-top:2px}.msg-file strong{display:block;font-size:10px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-location strong{font-size:12px}.msg-location>div{margin:5px 0;font-size:10px;color:#acc5d9}.msg-location small{display:block;color:#7895ae;font-size:8px;margin-bottom:7px}.msg-location .secondary,.msg-transfer .secondary{width:auto;padding:7px 9px}.tx-open{min-width:56px}.wallet-hero .primary,.wallet-hero .secondary{font-weight:950}
input[type=checkbox]{width:18px;height:18px;accent-color:#58e8ff}

/* v2.1.5 — FMX White Minimal UI */
:root{
  --bg:#f5f8fc;
  --bg2:#eef4fa;
  --panel:#ffffff;
  --panel2:#f8fbff;
  --card:#ffffff;
  --line:#e5ebf3;
  --line2:#d6e4f6;
  --text:#14243a;
  --muted:#667a94;
  --muted2:#8a9ab0;
  --cyan:#176cff;
  --violet:#6b5cff;
  --green:#22b979;
  --red:#e84d62;
  --amber:#d9911e;
  --shadow:0 14px 42px rgba(31,61,102,.08)
}
body:not(.theme-tech):not(.theme-glass){
  background:#f5f8fc!important;
  color:var(--text)
}
body:not(.theme-tech):not(.theme-glass) .app-shell{
  background:linear-gradient(180deg,#ffffff 0%,#f6f9fd 54%,#eef4fa 100%)!important
}
body:not(.theme-tech):not(.theme-glass) .aurora,
body:not(.theme-tech):not(.theme-glass) .grid-glow{opacity:.03}
body:not(.theme-tech):not(.theme-glass) .topbar{
  background:rgba(255,255,255,.94)!important;
  border-bottom:1px solid #e8edf4!important;
  box-shadow:0 6px 22px rgba(31,61,102,.05)
}
body:not(.theme-tech):not(.theme-glass) .brand-mark{
  background:#fff;
  border:1px solid #e2eaf5;
  box-shadow:0 7px 20px rgba(42,87,150,.08)
}
body:not(.theme-tech):not(.theme-glass) .brand-sub{color:#7d8ea7}
body:not(.theme-tech):not(.theme-glass) .brand-name span{color:#6f82a0}
body:not(.theme-tech):not(.theme-glass) .icon-btn,
body:not(.theme-tech):not(.theme-glass) .round-btn,
body:not(.theme-tech):not(.theme-glass) .chat-header .back,
body:not(.theme-tech):not(.theme-glass) .chat-action,
body:not(.theme-tech):not(.theme-glass) .composer-btn{
  background:#fff;
  color:#49617e;
  border-color:#e1e8f1;
  box-shadow:0 7px 18px rgba(31,61,102,.06)
}
body:not(.theme-tech):not(.theme-glass) .hero .eyebrow,
body:not(.theme-tech):not(.theme-glass) .section-action{color:#176cff}
body:not(.theme-tech):not(.theme-glass) .hero p{color:#6c7f96}
body:not(.theme-tech):not(.theme-glass) .version-chip{
  color:#176cff;
  background:#eef5ff;
  border-color:#d7e7ff
}
body:not(.theme-tech):not(.theme-glass) .card{
  background:#fff;
  border-color:#e4eaf2;
  box-shadow:var(--shadow)
}
body:not(.theme-tech):not(.theme-glass) .card.soft{background:#f8fbff}
body:not(.theme-tech):not(.theme-glass) .section-title{color:#18314e}
body:not(.theme-tech):not(.theme-glass) .sub{color:#6d8097}
body:not(.theme-tech):not(.theme-glass) .input,
body:not(.theme-tech):not(.theme-glass) .textarea,
body:not(.theme-tech):not(.theme-glass) .select,
body:not(.theme-tech):not(.theme-glass) .composer-input{
  background:#f8fbff;
  color:#17304d;
  border-color:#dfe7f0
}
body:not(.theme-tech):not(.theme-glass) .input::placeholder,
body:not(.theme-tech):not(.theme-glass) .textarea::placeholder,
body:not(.theme-tech):not(.theme-glass) .composer-input::placeholder{color:#9aa9bc}
body:not(.theme-tech):not(.theme-glass) .input:focus,
body:not(.theme-tech):not(.theme-glass) .textarea:focus{
  border-color:#8eb9ff;
  box-shadow:0 0 0 3px rgba(23,108,255,.09)
}
body:not(.theme-tech):not(.theme-glass) .label{color:#73869f}
body:not(.theme-tech):not(.theme-glass) .primary{
  color:#fff;
  background:linear-gradient(135deg,#176cff,#5d7dff);
  box-shadow:0 10px 24px rgba(23,108,255,.18)
}
body:not(.theme-tech):not(.theme-glass) .secondary{
  color:#244261;
  background:#fff;
  border-color:#dfe7f0
}
body:not(.theme-tech):not(.theme-glass) .danger{color:#c83f56;border-color:#f0cfd6}
body:not(.theme-tech):not(.theme-glass) .action{
  background:#fff;
  border-color:#e3e9f1;
  box-shadow:0 9px 28px rgba(31,61,102,.06)
}
body:not(.theme-tech):not(.theme-glass) .action span{color:#7a8ca2}
body:not(.theme-tech):not(.theme-glass) .tabbar{
  background:rgba(255,255,255,.96)!important;
  border-top:1px solid #e4eaf1!important;
  box-shadow:0 -10px 28px rgba(31,61,102,.08)
}
body:not(.theme-tech):not(.theme-glass) .tab{color:#8696aa}
body:not(.theme-tech):not(.theme-glass) .tab.active{
  color:#176cff;
  background:#eef5ff;
  box-shadow:inset 0 0 0 1px #d8e8ff
}
body:not(.theme-tech):not(.theme-glass) .tab.active .tab-ico{color:#176cff;text-shadow:none}
body:not(.theme-tech):not(.theme-glass) .tab-badge{border-color:#fff}
body:not(.theme-tech):not(.theme-glass) .chat-header,
body:not(.theme-tech):not(.theme-glass) .composer-wrap{
  background:rgba(255,255,255,.95)!important;
  border-color:#e7edf4
}
body:not(.theme-tech):not(.theme-glass) .chat-header-status,
body:not(.theme-tech):not(.theme-glass) .typing,
body:not(.theme-tech):not(.theme-glass) .time,
body:not(.theme-tech):not(.theme-glass) .row-preview{color:#8a99ab}
body:not(.theme-tech):not(.theme-glass) .chat-search .input{background:#f6f9fc}
body:not(.theme-tech):not(.theme-glass) .avatar{
  background:linear-gradient(135deg,#dbeaff,#ccd9ff);
  color:#315a9d;
  box-shadow:none
}
body:not(.theme-tech):not(.theme-glass) .avatar .online-dot{border-color:#fff}
body:not(.theme-tech):not(.theme-glass) .online-dot.on{background:#25b979;box-shadow:none}
body:not(.theme-tech):not(.theme-glass) .badge{
  background:#effaf5;
  border-color:#cdeedd;
  color:#229c68
}
body:not(.theme-tech):not(.theme-glass) .dot{box-shadow:none}
body:not(.theme-tech):not(.theme-glass) .msg-bubble{
  background:#f1f5f9;
  border-color:#e3e8ef;
  box-shadow:none;
  color:#1d344f
}
body:not(.theme-tech):not(.theme-glass) .msg.mine .msg-bubble{
  background:linear-gradient(135deg,#176cff,#5c7dff);
  color:#fff;
  border-color:transparent
}
body:not(.theme-tech):not(.theme-glass) .msg-meta{color:#8a99ab}
body:not(.theme-tech):not(.theme-glass) .msg-quote{background:#f5f8fc;color:#70839b}
body:not(.theme-tech):not(.theme-glass) .file-ico{background:#edf5ff;color:#176cff}
body:not(.theme-tech):not(.theme-glass) .composer-input{background:#f8fbff}
body:not(.theme-tech):not(.theme-glass) .composer-send{background:linear-gradient(135deg,#176cff,#5c7dff);color:#fff}
body:not(.theme-tech):not(.theme-glass) .modal-backdrop{background:rgba(20,38,64,.26);backdrop-filter:blur(9px)}
body:not(.theme-tech):not(.theme-glass) .modal{
  background:#fff;
  border-color:#e3e9f1;
  box-shadow:0 -18px 60px rgba(31,61,102,.13)
}
body:not(.theme-tech):not(.theme-glass) .code-box{background:#f5f8fc;color:#49617e;border-color:#e3e9f1}
body:not(.theme-tech):not(.theme-glass) .toggle{background:#f4f7fb;border-color:#e1e8f0}
body:not(.theme-tech):not(.theme-glass) .toggle button{color:#7c8ea5}
body:not(.theme-tech):not(.theme-glass) .toggle .on{background:#fff;color:#176cff;box-shadow:0 3px 10px rgba(31,61,102,.08)}
body:not(.theme-tech):not(.theme-glass) .footnote{color:#8797aa}
body:not(.theme-tech):not(.theme-glass) .login-wrap,
body:not(.theme-tech):not(.theme-glass) .lock-screen{background:linear-gradient(180deg,#ffffff,#f3f7fc)}
body:not(.theme-tech):not(.theme-glass) .lock-card{background:#fff;border-color:#e3e9f1;box-shadow:var(--shadow)}
body:not(.theme-tech):not(.theme-glass) .lock-sub{color:#7f90a5}
body:not(.theme-tech):not(.theme-glass) .wallet-hero{background:linear-gradient(145deg,#f6f9ff,#edf4ff)}
body:not(.theme-tech):not(.theme-glass) .kpi{background:#f8fbff;border-color:#e3e9f1}
body:not(.theme-tech):not(.theme-glass) .progress{background:#e8eef6}
body:not(.theme-tech):not(.theme-glass) .incoming-call{background:#fff;border-color:#e1e8f0;box-shadow:var(--shadow);color:#18314e}
body:not(.theme-tech):not(.theme-glass) .toast{background:#fff;color:#18314e;border-color:#dfe7f0;box-shadow:0 12px 36px rgba(31,61,102,.12)}
body:not(.theme-tech):not(.theme-glass) .qr-wrap{box-shadow:0 10px 30px rgba(31,61,102,.08)}
@media(max-width:560px){
  body:not(.theme-tech):not(.theme-glass) .topbar{height:70px}
  body:not(.theme-tech):not(.theme-glass) .view{padding-left:12px;padding-right:12px}
}

/* FMX Chat v2.2 — Aurora White / Future Minimal UI
   Visual/layout overhaul only. Functional markup and event hooks are unchanged. */
body:not(.theme-tech):not(.theme-glass){
  --bg:#f7faff;
  --bg2:#eef4fb;
  --panel:#ffffff;
  --panel2:#f8fbff;
  --card:#ffffff;
  --line:#e7edf5;
  --line2:#cfe0f7;
  --text:#13243a;
  --muted:#6f8198;
  --muted2:#9aa9ba;
  --cyan:#2477ff;
  --violet:#6a61ff;
  --green:#21b778;
  --red:#ed5066;
  --amber:#d89425;
  --shadow:0 16px 44px rgba(38,73,117,.075);
  --soft-shadow:0 8px 24px rgba(38,73,117,.055);
}
body:not(.theme-tech):not(.theme-glass){background:#f5f8fd!important;color:var(--text)!important}
body:not(.theme-tech):not(.theme-glass) .app-shell{
  min-height:100dvh;
  max-width:860px;
  background:
    radial-gradient(520px 240px at 50% -80px,rgba(71,144,255,.11),transparent 68%),
    linear-gradient(180deg,#ffffff 0%,#f7faff 54%,#f0f5fb 100%)!important;
}
body:not(.theme-tech):not(.theme-glass) .grid-glow{opacity:.055;background-size:56px 56px;mask-image:linear-gradient(to bottom,black,transparent 78%)}
body:not(.theme-tech):not(.theme-glass) .aurora{opacity:.055;filter:blur(90px)}
body:not(.theme-tech):not(.theme-glass) .a1{background:#58a6ff}
body:not(.theme-tech):not(.theme-glass) .a2{background:#8a7cff}

/* Header: clean iOS/Web3 shell */
body:not(.theme-tech):not(.theme-glass) .topbar{
  height:74px;
  padding:var(--safe-top) 18px 0;
  background:rgba(255,255,255,.88)!important;
  border-bottom:1px solid #edf1f6!important;
  box-shadow:0 7px 26px rgba(38,73,117,.035);
  backdrop-filter:blur(24px);
}
body:not(.theme-tech):not(.theme-glass) .brand-wrap{gap:11px}
body:not(.theme-tech):not(.theme-glass) .brand-mark{
  width:46px;height:46px;border-radius:15px;
  background:#fff;
  border:1px solid #e3ebf5;
  box-shadow:0 8px 22px rgba(41,92,162,.08);
}
body:not(.theme-tech):not(.theme-glass) .brand-mark img{width:38px;height:38px}
body:not(.theme-tech):not(.theme-glass) .brand-name{font-size:15px;letter-spacing:2px;color:#152b47}
body:not(.theme-tech):not(.theme-glass) .brand-name span{color:#8192a8;letter-spacing:2.5px}
body:not(.theme-tech):not(.theme-glass) .brand-sub{color:#8fa1b5;letter-spacing:2px}
body:not(.theme-tech):not(.theme-glass) .top-actions{gap:8px}
body:not(.theme-tech):not(.theme-glass) .icon-btn,
body:not(.theme-tech):not(.theme-glass) .round-btn{
  width:40px;height:40px;border-radius:13px;
  background:#fff;color:#49637f;border:1px solid #e4ebf3;
  box-shadow:0 7px 18px rgba(38,73,117,.055);
}

/* Main canvas */
body:not(.theme-tech):not(.theme-glass) .view{
  padding:14px 16px calc(94px + var(--safe-bottom));
  min-height:calc(100dvh - 74px);
}
body:not(.theme-tech):not(.theme-glass) .hero{padding:16px 4px 12px}
body:not(.theme-tech):not(.theme-glass) .hero .eyebrow{
  font-size:8px;letter-spacing:2.3px;color:#8ba0b7;
}
body:not(.theme-tech):not(.theme-glass) .hero h1{
  margin:4px 0 5px;font-size:30px;line-height:1.04;letter-spacing:-.8px;color:#14263e;
}
body:not(.theme-tech):not(.theme-glass) .hero p{font-size:10px;line-height:1.55;color:#788ba3;max-width:650px}
body:not(.theme-tech):not(.theme-glass) .version-chip{
  margin-top:10px;padding:6px 9px;border-radius:999px;
  font-size:8px;letter-spacing:.5px;color:#2776ec;background:#eff6ff;border:1px solid #d7e7ff;
}

/* Cards become soft iOS sheets instead of heavy blocks */
body:not(.theme-tech):not(.theme-glass) .card{
  background:#fff!important;
  border:1px solid #e6edf5!important;
  border-radius:22px!important;
  box-shadow:var(--shadow)!important;
  padding:14px;
}
body:not(.theme-tech):not(.theme-glass) .soft{background:#f8fbff!important}
body:not(.theme-tech):not(.theme-glass) .section-head{margin:19px 5px 9px}
body:not(.theme-tech):not(.theme-glass) .section-title{font-size:12px;color:#19324f}
body:not(.theme-tech):not(.theme-glass) .section-action{color:#2676ef;font-weight:850}
body:not(.theme-tech):not(.theme-glass) .sub{color:#73869e}
body:not(.theme-tech):not(.theme-glass) .title{color:#17304c}
body:not(.theme-tech):not(.theme-glass) .row{border-bottom-color:#eef2f7}

/* Search and primary actions */
body:not(.theme-tech):not(.theme-glass) .searchbar{gap:9px;margin:4px 0 13px}
body:not(.theme-tech):not(.theme-glass) .searchbox .input{padding-left:38px}
body:not(.theme-tech):not(.theme-glass) .search-ico{color:#9aaabd;left:13px}
body:not(.theme-tech):not(.theme-glass) .input,
body:not(.theme-tech):not(.theme-glass) .textarea,
body:not(.theme-tech):not(.theme-glass) .select{
  background:#f7f9fc!important;
  border:1px solid #e1e8f1!important;
  color:#19324e!important;
  border-radius:14px!important;
  min-height:44px;
}
body:not(.theme-tech):not(.theme-glass) .textarea{min-height:92px}
body:not(.theme-tech):not(.theme-glass) .input:focus,
body:not(.theme-tech):not(.theme-glass) .textarea:focus,
body:not(.theme-tech):not(.theme-glass) .select:focus{
  border-color:#9ec2ff!important;
  box-shadow:0 0 0 3px rgba(36,119,255,.08)!important;
}
body:not(.theme-tech):not(.theme-glass) .label{color:#788ca3}
body:not(.theme-tech):not(.theme-glass) .primary{
  background:linear-gradient(135deg,#2477ff 0%,#547dff 100%)!important;
  color:#fff!important;
  border-radius:14px!important;
  box-shadow:0 10px 24px rgba(36,119,255,.18)!important;
  min-height:44px;
}
body:not(.theme-tech):not(.theme-glass) .secondary{
  background:#fff!important;
  color:#31516f!important;
  border:1px solid #dfe7f0!important;
  border-radius:14px!important;
  box-shadow:0 6px 16px rgba(38,73,117,.045);
  min-height:42px;
}
body:not(.theme-tech):not(.theme-glass) .secondary.danger{color:#ca4c61!important;border-color:#efced5!important}

/* Home/chat list rows */
body:not(.theme-tech):not(.theme-glass) .chat-row,
body:not(.theme-tech):not(.theme-glass) .friend-row,
body:not(.theme-tech):not(.theme-glass) .group-row{
  padding:13px 3px;
  border-bottom:1px solid #f0f3f7;
}
body:not(.theme-tech):not(.theme-glass) .row-title strong{font-size:12px;color:#18304b}
body:not(.theme-tech):not(.theme-glass) .row-preview{font-size:9px;color:#8797aa}
body:not(.theme-tech):not(.theme-glass) .time{font-size:8px;color:#99a7b8}
body:not(.theme-tech):not(.theme-glass) .avatar{
  width:46px;height:46px;flex-basis:46px;border-radius:16px;
  background:linear-gradient(145deg,#e9f2ff,#d9e6ff)!important;
  color:#3c68a2!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 5px 14px rgba(75,110,156,.08)!important;
}
body:not(.theme-tech):not(.theme-glass) .avatar.sm{width:40px;height:40px;flex-basis:40px;border-radius:13px}
body:not(.theme-tech):not(.theme-glass) .online-dot{border-color:#fff;background:#b4c0ce}
body:not(.theme-tech):not(.theme-glass) .online-dot.on{background:#23bb79;box-shadow:0 0 0 3px rgba(35,187,121,.08)}
body:not(.theme-tech):not(.theme-glass) .unread-pill{background:#f05469}
body:not(.theme-tech):not(.theme-glass) .badge{
  padding:5px 8px;border-radius:999px;background:#effaf5;border:1px solid #d4f0e1;color:#269e6d;
}

/* Contact shortcut grid: like the reference cards */
body:not(.theme-tech):not(.theme-glass) .action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body:not(.theme-tech):not(.theme-glass) .action{
  min-height:94px;border-radius:18px;background:#fff!important;border:1px solid #e6edf5!important;
  box-shadow:0 9px 26px rgba(38,73,117,.055)!important;
  padding:14px;
}
body:not(.theme-tech):not(.theme-glass) .action .action-ico{
  font-size:18px;color:#2778ef;margin-bottom:8px;
}
body:not(.theme-tech):not(.theme-glass) .action strong{font-size:11px;color:#1a3551}
body:not(.theme-tech):not(.theme-glass) .action span{font-size:8px;line-height:1.45;color:#8495a9}

/* Chat window layout */
body:not(.theme-tech):not(.theme-glass) .view.chat-mode{
  height:calc(100dvh - 74px);
  padding:0 0 calc(8px + var(--safe-bottom));
  background:linear-gradient(180deg,#fff 0%,#f7faff 100%);
}
body:not(.theme-tech):not(.theme-glass) .view.chat-mode .chat-header{
  margin:0;padding:9px 6px 10px;background:rgba(255,255,255,.93)!important;
  border-bottom:1px solid #edf2f6;box-shadow:0 7px 20px rgba(38,73,117,.045);
}
body:not(.theme-tech):not(.theme-glass) .chat-header .back,
body:not(.theme-tech):not(.theme-glass) .chat-action{
  width:38px;height:38px;border-radius:12px;background:#fff;color:#45617e;border:1px solid #e2e9f1;
  box-shadow:0 6px 16px rgba(38,73,117,.055);
}
body:not(.theme-tech):not(.theme-glass) .chat-header-name{font-size:13px;color:#16304c}
body:not(.theme-tech):not(.theme-glass) .chat-header-status{font-size:8px;color:#8496aa}
body:not(.theme-tech):not(.theme-glass) .messages{
  padding:12px 11px 10px;
  background:
    radial-gradient(260px 150px at 15% 0%,rgba(77,148,255,.055),transparent 70%),
    #f8fbff;
}
body:not(.theme-tech):not(.theme-glass) .msg{gap:8px;margin:3px 0 12px}
body:not(.theme-tech):not(.theme-glass) .msg-body{max-width:78%}
body:not(.theme-tech):not(.theme-glass) .msg-bubble{
  background:#fff!important;color:#213a57!important;border:1px solid #e5ebf2!important;
  border-radius:17px!important;box-shadow:0 4px 14px rgba(38,73,117,.045)!important;
  padding:10px 12px!important;
}
body:not(.theme-tech):not(.theme-glass) .msg.mine .msg-bubble{
  background:linear-gradient(135deg,#2477ff,#5b7bff)!important;color:#fff!important;border-color:transparent!important;
  box-shadow:0 8px 18px rgba(36,119,255,.15)!important;
}
body:not(.theme-tech):not(.theme-glass) .msg-meta{color:#9aa7b7}
body:not(.theme-tech):not(.theme-glass) .msg-status{color:#98a7b7}
body:not(.theme-tech):not(.theme-glass) .msg-status-failed{color:#de5368}
body:not(.theme-tech):not(.theme-glass) .reply-bar{margin:0 10px 6px;border:1px solid #e6edf5;border-radius:13px;background:#fff;box-shadow:var(--soft-shadow)}
body:not(.theme-tech):not(.theme-glass) .composer-wrap{
  padding:8px 10px calc(8px + var(--safe-bottom));
  background:rgba(255,255,255,.95)!important;border-top:1px solid #ebf0f5;
  box-shadow:0 -8px 24px rgba(38,73,117,.045);
}
body:not(.theme-tech):not(.theme-glass) .composer{
  gap:7px;padding:4px;border-radius:18px;background:#f4f7fb;border:1px solid #e1e8f0;
}
body:not(.theme-tech):not(.theme-glass) .composer-input{
  min-height:38px;background:transparent!important;border:0!important;box-shadow:none!important;color:#17324f!important;
}
body:not(.theme-tech):not(.theme-glass) .composer-btn{
  width:36px;height:36px;border-radius:12px;background:#fff;color:#55708c;border:1px solid #e0e8f1;box-shadow:none;
}
body:not(.theme-tech):not(.theme-glass) .composer-send{
  min-width:54px;height:36px;padding:0 12px;border-radius:12px;background:#2477ff;color:#fff;box-shadow:none;
}

/* Wallet / profile: large balance card and compact utility rows */
body:not(.theme-tech):not(.theme-glass) .wallet-hero{
  background:
    radial-gradient(circle at 90% 18%,rgba(69,137,255,.13),transparent 32%),
    linear-gradient(145deg,#f9fbff 0%,#eef5ff 100%)!important;
  border-color:#dce8f8!important;
}
body:not(.theme-tech):not(.theme-glass) .wallet-label{color:#8192a7}
body:not(.theme-tech):not(.theme-glass) .wallet-address{color:#18314e;font-size:20px}
body:not(.theme-tech):not(.theme-glass) .kpi{background:#f8fbff!important;border-color:#e4ebf3!important;border-radius:16px}
body:not(.theme-tech):not(.theme-glass) .progress{background:#e9eff7!important}
body:not(.theme-tech):not(.theme-glass) .progress>i{background:linear-gradient(90deg,#2477ff,#6d6aff)!important}

/* Login / lock screen close to the reference splash */
body:not(.theme-tech):not(.theme-glass) .login-wrap{
  min-height:calc(100dvh - 74px);
  background:
    radial-gradient(circle at 50% 18%,rgba(77,148,255,.09),transparent 27%),
    linear-gradient(180deg,#fff 0%,#f2f7fd 100%)!important;
  padding:24px 8px;
}
body:not(.theme-tech):not(.theme-glass) .login-card{
  padding:28px 22px 22px!important;border-radius:28px!important;background:rgba(255,255,255,.92)!important;
  border-color:#e3ebf4!important;box-shadow:0 20px 70px rgba(38,73,117,.10)!important;
}
body:not(.theme-tech):not(.theme-glass) .login-card .lock-logo{width:94px;height:94px;margin:0 auto 14px}
body:not(.theme-tech):not(.theme-glass) .login-title{font-size:29px;color:#152c48;letter-spacing:-.6px}
body:not(.theme-tech):not(.theme-glass) .login-sub{color:#8395a9}
body:not(.theme-tech):not(.theme-glass) .toggle{background:#f3f6fa;border:1px solid #e2e8ef;border-radius:15px}
body:not(.theme-tech):not(.theme-glass) .toggle .on{background:#fff;color:#2477ff;box-shadow:0 3px 10px rgba(38,73,117,.08)}

/* Modal, QR, search and call surfaces */
body:not(.theme-tech):not(.theme-glass) .modal-backdrop{background:rgba(20,39,64,.18)!important;backdrop-filter:blur(12px)}
body:not(.theme-tech):not(.theme-glass) .modal{
  background:#fff!important;color:#1a3450!important;border:1px solid #e2e9f1!important;
  border-radius:24px 24px 18px 18px!important;box-shadow:0 24px 80px rgba(38,73,117,.16)!important;
}
body:not(.theme-tech):not(.theme-glass) .modal-head{border-bottom-color:#edf1f5}
body:not(.theme-tech):not(.theme-glass) .code-box{background:#f5f8fc!important;color:#46617d!important;border-color:#e1e8f1!important}
body:not(.theme-tech):not(.theme-glass) .qr-wrap{background:#fff!important;border-color:#e4ebf2!important;box-shadow:0 12px 30px rgba(38,73,117,.06)!important}
body:not(.theme-tech):not(.theme-glass) .incoming-call{
  background:#fff!important;color:#17324f!important;border:1px solid #e2e9f1!important;
  border-radius:22px!important;box-shadow:0 18px 54px rgba(38,73,117,.14)!important;
}
body:not(.theme-tech):not(.theme-glass) .call-layer{background:linear-gradient(180deg,#f8fbff,#edf4fb)!important}
body:not(.theme-tech):not(.theme-glass) .call-btn{box-shadow:0 8px 18px rgba(38,73,117,.08)!important}
body:not(.theme-tech):not(.theme-glass) .toast{background:#fff!important;color:#17324f!important;border:1px solid #dfe7f0!important;box-shadow:0 14px 38px rgba(38,73,117,.13)!important}
body:not(.theme-tech):not(.theme-glass) .update-banner{background:#fff!important;color:#1a3551!important;border-color:#dfe7f0!important;box-shadow:0 12px 30px rgba(38,73,117,.10)!important}

/* Bottom navigation: the same white floating-iOS language as the reference */
body:not(.theme-tech):not(.theme-glass) .tabbar{
  width:min(100%,860px);
  padding:7px 10px calc(8px + var(--safe-bottom));
  background:rgba(255,255,255,.96)!important;
  border-top:1px solid #e5ebf2!important;
  box-shadow:0 -10px 32px rgba(38,73,117,.085);
  backdrop-filter:blur(24px);
}
body:not(.theme-tech):not(.theme-glass) .tab{
  min-height:50px;border-radius:14px;color:#93a0b0;font-size:8px;gap:4px;
}
body:not(.theme-tech):not(.theme-glass) .tab.active{
  color:#2477ff;background:#eef5ff;box-shadow:inset 0 0 0 1px #dceaff;
}
body:not(.theme-tech):not(.theme-glass) .tab.active .tab-ico{color:#2477ff;text-shadow:none}
body:not(.theme-tech):not(.theme-glass) .tab-badge{border-color:#fff}

/* Desktop: a centered product canvas, mobile keeps the native full-width experience */
@media(min-width:861px){
  body:not(.theme-tech):not(.theme-glass) .view{max-width:780px;margin:0 auto}
  body:not(.theme-tech):not(.theme-glass) .topbar{padding-left:28px;padding-right:28px}
}
@media(max-width:560px){
  body:not(.theme-tech):not(.theme-glass) .topbar{height:70px}
  body:not(.theme-tech):not(.theme-glass) .view{padding-left:12px;padding-right:12px}
  body:not(.theme-tech):not(.theme-glass) .hero h1{font-size:28px}
  body:not(.theme-tech):not(.theme-glass) .action{min-height:88px}
}
@media(max-width:380px){
  body:not(.theme-tech):not(.theme-glass) .view{padding-left:10px;padding-right:10px}
  body:not(.theme-tech):not(.theme-glass) .action-grid{gap:8px}
  body:not(.theme-tech):not(.theme-glass) .action{min-height:84px;padding:12px}
}
