/* ═══════════════════════════════════════════════════════════════════
   KNGX client area — Headway mobile layout, green brand accents.
   Reference: hw.online phone recording 2026-09-12.
   ═══════════════════════════════════════════════════════════════════ */
:root{
  --gold:#16A34A; --gold-d:#15803D; --sand:#DCFCE7; --cta:#22C55E; --cta-h:#16A34A;
  --ink:#111827; --tx:#1F2937; --tx-2:#6B7280; --tx-3:#9CA3AF;
  --paper:#fff; --s1:#F3F4F6; --s2:#E5E7EB; --line:#E5E7EB;
  --up:#12A150; --dn:#E5484D; --info:#86EFAC;
  --r:0.75rem; --r-lg:1rem; --side:16.75rem;
  --pad:clamp(0.85rem, 3.2vw, 1.25rem);
  --fs:100%;
  --abar-h:3.5rem;
  --touch:2.5rem;
}
*{box-sizing:border-box;margin:0}
html,body{height:100%}
html{font-size:var(--fs);-webkit-text-size-adjust:100%}
body{background:var(--s1);color:var(--tx);
  font:400 clamp(0.92rem,2.8vw,0.95rem)/1.5 Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}
h1,h2,h3,h4{font-weight:800;letter-spacing:-.02em;line-height:1.2;color:var(--ink)}
h1{font-size:clamp(1.35rem,5vw,1.65rem)}h2{font-size:clamp(1.1rem,4vw,1.3rem)}h3{font-size:1.05rem}h4{font-size:0.95rem}

/* promo banner — Headway lavender → mint */
.pbar{background:#BBF7D0;color:#14532D;font-size:0.85rem;font-weight:700;text-align:center;
  padding:0.65rem 2.6rem 0.65rem 1rem;position:relative}
.pbar a{text-decoration:underline;color:inherit}
.pbar button{position:absolute;right:0.55rem;top:50%;transform:translateY(-50%);background:none;border:0;
  color:#14532D;font-size:1.2rem;line-height:1;cursor:pointer;padding:0.25rem 0.5rem}

/* top bar: burger | logo center | chat + avatar (Headway phone) */
.abar{display:grid;grid-template-columns:2.4rem 1fr auto;align-items:center;gap:0.5rem;
  min-height:var(--abar-h);padding:0.35rem var(--pad);background:var(--paper);
  border-bottom:1px solid var(--line);position:sticky;top:0;z-index:60;overflow:visible}
.abar .burger{grid-column:1;justify-self:start}
.abar .mlogo{grid-column:2;justify-self:center;display:flex;align-items:center;gap:0.45rem;
  font-weight:800;font-size:1.05rem;letter-spacing:.04em;color:var(--gold-d);text-transform:uppercase}
.abar .mlogo img{width:1.35rem;height:1.35rem}
.abar .right{grid-column:3;display:flex;align-items:center;gap:0.55rem;justify-self:end;overflow:visible}
.abar .pfp{display:flex;align-items:center}
.side .who .pfp{display:flex;align-items:center;flex-shrink:0;text-decoration:none;color:inherit;border-radius:50%}
.side .who .pfp:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.icobtn{width:2.35rem;height:2.35rem;display:grid;place-items:center;border:0;background:transparent;
  border-radius:0.65rem;color:var(--tx-2);cursor:pointer}
.icobtn:hover{background:var(--s2)}
.icobtn svg{width:1.3rem;height:1.3rem}
.avatar{width:2.1rem;height:2.1rem;border-radius:50%;background:var(--s2);color:var(--tx);
  display:grid;place-items:center;font-weight:800;font-size:0.78rem;border:0;overflow:hidden}
.avatar img{width:100%;height:100%;object-fit:cover}

/* layout */
.shell{display:grid;grid-template-columns:var(--side) minmax(0,1fr);min-height:calc(100vh - var(--abar-h))}
.side{background:var(--paper);border-right:1px solid var(--line);padding:1rem 0.75rem;display:flex;flex-direction:column;gap:0.15rem}
.side .who{display:flex;align-items:center;gap:0.7rem;padding:0.6rem 0.75rem 1.1rem}
.side .who b{font-size:0.92rem;font-weight:700}
.nav a,.nav summary{display:flex;align-items:center;gap:0.7rem;padding:0.7rem 0.75rem;border-radius:var(--r);
  font-size:0.92rem;font-weight:600;color:var(--tx-2);cursor:pointer;list-style:none}
.nav summary::-webkit-details-marker{display:none}
.nav a:hover,.nav summary:hover{background:var(--s1);color:var(--tx)}
.nav a.on{background:var(--sand);color:var(--gold-d);font-weight:700}
.nav svg{width:1.15rem;height:1.15rem;flex:0 0 auto}
.nav .cx{margin-left:auto;width:0.8rem;height:0.8rem;transition:transform .18s}
.nav details[open] .cx{transform:rotate(180deg)}
.nav .sub a{padding-left:2.55rem;font-size:0.88rem}
.side .dep{margin-top:0.9rem;padding:0 0.35rem}
.side .foot{margin-top:auto;padding-top:0.9rem;border-top:1px solid var(--line)}
.main{padding:var(--pad) var(--pad) 4.5rem;min-width:0}
.mwrap{width:100%;max-width:67.5rem;margin:0 auto}

/* buttons */
.b{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;height:2.75rem;padding:0 1.15rem;
  border-radius:var(--r);border:1px solid transparent;background:var(--s2);color:var(--tx);
  font:700 0.9rem/1 Manrope,sans-serif;cursor:pointer;transition:background .16s,border-color .16s}
.b:hover{background:var(--line)}
.b.pri{background:var(--cta);color:#052e16}
.b.pri:hover{background:var(--cta-h);color:#fff}
.b.out{background:transparent;border-color:var(--line)}
.b.out:hover{background:var(--s1)}
.b.wide{width:100%}
.b.sm{height:2.25rem;padding:0 0.9rem;font-size:0.85rem}
.b.svg, .b svg{width:1rem;height:1rem}

/* cards */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1rem,3vw,1.25rem);
  box-shadow:0 1px 2px rgba(17,24,39,.04)}
.card+.card{margin-top:0.85rem}
.sechead{display:flex;align-items:center;justify-content:space-between;gap:0.85rem;margin-bottom:0.85rem}

/* Activities carousel */
.actlabel{font-size:1.05rem;font-weight:800;color:var(--ink);margin:0.2rem 0 0.75rem}
.promos{display:flex;gap:0.75rem;overflow-x:auto;padding-bottom:0.4rem;scrollbar-width:none;margin-bottom:1rem;
  scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.promos::-webkit-scrollbar{display:none}
.pz{flex:0 0 auto;width:min(13.5rem,72vw);border-radius:var(--r-lg);padding:1rem;color:#052e16;position:relative;
  overflow:hidden;min-height:7rem;text-decoration:none;display:block;cursor:pointer;scroll-snap-align:start}
.pz{background:linear-gradient(145deg,#DCFCE7 0%,#86EFAC 55%,#4ADE80 100%)}
.pz:nth-child(2){background:linear-gradient(145deg,#ECFDF5 0%,#A7F3D0 55%,#34D399 100%)}
.pz:nth-child(3){background:linear-gradient(145deg,#FEF9C3 0%,#BBF7D0 50%,#4ADE80 100%)}
.pz b{display:block;font-size:0.92rem;font-weight:800;line-height:1.25;margin-bottom:0.25rem}
.pz span{font-size:0.78rem;color:#14532D}
.pz .tagx{position:absolute;top:0.7rem;right:0.7rem;font-size:0.62rem;font-weight:800;letter-spacing:.06em;
  text-transform:uppercase;background:rgba(255,255,255,.65);padding:0.2rem 0.5rem;border-radius:999px}

/* Headway segmented tabs */
.seg{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--s2);border-radius:0.9rem;padding:0.2rem;margin-bottom:0.9rem}
.seg a{text-align:center;padding:0.85rem 0.5rem;border-radius:0.75rem;font-weight:700;font-size:0.92rem;color:var(--tx-2)}
.seg a.on{background:var(--paper);color:var(--ink);box-shadow:0 1px 3px rgba(17,24,39,.08)}

.tabs{display:flex;gap:0.25rem;border-bottom:1px solid var(--line);margin-bottom:1rem;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs a{padding:0.7rem 0.95rem;font-size:0.92rem;font-weight:700;color:var(--tx-3);white-space:nowrap;
  border-bottom:2px solid transparent;margin-bottom:-1px}
.tabs a.on{color:var(--gold-d);border-bottom-color:var(--gold-d)}

.chips{display:flex;gap:0.5rem;flex-wrap:wrap;margin:0.75rem 0 0.85rem}
.chipf{padding:0.45rem 0.9rem;border:0;border-radius:0.55rem;font-size:0.85rem;font-weight:700;
  color:var(--tx-2);background:var(--s2);cursor:pointer}
.chipf.on{background:var(--sand);color:var(--gold-d);box-shadow:inset 0 0 0 1px rgba(22,163,74,.35)}
.acct[hidden],.nomatch[hidden]{display:none!important}

.hint{font-size:0.85rem;color:var(--tx-2)}
.notes{display:flex;flex-wrap:wrap;gap:0.75rem 1.25rem;margin-top:1rem;font-size:0.85rem;color:var(--tx-2)}
.notes span{display:inline-flex;align-items:center;gap:0.4rem}
.notes svg{width:1rem;height:1rem;color:var(--gold)}

.frm{display:grid;gap:1rem;width:100%;max-width:min(36rem,100%)}
.f select,.f input{width:100%;height:3rem;border:1px solid var(--line);border-radius:var(--r);padding:0 0.9rem;background:var(--paper);font-size:1rem;font-weight:inherit;line-height:inherit;font-family:inherit}
.f input:not([type="password"]){font:inherit;font-size:1rem}
.f select:focus,.f input:focus{outline:none;border-color:var(--gold)}
.f label{display:block;font-size:0.85rem;font-weight:700;color:var(--tx-2);margin-bottom:0.4rem}

.pm{display:flex;align-items:center;gap:0.85rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.pm:last-child{border-bottom:0}
.pmico{width:2.5rem;height:2.5rem;border-radius:0.7rem;background:var(--sand);color:var(--gold-d);
  display:grid;place-items:center;font-weight:800}
.pm .nm{font-weight:700}.pm .lim{font-size:0.8rem;color:var(--tx-2);margin-top:0.15rem}
.pm .go{margin-left:auto;color:var(--tx-3)}.pm .go svg{width:1.1rem;height:1.1rem}
button.pm.wd-method{width:100%;text-align:left;cursor:pointer;appearance:none;font:inherit;color:inherit;background:transparent}

.bdg{display:inline-flex;align-items:center;padding:0.2rem 0.5rem;border-radius:0.4rem;font-size:0.72rem;font-weight:700;
  background:var(--s2);color:var(--tx-2);border:1px solid transparent}
.bdg.demo{background:#DBEAFE;color:#1D4ED8}
.bdg.real{background:#FEF3C7;color:#92400E}
.bdg.bot,.bdg.archived{background:rgba(22,163,74,.14);color:var(--gold-d)}
.badges{display:flex;flex-wrap:wrap;gap:0.35rem}

.disc{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--tx-2);font-size:0.82rem}
.disc h4{color:var(--ink);margin-bottom:0.4rem;font-size:0.8rem;letter-spacing:.04em;text-transform:uppercase}
.disc p+h4{margin-top:1rem}

.auth{min-height:calc(100vh - var(--abar-h));display:grid;place-items:center;padding:1.5rem var(--pad)}
.authbox{width:100%;max-width:25rem;text-align:center}
.authbox .sub{color:var(--tx-2);margin:0.4rem 0 1.2rem;font-size:0.92rem}
.oauth{display:grid;gap:0.65rem}
.orline{margin:1rem 0;color:var(--tx-3);font-size:0.85rem;font-weight:700}
.legal{margin-top:1.25rem;font-size:0.75rem;color:var(--tx-3);line-height:1.45}
.legal a{color:var(--gold-d);font-weight:700}

/* mobile drawer */
.scrim{display:none;position:fixed;inset:0;background:rgba(20,22,26,.45);z-index:70}
.scrim.on{display:block}
@media(max-width:56.25rem){
  .shell{grid-template-columns:1fr}
  .side{position:fixed;top:0;left:0;bottom:0;width:min(18rem,88vw);z-index:80;transform:translateX(-100%);
    transition:transform .22s cubic-bezier(.22,.61,.36,1);overflow-y:auto;-webkit-overflow-scrolling:touch}
  .side.on{transform:none}
  .main{padding:var(--pad) var(--pad) 5rem}
  html.nav-open,html.nav-open body{overflow:hidden;touch-action:none}
}
@media(min-width:56.26rem){.abar .burger{visibility:hidden}}

.wd-sum{display:grid;gap:0.75rem}
.wd-row{display:flex;justify-content:space-between;gap:0.85rem;padding:0.65rem 0;border-bottom:1px solid var(--line);font-size:0.92rem}
.wd-row span{color:var(--tx-2)}.wd-row b{font-weight:700;text-align:right;max-width:62%}
.wd-ok{width:3.5rem;height:3.5rem;margin:0 auto;border-radius:50%;display:grid;place-items:center;
  background:var(--sand);color:var(--gold-d);font-size:1.75rem;font-weight:800}
#wd-fields label{display:block;font-size:0.85rem;font-weight:700;color:var(--tx-2);margin:0.75rem 0 0.4rem}
#wd-fields input{width:100%;height:3rem;border:1px solid var(--line);border-radius:var(--r);padding:0 0.9rem;background:var(--paper)}
#wd-fields input:focus{outline:none;border-color:var(--gold)}
.b.wide{display:flex}

.card,.acct,.pm{animation:fadeUp .45s cubic-bezier(.22,.61,.36,1) both}
@keyframes fadeUp{from{opacity:0;transform:translateY(0.7rem)}to{opacity:1;transform:none}}
.side{animation:none}
@media(prefers-reduced-motion:reduce){.card,.acct,.pm{animation:none}}

.step2,.step3{display:none}
body.emailmode .step1{display:none}
body.emailmode .step2{display:block}
body.mfamode .step1,body.mfamode .step2{display:none}
body.mfamode .step3{display:block}
body.mfamode .authbox > h1:first-of-type,
body.mfamode .authbox > .sub:first-of-type{display:none}
.mfa-code{letter-spacing:0.28em;font-size:1.2rem;font-weight:700;text-align:center;font-variant-numeric:tabular-nums;
  width:100%;max-width:12.5rem;padding-left:0.65rem;padding-right:0.65rem;box-sizing:border-box}
.mfa-panel{margin-top:0.85rem;padding-top:0.85rem;border-top:1px solid var(--line)}
.mfa-panel[hidden]{display:none!important}
.mfa-qr{display:flex;flex-direction:column;align-items:center;gap:0.75rem;margin:0.75rem 0}
.mfa-qr img{width:min(12rem,70vw);height:auto;background:#fff;border-radius:var(--r);border:1px solid var(--line);padding:0.5rem}
.mfa-secret{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:0.82rem;word-break:break-all;background:var(--s1);border:1px solid var(--line);border-radius:var(--r);padding:0.65rem 0.8rem;text-align:center}
.mfa-actions{display:flex;flex-wrap:wrap;gap:0.55rem;margin-top:0.75rem}
.mfa-actions .b{flex:1 1 8rem}
.av-actions{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:0.65rem}
.av-actions .b{flex:0 0 auto}
.avatar.lg{position:relative;overflow:hidden}
.avatar.lg::after{content:"";position:absolute;inset:auto 0 0;height:28%;background:linear-gradient(transparent,rgba(5,46,22,.55));pointer-events:none;opacity:0;transition:opacity .15s}
.avatar.lg:hover::after,.avatar.lg:focus-visible::after{opacity:1}
.pname-lock{display:block;font-size:0.78rem;color:var(--tx-3);margin-top:0.2rem;font-weight:600}
.authbox .f{text-align:left;margin-bottom:0.85rem}
.authbox .f input{height:3.1rem}
.backlink{display:inline-flex;align-items:center;gap:0.45rem;margin-top:1.1rem;font-size:0.88rem;font-weight:700;color:var(--tx-2);cursor:pointer;background:none;border:0}
.backlink:hover{color:var(--tx)}
.backlink svg{width:0.95rem;height:0.95rem}
.fpass{display:block;text-align:right;font-size:0.82rem;font-weight:700;color:var(--gold-d);margin:-0.35rem 0 1rem}
.pwrap{position:relative}
.pwrap .eye{position:absolute;right:0.75rem;top:50%;transform:translateY(-50%);background:none;border:0;
  color:var(--tx-3);cursor:pointer;padding:0.4rem;line-height:0}
.pwrap .eye svg{width:1.2rem;height:1.2rem}
.err{display:none;background:#FFF4F4;border:1px solid #F6D6D6;color:#B4232A;font-size:0.82rem;font-weight:600;
  padding:0.65rem 0.8rem;border-radius:var(--r);margin-bottom:0.85rem;text-align:left}
.err.on{display:block}
.ok{display:none;background:#EAF8EF;border:1px solid #C6E9D3;color:#12693C;font-size:0.85rem;font-weight:600;
  padding:0.75rem 0.9rem;border-radius:var(--r);margin-bottom:0.85rem;text-align:left}
.ok.on{display:block}

/* account rows — Headway phone */
.acct{display:block;padding:1rem 0;border-bottom:1px solid var(--line);cursor:pointer}
.acct:last-child{border-bottom:0}
.acct:hover{background:transparent}
.acct-top{display:flex;align-items:baseline;justify-content:space-between;gap:0.85rem}
.acct-top .num{font-size:clamp(1rem,4vw,1.1rem);font-weight:800;letter-spacing:-.01em;color:var(--ink)}
.acct-top .amt{font-size:clamp(1.05rem,4vw,1.15rem);font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--ink)}
.acct-bot{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;margin-top:0.55rem}
.acct .addbal{font-size:0.88rem;font-weight:700;color:var(--gold-d);white-space:nowrap}
.acct-acts{display:flex;align-items:center;gap:0.65rem;flex-wrap:wrap;justify-content:flex-end}
.acct .tradebtn{appearance:none;border:0;cursor:pointer;font:inherit;font-size:0.82rem;font-weight:800;
  letter-spacing:.01em;padding:0.45rem 0.85rem;border-radius:0.55rem;background:var(--cta);color:#052e16;
  white-space:nowrap;box-shadow:0 1px 2px rgba(22,163,74,.25)}
.acct .tradebtn:hover{background:var(--cta-h);color:#fff}
.acct .tradebtn[aria-busy="true"]{opacity:.7;pointer-events:none}
.acct .tradebtn.mc-off,.acct .tradebtn:disabled{background:#94a3b8;color:#f8fafc;box-shadow:none;cursor:not-allowed;opacity:.9}
.acct .tradebtn.mc-off:hover,.acct .tradebtn:disabled:hover{background:#94a3b8;color:#f8fafc}
.mc-dash{display:flex;align-items:center;gap:0.45rem;flex-wrap:wrap;margin:0 0 0.85rem;padding:0.7rem 0.95rem;border-radius:0.65rem;
  background:#FEF2F2;border:1px solid #FECACA;color:#991B1B;font-size:0.88rem;font-weight:600}
.mc-dash[hidden]{display:none!important}
.mc-dash b{font-weight:800}
.nomatch{padding:1.1rem 0 0.25rem;font-size:0.92rem;color:var(--tx-2);text-align:center}
.nomatch a{color:var(--gold-d);font-weight:700}

.chatbtn{position:relative;color:#15803D!important;background:#fff!important;border-radius:50%!important;
  overflow:visible;isolation:isolate;z-index:1;box-shadow:0 0 0 1px rgba(34,197,94,.2)}
.chatbtn svg{stroke:#15803D;position:relative;z-index:1}
.chatbtn .dot{display:none}
.chatbtn.on{background:#F0FDF4!important;color:#15803D}

/* Meta-style Care AI ring — soft rotating green gradient + pulse glow */
@keyframes kcareSpin{to{transform:rotate(360deg)}}
@keyframes kcarePulse{
  0%,100%{opacity:.78;transform:scale(1)}
  50%{opacity:1;transform:scale(1.04)}
}
@keyframes kcareGlow{
  0%,100%{opacity:.55;transform:scale(.96)}
  50%{opacity:.95;transform:scale(1.06)}
}
.chatbtn::before,.kchat-fab::before,.kchat-av::before{
  content:"";position:absolute;inset:-3px;border-radius:50%;padding:2px;pointer-events:none;z-index:0;
  background:conic-gradient(from 0deg,#16A34A,#4ADE80,#22C55E,#BBF7D0,#16A34A 70%,#22C55E);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;mask-composite:exclude;
  animation:kcareSpin 3.4s linear infinite;
}
.chatbtn::after,.kchat-fab::after,.kchat-av::after{
  content:"";position:absolute;inset:-6px;border-radius:50%;pointer-events:none;z-index:-1;
  background:radial-gradient(circle,rgba(34,197,94,.32) 0%,rgba(22,163,74,.1) 46%,transparent 72%);
  animation:kcareGlow 2.8s ease-in-out infinite;
}
.chatbtn.on::before,.kchat.open .kchat-fab::before{animation-duration:2.2s}
.chatbtn:hover::before,.kchat-fab:hover::before{animation-duration:2.4s}
@media(prefers-reduced-motion:reduce){
  .chatbtn::before,.chatbtn::after,.kchat-fab::before,.kchat-fab::after,.kchat-av::before,.kchat-av::after{animation:none}
}

/* Live chat — Headway panel, green. Closed by default. Header opens it; FAB hidden when #chatbtn exists */
.chatbox,[id="kngx-chatbox"]{display:none!important}
.kchat{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));z-index:240;pointer-events:none}
.kchat > *{pointer-events:auto}
/* Always show green-ring FAB (Headway-style orb button) */
.kchat.has-header-btn .kchat-fab{display:grid}
.kchat-fab{position:relative;width:4rem;height:4rem;border-radius:50%;border:0;cursor:pointer;
  background:transparent;color:#15803D;display:grid;place-items:center;isolation:isolate;overflow:visible;
  box-shadow:none;transition:transform .18s}
.kchat-fab:hover{background:transparent;transform:scale(1.05)}
.kchat-fab-ring{position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:conic-gradient(from 0deg,#16A34A,#86EFAC,#22C55E,#BBF7D0,#4ADE80,#16A34A 72%,#22C55E);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 5px),#000 calc(100% - 4px));
  animation:kcareSpin 3.6s linear infinite,kcarePulse 2.8s ease-in-out infinite;
  filter:drop-shadow(0 0 0.85rem rgba(34,197,94,.55))}

.kchat-crown{width:1.45rem;height:1.45rem;object-fit:contain;display:block;pointer-events:none}
.kchat-crown-lg{width:4.5rem;height:4.5rem;object-fit:contain;display:block;pointer-events:none;filter:drop-shadow(0 0.35rem 0.85rem rgba(22,163,74,.35))}
.kchat-orb-mark{background:transparent!important;font-size:0!important;color:transparent!important}
.kchat-head{padding:1.05rem 1.1rem 0.25rem}
.kchat-head-title{font-size:1.12rem;font-weight:800;letter-spacing:-.02em;color:#111827}
.kchat-disc{padding:0 1.15rem 0.65rem;font-size:0.7rem;line-height:1.4;color:#9CA3AF;text-align:center}
.kchat-hi{font-size:1.08rem;font-weight:700;color:#1F2937;margin:0.15rem 0 0.35rem}
.kchat-quick{gap:0.6rem;margin-top:0.35rem}
.kchat-quick button{background:#EEF4FF;border:1px solid #E5E7EB;border-radius:0.95rem;padding:0.95rem 1.05rem;
font:600 0.92rem/1.3 Manrope,sans-serif;box-shadow:none}
.kchat-quick button:hover{background:#F0FDF4;border-color:rgba(34,197,94,.45)}
.kchat-quick button span{color:#94A3B8;font-size:1.15rem;font-weight:500}
.kchat-foot{padding:0.85rem 0.9rem 0.95rem;gap:0.55rem;border-top:1px solid #F3F4F6}
.kchat-foot input{height:2.85rem;border-radius:0.85rem;background:#F3F4F6;border:1px solid transparent;font-size:0.92rem}
.kchat-foot input:focus{background:#fff;border-color:#86EFAC}
.kchat-foot input::placeholder{color:#9CA3AF}
.kchat-send{width:2.85rem;height:2.85rem;border-radius:0.85rem;background:#22C55E}
.kchat-orb{width:min(14.5rem,72%);margin:0.65rem auto 1rem}
.kchat-panel{border-radius:1.35rem;box-shadow:0 1.4rem 3.2rem rgba(16,20,24,.26)}
.kchat-st{display:none!important}

.kchat-fab-core{display:none!important} /* minimized FAB = ring only, no white disc */
.kchat-fab .kchat-ico-x{display:none;position:relative;z-index:2;width:1.35rem;height:1.35rem;stroke:#15803D}
.kchat.open .kchat-fab .kchat-fab-core{display:none}
.kchat.open .kchat-fab .kchat-ico-x{display:block}
.kchat.open .kchat-fab{background:transparent;box-shadow:none}
.kchat-scrim{display:none;position:fixed;inset:0;background:rgba(16,20,24,.4);z-index:230}
.kchat.open .kchat-scrim{display:block}
.kchat-scrim[hidden]{display:none!important}
.kchat-panel{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:5.6rem;width:min(24.5rem,calc(100vw - 1.5rem));
  height:min(38rem,calc(100dvh - 7rem));z-index:241;background:#fff;
  border:1px solid var(--line);border-radius:1.25rem;overflow:hidden;
  box-shadow:0 1.2rem 3rem rgba(16,20,24,.28);display:flex;flex-direction:column;
  transform-origin:bottom right;animation:kchatIn .22s cubic-bezier(.22,.61,.36,1)}
.kchat-panel[hidden]{display:none!important}
@keyframes kchatIn{from{opacity:0;transform:translateY(0.75rem) scale(.96)}to{opacity:1;transform:none}}
.kchat-head{display:flex;align-items:center;justify-content:space-between;gap:0.65rem;
  padding:0.95rem 1rem 0.35rem;background:#fff;color:var(--tx)}
.kchat-head-title{font-size:1.05rem;font-weight:800;letter-spacing:-.01em}
.kchat-disc{margin:0;padding:0 1rem 0.55rem;font-size:0.72rem;line-height:1.35;color:var(--tx-3);text-align:center}
.kchat-close{background:transparent;border:0;color:var(--tx-2);font-size:1.6rem;line-height:1;cursor:pointer;
  width:2.25rem;height:2.25rem;border-radius:0.65rem;opacity:.9}
.kchat-close:hover{background:var(--s1);color:var(--tx)}
.kchat-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0.5rem 1rem 1rem;display:flex;flex-direction:column;gap:0.65rem;background:#fff;position:relative;isolation:isolate}
.kchat-orb{position:relative;width:min(13.5rem,70%);aspect-ratio:1;margin:0.35rem auto 0.85rem;pointer-events:none;z-index:0;opacity:.98}
.kchat-orb i{position:absolute;inset:0;border-radius:50%;pointer-events:none}
.kchat-orb i:first-child{
  /* Headway-style thick luminous ring (green), spinning — visible on open */
  background:conic-gradient(from 210deg,#052e16 0%,#16A34A 10%,#86EFAC 24%,#F0FDF4 36%,#4ADE80 50%,#15803D 66%,#BBF7D0 80%,#052e16 100%);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 18px),#000 calc(100% - 16px));
  mask:radial-gradient(farthest-side,transparent calc(100% - 18px),#000 calc(100% - 16px));
  animation:kcareSpin 4.2s linear infinite,kcarePulse 2.4s ease-in-out infinite;
  filter:drop-shadow(0 0 1.25rem rgba(34,197,94,.75)) drop-shadow(0 0 2.4rem rgba(22,163,74,.4));
}
.kchat-orb i:last-child{
  /* Dark core like Headway orb (crown sits on this) */
  inset:16%;
  background:radial-gradient(circle at 50% 42%,#1a2330 0%,#0b1220 62%,#05080f 100%);
  box-shadow:inset 0 0 1.5rem rgba(0,0,0,.55),0 0 1.25rem rgba(34,197,94,.25);
  animation:none;
}
.kchat-orb-mark{position:absolute;inset:0;display:grid;place-items:center;font-weight:800;font-size:1.6rem;color:#15803D;z-index:1}
.kchat-crown-lg{width:3.6rem;height:3.6rem;filter:drop-shadow(0 .35rem .9rem rgba(34,197,94,.45))}
.kchat-welcome{position:relative;z-index:1;display:flex;flex-direction:column;gap:0.85rem}
.kchat-hi{margin:0;text-align:center;font-size:1.02rem;font-weight:700;color:var(--tx);line-height:1.35}
.kchat-body.chatting .kchat-orb{display:none}
.kchat-body.chatting .kchat-hi,.kchat-body.chatting .kchat-quick{display:none}
.kchat-bubble{max-width:88%;padding:0.7rem 0.85rem;border-radius:1rem;font-size:0.9rem;line-height:1.45;position:relative;z-index:1}
.kchat-bubble.bot{background:#F8FAF9;border:1px solid var(--line);color:var(--tx);border-bottom-left-radius:0.3rem;align-self:flex-start}
.kchat-bubble.me{background:var(--cta);color:#052e16;align-self:flex-end;border-bottom-right-radius:0.3rem;font-weight:600}
.kchat-quick{display:flex;flex-direction:column;gap:0.55rem;margin-top:0.15rem;position:relative;z-index:1}
.kchat-quick button{width:100%;border:1px solid #E5E7EB;background:#F3F8FF;border-radius:0.85rem;padding:0.85rem 1rem;
  font:600 0.9rem/1.25 Manrope,sans-serif;color:var(--tx);cursor:pointer;text-align:left;
  display:flex;align-items:center;justify-content:space-between;gap:0.75rem}
.kchat-quick button span{color:#94A3B8;font-size:1.1rem;font-weight:500}
.kchat-quick button:hover{border-color:rgba(34,197,94,.55);background:#F0FDF4}
@media(prefers-reduced-motion:reduce){
  .kchat-orb i:first-child,.kchat-orb i:last-child,.kchat-fab-ring{animation:none}
}
.kchat-foot{display:flex;gap:0.5rem;padding:0.75rem;border-top:1px solid var(--line);background:#fff;position:relative;z-index:2}
.kchat-foot input{flex:1;min-width:0;height:2.75rem;padding:0 0.9rem;border:1px solid var(--line);border-radius:0.75rem;font:inherit;font-size:0.92rem;background:#F8FAF9}
.kchat-foot input:focus{outline:none;border-color:var(--gold);background:#fff}
.kchat-send{width:2.75rem;height:2.75rem;border:0;border-radius:0.75rem;background:var(--cta);color:#052e16;cursor:pointer;display:grid;place-items:center}
.kchat-send svg{width:1.1rem;height:1.1rem}
.kchat-send:hover{background:var(--cta-h)}
@media(max-width:35rem){
  .kchat-panel{right:0;left:0;bottom:0;width:100%;height:min(92dvh,45rem);border-radius:1.1rem 1.1rem 0 0}
  html.chat-open,html.chat-open body{overflow:hidden;touch-action:none}
}

.csec{font-size:0.95rem;font-weight:800;letter-spacing:-.01em;margin-bottom:0.4rem;padding-bottom:0.75rem;border-bottom:1px solid var(--line)}
.prow{display:flex;align-items:center;gap:0.85rem;padding:0.95rem 0;border-bottom:1px solid var(--line)}
.prow:last-child{border-bottom:0}
.prow > div{flex:1;min-width:0}
.prow b{display:block;font-size:0.95rem;font-weight:700}
.prow span{display:block;font-size:0.84rem;color:var(--tx-2);margin-top:0.15rem}
.prow.head{padding-top:0.25rem}
.avatar.lg{width:3.25rem;height:3.25rem;font-size:1.1rem}
.plink{font-size:0.85rem;font-weight:700;color:var(--gold-d);white-space:nowrap}
.pico{display:grid;place-items:center;width:2.15rem;height:2.15rem;border-radius:50%;font-weight:800;font-size:0.95rem;flex:0 0 auto}
.pico.g{background:#fff;border:1px solid var(--line);color:#4285F4;font-size:0}.pico.g svg{display:block}
.pico.f{background:#1877F2;color:#fff}
.psel{padding:0.55rem 0.75rem;border:1px solid var(--line);border-radius:0.65rem;font:inherit;font-size:0.88rem;background:var(--paper);color:var(--tx)}
.psel:focus{outline:none;border-color:var(--gold)}
.sw{position:relative;display:inline-block;width:2.9rem;height:1.7rem;flex:0 0 auto;cursor:pointer}
.sw input{position:absolute;opacity:0;width:0;height:0}
.sw i{position:absolute;inset:0;background:var(--line);border-radius:99px;transition:background .18s}
.sw i::after{content:"";position:absolute;top:0.2rem;left:0.2rem;width:1.3rem;height:1.3rem;border-radius:50%;
  background:#fff;transition:transform .18s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.sw input:checked + i{background:var(--gold)}
.sw input:checked + i::after{transform:translateX(1.2rem)}
@media(max-width:35rem){ .prow{flex-wrap:wrap} .plink,.psel,.sw{margin-left:auto} }

.create-btn{display:inline-flex;align-items:center;gap:0.4rem;height:2.5rem;padding:0 1rem;
  border-radius:0.7rem;background:var(--s2);color:var(--ink);font-weight:700;font-size:0.9rem;border:0;cursor:pointer}
.create-btn:hover{background:var(--line)}
.xfer-card .tabs{border:0;margin:0 0 1rem;background:transparent}
.xfer-card .tabs a{border:0;background:var(--s2);border-radius:0.65rem 0.65rem 0 0;margin:0;padding:0.75rem 1rem}
.xfer-card .tabs a.on{background:var(--paper);color:var(--ink);box-shadow:none}

.who-sub{display:block;font-size:0.78rem;color:var(--tx-3);margin-top:0.1rem;max-width:11rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.actblock{margin-bottom:0.35rem}
.dash-card{padding-top:1rem}
.dash-tools{display:flex;justify-content:flex-end;margin:-0.15rem 0 0.15rem}
.acctlist{margin-top:0.15rem}
.acct{padding:1.05rem 0.15rem;transition:background .15s}
.acct:hover{background:rgba(22,163,74,.04);border-radius:0.65rem;margin-left:-0.15rem;margin-right:-0.15rem;padding-left:0.3rem;padding-right:0.3rem}
.acct-id{min-width:0}
.acct-name{font-size:0.8rem;color:var(--tx-2);margin-top:0.2rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pz-dark{background:linear-gradient(145deg,#14532D 0%,#15803D 45%,#22C55E 100%)!important;color:#fff}
.pz-dark span{color:#DCFCE7}
.pz-dark .tagx{background:rgba(255,255,255,.2);color:#fff}
.xfer-head{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;margin-bottom:0.35rem}
.xfer-head h2{font-size:1.1rem;margin:0}
.xfer-grid{max-width:100%}
@media(min-width:40rem){
  .xfer-grid{grid-template-columns:1fr 1fr auto;align-items:end}
  .xfer-grid .b{height:3rem}
}

/* Giftshop */
.gift-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  background:linear-gradient(135deg,#ECFDF5 0%,#fff 45%,#DCFCE7 100%);border-color:#BBF7D0}
.gift-hero h1{margin-bottom:0.35rem}
.gift-hero-copy{flex:1;min-width:14rem}
.gift-hero-copy p{color:var(--tx-2);max-width:36rem}
.coin-pill{display:flex;align-items:center;gap:0.7rem;background:#052e16;color:#fff;border-radius:1rem;
  padding:0.85rem 1.1rem;min-width:9.5rem}
.coin-pill .coin-lab{display:block;font-size:0.72rem;opacity:.75;font-weight:600}
.coin-pill b{font-size:1.05rem;font-weight:800}
.coin-ico{display:grid;place-items:center;line-height:0}
.tasklist{display:grid;gap:0.55rem}
.taskrow{display:flex;align-items:center;justify-content:space-between;gap:0.85rem;padding:0.85rem 0;
  border-bottom:1px solid var(--line)}
.taskrow:last-child{border-bottom:0}
.taskrow b{display:block;font-size:0.95rem}
.taskrow span{display:block;font-size:0.8rem;color:var(--tx-2);margin-top:0.15rem}
.gift-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr));gap:0.85rem}
.gift-card{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:var(--paper);
  display:flex;flex-direction:column}
.gift-img{aspect-ratio:1;background:var(--s1);overflow:hidden}
.gift-img img{width:100%;height:100%;object-fit:cover}
.gift-meta{padding:0.85rem;display:flex;flex-direction:column;gap:0.25rem;flex:1}
.gift-meta b{font-size:0.92rem;line-height:1.25}
.gift-meta > span{font-size:0.78rem;color:var(--tx-2);flex:1}
.gift-row{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;margin-top:0.55rem}
.gift-row em{font-style:normal;font-weight:800;font-size:0.85rem;color:var(--gold-d)}
.invlist{display:grid;gap:0.65rem}
.invrow{display:flex;align-items:center;gap:0.85rem;padding:0.55rem 0;border-bottom:1px solid var(--line)}
.invrow:last-child{border-bottom:0}
.invrow img{width:3.25rem;height:3.25rem;border-radius:0.65rem;object-fit:cover;background:var(--s1)}
.invrow b{display:block;font-size:0.92rem}
.invrow span{display:block;font-size:0.78rem;color:var(--tx-2);margin-top:0.15rem;text-transform:capitalize}
.gift-modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:1rem}
.gift-modal[hidden]{display:none!important}
.gift-modal-scrim{position:absolute;inset:0;background:rgba(16,20,24,.45)}
.gift-modal-panel{position:relative;z-index:1;width:min(24rem,100%);max-height:min(92dvh,40rem);overflow:auto}
.gift-modal-x{position:absolute;right:0.65rem;top:0.55rem;border:0;background:transparent;font-size:1.5rem;
  line-height:1;cursor:pointer;color:var(--tx-2);width:2.2rem;height:2.2rem}
.rm-preview{width:6.5rem;height:6.5rem;border-radius:0.9rem;overflow:hidden;margin:0.25rem auto 0.85rem;background:var(--s1)}
.rm-preview img{width:100%;height:100%;object-fit:cover}
html.gift-open,html.gift-open body{overflow:hidden}

/* Prize tap → enlarge */
.gift-card{cursor:pointer;transition:transform .18s,box-shadow .18s}
.gift-card:active{transform:scale(1.03)}
.gift-card.is-prize .gift-img{position:relative}
.gift-zoom{position:fixed;inset:0;z-index:320;display:grid;place-items:center;padding:1rem}
.gift-zoom[hidden]{display:none!important}
.gift-zoom-scrim{position:absolute;inset:0;background:rgba(8,12,18,.72);backdrop-filter:blur(4px)}
.gift-zoom-panel{position:relative;z-index:1;width:min(28rem,96vw);max-height:min(92dvh,44rem);background:#fff;border-radius:1.25rem;
  overflow:auto;box-shadow:0 1.4rem 3.5rem rgba(0,0,0,.35);animation:kchatIn .2s ease}
.gift-zoom-x{position:absolute;right:.65rem;top:.55rem;z-index:2;border:0;background:rgba(255,255,255,.9);border-radius:50%;
  width:2.3rem;height:2.3rem;font-size:1.45rem;line-height:1;cursor:pointer;color:#374151}
.gift-zoom-img{width:100%;aspect-ratio:1;object-fit:cover;display:block;background:#F3F4F6}
.gift-zoom-meta{padding:1rem 1.1rem 1.15rem;display:grid;gap:.45rem}
.gift-zoom-meta b{font-size:1.15rem}
.gift-zoom-meta span{color:var(--tx-2);font-size:.9rem;line-height:1.4}
.gift-zoom-meta em{font-style:normal;font-weight:800;color:var(--gold-d);font-size:1.05rem}
.gift-modal-panel.is-prize{width:min(28rem,100%)}
.gift-modal-panel.is-prize .rm-preview{width:min(16rem,70%);height:auto;aspect-ratio:1;margin:.5rem auto 1rem;border-radius:1.1rem;
  transform:scale(1);transition:transform .25s}
.gift-modal-panel.is-prize .rm-preview img{transform:scale(1.02)}


/* KYC identity modal — banking-style capture */
.kyc-modal{position:fixed;inset:0;z-index:5000;display:grid;place-items:center;padding:1rem}
.kyc-modal[hidden]{display:none!important}
.kyc-scrim{position:absolute;inset:0;background:rgba(4,8,6,.72)}
.kyc-panel{position:relative;z-index:1;width:min(28rem,100%);max-height:min(92dvh,44rem);overflow:auto;padding-top:1.35rem}
.kyc-panel h3{margin:0 0 0.45rem;font-size:1.05rem;letter-spacing:.04em;text-transform:uppercase}
.kyc-x{position:absolute;right:0.7rem;top:0.55rem;border:0;background:transparent;font-size:1.5rem;
  line-height:1;cursor:pointer;color:var(--tx-2);width:2.2rem;height:2.2rem;z-index:2}
.kyc-steps{display:flex;gap:0.4rem;margin:0 0 0.85rem}
.kyc-steps i{flex:1;height:0.28rem;border-radius:999px;background:var(--s2);display:block}
.kyc-steps i.on{background:var(--gold)}
.kyc-steps i.done{background:#86EFAC}
.kyc-doctypes{display:grid;gap:0.55rem}
.kyc-doctype{display:flex;flex-direction:column;align-items:flex-start;gap:0.15rem;width:100%;text-align:left;
  padding:0.85rem 1rem;border:1px solid var(--line);border-radius:var(--r);background:var(--paper);
  cursor:pointer;font:inherit;color:inherit;transition:border-color .15s,box-shadow .15s,background .15s}
.kyc-doctype b{font-size:0.92rem;font-weight:800;color:var(--ink)}
.kyc-doctype span{font-size:0.78rem;color:var(--tx-3);font-weight:600}
.kyc-doctype:hover{border-color:#86EFAC;background:var(--sand)}
.kyc-doctype.on{border-color:var(--gold);background:var(--sand);box-shadow:inset 0 0 0 1px rgba(22,163,74,.28)}
.kyc-cam{position:relative;border-radius:1rem;overflow:hidden;background:#0b1210;aspect-ratio:4/3;
  margin:0.35rem 0 0.75rem;isolation:isolate}
.kyc-cam video{width:100%;height:100%;object-fit:cover;display:block;transform:scaleX(-1)}
.kyc-cam[data-mode="id"] video{transform:none}
.kyc-frame{position:absolute;inset:16% 10%;border:2px solid rgba(255,255,255,.55);border-radius:0.65rem;
  pointer-events:none;transition:border-color .2s,box-shadow .25s}
.kyc-frame.aligned{border-color:#4ADE80;box-shadow:0 0 0 2px rgba(74,222,128,.35),0 0 28px rgba(34,197,94,.55)}
.kyc-corner{position:absolute;width:1.1rem;height:1.1rem;border:2.5px solid #fff;border-radius:2px}
.kyc-corner.tl{top:-1px;left:-1px;border-right:0;border-bottom:0}
.kyc-corner.tr{top:-1px;right:-1px;border-left:0;border-bottom:0}
.kyc-corner.bl{bottom:-1px;left:-1px;border-right:0;border-top:0}
.kyc-corner.br{bottom:-1px;right:-1px;border-left:0;border-top:0}
.kyc-frame.aligned .kyc-corner{border-color:#4ADE80}
.kyc-oval{position:absolute;inset:10% 24%;border:2px solid rgba(255,255,255,.55);border-radius:50%;
  pointer-events:none;transition:border-color .2s,box-shadow .25s}
.kyc-oval.aligned{border-color:#4ADE80;box-shadow:0 0 0 2px rgba(74,222,128,.35),0 0 32px rgba(34,197,94,.55)}
.kyc-cam-status{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:0.5rem;
  padding:0.55rem 0.7rem;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff;font-size:0.75rem;font-weight:700}
.kyc-light.dark,.kyc-light.bright{color:#FCD34D}
.kyc-light.ok{color:#BBF7D0}
.kyc-align.ok{color:#4ADE80}
.kyc-cam-alt{margin-bottom:0.35rem}
.kyc-up{position:relative;display:grid;place-items:center;min-height:3rem;padding:0.8rem 1rem;
  border:1px dashed var(--line);border-radius:var(--r);background:var(--s1);color:var(--tx-2);
  font-size:0.88rem;font-weight:600;cursor:pointer;overflow:hidden}
.kyc-up input{position:absolute;inset:0;opacity:0;cursor:pointer}
.kyc-up:hover{border-color:var(--gold);color:var(--gold-d);background:var(--sand)}
.kyc-actions{display:flex;gap:0.55rem;margin-top:0.85rem}
.kyc-actions .b{flex:1}
.kyc-review{display:grid;gap:0.85rem}
.kyc-rev-meta{display:grid;grid-template-columns:1fr 1fr;gap:0.65rem}
.kyc-rev-meta div{background:var(--s1);border-radius:0.75rem;padding:0.7rem 0.8rem}
.kyc-rev-meta span{display:block;font-size:0.72rem;font-weight:700;color:var(--tx-3);margin-bottom:0.2rem}
.kyc-rev-meta b{font-size:0.9rem;font-weight:800;color:var(--ink)}
.kyc-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:0.65rem}
.kyc-thumbs figure{margin:0;background:var(--s1);border-radius:0.75rem;overflow:hidden}
.kyc-thumbs img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#0b1210}
.kyc-thumbs figcaption{padding:0.4rem 0.55rem;font-size:0.72rem;font-weight:700;color:var(--tx-2);text-align:center}
.kyc-done{margin:0.5rem 0;padding:0.9rem 1rem;border-radius:var(--r);background:var(--sand);color:#14532D;font-weight:700}
html.kyc-open,html.kyc-open body{overflow:hidden}

/* Verification badge — profile + shell who-block */
.vbadge{display:inline-flex;align-items:center;gap:0.3rem;margin-top:0.3rem;padding:0.18rem 0.5rem;
  border-radius:999px;font-size:0.68rem;font-weight:800;letter-spacing:.02em;line-height:1.2;width:fit-content}
.vbadge.unverified{background:#F3F4F6;color:#6B7280}
.vbadge.pending{background:#FEF9C3;color:#854D0E}
.vbadge.verified{background:#DCFCE7;color:#14532D}
.vbadge::before{content:"";width:0.4rem;height:0.4rem;border-radius:50%;background:currentColor;opacity:.85}
.prow.head .vbadge{margin-top:0.35rem}
.side .who .vbadge{margin-top:0.25rem;max-width:11rem}

/* Deposit bonus toast — bottom-left, non-blocking */
.dep-toast{position:fixed;left:max(0.85rem,env(safe-area-inset-left));bottom:max(0.85rem,env(safe-area-inset-bottom));
  z-index:220;width:min(17.5rem,calc(100vw - 5.5rem));background:linear-gradient(145deg,#ECFDF5 0%,#fff 55%,#DCFCE7 100%);
  border:1px solid #86EFAC;border-radius:1rem;box-shadow:0 10px 28px rgba(21,128,61,.16);padding:0.85rem 2rem 0.85rem 0.95rem;
  pointer-events:auto}
.dep-toast[hidden]{display:none!important}
.dep-toast a{display:block;color:inherit}
.dep-toast .tag{display:inline-block;font-size:0.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:var(--gold-d);background:var(--sand);padding:0.15rem 0.4rem;border-radius:0.35rem;margin-bottom:0.3rem}
.dep-toast b{display:block;font-size:0.9rem;font-weight:800;color:var(--ink);line-height:1.25;margin-bottom:0.15rem}
.dep-toast span{display:block;font-size:0.75rem;color:var(--tx-2);font-weight:600;line-height:1.35}
.dep-toast-x{position:absolute;top:0.35rem;right:0.35rem;width:1.7rem;height:1.7rem;border:0;border-radius:0.45rem;
  background:transparent;color:var(--tx-3);font-size:1.15rem;line-height:1;cursor:pointer}
.dep-toast-x:hover{background:rgba(22,163,74,.12);color:var(--gold-d)}
@media (max-width:640px){
  .dep-toast{bottom:max(5.2rem,calc(env(safe-area-inset-bottom) + 4.4rem));width:min(15.5rem,calc(100vw - 1.5rem))}
}

/* IB Cashbooster */
.ib-panel[hidden]{display:none!important}
.ptrack{height:0.55rem;border-radius:999px;background:var(--s2);overflow:hidden}
.pfill{height:100%;border-radius:999px;background:linear-gradient(90deg,#16A34A,#4ADE80);transition:width .35s ease}
.pmarks{display:flex;justify-content:space-between;margin-top:0.45rem;font-size:0.72rem;font-weight:700;color:var(--tx-3)}
.cash-hero{background:linear-gradient(135deg,#ECFDF5 0%,#fff 48%,#DCFCE7 100%);border-color:#BBF7D0}
.cash-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.cash-kicker{display:inline-block;font-size:0.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-d);margin-bottom:0.35rem}
.cash-hero h2{margin:0 0 0.45rem;font-size:1.35rem}
.cash-hero p{margin:0;color:var(--tx-2);max-width:36rem;font-size:0.95rem;line-height:1.45}
.cash-cycle{background:#052e16;color:#fff;border-radius:1rem;padding:0.95rem 1.15rem;min-width:7.5rem;text-align:center}
.cash-cycle-lab{display:block;font-size:0.72rem;opacity:.75;font-weight:600;margin-bottom:0.25rem}
.cash-cycle b{font-size:1.55rem;font-weight:800}
.cash-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.75rem;margin-bottom:1.15rem}
.cash-stat{background:var(--s1);border-radius:0.85rem;padding:0.85rem 0.9rem}
.cash-stat span{display:block;font-size:0.75rem;font-weight:700;color:var(--tx-3);margin-bottom:0.25rem}
.cash-stat b{display:block;font-size:1.15rem;font-weight:800}
.cash-stat em{display:block;font-style:normal;font-size:0.75rem;color:var(--tx-2);margin-top:0.2rem}
.cash-prog-block{margin-top:1rem}
.cash-prog-lab{display:flex;justify-content:space-between;font-size:0.82rem;font-weight:700;color:var(--tx-2);margin-bottom:0.4rem}
.cash-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.75rem}
.cash-tier{border:1px solid var(--line);border-radius:var(--r-lg);padding:1rem;background:var(--paper);display:flex;flex-direction:column;gap:0.65rem}
.cash-tier-top{background:linear-gradient(160deg,#ECFDF5,#fff 55%);border-color:#86EFAC}
.cash-tier.on{border-color:#16A34A;box-shadow:inset 0 0 0 1px rgba(22,163,74,.35)}
.cash-tier-amt{font-size:1.35rem;font-weight:800;color:var(--gold-d)}
.cash-tier ul{margin:0;padding:0;list-style:none;display:grid;gap:0.35rem}
.cash-tier li{font-size:0.82rem;color:var(--tx-2);line-height:1.35}
.cash-tier-status{margin-top:auto;display:inline-flex;align-self:flex-start;padding:0.25rem 0.55rem;border-radius:0.45rem;
  font-size:0.72rem;font-weight:800;background:var(--s2);color:var(--tx-3)}
.cash-tier.on .cash-tier-status{background:#DCFCE7;color:#14532D}
.cash-tier-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.55rem}
.cash-chip{background:var(--s1);border-radius:0.75rem;padding:0.75rem 0.8rem}
.cash-chip b{display:block;font-size:1rem;font-weight:800;color:var(--gold-d)}
.cash-chip span{display:block;font-size:0.75rem;color:var(--tx-2);margin-top:0.15rem}
.cash-copy{grid-template-columns:1fr auto;align-items:end;max-width:100%}
.plink{font-size:0.88rem;font-weight:700;color:var(--gold-d)}
@media(max-width:52rem){
  .cash-stats,.cash-tiers,.cash-tier-row{grid-template-columns:1fr}
  .cash-copy{grid-template-columns:1fr}
  .cash-copy .b{width:100%}
  .ibw-actions .b{flex:1 1 8rem;justify-content:center;text-align:center}
}

/* Demo contests */
.contest-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  background:linear-gradient(135deg,#ECFDF5 0%,#fff 45%,#DCFCE7 100%);border-color:#BBF7D0}
.contest-hero h1{margin-bottom:0.35rem}
.contest-hero-copy{flex:1;min-width:14rem}
.contest-hero-copy p{color:var(--tx-2);max-width:36rem;margin:0}
.contest-hero-stat{background:#052e16;color:#fff;border-radius:1rem;padding:0.85rem 1.1rem;min-width:7.5rem;text-align:center}
.contest-hero-stat .coin-lab{display:block;font-size:0.72rem;opacity:.75;font-weight:600;margin-bottom:0.2rem}
.contest-hero-stat b{font-size:1.45rem;font-weight:800}
.contest-list{display:grid;gap:0.85rem}
.contest-card{border:1px solid var(--line);border-radius:var(--r-lg);padding:1rem 1.05rem;background:var(--paper);
  display:flex;flex-direction:column;gap:0.45rem}
.contest-card:hover{border-color:#86EFAC;background:linear-gradient(160deg,#ECFDF5,#fff 70%)}
.contest-card-top{display:flex;align-items:center;justify-content:space-between;gap:0.5rem}
.contest-badge{display:inline-flex;padding:0.2rem 0.55rem;border-radius:0.45rem;font-size:0.7rem;font-weight:800;
  letter-spacing:.04em;text-transform:uppercase;background:var(--s2);color:var(--tx-3)}
.contest-badge.active{background:#DCFCE7;color:#14532D}
.contest-badge.upcoming{background:#FEF9C3;color:#854D0E}
.contest-badge.past{background:var(--s2);color:var(--tx-3)}
.contest-joined-tag{font-size:0.72rem;font-weight:800;color:var(--gold-d)}
.contest-card > b{font-size:1.05rem;line-height:1.25}
.contest-card > p{margin:0;font-size:0.88rem;color:var(--tx-2);line-height:1.4}
.contest-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.55rem;margin:0.35rem 0 0.15rem}
.contest-stats span{display:block;font-size:0.7rem;font-weight:700;color:var(--tx-3);margin-bottom:0.15rem}
.contest-stats em{font-style:normal;font-size:0.82rem;font-weight:800;color:var(--ink);line-height:1.25}
.contest-card-actions{display:flex;flex-wrap:wrap;gap:0.45rem;margin-top:0.35rem}
.contest-how{margin:0;padding-left:1.15rem;display:grid;gap:0.45rem;color:var(--tx-2);font-size:0.92rem;line-height:1.4}
.contest-board{display:grid;gap:0}
.contest-board-head,.contest-board-row{display:grid;grid-template-columns:2.2rem minmax(0,1fr) 5.5rem 4.2rem;gap:0.5rem;
  padding:0.65rem 0.15rem;align-items:center;font-size:0.88rem}
@media(max-width:28rem){
  .contest-board-head,.contest-board-row{grid-template-columns:1.7rem minmax(0,1fr) 4.4rem 3.4rem;gap:0.35rem;font-size:0.8rem}
  .contest-board-head{font-size:0.65rem}
}
.contest-board-head{font-size:0.72rem;font-weight:800;color:var(--tx-3);text-transform:uppercase;letter-spacing:.04em;
  border-bottom:1px solid var(--line)}
.contest-board-row{border-bottom:1px solid var(--line)}
.contest-board-row:last-child{border-bottom:0}
.contest-board-row.you{background:rgba(22,163,74,.06);border-radius:0.55rem;margin:0 -0.15rem;padding-left:0.3rem;padding-right:0.3rem}
.contest-board-row .up{color:#15803D;font-weight:800}
.contest-board-row .dn{color:#B91C1C;font-weight:800}
.contest-modal{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:1rem}
.contest-modal[hidden]{display:none!important}
.contest-modal-scrim{position:absolute;inset:0;background:rgba(16,20,24,.45)}
.contest-modal-panel{position:relative;z-index:1;width:min(26rem,100%);max-height:min(92dvh,42rem);overflow:auto}
.contest-modal-x{position:absolute;right:0.65rem;top:0.55rem;border:0;background:transparent;font-size:1.5rem;
  line-height:1;cursor:pointer;color:var(--tx-2);width:2.2rem;height:2.2rem}
.contest-modal-panel h3{margin:0.35rem 0 0.35rem;font-size:1.2rem}
.contest-modal-panel > p{margin:0 0 0.75rem;color:var(--tx-2);font-size:0.92rem;line-height:1.4}
.contest-meta{display:grid;grid-template-columns:1fr 1fr;gap:0.55rem;margin-bottom:0.85rem}
.contest-meta span{display:block;font-size:0.7rem;font-weight:700;color:var(--tx-3)}
.contest-meta b{font-size:0.9rem}
.contest-rules-h{margin:0 0 0.4rem;font-size:0.85rem}
.contest-rules{margin:0 0 1rem;padding-left:1.1rem;display:grid;gap:0.35rem;font-size:0.88rem;color:var(--tx-2);line-height:1.35}
.contest-modal-actions{display:grid;gap:0.45rem}
html.contest-open,html.contest-open body{overflow:hidden}
.contest-list .empty{text-align:center;padding:1.75rem 1rem 1.25rem;color:var(--tx-2)}
.contest-list .empty .eico{width:3rem;height:3rem;margin:0 auto 0.75rem;color:var(--tx-3)}
.contest-list .empty .eico svg{width:100%;height:100%}
.contest-list .empty h3{margin:0 0 0.35rem;color:var(--ink);font-size:1.05rem}
.contest-list .empty p{margin:0;font-size:0.9rem;line-height:1.4;max-width:22rem;margin-inline:auto}
@media(max-width:40rem){
  .contest-stats{grid-template-columns:1fr}
  .contest-board-head,.contest-board-row{grid-template-columns:1.8rem 1fr 4.5rem;font-size:0.82rem}
  .contest-board-head span:last-child,.contest-board-row span:last-child{display:none}
}

/* IB wallet */
.ibw-hero{background:linear-gradient(135deg,#ECFDF5 0%,#fff 50%,#DCFCE7 100%);border-color:#BBF7D0}
.ibw-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.ibw-hero h2{margin:0 0 0.45rem;font-size:1.35rem}
.ibw-hero p{margin:0;color:var(--tx-2);max-width:36rem;font-size:0.95rem;line-height:1.45}
.ibw-bal{background:#052e16;color:#fff;border-radius:1rem;padding:0.95rem 1.15rem;min-width:9rem;text-align:center}
.ibw-bal b{display:block;font-size:1.55rem;font-weight:800;margin:0.15rem 0}
.ibw-bal em{display:block;font-style:normal;font-size:0.75rem;opacity:.8;font-weight:600}
.ibw-actions{display:flex;flex-wrap:wrap;gap:0.55rem}
.ibw-stats{margin-bottom:0}
.ibw-card{border:1px solid #86EFAC;background:linear-gradient(160deg,#ECFDF5,#fff 60%)}
.ibw-card .acct-top .num{font-weight:800}
.ibw-card .acct-bot .addbal{margin-left:auto}

/* IB Promo materials */
.promo-hero{background:linear-gradient(135deg,#ECFDF5 0%,#fff 48%,#DCFCE7 100%);border-color:#BBF7D0}
.promo-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:0.85rem}
.promo-hero h2{margin:0 0 0.45rem;font-size:1.35rem}
.promo-hero p{margin:0;color:var(--tx-2);max-width:36rem;font-size:0.95rem;line-height:1.45}
.promo-lang{max-width:16rem;margin-bottom:0.85rem}
.promo-note{display:flex;align-items:center;gap:0.85rem;flex-wrap:wrap;padding:0.85rem 0 1rem;border-bottom:1px solid var(--line);margin-bottom:0.35rem}
.promo-note .pmico{flex:0 0 auto}
.promo-note > div{flex:1;min-width:12rem}
.promo-list{display:grid;gap:0}
.promo-row{display:flex;align-items:center;gap:0.85rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.promo-row:last-child{border-bottom:0}
.promo-thumb{width:5.5rem;height:5.5rem;border-radius:0.9rem;overflow:hidden;background:linear-gradient(160deg,#ECFDF5,#fff 55%,#DCFCE7);flex:0 0 auto;border:1px solid #BBF7D0;box-shadow:0 4px 14px rgba(22,163,74,.08);display:grid;place-items:center}
.promo-thumb img{width:100%;height:100%;object-fit:contain;padding:0.35rem;background:transparent}
.promo-row .nm{font-weight:700}
.promo-row .lim{font-size:0.8rem;color:var(--tx-2);margin-top:0.15rem}
.promo-row .promo-meta{flex:1;min-width:0}
.promo-acts{display:flex;flex-wrap:wrap;gap:0.45rem;margin-left:auto}
@media(max-width:40rem){
  .promo-row{flex-wrap:wrap}
  .promo-acts{margin-left:0;width:100%}
  .promo-acts .b{flex:1}
}

/* IB Referral link */
.reflink-hero{background:linear-gradient(135deg,#ECFDF5 0%,#fff 50%,#DCFCE7 100%);border-color:#BBF7D0}
.reflink-hero-top{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.reflink-hero h2{margin:0 0 0.45rem;font-size:1.35rem}
.reflink-hero p{margin:0;color:var(--tx-2);max-width:36rem;font-size:0.95rem;line-height:1.45}
.reflink-code{background:#052e16;color:#fff;border-radius:1rem;padding:0.95rem 1.15rem;min-width:8rem;text-align:center}
.reflink-code b{display:block;font-size:1.15rem;font-weight:800;letter-spacing:.04em;margin-top:0.2rem}
.reflink-copy{margin-bottom:0.75rem}
.reflink-actions{display:flex;flex-wrap:wrap;gap:0.55rem}
.reflink-stats{margin:0.85rem 0}
.reflink-share-grid{display:grid;grid-template-columns:auto 1fr;gap:1.25rem;align-items:start}
.reflink-qr-wrap{text-align:center}
.reflink-qr-wrap img{width:10rem;height:10rem;border-radius:0.85rem;border:1px solid var(--line);background:#fff;margin:0 auto 0.55rem;padding:0.45rem}
.reflink-share .pm:last-child{border-bottom:0}
@media(max-width:40rem){
  .reflink-share-grid{grid-template-columns:1fr}
}

/* Copytrade Investor / Trader / All */
.ct-panel[hidden]{display:none!important}
.ct-hero{background:linear-gradient(135deg,#ECFDF5 0%,#fff 48%,#DCFCE7 100%);border-color:#BBF7D0}
.ct-filters{max-width:100%;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}
.ct-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(16.5rem,1fr));gap:0.85rem;margin:0.85rem 0 1.1rem}
.ct-card{border:1px solid var(--line);border-radius:var(--r-lg);padding:1rem;background:var(--paper);
  display:flex;flex-direction:column;gap:0.65rem}
.ct-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:0.65rem}
.ct-name{display:block;font-size:1rem;font-weight:800;line-height:1.25}
.ct-trader{display:block;font-size:0.78rem;color:var(--tx-2);margin-top:0.2rem}
.ct-risk{display:inline-flex;padding:0.2rem 0.5rem;border-radius:0.45rem;font-size:0.68rem;font-weight:800;
  text-transform:capitalize;background:var(--s2);color:var(--tx-2)}
.ct-risk-low{background:#DCFCE7;color:#14532D}
.ct-risk-med{background:#FEF9C3;color:#854D0E}
.ct-risk-high{background:#FEE2E2;color:#991B1B}
.ct-profit{font-size:1.55rem;font-weight:800;line-height:1}
.ct-profit.up{color:#14532D}
.ct-profit.dn{color:#991B1B}
.ct-meta{display:grid;grid-template-columns:1fr 1fr;gap:0.35rem 0.65rem;font-size:0.8rem;color:var(--tx)}
.ct-meta em{font-style:normal;font-weight:700;color:var(--tx-3);margin-right:0.2rem}
.ct-card-bot{display:flex;align-items:center;justify-content:space-between;gap:0.55rem;margin-top:auto;flex-wrap:wrap}
.ct-card-bot .hint{flex:1;min-width:8rem;font-size:0.75rem}

/* Finance recent txs — simple rows for Sir to restyle */
.tx-section{margin-top:0.85rem}
.tx-section .sechead h2{margin:0;font-size:1.05rem}
.tx-section .sechead .hint{font-size:0.82rem;font-weight:700;color:var(--gold-d)}
.txlist{display:grid;gap:0}
.txrow{display:flex;align-items:center;justify-content:space-between;gap:0.85rem;
  padding:0.85rem 0;border-bottom:1px solid var(--line)}
.txrow:last-child{border-bottom:0}
.tx-main{min-width:0;flex:1}
.tx-amt{font-size:1rem;font-weight:800;letter-spacing:-.01em;font-variant-numeric:tabular-nums;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.tx-amt.up{color:var(--up)}.tx-amt.dn{color:var(--dn)}
.tx-meta{display:flex;flex-wrap:wrap;gap:0.35rem 0.75rem;margin-top:0.2rem;
  font-size:0.78rem;color:var(--tx-2);font-weight:600}
.tx-method{color:var(--ink)}
.st-badge{flex:0 0 auto;display:inline-flex;align-items:center;height:1.45rem;padding:0 0.55rem;
  border-radius:0.45rem;font-size:0.68rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  white-space:nowrap}
.st-badge.completed{background:#DCFCE7;color:#14532D}
.st-badge.pending{background:#FEF9C3;color:#854D0E}
.st-badge.failed{background:#FEE2E2;color:#991B1B}
.tx-empty,.empty.tx-empty{text-align:center;padding:1.5rem 0.75rem 0.85rem;color:var(--tx-2)}
.tx-empty .eico,.empty.tx-empty .eico{width:2.75rem;height:2.75rem;margin:0 auto 0.7rem;color:var(--tx-3)}
.tx-empty .eico svg,.empty.tx-empty .eico svg{width:100%;height:100%}
.tx-empty h3,.empty.tx-empty h3{margin:0 0 0.35rem;color:var(--ink);font-size:1rem}
.tx-empty p,.empty.tx-empty p{margin:0 auto;font-size:0.88rem;line-height:1.4;max-width:22rem}
.tx-loading{padding:0.5rem 0}

/* Mobile density — compact brokerage shell; keep critical targets ≥40px */
@media(max-width:40rem){
  :root{
    --fs:93.75%;
    --pad:0.75rem;
    --r:0.65rem;
    --r-lg:0.85rem;
    --abar-h:3.45rem;
  }
  body{font-size:0.9rem;line-height:1.45}
  h1{font-size:clamp(1.2rem,4.5vw,1.4rem)}
  h2{font-size:clamp(1rem,3.5vw,1.15rem)}
  h3{font-size:0.95rem}
  h4{font-size:0.88rem}
  .pbar{font-size:0.78rem;padding:0.5rem 2.35rem 0.5rem 0.8rem}
  .abar{gap:0.4rem;padding:0.4rem var(--pad);overflow:visible}
  .abar .mlogo{font-size:0.92rem;gap:0.35rem}
  .abar .mlogo img{width:1.2rem;height:1.2rem}
  .abar .right{gap:0.4rem;overflow:visible}
  .icobtn{width:var(--touch);height:var(--touch);border-radius:0.55rem}
  .icobtn.chatbtn{width:2.55rem;height:2.55rem;margin:0.1rem 0}
  .icobtn svg{width:1.15rem;height:1.15rem}
  .avatar{width:1.85rem;height:1.85rem;font-size:0.7rem}
  .main{padding:var(--pad) var(--pad) 4.75rem}
  .b{height:2.55rem;padding:0 1rem;font-size:0.84rem}
  .b.sm{height:2.15rem;padding:0 0.8rem;font-size:0.8rem}
  .b.wide,.side .dep .b{min-height:var(--touch)}
  .card{padding:0.85rem}
  .card+.card{margin-top:0.7rem}
  .sechead{margin-bottom:0.7rem;gap:0.65rem}
  .actlabel{font-size:0.95rem;margin:0.1rem 0 0.6rem}
  .promos{gap:0.6rem;margin-bottom:0.85rem}
  .pz{width:min(11.75rem,70vw);padding:0.8rem;min-height:6.1rem}
  .pz b{font-size:0.85rem}
  .pz span{font-size:0.72rem}
  .pz .tagx{top:0.55rem;right:0.55rem;font-size:0.58rem;padding:0.15rem 0.4rem}
  .seg{border-radius:0.75rem;padding:0.15rem;margin-bottom:0.75rem}
  .seg a{padding:0.65rem 0.4rem;border-radius:0.6rem;font-size:0.84rem}
  .tabs{margin-bottom:0.85rem}
  .tabs a{padding:0.55rem 0.8rem;font-size:0.84rem}
  .chips{gap:0.4rem;margin:0.6rem 0 0.7rem}
  .chipf{padding:0.4rem 0.75rem;border-radius:0.45rem;font-size:0.78rem}
  .f select,.f input,#wd-fields input{height:2.75rem;padding:0 0.8rem;font-size:0.95rem}
  .f label{font-size:0.8rem;margin-bottom:0.3rem}
  .pm{gap:0.7rem;padding:0.8rem 0}
  .pmico{width:2.25rem;height:2.25rem;border-radius:0.55rem;font-size:0.85rem}
  .acct{padding:0.85rem 0.1rem}
  .acct-top .num{font-size:clamp(0.95rem,3.8vw,1.05rem)}
  .acct-top .amt{font-size:clamp(1rem,3.8vw,1.1rem)}
  .acct-bot{margin-top:0.45rem}
  .acct .tradebtn{min-height:var(--touch);padding:0.5rem 0.9rem;font-size:0.8rem;border-radius:0.5rem}
  .acct .addbal{font-size:0.82rem}
  .mc-dash{padding:0.55rem 0.8rem;font-size:0.82rem;margin-bottom:0.7rem}
  .prow{gap:0.7rem;padding:0.8rem 0}
  .prow b{font-size:0.9rem}
  .prow span{font-size:0.78rem}
  .avatar.lg{width:2.85rem;height:2.85rem;font-size:1rem}
  .csec{font-size:0.88rem;padding-bottom:0.6rem;margin-bottom:0.3rem}
  .create-btn{height:2.35rem;padding:0 0.9rem;font-size:0.84rem;border-radius:0.55rem}
  .xfer-card .tabs a{padding:0.6rem 0.85rem}
  .auth{padding:1.15rem var(--pad)}
  .authbox .sub{font-size:0.85rem;margin:0.3rem 0 1rem}
  .authbox .f input{height:2.85rem}
  .kchat-fab{width:3.15rem;height:3.15rem}
  .kchat-fab svg{width:1.3rem;height:1.3rem}
  .kchat-panel{border-radius:1rem}
  .kchat-head{padding:0.75rem}
  .kchat-av{width:2.15rem;height:2.15rem;font-size:0.85rem}
  .kchat-bubble{padding:0.6rem 0.75rem;font-size:0.84rem}
  .kchat-quick button{padding:0.55rem 0.8rem;font-size:0.78rem}
  .kchat-foot{padding:0.65rem}
  .kchat-foot input,.kchat-send{height:2.55rem}
  .dep-toast{padding:0.7rem 1.85rem 0.7rem 0.8rem;border-radius:0.85rem}
  .dep-toast b{font-size:0.84rem}
  .cash-hero h2{font-size:1.15rem}
  .cash-cycle{padding:0.75rem 0.95rem;border-radius:0.85rem}
  .cash-cycle b{font-size:1.3rem}
  .cash-stat{padding:0.7rem 0.75rem;border-radius:0.7rem}
  .cash-tier{padding:0.85rem}
  .contest-hero-stat{padding:0.7rem 0.95rem;border-radius:0.85rem}
  .contest-card{padding:0.85rem 0.9rem}
  .gift-meta{padding:0.7rem}
  .coin-pill{padding:0.7rem 0.95rem;border-radius:0.85rem}
  .txrow{padding:0.7rem 0}
  .tx-amt{font-size:0.92rem}
  .side{padding:0.85rem 0.65rem}
  .side .who{gap:0.55rem;padding:0.45rem 0.6rem 0.9rem}
  .nav a,.nav summary{padding:0.6rem 0.65rem;font-size:0.86rem;min-height:var(--touch)}
  .nav .sub a{padding-left:2.2rem;font-size:0.82rem}
}

/* ── Rank leaderboard ───────────────────────────────────────────── */
.rank-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  background:linear-gradient(135deg,#ECFDF5 0%,#fff 55%,#F0FDF4 100%)}
.rank-hero-copy{flex:1;min-width:12rem}
.rank-hero-copy h1{margin:0.2rem 0 0.35rem}
.rank-hero-copy p{color:var(--tx-2);font-size:0.9rem;max-width:28rem}
.rank-hero-stat{background:var(--paper);border:1px solid var(--line);border-radius:0.9rem;padding:0.75rem 1.05rem;min-width:7rem}
.rank-hero-stat .coin-lab{display:block;font-size:0.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--tx-3)}
.rank-hero-stat b{font-size:1.15rem;color:var(--gold-d)}
.rank-list{display:flex;flex-direction:column;gap:0.55rem}
.rank-row{display:grid;grid-template-columns:2.2rem 3.15rem 1fr auto;align-items:center;gap:0.75rem;
  padding:0.75rem 0.85rem;border:1px solid var(--line);border-radius:0.9rem;background:#FAFFFC}
.rank-row:hover{border-color:#86EFAC;box-shadow:0 4px 18px rgba(22,163,74,.08)}
.rank-pos{font-weight:800;color:var(--gold-d);font-size:0.95rem}
.rank-av{width:2.75rem;height:2.75rem;min-width:2.75rem;min-height:2.75rem;border-radius:50%!important;object-fit:cover;object-position:center;aspect-ratio:1/1;border:2px solid #BBF7D0;background:var(--sand);overflow:hidden;clip-path:circle(50% at 50% 50%);display:block}
.rank-av.fallback{display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:var(--gold-d);font-size:0.85rem;clip-path:circle(50% at 50% 50%)}
.rank-meta b{display:block;font-size:0.98rem}
.rank-tag{display:inline-flex;margin-top:0.2rem;padding:0.12rem 0.45rem;border-radius:999px;font-size:0.68rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase}
.rank-tag.live{background:#DCFCE7;color:#14532D}
.rank-money{font-weight:800;font-size:1.05rem;font-variant-numeric:tabular-nums}
.rank-money.up{color:var(--up)}.rank-money.dn{color:var(--dn)}

/* Admin users / care */
.admin-gate{max-width:28rem;margin:2rem auto;padding:1.25rem}
.admin-table{width:100%;border-collapse:collapse;font-size:0.86rem}
.admin-table th,.admin-table td{text-align:left;padding:0.55rem 0.4rem;border-bottom:1px solid var(--line);vertical-align:middle}
.admin-table th{font-size:0.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--tx-3)}
.admin-actions{display:flex;flex-wrap:wrap;gap:0.35rem}
.admin-actions .b{padding:0.35rem 0.55rem;font-size:0.75rem}
.care-admin{display:grid;grid-template-columns:minmax(12rem,18rem) 1fr;gap:0.85rem;min-height:22rem}
@media(max-width:48rem){.care-admin{grid-template-columns:1fr}}
.care-list{border:1px solid var(--line);border-radius:0.85rem;overflow:auto;max-height:28rem;background:var(--paper)}
.care-item{display:block;width:100%;text-align:left;padding:0.7rem 0.8rem;border:0;border-bottom:1px solid var(--line);background:transparent;cursor:pointer;font:inherit}
.care-item:hover,.care-item.on{background:#ECFDF5}
.care-item b{display:block;font-size:0.88rem}
.care-item span{display:block;font-size:0.75rem;color:var(--tx-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.care-thread{border:1px solid var(--line);border-radius:0.85rem;padding:0.85rem;background:var(--paper);display:flex;flex-direction:column;min-height:22rem}
.care-msgs{flex:1;overflow:auto;display:flex;flex-direction:column;gap:0.45rem;margin-bottom:0.75rem;max-height:18rem}
.care-msg{max-width:90%;padding:0.55rem 0.7rem;border-radius:0.75rem;font-size:0.86rem}
.care-msg.user{align-self:flex-end;background:#DCFCE7}
.care-msg.bot,.care-msg.assistant,.care-msg.agent{align-self:flex-start;background:var(--s1);border:1px solid var(--line)}
.uname-row{display:flex;flex-wrap:wrap;gap:0.55rem;align-items:center}
.uname-row input{flex:1;min-width:10rem;height:2.5rem;border:1px solid var(--line);border-radius:0.65rem;padding:0 0.75rem;font:inherit}
.uname-cd{font-size:0.82rem;color:var(--tx-2);margin-top:0.4rem}


/* password glyphs — Brave/iOS + Manrope render bullets as weird symbols */
html body input[type="password"],
html body .f input[type="password"],
html body .pwrap input[type="password"],
html body .authbox input[type="password"],
html body .authbox .f input[type="password"]{
  font:400 17px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
  letter-spacing:0.18em !important;
  -webkit-text-security:disc !important;
  text-security:disc !important;
}
html body input[type="password"]::placeholder,
html body .pwrap input[type="password"]::placeholder{
  letter-spacing:0 !important;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif !important;
  -webkit-text-security:none !important;
  text-security:none !important;
}
/* when eye reveals password as text, drop disc mask */
html body input[type="text"].is-password-reveal{
  -webkit-text-security:none !important;
  text-security:none !important;
  letter-spacing:0 !important;
}

.kchat-fab .kchat-crown{display:none!important}
.kchat-crown-lg{width:4.25rem;height:4.25rem;object-fit:contain;display:block;pointer-events:none;filter:drop-shadow(0 .4rem 1rem rgba(34,197,94,.4))}
.kchat-orb{width:min(13rem,68%);margin:.85rem auto 1.1rem}
.kchat-panel{border-radius:1.5rem;border:1px solid #E5E7EB;box-shadow:0 1.5rem 3.5rem rgba(15,23,42,.22)}
.kchat-head-title{font-size:1.15rem;font-weight:800;letter-spacing:-.02em}
.kchat-disc{font-size:.68rem;color:#9CA3AF}
.kchat-hi{font-size:1.05rem;font-weight:700}
.kchat-quick button{background:#F3F4F6;border:1px solid transparent;border-radius:1rem;padding:1rem 1.1rem}
.kchat-quick button:hover{background:#ECFDF5;border-color:#BBF7D0}
.kchat-foot input{background:#F3F4F6;border:0;border-radius:999px;height:2.9rem;padding:0 1.1rem}
.kchat-foot input:focus{background:#fff;box-shadow:inset 0 0 0 1.5px #86EFAC}
.kchat-send{border-radius:999px;background:#22C55E}

.rank-sub{display:block;font-size:0.7rem;color:var(--tx-3);margin-top:0.15rem}
.rank-name{cursor:pointer}
.rank-row{cursor:pointer}
.rank-modal{position:fixed;inset:0;z-index:320;display:grid;place-items:center;padding:1rem}
.rank-modal[hidden]{display:none!important}
.rank-modal-scrim{position:absolute;inset:0;background:rgba(16,20,24,.45)}
.rank-modal-panel{position:relative;z-index:1;width:min(22rem,92vw);aspect-ratio:1/1;max-height:min(92vw,92dvh);padding:1.15rem 1.1rem 1.25rem;overflow:auto;display:flex;flex-direction:column;box-sizing:border-box}
.rank-modal-panel.rank-modal-lg{width:min(28rem,92vw);aspect-ratio:auto;max-height:min(90dvh,40rem);padding:1.35rem 1.25rem 1.4rem;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.rank-modal-x{position:absolute;right:0.55rem;top:0.45rem;border:0;background:transparent;font-size:1.5rem;cursor:pointer;color:var(--tx-2)}
.rank-modal-head{display:flex;align-items:center;gap:0.75rem}
.rank-stats{display:grid;grid-template-columns:1fr 1fr;gap:0.65rem;flex:1;align-content:stretch}
.rank-stats div{background:var(--s1);border:1px solid var(--line);border-radius:0.85rem;padding:0.75rem;aspect-ratio:1/1;display:flex;flex-direction:column;justify-content:center;min-height:0}
.rank-stats em{display:block;font-style:normal;font-size:0.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--tx-3);font-weight:700;margin-bottom:0.25rem}
.rank-stats b{font-size:1.05rem;font-variant-numeric:tabular-nums}
.rank-stats b.up{color:var(--up)}.rank-stats b.dn{color:var(--dn)}
html.rank-open,html.rank-open body{overflow:hidden}
.rank-proof{display:flex;gap:0.75rem;flex-wrap:wrap;align-items:center;margin-top:0.65rem}
.rank-proof .chip{background:#DCFCE7;color:#14532D;font-weight:800;font-size:0.78rem;padding:0.35rem 0.7rem;border-radius:999px}

.dev-list{display:flex;flex-direction:column;gap:0.65rem}
.dev-row{display:flex;align-items:center;gap:0.85rem;padding:0.75rem 0.25rem;border-bottom:1px solid var(--line)}
.dev-row:last-child{border-bottom:0}
.dev-ico{font-size:1.35rem;line-height:1}
.dev-meta{flex:1;min-width:0}
.dev-meta b{display:block;font-size:0.95rem}
.dev-meta span{display:block;font-size:0.78rem;color:var(--tx-3);margin-top:0.15rem}
.dev-act{flex-shrink:0}
.dash-live{display:flex;flex-wrap:wrap;gap:0.55rem;margin:0 0 1rem}
.dash-live .chip{background:#DCFCE7;color:#14532D;font-weight:800;font-size:0.78rem;padding:0.35rem 0.7rem;border-radius:999px}
.dash-toast-stack{position:fixed;left:1rem;bottom:5.5rem;z-index:40;display:flex;flex-direction:column;gap:0.45rem;max-width:min(20rem,calc(100vw - 2rem));pointer-events:none}
.dash-toast{background:#111827;color:#F9FAFB;padding:0.65rem 0.85rem;border-radius:0.85rem;font-size:0.82rem;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.18);opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}
.dash-toast.on{opacity:1;transform:none}

.rank-av.lg{width:64px;height:64px;min-width:64px;min-height:64px;border-radius:50%!important;object-fit:cover;object-position:center;aspect-ratio:1/1;display:block;overflow:hidden;clip-path:circle(50% at 50% 50%)}
.rank-joined{display:block;font-size:0.75rem;color:var(--tx-3);margin-top:0.2rem;font-weight:600}
.pname-row{display:flex;align-items:center;gap:0.4rem;flex-wrap:wrap}
.edit-pen{display:inline-flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:999px;border:1px solid var(--line);background:var(--s1);cursor:pointer;padding:0;color:var(--tx-2)}
.edit-pen:hover{background:var(--s2);color:var(--tx)}
.edit-pen svg{width:0.85rem;height:0.85rem}
.av-actions .change-photo-legacy{display:none!important}
.mc-weekly{margin-top:0.65rem;padding-top:0.65rem;border-top:1px solid rgba(120,53,15,.2)}
.mc-weekly h3{margin:0 0 0.35rem;font-size:0.85rem;font-weight:800;color:#78350F}
.mc-weekly ul{margin:0;padding-left:1.1rem;color:#78350F;font-size:0.82rem;line-height:1.45}
.mc-weekly li{margin:0.15rem 0}

#rank-m-avwrap{cursor:zoom-in;display:inline-flex;border-radius:50%;line-height:0}
#rank-m-avwrap:focus-visible{outline:2px solid var(--g,#15803D);outline-offset:2px}
.rank-av.lg.zoomable{cursor:zoom-in}
.rank-av-zoom{position:fixed;inset:0;z-index:360;display:grid;place-items:center;padding:1rem}
.rank-av-zoom[hidden]{display:none!important}
.rank-av-zoom-scrim{position:absolute;inset:0;background:rgba(8,12,18,.78);backdrop-filter:blur(6px)}
.rank-av-zoom-panel{position:relative;z-index:1;width:min(28rem,94vw);display:flex;flex-direction:column;align-items:center;gap:0.75rem}
.rank-av-zoom-x{position:absolute;right:0;top:-0.25rem;z-index:2;border:0;background:rgba(255,255,255,.92);border-radius:50%;width:2.1rem;height:2.1rem;font-size:1.35rem;cursor:pointer;line-height:1;color:#111}
.rank-av-zoom-img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:1.25rem;display:block;box-shadow:0 20px 50px rgba(0,0,0,.35);background:#111}
.rank-av-zoom-cap{margin:0;color:#F9FAFB;font-weight:800;font-size:1rem}
html.rank-av-zoom-open,html.rank-av-zoom-open body{overflow:hidden}

/* Owner / Discord-style profile effect */
.rank-name-wrap,.rank-m-name{display:inline-flex;align-items:center;gap:0.28rem;flex-wrap:wrap}
.kngx-crown-badge{width:1.05rem;height:1.05rem;display:inline-block;vertical-align:middle;flex-shrink:0;filter:drop-shadow(0 0 4px rgba(34,197,94,.55))}
.kngx-nitro{
  background:linear-gradient(90deg,#22C55E 0%,#A7F3D0 25%,#FDE68A 50%,#34D399 75%,#22C55E 100%);
  background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;
  color:transparent!important;
  -webkit-text-fill-color:transparent;
  animation:kngxNitroShift 4s linear infinite;
  font-weight:800;
}
@keyframes kngxNitroShift{to{background-position:200% center}}

/* Elite list rows — blackchip / skyledger (owner-level presence, themed) */
.rank-row.nitro-blue{
  background:linear-gradient(105deg, rgba(14,165,233,.14), rgba(56,189,248,.06) 55%, transparent);
  box-shadow:inset 3px 0 0 #38BDF8, 0 0 24px rgba(14,165,233,.18);
}
.rank-row.nitro-pink{
  background:linear-gradient(105deg, rgba(236,72,153,.14), rgba(244,114,182,.06) 55%, transparent);
  box-shadow:inset 3px 0 0 #F472B6, 0 0 24px rgba(236,72,153,.18);
}

.rank-row.is-owner{
  position:relative;
  background:linear-gradient(90deg,rgba(34,197,94,.08),transparent 55%);
  border-radius:0.85rem;
  box-shadow:inset 0 0 0 1px rgba(34,197,94,.18);
}
.rank-row.is-owner .rank-av,.kngx-avatar-fx .rank-av.kngx-effect,.avatar.kngx-effect{
  box-shadow:0 0 0 2px #22C55E,0 0 14px rgba(34,197,94,.55),0 0 28px rgba(253,224,71,.25);
  animation:kngxAvatarPulse 2.8s ease-in-out infinite;
}
@keyframes kngxAvatarPulse{
  0%,100%{box-shadow:0 0 0 2px #22C55E,0 0 12px rgba(34,197,94,.45),0 0 22px rgba(253,224,71,.2)}
  50%{box-shadow:0 0 0 3px #4ADE80,0 0 20px rgba(34,197,94,.7),0 0 36px rgba(253,224,71,.35)}
}
.kngx-avatar-fx{position:relative;display:inline-flex;border-radius:50%}
.kngx-avatar-fx::after{
  content:"";position:absolute;inset:-4px;border-radius:50%;
  background:conic-gradient(from 0deg,#22C55E,#FDE68A,#4ADE80,#22C55E);
  z-index:0;opacity:.9;animation:kngxSpin 3.2s linear infinite;
}
.kngx-avatar-fx .rank-av{position:relative;z-index:1;border-radius:50%!important;object-fit:cover;background:#fff}
@keyframes kngxSpin{to{transform:rotate(360deg)}}
.side .who b.kngx-nitro,.pname-row .kngx-nitro{display:inline}
.who-name-row,.pname-row{display:inline-flex;align-items:center;gap:0.28rem;flex-wrap:wrap}

.kngx-nitro-blue{
  background:linear-gradient(90deg,#38BDF8 0%,#E0F2FE 25%,#7DD3FC 50%,#BAE6FD 75%,#0EA5E9 100%);
  background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;
  color:transparent!important;-webkit-text-fill-color:transparent;
  animation:kngxNitroShift 4s linear infinite;font-weight:800;
}
.kngx-nitro-pink{
  background:linear-gradient(90deg,#F472B6 0%,#FCE7F3 25%,#F9A8D4 50%,#FBCFE8 75%,#EC4899 100%);
  background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;
  color:transparent!important;-webkit-text-fill-color:transparent;
  animation:kngxNitroShift 4s linear infinite;font-weight:800;
}
.kngx-crown-badge.crown-blue{filter:drop-shadow(0 0 5px rgba(125,211,252,.75))}
.kngx-crown-badge.crown-pink{filter:drop-shadow(0 0 5px rgba(249,168,212,.75))}
.rank-row.is-nitro{border-radius:0.85rem}
.rank-row.nitro-blue{background:linear-gradient(90deg,rgba(14,165,233,.08),transparent 55%);box-shadow:inset 0 0 0 1px rgba(56,189,248,.22)}
.rank-row.nitro-pink{background:linear-gradient(90deg,rgba(236,72,153,.08),transparent 55%);box-shadow:inset 0 0 0 1px rgba(244,114,182,.22)}
.kngx-avatar-fx.fx-blue::after{background:conic-gradient(from 0deg,#38BDF8,#E0F2FE,#0EA5E9,#38BDF8)}
.kngx-avatar-fx.fx-pink::after{background:conic-gradient(from 0deg,#F472B6,#FCE7F3,#EC4899,#F472B6)}
.rank-modal-panel{transition:transform .28s cubic-bezier(.2,.9,.2,1),opacity .28s ease}
.rank-modal.is-closing .rank-modal-panel.shoot-up{
  transform:translateY(-120%) scale(.92);
  opacity:0;
}
.rank-modal.is-closing .rank-modal-scrim{opacity:0;transition:opacity .28s ease}

.rank-social{margin-top:1.1rem;padding-top:0.95rem;border-top:1px solid var(--line)}
.rank-social > em{display:block;font-style:normal;font-size:0.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--tx-3);font-weight:800;margin-bottom:0.55rem}
.rank-soc-row{display:flex;flex-wrap:wrap;gap:0.5rem}
.rank-soc{display:inline-flex;align-items:center;justify-content:center;padding:0.55rem 0.9rem;border-radius:999px;background:#111827;color:#F9FAFB;font-weight:800;font-size:0.82rem;text-decoration:none}
.rank-soc:hover{background:#15803D}
.rank-modal-lg .rank-av.lg{width:76px;height:76px;min-width:76px;min-height:76px;border-radius:50%!important;clip-path:circle(50% at 50% 50%)}
.rank-modal-lg .rank-stats b{font-size:1.15rem}
.rank-modal-lg .rank-stats div{padding:0.75rem;aspect-ratio:1/1}

.rank-av-ring{position:relative;display:inline-flex;align-items:center;justify-content:center;width:3.05rem;height:3.05rem;border-radius:50%;padding:0;line-height:0;flex-shrink:0;isolation:isolate}
.rank-av-ring::before{content:"";position:absolute;inset:0;border-radius:50%;z-index:0;animation:kngxSpin 3.2s linear infinite}
.rank-av-ring.ring-blue::before{background:conic-gradient(from 0deg,#38BDF8,#E0F2FE,#0EA5E9,#7DD3FC,#38BDF8);box-shadow:0 0 12px rgba(56,189,248,.5)}
.rank-av-ring.ring-pink::before{background:conic-gradient(from 0deg,#F472B6,#FCE7F3,#EC4899,#F9A8D4,#F472B6);box-shadow:0 0 12px rgba(244,114,182,.5)}
.rank-av-ring.ring-green::before{background:conic-gradient(from 0deg,#22C55E,#FDE68A,#4ADE80,#22C55E);box-shadow:0 0 12px rgba(34,197,94,.45)}
.rank-av-ring .rank-av{position:relative;z-index:1;display:block;width:2.6rem!important;height:2.6rem!important;min-width:2.6rem!important;min-height:2.6rem!important;border-radius:50%!important;object-fit:cover;object-position:center;aspect-ratio:1/1;overflow:hidden;clip-path:circle(50% at 50% 50%);background:#fff;border:0!important;box-shadow:0 0 0 2px #fff}
.rank-av-ring .rank-av.fallback{border-radius:50%!important;clip-path:circle(50% at 50% 50%)}

.kchat-foot.is-locked{opacity:.72;pointer-events:none}
.kchat-foot.is-locked input,.kchat-foot.is-locked button{cursor:not-allowed}
html.kchat-typing{overscroll-behavior:none}
.kchat-typing .kchat-dots{display:inline-flex;gap:0.28rem;align-items:center;padding:0.15rem 0.1rem}
.kchat-typing .kchat-dots i{width:0.4rem;height:0.4rem;border-radius:50%;background:#86EFAC;opacity:.45;animation:kchatDot 1.1s ease-in-out infinite}
.kchat-typing .kchat-dots i:nth-child(2){animation-delay:.15s}
.kchat-typing .kchat-dots i:nth-child(3){animation-delay:.3s}
@keyframes kchatDot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.kchat-imgs{display:grid;gap:0.45rem;margin-top:0.55rem}
.kchat-guide{width:100%;max-height:9.5rem;object-fit:cover;border-radius:0.75rem;border:1px solid rgba(0,0,0,.06);background:#F3F4F6}
.kchat-bubble.bot .kchat-text{white-space:pre-wrap}

/* Admin summon overlay */
.kngx-summon{position:fixed;inset:0;z-index:400;display:flex;align-items:center;justify-content:center;padding:1.25rem;background:rgba(16,20,24,.55);backdrop-filter:blur(6px)}
.kngx-summon[hidden]{display:none!important}
.kngx-summon-card{width:min(22rem,100%);background:#fff;border-radius:1.1rem;padding:1.35rem 1.25rem 1.15rem;box-shadow:0 18px 50px rgba(0,0,0,.22);text-align:center}
.kngx-summon-mark{width:2.6rem;height:2.6rem;margin:0 auto .75rem;border-radius:999px;background:#EFF6FF;color:#1D4ED8;font-weight:800;font-size:1.25rem;display:flex;align-items:center;justify-content:center}
.kngx-summon-card h2{margin:0 0 .45rem;font-size:1.15rem;letter-spacing:-.02em}
.kngx-summon-msg{margin:0 0 1rem;color:#4B5563;font-size:.92rem;line-height:1.45}
.kngx-summon-hint{margin:.75rem 0 0;font-size:.72rem;color:#9CA3AF;line-height:1.35}
html.kngx-summon-on{overflow:hidden}

/* Rank expand: square card + owner flex */
.rank-modal-panel.is-owner-modal{
  background:
    radial-gradient(120% 80% at 10% -10%, rgba(253,224,71,.28), transparent 42%),
    radial-gradient(100% 70% at 110% 0%, rgba(34,197,94,.22), transparent 45%),
    linear-gradient(165deg, #052e16 0%, #0f172a 42%, #052e16 100%);
  color:#ECFDF5;
  border:1px solid rgba(74,222,128,.45);
  box-shadow:
    0 0 0 1px rgba(253,224,71,.35),
    0 0 40px rgba(34,197,94,.35),
    0 0 80px rgba(253,224,71,.18),
    0 24px 60px rgba(0,0,0,.35);
  overflow:hidden;
}
.rank-modal-panel.is-owner-modal::before{
  content:"";position:absolute;inset:-40%;
  background:conic-gradient(from 0deg, transparent 0 70%, rgba(253,224,71,.35), rgba(34,197,94,.45), transparent 100%);
  animation:kngxOwnerSweep 6s linear infinite;
  opacity:.55;pointer-events:none;z-index:0;
}
.rank-modal-panel.is-owner-modal::after{
  content:"";position:absolute;inset:0;
  background-image:
    radial-gradient(1.5px 1.5px at 12% 18%, rgba(255,255,255,.9), transparent),
    radial-gradient(1.5px 1.5px at 78% 22%, rgba(253,224,71,.95), transparent),
    radial-gradient(1.2px 1.2px at 32% 72%, rgba(167,243,208,.9), transparent),
    radial-gradient(1.4px 1.4px at 88% 68%, rgba(255,255,255,.75), transparent),
    radial-gradient(1px 1px at 55% 40%, rgba(253,224,71,.85), transparent),
    radial-gradient(1.3px 1.3px at 20% 88%, rgba(74,222,128,.9), transparent);
  animation:kngxSparkle 2.8s ease-in-out infinite alternate;
  pointer-events:none;z-index:0;opacity:.85;
}
@keyframes kngxOwnerSweep{to{transform:rotate(360deg)}}
@keyframes kngxSparkle{from{opacity:.45;transform:scale(1)}to{opacity:1;transform:scale(1.04)}}
.rank-modal-panel.is-owner-modal > *{position:relative;z-index:1}
.rank-modal-panel.is-owner-modal .rank-modal-x{color:#A7F3D0}
.rank-modal-panel.is-owner-modal .hint,
.rank-modal-panel.is-owner-modal .rank-joined{color:rgba(236,253,245,.72)!important}
.rank-modal-panel.is-owner-modal .rank-tag.live{
  background:linear-gradient(90deg,#22C55E,#FDE68A,#4ADE80);
  background-size:200% auto;animation:kngxNitroShift 3s linear infinite;
  color:#052e16;border:0;font-weight:900;
}
.rank-modal-panel.is-owner-modal .rank-stats div{
  background:rgba(15,23,42,.55);
  border:1px solid rgba(74,222,128,.28);
  box-shadow:inset 0 0 0 1px rgba(253,224,71,.12), 0 8px 24px rgba(0,0,0,.2);
  backdrop-filter:blur(8px);
}
.rank-modal-panel.is-owner-modal .rank-stats em{color:rgba(167,243,208,.75)}
.rank-modal-panel.is-owner-modal .rank-stats b{color:#F0FDF4;text-shadow:0 0 12px rgba(34,197,94,.35)}
.rank-modal-panel.is-owner-modal .rank-stats b.up{color:#4ADE80;text-shadow:0 0 14px rgba(74,222,128,.55)}
.rank-modal-panel.is-owner-modal .rank-social{border-top-color:rgba(74,222,128,.25)}
.rank-modal-panel.is-owner-modal .rank-social > em{color:rgba(167,243,208,.7)}
.rank-modal-panel.is-owner-modal .rank-soc{
  background:linear-gradient(135deg,#14532D,#052e16);
  border:1px solid rgba(253,224,71,.35);
  box-shadow:0 0 16px rgba(34,197,94,.25);
}
.rank-modal-panel.is-owner-modal .rank-soc:hover{background:linear-gradient(135deg,#22C55E,#15803D);color:#052e16}
.rank-owner-chip{
  display:inline-flex;align-items:center;gap:0.3rem;margin-top:0.35rem;
  padding:0.22rem 0.55rem;border-radius:999px;font-size:0.68rem;font-weight:900;
  letter-spacing:.08em;text-transform:uppercase;
  background:linear-gradient(90deg,#FDE68A,#22C55E,#FDE68A);background-size:200% auto;
  color:#052e16;animation:kngxNitroShift 2.4s linear infinite;
  box-shadow:0 0 18px rgba(253,224,71,.45);
}
.rank-owner-chip[hidden]{display:none!important}
.rank-modal-panel.is-owner-modal #rank-m-avwrap,
.rank-modal-panel.is-owner-modal .kngx-avatar-fx.fx-owner{
  width:5.6rem;height:5.6rem;padding:0.2rem;
}
.rank-modal-panel.is-owner-modal .kngx-avatar-fx.fx-owner::before{
  content:"";position:absolute;inset:-7px;border-radius:50%;
  background:conic-gradient(from 180deg,#FDE68A,#22C55E,#A7F3D0,#FDE68A,#22C55E);
  animation:kngxSpin 2.4s linear infinite reverse;z-index:0;opacity:.95;
  filter:blur(0.2px);
}
.rank-modal-panel.is-owner-modal .kngx-avatar-fx.fx-owner::after{
  inset:-3px;
  background:conic-gradient(from 0deg,#22C55E,#FDE68A,#4ADE80,#86EFAC,#22C55E);
  animation:kngxSpin 1.8s linear infinite;
  box-shadow:0 0 24px rgba(34,197,94,.55),0 0 40px rgba(253,224,71,.3);
}
.rank-modal-panel.is-owner-modal .rank-av.lg{
  width:4.6rem!important;height:4.6rem!important;min-width:4.6rem!important;min-height:4.6rem!important;
  box-shadow:0 0 0 3px #052e16,0 0 0 5px #FDE68A,0 0 28px rgba(34,197,94,.65)!important;
  animation:kngxAvatarPulse 2.2s ease-in-out infinite;
}
.rank-modal-panel.is-owner-modal .rank-m-name b{
  font-size:1.35rem;letter-spacing:-.02em;
  filter:drop-shadow(0 0 10px rgba(34,197,94,.55));
}
.rank-modal-panel.is-owner-modal .kngx-crown-badge{
  width:1.35rem;height:1.35rem;
  filter:drop-shadow(0 0 8px rgba(253,224,71,.85)) drop-shadow(0 0 12px rgba(34,197,94,.55));
  animation:kngxCrownBob 2s ease-in-out infinite;
}
@keyframes kngxCrownBob{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-3px) rotate(6deg)}}
@media(max-width:420px){
  .rank-modal-panel.rank-modal-lg{width:min(22rem,94vw);padding:1.1rem}
  .rank-modal-panel.is-owner-modal .rank-m-name b{font-size:1.15rem}
}


/* Blackchip mega modal — blue theme (same energy as owner, not Owner badge) */
.rank-modal-panel.is-blue-modal{
  background:
    radial-gradient(120% 80% at 10% -10%, rgba(56,189,248,.28), transparent 42%),
    radial-gradient(100% 70% at 110% 0%, rgba(14,165,233,.22), transparent 45%),
    linear-gradient(165deg, #0c4a6e 0%, #0f172a 42%, #082f49 100%);
  color:#E0F2FE;
  border:1px solid rgba(56,189,248,.5);
  box-shadow:
    0 0 0 1px rgba(125,211,252,.35),
    0 0 40px rgba(14,165,233,.4),
    0 0 80px rgba(56,189,248,.2),
    0 24px 60px rgba(0,0,0,.35);
  overflow:hidden;
}
.rank-modal-panel.is-blue-modal::before{
  content:"";position:absolute;inset:-40%;
  background:conic-gradient(from 0deg, transparent 0 70%, rgba(125,211,252,.4), rgba(14,165,233,.5), transparent 100%);
  animation:kngxOwnerSweep 6s linear infinite;
  opacity:.55;pointer-events:none;z-index:0;
}
.rank-modal-panel.is-blue-modal::after{
  content:"";position:absolute;inset:0;
  background-image:
    radial-gradient(1.5px 1.5px at 12% 18%, rgba(255,255,255,.9), transparent),
    radial-gradient(1.5px 1.5px at 78% 22%, rgba(56,189,248,.95), transparent),
    radial-gradient(1.2px 1.2px at 32% 72%, rgba(186,230,253,.9), transparent),
    radial-gradient(1.4px 1.4px at 88% 68%, rgba(255,255,255,.75), transparent),
    radial-gradient(1px 1px at 55% 40%, rgba(14,165,233,.85), transparent),
    radial-gradient(1.3px 1.3px at 20% 88%, rgba(56,189,248,.9), transparent);
  animation:kngxSparkle 2.8s ease-in-out infinite alternate;
  pointer-events:none;z-index:0;opacity:.85;
}
.rank-modal-panel.is-blue-modal > *{position:relative;z-index:1}
.rank-modal-panel.is-blue-modal .rank-modal-x{color:#BAE6FD}
.rank-modal-panel.is-blue-modal .hint,
.rank-modal-panel.is-blue-modal .rank-joined{color:rgba(224,242,254,.72)!important}
.rank-modal-panel.is-blue-modal .rank-tag.live{
  background:linear-gradient(90deg,#0EA5E9,#7DD3FC,#38BDF8);
  background-size:200% auto;animation:kngxNitroShift 3s linear infinite;
  color:#082f49;border:0;font-weight:900;
}
.rank-modal-panel.is-blue-modal .rank-stats div{
  background:rgba(15,23,42,.55);
  border:1px solid rgba(56,189,248,.3);
  box-shadow:inset 0 0 0 1px rgba(125,211,252,.14), 0 8px 24px rgba(0,0,0,.2);
  backdrop-filter:blur(8px);
}
.rank-modal-panel.is-blue-modal .rank-stats em{color:rgba(186,230,253,.75)}
.rank-modal-panel.is-blue-modal .rank-stats b{color:#F0F9FF;text-shadow:0 0 12px rgba(14,165,233,.4)}
.rank-modal-panel.is-blue-modal .rank-stats b.up{color:#38BDF8;text-shadow:0 0 14px rgba(56,189,248,.6)}
.rank-modal-panel.is-blue-modal #rank-m-avwrap,
.rank-modal-panel.is-blue-modal .kngx-avatar-fx.fx-blue{
  width:5.6rem;height:5.6rem;padding:0.2rem;
}
.rank-modal-panel.is-blue-modal .kngx-avatar-fx.fx-blue::before{
  content:"";position:absolute;inset:-7px;border-radius:50%;
  background:conic-gradient(from 180deg,#7DD3FC,#0EA5E9,#E0F2FE,#38BDF8,#0EA5E9);
  animation:kngxSpin 2.4s linear infinite reverse;z-index:0;opacity:.95;
}
.rank-modal-panel.is-blue-modal .kngx-avatar-fx.fx-blue::after{
  inset:-3px;
  background:conic-gradient(from 0deg,#38BDF8,#E0F2FE,#0EA5E9,#7DD3FC,#38BDF8);
  animation:kngxSpin 1.8s linear infinite;
  box-shadow:0 0 24px rgba(14,165,233,.55),0 0 40px rgba(56,189,248,.35);
}
.rank-modal-panel.is-blue-modal .rank-av.lg{
  width:4.6rem!important;height:4.6rem!important;min-width:4.6rem!important;min-height:4.6rem!important;
  box-shadow:0 0 0 3px #082f49,0 0 0 5px #7DD3FC,0 0 28px rgba(14,165,233,.7)!important;
  animation:kngxAvatarPulse 2.2s ease-in-out infinite;
}
.rank-modal-panel.is-blue-modal .rank-m-name b{
  font-size:1.35rem;letter-spacing:-.02em;
  filter:drop-shadow(0 0 10px rgba(56,189,248,.6));
}
.rank-modal-panel.is-blue-modal .kngx-crown-badge{
  width:1.35rem;height:1.35rem;
  filter:drop-shadow(0 0 8px rgba(125,211,252,.9)) drop-shadow(0 0 12px rgba(14,165,233,.55));
  animation:kngxCrownBob 2s ease-in-out infinite;
}

/* Skyledger mega modal — pink theme */
.rank-modal-panel.is-pink-modal{
  background:
    radial-gradient(120% 80% at 10% -10%, rgba(244,114,182,.3), transparent 42%),
    radial-gradient(100% 70% at 110% 0%, rgba(236,72,153,.22), transparent 45%),
    linear-gradient(165deg, #831843 0%, #0f172a 42%, #500724 100%);
  color:#FCE7F3;
  border:1px solid rgba(244,114,182,.5);
  box-shadow:
    0 0 0 1px rgba(249,168,212,.35),
    0 0 40px rgba(236,72,153,.4),
    0 0 80px rgba(244,114,182,.2),
    0 24px 60px rgba(0,0,0,.35);
  overflow:hidden;
}
.rank-modal-panel.is-pink-modal::before{
  content:"";position:absolute;inset:-40%;
  background:conic-gradient(from 0deg, transparent 0 70%, rgba(249,168,212,.4), rgba(236,72,153,.5), transparent 100%);
  animation:kngxOwnerSweep 6s linear infinite;
  opacity:.55;pointer-events:none;z-index:0;
}
.rank-modal-panel.is-pink-modal::after{
  content:"";position:absolute;inset:0;
  background-image:
    radial-gradient(1.5px 1.5px at 12% 18%, rgba(255,255,255,.9), transparent),
    radial-gradient(1.5px 1.5px at 78% 22%, rgba(244,114,182,.95), transparent),
    radial-gradient(1.2px 1.2px at 32% 72%, rgba(252,231,243,.9), transparent),
    radial-gradient(1.4px 1.4px at 88% 68%, rgba(255,255,255,.75), transparent),
    radial-gradient(1px 1px at 55% 40%, rgba(236,72,153,.85), transparent),
    radial-gradient(1.3px 1.3px at 20% 88%, rgba(244,114,182,.9), transparent);
  animation:kngxSparkle 2.8s ease-in-out infinite alternate;
  pointer-events:none;z-index:0;opacity:.85;
}
.rank-modal-panel.is-pink-modal > *{position:relative;z-index:1}
.rank-modal-panel.is-pink-modal .rank-modal-x{color:#FBCFE8}
.rank-modal-panel.is-pink-modal .hint,
.rank-modal-panel.is-pink-modal .rank-joined{color:rgba(252,231,243,.72)!important}
.rank-modal-panel.is-pink-modal .rank-tag.live{
  background:linear-gradient(90deg,#EC4899,#F9A8D4,#F472B6);
  background-size:200% auto;animation:kngxNitroShift 3s linear infinite;
  color:#500724;border:0;font-weight:900;
}
.rank-modal-panel.is-pink-modal .rank-stats div{
  background:rgba(15,23,42,.55);
  border:1px solid rgba(244,114,182,.3);
  box-shadow:inset 0 0 0 1px rgba(249,168,212,.14), 0 8px 24px rgba(0,0,0,.2);
  backdrop-filter:blur(8px);
}
.rank-modal-panel.is-pink-modal .rank-stats em{color:rgba(251,207,232,.75)}
.rank-modal-panel.is-pink-modal .rank-stats b{color:#FDF2F8;text-shadow:0 0 12px rgba(236,72,153,.4)}
.rank-modal-panel.is-pink-modal .rank-stats b.up{color:#F472B6;text-shadow:0 0 14px rgba(244,114,182,.6)}
.rank-modal-panel.is-pink-modal #rank-m-avwrap,
.rank-modal-panel.is-pink-modal .kngx-avatar-fx.fx-pink{
  width:5.6rem;height:5.6rem;padding:0.2rem;
}
.rank-modal-panel.is-pink-modal .kngx-avatar-fx.fx-pink::before{
  content:"";position:absolute;inset:-7px;border-radius:50%;
  background:conic-gradient(from 180deg,#F9A8D4,#EC4899,#FCE7F3,#F472B6,#EC4899);
  animation:kngxSpin 2.4s linear infinite reverse;z-index:0;opacity:.95;
}
.rank-modal-panel.is-pink-modal .kngx-avatar-fx.fx-pink::after{
  inset:-3px;
  background:conic-gradient(from 0deg,#F472B6,#FCE7F3,#EC4899,#F9A8D4,#F472B6);
  animation:kngxSpin 1.8s linear infinite;
  box-shadow:0 0 24px rgba(236,72,153,.55),0 0 40px rgba(244,114,182,.35);
}
.rank-modal-panel.is-pink-modal .rank-av.lg{
  width:4.6rem!important;height:4.6rem!important;min-width:4.6rem!important;min-height:4.6rem!important;
  box-shadow:0 0 0 3px #500724,0 0 0 5px #F9A8D4,0 0 28px rgba(236,72,153,.7)!important;
  animation:kngxAvatarPulse 2.2s ease-in-out infinite;
}
.rank-modal-panel.is-pink-modal .rank-m-name b{
  font-size:1.35rem;letter-spacing:-.02em;
  filter:drop-shadow(0 0 10px rgba(244,114,182,.6));
}
.rank-modal-panel.is-pink-modal .kngx-crown-badge{
  width:1.35rem;height:1.35rem;
  filter:drop-shadow(0 0 8px rgba(249,168,212,.9)) drop-shadow(0 0 12px rgba(236,72,153,.55));
  animation:kngxCrownBob 2s ease-in-out infinite;
}
.rank-elite-chip{
  display:inline-flex;align-items:center;gap:0.3rem;margin-top:0.35rem;
  padding:0.22rem 0.55rem;border-radius:999px;font-size:0.68rem;font-weight:900;
  letter-spacing:.08em;text-transform:uppercase;
  background-size:200% auto;animation:kngxNitroShift 2.4s linear infinite;
}
.rank-elite-chip.chip-blue{
  background-image:linear-gradient(90deg,#7DD3FC,#0EA5E9,#7DD3FC);
  color:#082f49;box-shadow:0 0 18px rgba(56,189,248,.5);
}
.rank-elite-chip.chip-pink{
  background-image:linear-gradient(90deg,#F9A8D4,#EC4899,#F9A8D4);
  color:#500724;box-shadow:0 0 18px rgba(244,114,182,.5);
}
.rank-elite-chip[hidden]{display:none!important}
@media(max-width:420px){
  .rank-modal-panel.is-blue-modal .rank-m-name b,
  .rank-modal-panel.is-pink-modal .rank-m-name b{font-size:1.15rem}
}

/* Keep Headway orb prominent when assistant opens */
.kchat.open .kchat-orb{display:block;width:min(15rem,78%);margin:0.55rem auto 0.75rem;opacity:1}
.kchat.open .kchat-body:not(.chatting){justify-content:flex-start}
.kchat.open .kchat-body:not(.chatting) .kchat-bubble.bot:first-of-type{align-self:center;max-width:92%;text-align:center;background:transparent;border:0;padding:0.25rem 0.5rem 0.15rem}
.kchat.open .kchat-fab{background:transparent;box-shadow:none}
.kchat.open .kchat-fab .kchat-fab-ring{display:block;opacity:.95}
.kchat.open .kchat-fab .kchat-ico-x{display:block;background:#fff;border-radius:50%;padding:0.35rem;box-shadow:0 0.35rem 0.9rem rgba(16,20,24,.16)}
.kchat.open .kchat-fab::before,.kchat.open .kchat-fab::after{display:block;opacity:.9}

/* Weekend: chart access (trading locked in terminal) */
.tradebtn.mc-chart{opacity:1;cursor:pointer}
.tradebtn.mc-off{opacity:.55;cursor:not-allowed}


/* === fin1: sheet admin + rank scroll/avatar + responsive === */
.sheet-wrap{background:#FFFEF9;border:1px solid #E5E7EB;border-radius:0.55rem;overflow:auto}
.sheet-table{width:100%;border-collapse:collapse;font-family:Manrope,system-ui,sans-serif;font-size:13px;background:#FFFEF9}
.sheet-table thead th{position:sticky;top:0;z-index:2;background:#F9FAFB;border-bottom:1px solid #E5E7EB;border-right:1px solid #E5E7EB;padding:0.45rem 0.55rem;font-weight:600;text-align:left}
.sheet-table td{border-bottom:1px solid #E5E7EB;border-right:1px solid #E5E7EB;padding:0.4rem 0.55rem}
.sheet-table tbody tr:nth-child(even){background:#FCFBF7}
.sheet-table tbody tr:hover{background:#EEF2FF}
.sheet-name{appearance:none;border:0;background:transparent;color:#1D4ED8;font:inherit;font-weight:600;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}

.rank-modal-panel.rank-modal-lg{aspect-ratio:auto;max-height:min(90dvh,40rem);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.rank-modal-panel.is-owner-modal::before,
.rank-modal-panel.is-blue-modal::before,
.rank-modal-panel.is-pink-modal::before,
.rank-modal-panel.is-owner-modal::after,
.rank-modal-panel.is-blue-modal::after,
.rank-modal-panel.is-pink-modal::after{pointer-events:none}

.rank-av-ring,
.kngx-avatar-fx{display:inline-flex;align-items:center;justify-content:center}
.rank-av,
.rank-av.lg{object-fit:cover;object-position:50% 42%;margin:0 auto}
.rank-modal-panel .rank-av-ring,
.rank-modal-panel #rank-m-avwrap{margin-inline:auto;display:flex;justify-content:center}

@media (max-width:48rem){
  :root{--pad:0.75rem}
  .main{padding:0.85rem var(--pad)}
  .admin-table,.sheet-table{font-size:12px}
  .sheet-wrap,.admin-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .care-admin{display:flex;flex-direction:column;gap:0.75rem}
  .care-list{max-height:12rem}
  .sheet-wrap{margin-inline:calc(-1 * var(--pad));border-radius:0;border-left:0;border-right:0}
  .abar .right{flex-wrap:wrap}
}

/* kngx-futuristic-orb-v2 */
.kchat{position:fixed;right:max(1.1rem,env(safe-area-inset-right));bottom:max(1.1rem,env(safe-area-inset-bottom));z-index:240;overflow:visible}
.kchat-fab{position:relative;width:4.25rem;height:4.25rem;border-radius:50%;border:0;cursor:pointer;background:radial-gradient(circle at 40% 35%,#163528 0%,#0b1210 62%,#050807 100%);box-shadow:0 0 0 1px rgba(34,197,94,.35),0 0 28px rgba(34,197,94,.35),0 .6rem 1.4rem rgba(0,0,0,.35);isolation:isolate;overflow:visible;display:grid;place-items:center}
.kchat-fab-core{display:block!important;width:1.05rem;height:1.05rem;border-radius:50%;background:radial-gradient(circle,#86efac 0%,#22c55e 45%,#15803d 100%);box-shadow:0 0 16px rgba(74,222,128,.95),0 0 2px #bbf7d0;position:relative;z-index:3}
.kchat-fab-ring,.kchat-fab::before,.kchat-fab::after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.kchat-fab-ring{inset:-3px;border:2px solid transparent;background:conic-gradient(from 0deg,#22c55e,#4ade80,transparent 40%,#86efac,#22c55e) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:kcareSpin 3.2s linear infinite;z-index:2;opacity:.95}
.kchat-fab::before{inset:-9px;border:1.5px solid transparent;background:conic-gradient(from 180deg,transparent 10%,#4ade80,transparent 45%,#22c55e,transparent 80%) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:kcareSpin 5.2s linear infinite reverse;opacity:.7;z-index:1}
.kchat-fab::after{inset:-16px;background:radial-gradient(circle,rgba(34,197,94,.35) 0%,rgba(34,197,94,.08) 42%,transparent 68%);animation:kcareGlow 2.6s ease-in-out infinite;z-index:0}
.kchat-fab:hover{transform:scale(1.06)}
.kchat-fab:hover .kchat-fab-ring{animation-duration:2.1s}
.kchat.open .kchat-fab .kchat-fab-core{display:none!important}
@media (prefers-reduced-motion:reduce){
  .kchat-fab-ring,.kchat-fab::before,.kchat-fab::after{animation:none}
}
/* Homepage legacy .fab matches Care orb */
.fab{position:fixed;right:max(1.1rem,env(safe-area-inset-right));bottom:max(1.1rem,env(safe-area-inset-bottom));z-index:70;width:4.25rem;height:4.25rem;border-radius:50%;border:0;background:radial-gradient(circle at 40% 35%,#163528 0%,#0b1210 62%,#050807 100%);color:#86efac;display:grid;place-items:center;box-shadow:0 0 0 1px rgba(34,197,94,.35),0 0 28px rgba(34,197,94,.35),0 .6rem 1.4rem rgba(0,0,0,.35);isolation:isolate;overflow:visible}
.fab svg{width:1.35rem;height:1.35rem;position:relative;z-index:3}
.fab::before{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid transparent;background:conic-gradient(from 0deg,#22c55e,#4ade80,transparent 40%,#86efac,#22c55e) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:kcareSpin 3.2s linear infinite;pointer-events:none}
.fab::after{content:"";position:absolute;inset:-16px;border-radius:50%;background:radial-gradient(circle,rgba(34,197,94,.35) 0%,rgba(34,197,94,.08) 42%,transparent 68%);animation:kcareGlow 2.6s ease-in-out infinite;pointer-events:none;z-index:-1}
@media (prefers-reduced-motion:reduce){.fab::before,.fab::after{animation:none}}


/* kngx-mobile-calm */
@media (max-width: 56.25rem) {
  .kchat-fab, .fab {
    width: 3.25rem !important;
    height: 3.25rem !important;
    transform: none !important;
  }
  .kchat-fab::before, .kchat-fab::after, .kchat-fab-ring,
  .fab::before, .fab::after,
  .kchat-orb i {
    animation: none !important;
  }
  .kchat-fab::after, .fab::after {
    inset: -8px !important;
    opacity: .45 !important;
  }
  /* kill layout thrash */
  .kchat { overflow: visible; }
}
@media (prefers-reduced-motion: reduce) {
  .kchat-fab::before, .kchat-fab::after, .kchat-fab-ring, .fab::before, .fab::after, .kchat-orb i {
    animation: none !important;
  }
}
