/* Layout: one phone-width app column. Photo-forward match cards; every profile carries a "Roots → Lives" line. Rose palette with a champagne accent for premium. */
:root{
  --bg:#F7F8F5; --outer:#EEF2EE; --surface:#FFFFFF; --sunk:#EEF4EF; --ink:#14231C; --muted:#5E6E66; --line:#E3E9E5;
  --rose:#0E9F6E; --rose-2:#8DEBC3; --rose-deep:#0B6B4A; --rose-soft:#E3F7EE; --on-rose:#FFFFFF;
  --peach:#FFB79C; --peach-soft:#FFF1E9; --gold:#B8863A; --gold-soft:#FCF1DE;
  --good:#2D8A61; --warn:#A86B12; --bad:#C8384A; --bad-soft:#FDE6E8;
  --grad:linear-gradient(135deg,#8DEBC3 0%,#3BBF8A 52%,#0E7A55 100%);
  --grad-warm:linear-gradient(135deg,#FFC9AE 0%,#8DEBC3 50%,#3BBF8A 100%);
  --shadow:0 1px 2px rgba(120,30,60,.05),0 12px 30px -16px rgba(14,122,85,.28);
  --shadow-rose:0 12px 26px -10px rgba(14,159,110,.55);
  --f-display:"Lora","Iowan Old Style",Georgia,serif;
  --f-body:"Nunito Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-script:"Great Vibes","Snell Roundhand","Apple Chancery",cursive;
  color-scheme:light;
}
html{height:100%;box-sizing:border-box;--sat:max(env(safe-area-inset-top,0px),var(--safe-area-inset-top,0px));--sab:max(env(safe-area-inset-bottom,0px),var(--safe-area-inset-bottom,0px));padding-top:var(--sat);padding-bottom:var(--sab);background:#F7F8F5}
/* 29 Oct (his report: app went under the phone's status bar): keep everything below the status bar and above the gesture bar on edge-to-edge Android. */
*,*::before,*::after{box-sizing:border-box}
body{height:100%;margin:0;background:var(--outer);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:2px solid var(--rose);outline-offset:2px}
h1,h2,h3,h4{text-wrap:balance;margin:0}
p{margin:0}
.ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ic.fill{fill:currentColor;stroke:none}
#app{max-width:480px;height:var(--app-h,100%);margin:0 auto;background:radial-gradient(120% 50% at 50% -8%,#FFE4EA 0%,rgba(255,228,234,0) 70%),var(--bg);position:relative;display:flex;flex-direction:column;overflow:hidden;overflow:clip}
@media (min-width:520px){#app{border-left:1px solid var(--line);border-right:1px solid var(--line);box-shadow:0 0 60px -30px rgba(160,30,70,.35)}}
.pad{padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}
.scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.serif{font-family:var(--f-display);font-weight:500;letter-spacing:-.01em}

/* Brand */
.brand{display:flex;align-items:center;gap:9px;font-family:var(--f-display);font-weight:600;font-size:22px;letter-spacing:-.01em}
.mark{width:32px;height:22px;flex:none}
.mark circle,.mark path{fill:none;stroke-width:2.2;stroke-linejoin:round}
.mark .c1{stroke:var(--rose)} .mark .c2{stroke:var(--gold)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:999px;padding:12px 20px;font-weight:700;font-size:15px;background:var(--sunk);color:var(--ink);min-height:48px;transition:transform .1s,box-shadow .15s,background .15s;letter-spacing:.01em}
.btn:active{transform:scale(.97)}
.btn.primary{background:var(--grad);color:var(--on-rose);box-shadow:var(--shadow-rose)}
.btn.gold{background:linear-gradient(135deg,#E9C77F,#B08236);color:#241603;box-shadow:0 10px 22px -12px rgba(176,130,54,.8)}
.btn.ghost{background:var(--surface);border-color:var(--line)}
.btn.danger{background:var(--bad);color:#fff}
.btn.block{width:100%}
.btn.sm{min-height:38px;padding:8px 14px;font-size:14px}
.btn[disabled]{opacity:.45;cursor:not-allowed;box-shadow:none}
.iconbtn{width:42px;height:42px;border-radius:50%;border:0;background:transparent;display:inline-grid;place-items:center;color:var(--ink);position:relative;flex:none}
.iconbtn:hover{background:var(--sunk)}
.iconbtn.soft{background:var(--surface);box-shadow:var(--shadow);border:1px solid var(--line)}
.link{background:none;border:0;padding:0;color:var(--rose);font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* Welcome */
.welcome{display:flex;flex-direction:column;gap:24px;padding-block:22px 28px}
.hero{position:relative;border-radius:30px;background:var(--grad);overflow:hidden;color:#fff;padding:22px 20px 20px;display:grid;gap:16px;box-shadow:var(--shadow-rose)}
.hero::before{content:"";position:absolute;inset:-40% -30% auto auto;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.35),transparent 65%)}
.hero-pair{position:relative;height:150px}
.hero-pair .av{position:absolute;top:8px;width:118px;height:140px;border-radius:26px;border:3px solid rgba(255,255,255,.9);box-shadow:0 14px 30px -12px rgba(60,0,20,.55)}
.hero-pair .a1{left:calc(50% - 124px);transform:rotate(-7deg)}
.hero-pair .a2{left:calc(50% + 6px);transform:rotate(6deg)}
.hero-pair .match{position:absolute;left:50%;top:58px;transform:translateX(-50%);background:#fff;color:var(--rose-deep);font-weight:800;font-size:13px;padding:8px 12px;border-radius:999px;box-shadow:0 8px 20px -8px rgba(60,0,20,.5);display:flex;gap:5px;align-items:center;white-space:nowrap;z-index:2}
.hero-pair .match .ic{width:15px;height:15px}
.hero-tags{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;position:relative}
.hero-tags span{font-size:12px;font-weight:700;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.18);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.welcome h1{font-family:var(--f-display);font-weight:500;font-size:36px;line-height:1.06;letter-spacing:-.01em}
.welcome h1 em{font-family:var(--f-script);font-style:normal;font-weight:400;font-size:1.32em;line-height:.8;letter-spacing:0;color:var(--rose);white-space:nowrap}
.welcome .lede{color:var(--muted);font-size:16px;max-width:40ch}
.points{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0;padding:0;list-style:none}
.points li{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:14px;display:grid;gap:8px;align-content:start;box-shadow:var(--shadow)}
.points .pi{width:36px;height:36px;border-radius:12px;background:var(--rose-soft);color:var(--rose);display:grid;place-items:center}
.points b{display:block;font-weight:700;font-size:14.5px;line-height:1.25}
.points span{color:var(--muted);font-size:13px;line-height:1.4}
@media (max-width:340px){.points{grid-template-columns:1fr}}
.note{font-size:13px;color:var(--muted)}
.cta{display:grid;gap:10px}

/* Signup */
.su-head{padding-block:10px 12px;display:flex;align-items:flex-start;gap:6px;background:transparent}
.su-head .t{flex:1;min-width:0;padding-top:4px}
.su-offer{display:flex;gap:8px;align-items:center;margin:8px 0 0;padding:7px 10px;border-radius:12px;background:var(--gold-soft,#FCF1DE);color:var(--ink);font-size:12.5px;line-height:1.3}.su-offer .ic{width:16px;height:16px;flex:none;stroke:var(--gold,#B8863A)}
.su-trust{display:flex;gap:9px;align-items:flex-start;margin:0 0 14px;padding:10px 12px;border-radius:14px;background:var(--surface);border:1px solid var(--line);font-size:13px;line-height:1.35;color:var(--ink)}.su-trust .ic{flex:none;width:18px;height:18px;stroke:var(--good,#2D8A61);margin-top:1px}.q3{display:grid;gap:12px;padding:14px;border-radius:18px;background:var(--rose-soft,#E3F7EE);margin-bottom:16px}.q3-h{margin:0;display:flex;justify-content:space-between;align-items:baseline;gap:8px}.q3-h b{font-size:15px}.q3-h small{font-size:12px;color:var(--muted)}
.su-head small{color:var(--rose);font-size:12px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}
.su-head h2{font-family:var(--f-display);font-weight:500;font-size:26px;letter-spacing:-.01em;margin-top:2px}
.progress{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin-top:10px}
.progress i{height:4px;border-radius:4px;background:var(--line)}
.progress i.on{background:var(--grad)}
.form{display:grid;gap:18px;padding-block:8px 30px}
.fld{display:grid;gap:7px;min-width:0}
.flabel,.fld>span:first-child{font-size:13px;font-weight:700;color:var(--muted)}
.fld input,.fld textarea,.pick{width:100%;border:1.5px solid var(--line);background:var(--surface);border-radius:16px;padding:12px 14px;min-height:52px;font-size:16px;transition:border-color .15s,box-shadow .15s}
.fld input:focus,.fld textarea:focus{outline:none;border-color:var(--rose);box-shadow:0 0 0 4px var(--rose-soft)}
.fld textarea{min-height:110px;resize:vertical}
.pick{display:flex;align-items:center;gap:10px;text-align:left;color:var(--ink)}
.pick .pv{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pick.empty .pv{color:var(--muted)}
.pick .ic{color:var(--muted);width:18px;height:18px}
.pick[disabled]{opacity:.55;cursor:not-allowed;background:var(--sunk)}
.pick:not([disabled]):active{border-color:var(--rose)}
.fld.has-err input,.fld.has-err textarea,.fld.has-err .pick,.has-err .opts{border-color:var(--bad)}
.err{color:var(--bad);font-size:13px;font-weight:600}
.hint{color:var(--muted);font-size:13px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.row2>*,.sheet-b>*,.form>*,.main-inner>*,.plist>*,.fld>*{min-width:0}
.section-t{font-family:var(--f-display);font-weight:500;font-size:21px;margin-top:4px}
.q{border:0;margin:0;padding:0;display:grid;gap:8px;min-width:0}
.q legend{font-weight:700;font-size:15.5px;padding:0;margin-bottom:10px}
.opts{display:grid;gap:8px;border:1.5px solid transparent;border-radius:16px}
.opt{position:relative;display:block}
.opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.opt span{display:block;padding:12px 14px;border:1.5px solid var(--line);border-radius:16px;background:var(--surface);font-size:14.5px;transition:all .12s}
.opt input:checked+span{border-color:var(--rose);background:var(--rose-soft);font-weight:700;color:var(--ink)}
.opt input:focus-visible+span{outline:2px solid var(--rose);outline-offset:2px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips .opt span{padding:10px 16px;border-radius:999px}
.segopts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.segopts.has-err .opt span{border-color:var(--bad)}
.su-foot{display:flex;gap:10px;padding-block:12px 14px;border-top:1px solid var(--line);background:var(--bg)}
.su-foot .btn{flex:1}
.vcard{border:1px solid var(--line);background:var(--surface);border-radius:22px;padding:16px;display:grid;gap:10px;box-shadow:var(--shadow)}
.vcard h4{font-size:15.5px;display:flex;align-items:center;gap:9px}
.vcard h4 .ic{color:var(--rose)}
.vcard .ok{color:var(--good);display:inline-flex;align-items:center;gap:5px;font-weight:700;font-size:13.5px;margin-left:auto}
.photo-pick{display:flex;align-items:center;gap:16px}
.file{position:relative;overflow:hidden}
.file input{position:absolute;inset:0;opacity:0;cursor:pointer}
.callout{border-radius:18px;padding:13px 15px;background:var(--rose-soft);color:var(--ink);font-size:14px;display:flex;gap:10px;align-items:flex-start}
.callout .ic{color:var(--rose);margin-top:1px}
.callout.gold{background:var(--gold-soft)} .callout.gold .ic{color:var(--gold)}
.steps-nav{display:flex;gap:6px;overflow-x:auto;padding-block:10px 2px;scrollbar-width:none}
.steps-nav::-webkit-scrollbar{display:none}
.steps-nav button{flex:none;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;color:var(--muted)}
.steps-nav button.on{background:var(--rose);color:var(--on-rose);border-color:var(--rose)}

/* Toggle */
.tgl{position:relative;display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);cursor:pointer}
.tgl:last-child{border-bottom:0}
.tgl .tx{flex:1;min-width:0}
.tgl .tx b{display:block;font-weight:700;font-size:15px}
.tgl .tx small{display:block;color:var(--muted);font-size:13px}
.tgl input{position:absolute;opacity:0;width:1px;height:1px}
.tgl i{width:48px;height:28px;border-radius:999px;background:var(--line);position:relative;flex:none;transition:background .18s}
.tgl i::after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:transform .18s}
.tgl input:checked+i{background:var(--rose)}
.tgl input:checked+i::after{transform:translateX(20px)}
.tgl input:focus-visible+i{outline:2px solid var(--rose);outline-offset:2px}

/* App chrome */
.topbar{display:flex;align-items:center;gap:8px;padding-block:14px 10px;background:transparent}
.topbar .grow{flex:1;min-width:0}
.topbar h1{font-family:var(--f-display);font-weight:500;font-size:30px;letter-spacing:-.01em;line-height:1.1}
.topbar .sub{color:var(--muted);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.count-dot{position:absolute;top:2px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--rose);color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;line-height:1;border:2px solid var(--bg)}
.navwrap{padding:4px 12px 10px;background:linear-gradient(180deg,rgba(255,248,246,0),var(--bg) 40%)}
.nav{display:grid;grid-template-columns:repeat(5,1fr);background:var(--surface);border:1px solid var(--line);border-radius:26px;box-shadow:0 12px 30px -14px rgba(120,20,50,.3);padding:5px}
.nav button{border:0;background:transparent;display:grid;justify-items:center;gap:2px;padding:7px 2px 6px;font-size:11px;font-weight:700;color:var(--muted);position:relative;border-radius:20px}
.nav button.on{color:var(--rose);background:var(--rose-soft)}
.nav button.on .ic{stroke-width:2.1}
.nav .count-dot{top:1px;right:calc(50% - 22px);border-color:var(--surface)}
.main-inner{display:grid;gap:16px;padding-block:6px 26px}

/* Segmented */
.seg{display:flex;gap:4px;background:var(--sunk);padding:4px;border-radius:999px}
.seg button{flex:1;border:0;background:transparent;border-radius:999px;padding:9px 6px;font-weight:700;font-size:13.5px;color:var(--muted);display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.seg button.on{background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}
.seg .n{font-size:11.5px;background:var(--line);border-radius:999px;padding:1px 6px;min-width:18px}
.seg button.on .n{background:var(--rose);color:#fff}

/* Avatar */
.av{position:relative;display:inline-block;flex:none;overflow:hidden;border-radius:16px;background:hsl(var(--h) 60% 70%);isolation:isolate}
.av img{width:100%;height:100%;object-fit:cover;display:block}
.av-art svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.av-art{position:absolute;inset:0;display:grid;place-items:center;background:
  radial-gradient(120% 90% at 18% 8%,hsl(var(--h) 90% 86%) 0%,transparent 55%),
  radial-gradient(90% 80% at 92% 100%,hsl(calc(var(--h) + 28) 60% 42%) 0%,transparent 62%),
  linear-gradient(160deg,hsl(var(--h) 72% 70%),hsl(calc(var(--h) - 18) 52% 50%))}
.av-sil{position:absolute;left:50%;bottom:0;width:78%;transform:translateX(-50%);fill:rgba(255,255,255,.28)}
.av-ini{position:relative;font-family:var(--f-display);font-weight:500;color:#fff;text-shadow:0 1px 3px rgba(60,0,20,.3)}
.av.blur .av-art{filter:blur(9px);transform:scale(1.3)}
.av.blur .av-ini,.av.blur .av-sil{opacity:.25}
.av-lock{position:absolute;inset:0;display:grid;place-items:center;color:#fff}
.av-lock .ic{width:17px;height:17px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}
.av-sm{width:48px;height:48px;border-radius:50%}.av-sm .av-ini{font-size:17px}
.av-md{width:68px;height:68px;border-radius:22px}.av-md .av-ini{font-size:25px}
.av-lg{width:84px;height:84px;border-radius:24px}.av-lg .av-ini{font-size:30px}
.av-cover,.av-xl,.av-tile{width:100%;height:100%;border-radius:0;max-width:100%}
.flipx{transform:scaleX(-1);color:var(--muted)}
.av-cover .av-ini,.av-xl .av-ini{display:none}
.av-cover.blur .av-art,.av-xl.blur .av-art{filter:blur(18px)}
.glass{background:rgba(255,255,255,.2);backdrop-filter:blur(10px) saturate(1.3);-webkit-backdrop-filter:blur(10px) saturate(1.3);border:1px solid rgba(255,255,255,.3);color:#fff}
.lockchip{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:7px;padding:8px 13px;border-radius:999px;font-size:12.5px;font-weight:700;white-space:nowrap;z-index:2}
.lockchip .ic{width:15px;height:15px}

/* Match card */
.mcard{background:var(--surface);border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow);overflow:hidden}
.mphoto{position:relative;display:block;width:100%;aspect-ratio:4/3.5;border:0;padding:0;background:var(--sunk);text-align:left;color:#fff;overflow:hidden}
.mphoto .av{position:absolute;inset:0}
.mphoto::after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(180deg,transparent,rgba(30,8,16,.72));pointer-events:none}
.mtop{position:absolute;left:14px;right:14px;top:14px;display:flex;justify-content:space-between;align-items:flex-start;gap:8px;z-index:2}
.mchip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;font-size:13px;font-weight:800;white-space:nowrap}
.mchip .ic{width:15px;height:15px}
.mchip.new{background:var(--gold);color:#1F1402;border:0}
.mchip.state{background:#fff;color:var(--rose-deep);border:0}
.mname{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;display:grid;gap:2px}
.mname .nm{display:flex;align-items:center;gap:8px;font-family:var(--f-display);font-weight:500;font-size:30px;line-height:1.05;letter-spacing:-.01em}
.mname .nm .age{font-family:var(--f-body);font-weight:500;font-size:24px;opacity:.9}
.mname small{font-size:14px;font-weight:600;opacity:.92;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vtick{display:inline-grid;place-items:center;flex:none}
.vtick .ic{width:20px;height:20px}
.mname .vtick{width:24px;height:24px;border-radius:50%;background:#fff;color:var(--rose)}
.mname .vtick .ic{width:16px;height:16px;stroke-width:2.2}
.mbody{display:grid;gap:12px;padding:16px 16px 16px}
.tlrow{display:flex;justify-content:flex-start}.pill.mtl{background:var(--rose-soft);color:var(--rose)}.pill.mtl .ic{flex:none}
.roots{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:13.5px}
.roots .rg{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:0 6px}
.roots .k{font-size:10.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}
.roots .arr{color:var(--rose);font-weight:800}
.why{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.why li{font-size:12.5px;font-weight:600;padding:5px 11px;border-radius:999px;background:var(--rose-soft);color:var(--ink)}
.why li.r{background:var(--gold-soft)}
.mact{display:flex;gap:10px;align-items:center;padding-top:2px}
.mact .btn{flex:1}
.rbtn{width:50px;height:50px;border-radius:50%;border:1.5px solid var(--line);background:var(--surface);display:grid;place-items:center;color:var(--muted);flex:none;transition:transform .1s}
.rbtn:active{transform:scale(.92)}
.rbtn.on{color:var(--gold);border-color:var(--gold);background:var(--gold-soft)}
.rbtn.on .ic{fill:currentColor}
.pill{white-space:nowrap;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;padding:7px 12px;border-radius:999px;background:var(--sunk);color:var(--muted)}
.pill.good{background:var(--rose-soft);color:var(--rose)}
.pill.gold{background:var(--gold-soft);color:var(--warn)}
.pill .ic{width:15px;height:15px}
.status-line{flex:1;display:flex;align-items:center;gap:8px;min-width:0}

.listhead{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.sorts{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.sorts button,.kmchips button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 13px;font-size:13px;font-weight:700;color:var(--muted);white-space:nowrap}
.sorts button.on,.kmchips button.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.kmchips{display:flex;gap:6px;flex-wrap:wrap}
div.empty{display:grid;gap:10px;justify-items:center;text-align:center;padding:30px 16px;background:var(--surface);border:1.5px dashed var(--line);border-radius:26px}
div.empty .eic{width:56px;height:56px;border-radius:50%;background:var(--rose-soft);color:var(--rose);display:grid;place-items:center}
div.empty h3{font-family:var(--f-display);font-weight:500;font-size:22px}
div.empty p{color:var(--muted);max-width:34ch}
div.empty .btns{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.quota{display:flex;align-items:center;gap:12px;font-size:13.5px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:10px 14px}
.quota .bar{flex:1;height:6px;background:var(--sunk);border-radius:6px;overflow:hidden;min-width:40px}
.quota .bar i{display:block;height:100%;background:var(--grad)}

/* Rows */
.rows{background:var(--surface);border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}
.rowi{display:flex;align-items:center;gap:12px;padding:12px 14px;border:0;border-bottom:1px solid var(--line);background:transparent;width:100%;text-align:left}
.rows>.rowi:last-child{border-bottom:0}
.rowi .tx{flex:1;min-width:0;display:grid;gap:1px}
.rowi .tx b{font-weight:700;display:flex;gap:5px;align-items:center}
.rowi .tx b .vtick{color:var(--rose)}
.rowi .tx b .vtick .ic{width:16px;height:16px}
.rowi .tx span{color:var(--muted);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rowi .end{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:13px;flex:none}
.rowi .end .ic{width:16px;height:16px}
.band{font-size:12px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);padding:2px 4px 0}
.unread{min-width:22px;height:22px;border-radius:999px;background:var(--rose);color:#fff;font-size:12px;font-weight:800;display:grid;place-items:center;padding:0 6px}

/* Panel */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:26px;padding:18px;display:grid;gap:12px;box-shadow:var(--shadow)}
.panel h3{font-family:var(--f-display);font-weight:500;font-size:21px;letter-spacing:-.01em}
.panel .sub{color:var(--muted);font-size:14px}
.kv{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;margin:0}
.kv div{min-width:0}
.kv dt{font-size:11px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--muted)}
.kv dd{margin:3px 0 0;font-size:15px;font-weight:500;overflow-wrap:anywhere}
.meter{display:grid;gap:10px}
.meter .m{display:grid;grid-template-columns:92px 1fr 36px;gap:10px;align-items:center;font-size:13.5px}
.meter .m .t{height:8px;background:var(--sunk);border-radius:8px;overflow:hidden}
.meter .m .t i{display:block;height:100%;background:var(--grad);border-radius:8px}
.meter .m b{text-align:right;font-variant-numeric:tabular-nums}
.val{display:grid;grid-template-columns:24px 1fr;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}
.val:last-child{border-bottom:0}
.val .mk{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800}
.val .mk.s{background:var(--rose-soft);color:var(--rose)}
.val .mk.c{background:var(--gold-soft);color:var(--warn)}
.val .mk.f{background:var(--sunk);color:var(--muted)}
.val .q2{font-size:13px;color:var(--muted);font-weight:700}
.val .a{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;font-size:14px;margin-top:4px}
.val .a i{font-style:normal;color:var(--muted);font-size:12.5px;font-weight:600}
.badges{display:flex;flex-wrap:wrap;gap:6px}
.ring{width:56px;height:56px;position:relative;flex:none}
.ring svg{width:56px;height:56px;transform:rotate(-90deg)}
.ring circle{fill:none;stroke-width:5;stroke-linecap:round}
.ring .tr{stroke:var(--sunk)}
.ring b{position:absolute;inset:0;display:grid;place-items:center;font-size:14px;font-weight:800;font-variant-numeric:tabular-nums}

/* Overlay views */
.view{position:absolute;inset:0;background:var(--bg);display:flex;flex-direction:column;z-index:20;animation:slidein .2s ease-out}
@keyframes slidein{from{transform:translateX(18px);opacity:.6}to{transform:none;opacity:1}}
.vhead{display:flex;align-items:center;gap:6px;padding-block:8px;background:var(--bg);border-bottom:1px solid var(--line)}
.vhead.over{position:absolute;left:0;right:0;top:0;z-index:5;background:transparent;border:0}
.vhead .grow{flex:1;min-width:0;display:flex;align-items:center;gap:10px}
.vhead .grow b{display:block;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vhead .grow small{display:block;color:var(--muted);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vhead .grow>span:last-child{min-width:0}
.vhead.over .iconbtn{background:rgba(255,255,255,.85);color:#121D18;box-shadow:0 4px 14px -6px rgba(0,0,0,.35)}
.pv-top{position:relative;aspect-ratio:4/4.3;max-height:62vh;width:100%}
.pv-top .av{position:absolute;inset:0}
.pv-top::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(180deg,transparent,rgba(30,8,16,.6));pointer-events:none}
.pv-top .lockchip{top:46%}
.pv-ov{position:absolute;left:18px;right:18px;bottom:18px;z-index:2;color:#fff;display:flex;align-items:flex-end;gap:12px}
.pv-ov .tx{flex:1;min-width:0}
.pv-ov h2{font-family:var(--f-display);font-weight:500;font-size:34px;line-height:1.05;display:flex;align-items:center;gap:9px;letter-spacing:-.01em}
.pv-ov .vtick{width:26px;height:26px;border-radius:50%;background:#fff;color:var(--rose)}
.pv-ov .vtick .ic{width:17px;height:17px;stroke-width:2.2}
.pv-ov p{font-size:14.5px;font-weight:600;opacity:.92}
.pv-ov .ring{background:rgba(255,255,255,.95);border-radius:50%;width:64px;height:64px;padding:4px;color:#121D18}
.pv-ov .ring svg{width:56px;height:56px}
.pv-ov .ring b{inset:4px}
.pv-ov .ring .tr{stroke:#F6E1E7}
.pv-act{display:flex;gap:10px;padding-block:12px;border-top:1px solid var(--line);background:var(--surface);align-items:center}
.pv-act .btn{flex:1}

/* Chat */
.msgs{display:flex;flex-direction:column;gap:8px;padding-block:16px}
.msg{max-width:80%;padding:10px 14px;border-radius:20px;font-size:15px;overflow-wrap:anywhere;white-space:pre-wrap}
.msg.me{align-self:flex-end;background:var(--grad);color:#fff;border-bottom-right-radius:6px}
.msg.them{align-self:flex-start;background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:6px}
.msg.sys{align-self:center;max-width:92%;background:var(--sunk);color:var(--muted);font-size:13px;text-align:center;border-radius:14px}
.msg time{display:block;font-size:11px;opacity:.72;margin-top:3px}
.composer{display:flex;gap:8px;padding-block:10px 12px;border-top:1px solid var(--line);background:var(--surface)}
.composer input{flex:1;min-width:0;border:1.5px solid var(--line);border-radius:999px;padding:11px 16px;background:var(--bg);font-size:16px}
.composer input:focus{outline:none;border-color:var(--rose)}
.composer .btn{width:48px;padding:0}
.typing{align-self:flex-start;color:var(--muted);font-size:13px;padding:2px 6px}

/* Video */
.video{position:absolute;inset:0;z-index:40;background:linear-gradient(180deg,#1C3A30 0%,#13241D 55%,#0C1A14 100%);color:#fff;display:flex;flex-direction:column}
.video .tiles{flex:1;position:relative;overflow:hidden}
.video .tiles::before{content:"";position:absolute;inset:-20%;background:radial-gradient(circle at 50% 40%,rgba(141,235,195,.45),transparent 55%)}
.video .them{position:absolute;inset:0;display:grid;place-items:center}
.video .them .av{width:160px;height:160px;border-radius:50%;border:3px solid rgba(255,255,255,.85)}
.video .self{position:absolute;right:16px;bottom:16px;width:96px;height:132px;border-radius:18px;background:rgba(255,255,255,.1);display:grid;place-items:center;font-size:12px;color:#C9AFB8;border:1px solid #1F2A25;text-align:center;padding:8px}
.video .cap{position:absolute;left:0;right:0;top:22px;text-align:center}
.video .cap b{display:block;font-family:var(--f-display);font-weight:500;font-size:24px}
.video .cap span{font-size:14px;color:#D8C0C8;font-variant-numeric:tabular-nums}
.video .ctrls{display:flex;justify-content:center;gap:18px;padding-block:18px 24px}
.video .ctrls button{width:60px;height:60px;border-radius:50%;border:0;background:rgba(255,255,255,.16);color:#fff;display:grid;place-items:center}
.video .ctrls button.off{background:#fff;color:#120A0D}
.video .ctrls button.end{background:#E43F4F}
.video .demo{margin:0 16px;padding:9px 13px;border-radius:14px;background:rgba(255,255,255,.08);color:#D2BBC3;font-size:12.5px;text-align:center}

/* Sheet */
.sheet-wrap{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;justify-content:flex-end}
.sheet-wrap.picker-wrap{z-index:50}
.backdrop{position:absolute;inset:0;background:rgba(30,8,16,.42);border:0;padding:0;width:100%;cursor:default;animation:fade .15s}
@keyframes fade{from{opacity:0}}
.sheet{position:relative;background:var(--bg);border-radius:30px 30px 0 0;max-height:92%;display:flex;flex-direction:column;animation:rise .22s cubic-bezier(.2,.8,.2,1);box-shadow:0 -10px 40px rgba(30,8,16,.2)}
.picker-wrap.tall .sheet{height:82%}
@keyframes rise{from{transform:translateY(30px);opacity:.4}}
.sheet-h{display:flex;align-items:center;gap:8px;padding-block:12px 8px}
.sheet-h h2{flex:1;font-family:var(--f-display);font-weight:500;font-size:24px;letter-spacing:-.01em}
.sheet-b{overflow-y:auto;padding-block:4px 18px;display:grid;gap:16px;align-content:start}
.sheet-f{display:flex;gap:10px;padding-block:12px 14px;border-top:1px solid var(--line)}
.sheet-f .btn{flex:1}
.grip{width:42px;height:5px;border-radius:5px;background:var(--line);margin:9px auto 0}
.psearch{position:relative;padding-block:2px 10px}
.psearch .ic{position:absolute;left:calc(max(18px,env(safe-area-inset-left,0px)) + 14px);top:15px;color:var(--muted);width:18px;height:18px}
.psearch input{width:100%;border:1.5px solid var(--line);background:var(--surface);border-radius:999px;padding:11px 16px 11px 42px;font-size:16px;min-height:48px}
.psearch input:focus{outline:none;border-color:var(--rose);box-shadow:0 0 0 4px var(--rose-soft)}
.plist{overflow-y:auto;flex:1;padding-block:0 20px;display:block}
.phead{font-size:11.5px;font-weight:800;letter-spacing:.8px;text-transform:uppercase;color:var(--muted);padding:12px 4px 6px}
.prow{display:flex;align-items:center;gap:12px;width:100%;border:0;background:transparent;text-align:left;padding:13px 12px;border-radius:14px;font-size:15.5px;min-height:50px}
.prow:hover{background:var(--sunk)}
.prow .fl{font-size:20px;width:26px;text-align:center;flex:none}
.prow .lb{flex:1;min-width:0}
.prow .lb small{display:block;color:var(--muted);font-size:12.5px}
.prow.on{background:var(--rose-soft);font-weight:700}
.prow.on .ic{color:var(--rose)}
.prow.custom{color:var(--rose);font-weight:700}
.pempty{color:var(--muted);text-align:center;padding:24px 12px}
.plans{display:grid;gap:12px}
.plan{border:1px solid var(--line);background:var(--surface);border-radius:24px;padding:16px;display:grid;gap:9px}
.plan.feat{border:1.5px solid var(--gold);background:linear-gradient(180deg,var(--gold-soft),var(--surface) 60%)}
.plan .ph{display:flex;justify-content:space-between;align-items:baseline;gap:8px;flex-wrap:wrap}
.plan .ph b{font-size:17px;display:flex;gap:6px;align-items:center}
.plan .price{font-family:var(--f-display);font-weight:500;font-size:24px}
.plan .price small{font-family:var(--f-body);font-size:13px;color:var(--muted)}
.plan ul{margin:0;padding-left:18px;color:var(--muted);font-size:14px;display:grid;gap:3px}
.plan .pill{justify-self:start}
.code{font-family:ui-monospace,"SFMono-Regular",Menlo,monospace;font-size:12.5px;letter-spacing:1px;padding:1px 7px;background:var(--sunk);border-radius:6px;user-select:all}
.ev{display:grid;grid-template-columns:58px 1fr;gap:14px;align-items:start;padding:16px;border-bottom:1px solid var(--line)}
.ev:last-child{border-bottom:0}
.ev .d{border-radius:16px;background:var(--rose-soft);text-align:center;padding:7px 0;line-height:1.1}
.ev .d b{display:block;font-family:var(--f-display);font-size:24px;font-weight:500}
.ev .d span{font-size:10.5px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--rose)}
.ev h4{font-size:15.5px}
.ev p{color:var(--muted);font-size:13.5px;margin-top:3px}
.ev p .ic{width:15px;height:15px;vertical-align:-2px}
.ev .btn{margin-top:10px}
.me-card{display:flex;gap:14px;align-items:center}
.me-card .tx{flex:1;min-width:0}
.me-card h3{font-family:var(--f-display);font-weight:500;font-size:24px}
.me-card p{color:var(--muted);font-size:14px}
.complete{display:grid;gap:6px}
.complete .bar{height:8px;border-radius:8px;background:var(--sunk);overflow:hidden}
.complete .bar i{display:block;height:100%;background:var(--grad)}
.vrow{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}
.vrow:last-child{border-bottom:0}
.vrow .tx{flex:1;min-width:0}
.vrow .tx b{display:block;font-weight:700;font-size:14.5px}
.vrow .tx small{color:var(--muted);font-size:12.5px}
.ok-ic{color:var(--good)} .no-ic{color:var(--muted)}

/* Event matches */
.meet{display:grid;gap:0;border:1px solid var(--line);border-radius:18px;overflow:hidden}
.mrow{display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:12px;row-gap:8px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:var(--surface);padding:11px 12px}
.mrow:last-child{border-bottom:0}
.mrow .tx{flex:1;min-width:0;display:grid;gap:1px}
.mrow .tx b{font-weight:700;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.mrow .tx span{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mrow .tx small{color:var(--rose-deep);font-size:12px;font-weight:700}
.mrow .tx .mustmeet{font-size:11px;font-weight:800;color:#3A2606;background:#F3D58C;padding:2px 8px;border-radius:999px;white-space:nowrap;overflow:visible}
.mrow .two{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}
.mrow .two span{font-size:12px;color:var(--rose-deep);background:var(--rose-50,#FFF0F3);border-radius:999px;padding:3px 9px;font-weight:600}
.mrow .two b{font-weight:800}
.mpct{display:grid;justify-items:center;flex:none;min-width:52px}
.mpct b{font-family:var(--f-display);font-weight:500;font-size:22px;color:var(--rose-deep);line-height:1}
.mpct small{font-size:11px;color:var(--muted);font-weight:700}
/* Paywall */
.lockbar{display:flex;align-items:center;gap:12px;padding-block:12px 14px;border-top:1px solid var(--line);background:var(--gold-soft)}
.lockbar .tx{flex:1;min-width:0}.lockbar .tx b{display:block;font-weight:800}.lockbar .tx small{color:var(--muted);font-size:13px}
.msg.locked{position:relative;min-width:220px}
.msg.locked .blurtxt{filter:blur(6px);user-select:none;display:block}
.msg.locked .lockline{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:6px;font-size:13px;font-weight:800;color:var(--rose-deep)}
.msg.locked .lockline .ic{width:15px;height:15px}
.msg.sys.gold{background:var(--gold-soft);color:var(--warn);display:flex;gap:6px;align-items:center;justify-content:center}
.msg.sys.gold .ic{width:15px;height:15px}
.plan.pick{text-align:left;width:100%;cursor:pointer;font:inherit;color:inherit}
.plan.pick.on{border:2px solid var(--gold);background:linear-gradient(180deg,var(--gold-soft),var(--surface) 70%)}
.panel>.rowi{padding:12px 0;border-bottom:1px solid var(--line)}.panel>.rowi .tx span{white-space:normal}.panel>.rowi:last-child{border-bottom:0}
.rowi>.ic{width:22px;height:22px;color:var(--rose);flex:none}
/* Account */
.auth{gap:16px}
.auth-h{font-family:var(--f-display);font-weight:500;font-size:32px;line-height:1.08;letter-spacing:-.01em}
.auth-h em{font-family:var(--f-script);font-style:normal;font-weight:400;font-size:1.32em;line-height:.8;letter-spacing:0;color:var(--rose);white-space:nowrap}
.auth .lede{color:var(--muted);font-size:15px}
.authlist{display:grid;gap:10px}
.authbtn{display:flex;align-items:center;gap:14px;width:100%;min-height:56px;padding:10px 16px;border:1.5px solid var(--line);border-radius:18px;background:var(--surface);font-size:15.5px;font-weight:700;color:var(--ink);text-align:left;box-shadow:var(--shadow);transition:border-color .15s,transform .15s}
.authbtn:active{transform:scale(.99);border-color:var(--rose)}
.ai{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--rose-soft);color:var(--rose);flex:none;font-weight:800;font-size:17px}
.ai .ic{width:19px;height:19px}
.ai.g{background:#fff;border:1.5px solid var(--line)}.ai.g svg{width:20px;height:20px;display:block}
.gsi-slot{display:flex;justify-content:center;min-height:44px}.gsi-slot[hidden],.authbtn[hidden]{display:none}
.ai.wa{background:#E3F6EA;color:#1C8C4E}
.consent{display:grid;gap:10px;padding:14px;border-radius:18px;background:var(--surface);border:1.5px solid var(--line)}
.consent.has-err{border-color:var(--bad);background:var(--bad-soft)}
.ck{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;cursor:pointer}
.ck input{width:20px;height:20px;flex:none;margin:1px 0 0;accent-color:var(--rose)}
.ck .link{font-size:inherit}
.ck.has-err span{color:var(--bad)}
.pwwrap{position:relative;display:block}
.pwwrap input{padding-right:52px}
.pwwrap .iconbtn{position:absolute;right:4px;top:50%;transform:translateY(-50%)}
.pwbar{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:2px}
.pwbar i{height:5px;border-radius:5px;background:var(--line)}
.pwbar i.on.w{background:var(--bad)}.pwbar i.on.m{background:var(--warn)}.pwbar i.on.s{background:var(--good)}
.pwlvl{font-size:12px;font-weight:700;color:var(--muted)}
.pwrules{list-style:none;margin:2px 0 0;padding:0;display:grid;gap:4px}
.pwrules li{display:flex;gap:7px;align-items:center;font-size:13px;color:var(--muted)}
.pwrules li .ic{width:15px;height:15px;color:var(--bad)}
.pwrules li.ok{color:var(--good)}.pwrules li.ok .ic{color:var(--good)}
/* Free tier */
.nearby{display:grid;gap:12px;padding:18px;border-radius:26px;background:linear-gradient(135deg,#FFF3F5,#E3F7EE);border:1px solid #CFF2E2;box-shadow:var(--shadow)}
.nb-n{display:flex;align-items:baseline;gap:10px}
.nb-n b{font-family:var(--f-display);font-weight:500;font-size:46px;line-height:1;color:var(--rose-deep)}
.nb-n span{font-size:15px;font-weight:600;color:var(--ink);line-height:1.3}
.nb-s{display:flex;flex-wrap:wrap;gap:8px}
.nb-s span{display:inline-flex;align-items:center;gap:6px;background:#fff;border-radius:999px;padding:6px 11px;font-size:13px;color:var(--muted)}
.nb-s b{color:var(--ink)}
.nb-s .ic{width:15px;height:15px;color:var(--rose)}
.nearby small{font-size:12.5px;color:var(--muted);line-height:1.4}
.mcard.lockd .mname small{display:flex;align-items:center;gap:6px}
.mcard.lockd .mname small .ic{width:14px;height:14px}
.mcard.lockd .mact .btn{flex:1}
.pwprev{display:flex;align-items:center;gap:12px;padding:12px;border-radius:20px;background:var(--rose-soft)}
.pwprev .tx{flex:1;min-width:0;display:grid}
.pwprev .tx span{font-size:13px;color:var(--muted)}
.pwprev .mpct{display:grid;justify-items:center}
.pwprev .mpct b{font-family:var(--f-display);font-weight:500;font-size:26px;color:var(--rose-deep);line-height:1}
.pwprev .mpct small{font-size:11px;font-weight:700;color:var(--muted)}
.lockmeet{margin-bottom:4px}
/* Events: community */
.aud{display:inline-flex;align-items:center;gap:6px;justify-self:start;align-self:start;font-size:12.5px;font-weight:800;color:var(--rose-deep);background:var(--rose-soft);border-radius:999px;padding:5px 10px}
.aud .ic{width:14px;height:14px}
.aud.off{color:var(--muted);background:var(--sunk)}
.evf{margin:-4px 0 2px}
/* Family call */
.slots{display:grid;gap:8px}
.slot span{display:grid!important;gap:2px}
.slot small{font-size:12.5px;color:var(--muted);font-weight:500}
/* Toast */
.toast{position:absolute;left:16px;right:16px;bottom:96px;z-index:60;background:var(--ink);color:var(--bg);border-radius:18px;padding:13px 15px;font-size:14px;font-weight:600;box-shadow:0 14px 30px -10px rgba(30,8,16,.45);animation:rise .22s ease-out;display:flex;gap:10px;align-items:flex-start;pointer-events:none}
.toast .ic{margin-top:1px;color:var(--rose-2)}

/* ---- v3: warm, curious, family-first ---- */
.hello{font-family:var(--f-display);font-weight:500;font-size:28px;letter-spacing:-.01em;line-height:1.1}
.hello em{font-family:var(--f-script);font-style:normal;font-weight:400;font-size:1.32em;line-height:.8;letter-spacing:0;color:var(--rose);white-space:nowrap}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.sec-h h2{font-family:var(--f-display);font-weight:500;font-size:21px;letter-spacing:-.01em}
.sec-h small{color:var(--muted);font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.picks{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:calc(-1 * max(18px,env(safe-area-inset-left,0px)));padding:2px max(18px,env(safe-area-inset-left,0px)) 8px;scroll-padding-inline:max(18px,env(safe-area-inset-left,0px));scrollbar-width:none}
.picks::-webkit-scrollbar{display:none}
.tp{position:relative;flex:none;width:124px;aspect-ratio:3/4.1;border-radius:24px;overflow:hidden;border:0;padding:0;scroll-snap-align:start;box-shadow:var(--shadow);color:#fff;text-align:left;background:var(--sunk)}
.tp .av{position:absolute;inset:0;width:100%;height:100%;border-radius:0}
.tp::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(180deg,transparent,rgba(40,10,20,.65));pointer-events:none}
.tp .tpn{position:absolute;left:10px;right:10px;bottom:9px;z-index:2;font-weight:700;font-size:13.5px;line-height:1.2}
.tp .tpn small{display:block;font-weight:600;font-size:11.5px;opacity:.9}
.tp.mystery{background:var(--grad-warm)}
.tp.mystery::after{display:none}
.tp.mystery .mq{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:6px;text-align:center;padding:10px}
.tp.mystery .mq .ic{width:30px;height:30px;color:#fff;animation:twinkle 2.4s ease-in-out infinite}
.tp.mystery .mq b{font-size:13px;font-weight:800}
.tp.mystery .mq span{font-size:11.5px;font-weight:700;background:rgba(255,255,255,.25);padding:3px 8px;border-radius:999px}
.tp.mystery::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translateX(-100%);animation:shine 3.2s ease-in-out infinite}
.tp.flip{animation:flip .5s cubic-bezier(.2,.8,.2,1)}
@keyframes flip{from{transform:rotateY(80deg) scale(.96);opacity:.4}to{transform:none;opacity:1}}
@keyframes shine{0%,55%{transform:translateX(-100%)}85%,100%{transform:translateX(100%)}}
@keyframes twinkle{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.15) rotate(12deg)}}
.likes{display:flex;align-items:center;gap:14px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:12px 14px;box-shadow:var(--shadow)}
.likes .stack{display:flex;padding-left:12px;flex:none}
.likes .stack .av{width:40px;height:40px;border-radius:50%;margin-left:-12px;border:2.5px solid #fff}
.likes .tx{flex:1;min-width:0}
.likes .tx b{display:block;font-weight:800;font-size:15px}
.likes .tx span{color:var(--muted);font-size:13px}
.likes>.ic{color:var(--rose)}
.famrow{display:flex;gap:10px;overflow-x:auto;scrollbar-width:none}
.vouch{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--gold);background:var(--gold-soft);padding:5px 10px;border-radius:999px;white-space:nowrap}
.vouch .ic{width:14px;height:14px}
.sugg{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--rose-deep);background:var(--rose-soft);padding:5px 10px;border-radius:999px}
.sugg .ic{width:14px;height:14px}
.nav{grid-template-columns:1fr 1fr 1.15fr 1fr 1fr;align-items:end}
.nav .navq{color:var(--rose);background:transparent!important;padding-top:0}
.nav .navq .qb{width:54px;height:54px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;margin-top:-22px;box-shadow:var(--shadow-rose);border:3px solid #fff;position:relative}
.nav .navq .qb .ic{width:24px;height:24px;stroke-width:2.1}
.nav .navq .qb::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--rose-2);opacity:0;animation:pulse 2.4s ease-out infinite}
@keyframes pulse{0%{transform:scale(.85);opacity:.7}100%{transform:scale(1.25);opacity:0}}
.burst{position:absolute;pointer-events:none;z-index:70;width:0;height:0}
.burst i{position:absolute;left:0;top:0;width:14px;height:14px;margin:-7px;color:var(--rose);animation:fly .9s ease-out forwards}
.burst i svg{width:14px;height:14px;fill:currentColor}
@keyframes fly{0%{transform:translate(0,0) scale(.4);opacity:1}100%{transform:translate(var(--x),var(--y)) scale(1.1);opacity:0}}
/* Events */
.evcard{display:block;width:100%;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:28px;overflow:hidden;box-shadow:var(--shadow);padding:0}
.evart{position:relative;height:132px;overflow:hidden;color:#fff}
.evart svg.art{position:absolute;inset:0;width:100%;height:100%}
.evart .evd{position:absolute;left:14px;top:14px;background:#fff;color:var(--ink);border-radius:16px;padding:6px 10px;text-align:center;line-height:1.05;box-shadow:0 6px 16px -8px rgba(60,10,30,.5)}
.evart .evd b{display:block;font-family:var(--f-display);font-weight:500;font-size:22px}
.evart .evd span{font-size:10.5px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--rose)}
.evart .evk{position:absolute;right:14px;top:14px;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.evart .evk span{font-size:12px;font-weight:800;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--rose-deep);display:inline-flex;gap:5px;align-items:center}
.evart .evk span .ic{width:14px;height:14px}
.evart .evk span.booked{background:var(--good);color:#fff}
.evb{padding:14px 16px 16px;display:grid;gap:10px}
.evb h3{font-family:var(--f-display);font-weight:500;font-size:21px;letter-spacing:-.01em}
.evb .meta{color:var(--muted);font-size:13.5px;display:flex;flex-wrap:wrap;gap:4px 12px}
.evb .meta span{display:inline-flex;align-items:center;gap:5px}
.evb .meta .ic{width:15px;height:15px}
.cstat{display:inline-flex;align-items:center;gap:5px}
.cstat.ok{color:var(--good)}
.cstat .ic{width:15px;height:15px}
.evfoot{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.price-l{font-size:14px;color:var(--muted)}
.price-l b{font-family:var(--f-display);font-weight:500;font-size:22px;color:var(--ink)}
.seats{display:grid;gap:5px;font-size:12.5px;color:var(--muted);font-weight:600}
.seats .sb{height:6px;border-radius:6px;background:var(--sunk);overflow:hidden}
.seats .sb i{display:block;height:100%;background:var(--grad)}
.going{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:var(--rose-deep)}
.going .stack{display:flex;padding-left:10px}
.going .stack .av{width:30px;height:30px;border-radius:50%;margin-left:-10px;border:2px solid #fff}
.evhero{position:relative;height:250px;color:#fff;overflow:hidden}
.evhero svg.art{position:absolute;inset:0;width:100%;height:100%}
.evhero .ovt{position:absolute;left:18px;right:18px;bottom:18px;z-index:2}
.evhero .ovt h2{font-family:var(--f-display);font-weight:500;font-size:30px;line-height:1.08;letter-spacing:-.01em;text-shadow:0 2px 12px rgba(80,10,30,.35)}
.evhero .ovt p{font-weight:700;font-size:14px;opacity:.95;margin-top:4px}
.tl{display:grid;gap:0;margin:0;padding:0;list-style:none}
.tl li{display:grid;grid-template-columns:70px 14px 1fr;gap:10px;align-items:start;padding-bottom:12px;position:relative}
.tl li time{font-size:13px;font-weight:700;color:var(--muted);font-variant-numeric:tabular-nums;padding-top:1px}
.tl li i{width:12px;height:12px;border-radius:50%;background:var(--rose);margin-top:4px;box-shadow:0 0 0 4px var(--rose-soft)}
.tl li:not(:last-child)::after{content:"";position:absolute;left:85px;top:18px;bottom:0;width:2px;background:var(--rose-soft)}
.tl li span{font-size:14.5px}
.incl{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.incl li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px}
.incl li .ic{color:var(--rose);width:18px;height:18px;margin-top:1px}
.bookbar{display:flex;align-items:center;gap:12px;padding-block:12px;border-top:1px solid var(--line);background:var(--surface)}
.bookbar .tx{flex:1;min-width:0}
.bookbar .tx b{font-family:var(--f-display);font-weight:500;font-size:22px}
.bookbar .tx small{display:block;color:var(--muted);font-size:12.5px}
.bookbar .btn{flex:none;min-width:150px}
.stepper{display:flex;align-items:center;gap:12px}
.stepper button{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--line);background:var(--surface);display:grid;place-items:center;font-size:20px;font-weight:700;color:var(--ink)}
.stepper button[disabled]{opacity:.35}
.stepper b{min-width:22px;text-align:center;font-size:18px;font-variant-numeric:tabular-nums}
.tline{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.tline:last-child{border-bottom:0}
.tline .tx{flex:1;min-width:0}
.tline .tx b{display:block;font-weight:700}
.tline .tx small{color:var(--muted);font-size:13px}
.sumrow{display:flex;justify-content:space-between;gap:10px;font-size:14.5px;font-variant-numeric:tabular-nums}
.sumrow.total{font-weight:800;font-size:16px;padding-top:8px;border-top:1px dashed var(--line)}
.ticket{background:var(--surface);border-radius:28px;box-shadow:var(--shadow);overflow:hidden;position:relative;border:1px solid var(--line)}
.ticket .th{background:var(--grad);color:#fff;padding:18px}
.ticket .th h3{font-family:var(--f-display);font-weight:500;font-size:24px}
.ticket .th p{opacity:.95;font-weight:600;font-size:14px;margin-top:3px}
.ticket .cut{position:relative;height:0;border-top:2px dashed var(--line);margin:0 22px}
.ticket .cut::before,.ticket .cut::after{content:"";position:absolute;top:-13px;width:24px;height:24px;border-radius:50%;background:var(--bg);border:1px solid var(--line)}
.ticket .cut::before{left:-35px}.ticket .cut::after{right:-35px}
.ticket .tb{padding:18px;display:grid;gap:14px;justify-items:center;text-align:center}
.ticket .qr{width:168px;height:168px;padding:10px;background:#fff;border-radius:16px;border:1px solid var(--line)}
.ticket .qr svg{width:100%;height:100%;display:block}
.ticket .code{font-size:14px}
.tkrow{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:22px;padding:12px 14px;box-shadow:var(--shadow)}
.cv{display:grid;gap:9px}.cv-h{display:flex;gap:10px;align-items:flex-start}.cv-h .ic{flex:none;width:34px;height:34px;padding:7px;border-radius:11px;background:var(--rose-soft,#E3F7EE);stroke:var(--rose-deep,#0B6B4A)}.cv-h b{display:block}.cv-h small{color:var(--muted);font-size:12.5px;line-height:1.3;display:block}.cvbar{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.cvbar span{height:7px;border-radius:9px;background:var(--line);overflow:hidden}.cvbar i{display:block;height:100%;background:var(--rose,#0E9F6E);border-radius:9px}.cvbar.men i{background:var(--gold,#B8863A)}.cvbar small{font-size:11.5px;color:var(--muted);min-width:92px;text-align:right}.cv .btn{justify-self:start}.cvchips{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:4px 0 14px}.cvchip{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:9px 11px}.cvchip b{display:block;font-size:13.5px}.cvchip small{font-size:11.5px;color:var(--muted)}.cvchip.on{border-color:var(--gold,#B8863A);background:var(--gold-soft,#FCF1DE)}
.tkrow .tki{width:44px;height:44px;border-radius:14px;background:var(--grad);color:#fff;display:grid;place-items:center;flex:none}
.tkrow .tx{flex:1;min-width:0}
.tkrow .tx b{display:block;font-weight:700}
.tkrow .tx small{color:var(--muted);font-size:13px}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ptile{position:relative;border:0;padding:0;border-radius:20px;overflow:hidden;aspect-ratio:3/4;background:var(--sunk);color:#fff;text-align:left;box-shadow:var(--shadow)}
.ptile .av{position:absolute;inset:0;width:100%;height:100%;border-radius:0}
.ptile::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(180deg,transparent,rgba(40,10,20,.65))}
.ptile .pn{position:absolute;left:8px;bottom:7px;z-index:2;font-weight:700;font-size:13px}
.ptile .hk{position:absolute;right:7px;top:7px;z-index:2;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.85);color:var(--muted);display:grid;place-items:center}
.ptile .hk .ic{width:17px;height:17px}
.ptile.on{outline:3px solid var(--rose);outline-offset:-3px}
.ptile.on .hk{background:var(--rose);color:#fff}
.ptile.on .hk .ic{fill:currentColor}
/* Quick Match */
.qm{display:grid;gap:18px;justify-items:center;text-align:center;padding-block:6px 26px}
.radar{position:relative;width:250px;height:250px;max-width:100%;margin:4px auto 0}
.radar .rg{position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(14,159,110,.25)}
.radar .rg:nth-child(2){inset:30px}.radar .rg:nth-child(3){inset:60px}
.radar.live .rg{animation:ripple 2.4s ease-out infinite}
.radar.live .rg:nth-child(2){animation-delay:.6s}.radar.live .rg:nth-child(3){animation-delay:1.2s}
@keyframes ripple{0%{transform:scale(.7);opacity:0}30%{opacity:1}100%{transform:scale(1.15);opacity:0}}
.radar .me{position:absolute;left:50%;top:50%;width:92px;height:92px;margin:-46px;border-radius:50%;border:4px solid #fff;box-shadow:var(--shadow-rose)}
.radar .orb{position:absolute;width:52px;height:52px;border-radius:50%;border:3px solid #fff;box-shadow:var(--shadow)}
.radar.live .orbs{position:absolute;inset:0;animation:spin 9s linear infinite}
.radar.live .orb{animation:spin 9s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.qm h2{font-family:var(--f-display);font-weight:500;font-size:30px;letter-spacing:-.01em;line-height:1.1}
.qm h2 em{font-family:var(--f-script);font-style:normal;font-weight:400;font-size:1.32em;line-height:.8;letter-spacing:0;color:var(--rose);white-space:nowrap}
.qm .lede{color:var(--muted);max-width:34ch}
.live-dot{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--good);background:#E7F6EE;padding:7px 12px;border-radius:999px}
.live-dot i{width:8px;height:8px;border-radius:50%;background:var(--good);box-shadow:0 0 0 0 rgba(45,138,97,.5);animation:dot 1.6s infinite}
@keyframes dot{70%{box-shadow:0 0 0 8px rgba(45,138,97,0)}100%{box-shadow:0 0 0 0 rgba(45,138,97,0)}}
.qsteps{display:grid;gap:10px;width:100%;text-align:left;margin:0;padding:0;list-style:none}
.qsteps li{display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:12px 14px}
.qsteps li b{width:30px;height:30px;border-radius:50%;background:var(--rose-soft);color:var(--rose);display:grid;place-items:center;font-size:14px;flex:none}
.qchips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.qchips span{font-size:12.5px;font-weight:700;padding:6px 11px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}
.qfound{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}
.qfound .qph{position:relative;aspect-ratio:4/3.2}
.qfound .qph .av{position:absolute;inset:0;width:100%;height:100%;border-radius:0}
.qfound .qph::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(180deg,transparent,rgba(40,10,20,.7))}
.qfound .qn{position:absolute;left:16px;right:16px;bottom:14px;z-index:2;color:#fff;text-align:left}
.qfound .qn b{display:block;font-family:var(--f-display);font-weight:500;font-size:28px}
.qfound .qb{padding:14px 16px 16px;display:grid;gap:12px}
.qtimer{position:relative;width:64px;height:64px;margin:0 auto}
.qtimer svg{width:64px;height:64px;transform:rotate(-90deg)}
.qtimer circle{fill:none;stroke-width:5;stroke-linecap:round}
.qtimer b{position:absolute;inset:0;display:grid;place-items:center;font-weight:800;font-variant-numeric:tabular-nums}
.prompt{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:18px;padding:12px 14px;margin:0 16px;text-align:left;display:flex;gap:10px;align-items:flex-start}
.prompt small{display:block;color:#C2EFDB;font-weight:800;font-size:11px;letter-spacing:.8px;text-transform:uppercase}
.prompt p{font-size:15px;font-weight:600;color:#fff}
.prompt button{flex:none;border:0;background:rgba(255,255,255,.16);color:#fff;border-radius:999px;padding:7px 11px;font-size:12.5px;font-weight:700}
/* Celebration */
.celebrate{position:absolute;inset:0;z-index:45;background:radial-gradient(120% 80% at 50% 20%,#D3F4E4 0%,#8DEBC3 45%,#0E9F6E 100%);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center;padding:24px;overflow:hidden;animation:fade .25s}
.celebrate h2{font-family:var(--f-script);font-weight:400;font-style:normal;font-size:58px;letter-spacing:0;line-height:1.1;text-shadow:0 4px 18px rgba(120,0,40,.3)}
.celebrate p{font-size:16px;font-weight:600;max-width:30ch}
.celebrate .pair{position:relative;width:250px;height:150px}
.celebrate .pair .av{position:absolute;top:0;width:128px;height:150px;border-radius:30px;border:4px solid #fff;box-shadow:0 18px 40px -14px rgba(90,0,30,.6)}
.celebrate .pair .av:first-child{left:0;transform:rotate(-8deg);animation:inL .6s cubic-bezier(.2,.9,.3,1.2)}
.celebrate .pair .av:nth-child(2){right:0;transform:rotate(8deg);animation:inR .6s cubic-bezier(.2,.9,.3,1.2)}
.celebrate .pair .hb{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px;border-radius:50%;background:#fff;color:var(--rose);display:grid;place-items:center;z-index:2;box-shadow:0 8px 20px -6px rgba(90,0,30,.5);animation:pop .7s .25s both}
.celebrate .pair .hb .ic{width:28px;height:28px;fill:currentColor}
@keyframes inL{from{transform:translateX(-60px) rotate(-20deg);opacity:0}}
@keyframes inR{from{transform:translateX(60px) rotate(20deg);opacity:0}}
@keyframes pop{0%{transform:scale(0)}70%{transform:scale(1.2)}100%{transform:scale(1)}}
.celebrate .btns{display:grid;gap:10px;width:100%;max-width:320px}
.celebrate .btn.white{background:#fff;color:var(--rose-deep)}
.celebrate .btn.clear{background:rgba(255,255,255,.18);color:#fff;border-color:rgba(255,255,255,.4)}
.floaty{position:absolute;bottom:-30px;color:rgba(255,255,255,.7);animation:rise2 linear infinite}
.floaty svg{fill:currentColor}
@keyframes rise2{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:1}100%{transform:translateY(-110vh) scale(1.1);opacity:0}}
.usp{display:grid;gap:10px}
.usp li{list-style:none;display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:14px;box-shadow:var(--shadow)}
.usp .pi{width:44px;height:44px;border-radius:14px;background:var(--grad-warm);color:#fff;display:grid;place-items:center}
.usp b{display:block;font-weight:800;font-size:15px;color:var(--ink)}
.usp span{color:var(--muted);font-size:13.5px}
.usp{margin:0;padding:0}
.still,.still .sheet,.still .backdrop,.still .floaty{animation:none!important}
.still .tp.flip{animation:none}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Real app additions ---------- */
html,body{overscroll-behavior:none}
body{background:var(--bg)}
.boot{flex:1;display:grid;place-content:center;justify-items:center;gap:22px;padding:40px 24px;text-align:center}
.boot .brand{font-size:28px}
.spin{display:inline-block;width:18px;height:18px;border-radius:50%;border:2.4px solid currentColor;border-right-color:transparent;animation:rmspin .8s linear infinite;vertical-align:-3px}
.boot .spin{width:28px;height:28px;color:var(--rose)}
@keyframes rmspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.spin{animation-duration:2s}}
.nav.n4{grid-template-columns:repeat(4,1fr);align-items:stretch}
.msg.pending{opacity:.6}
.adm{gap:10px}
.adm-h{display:grid;gap:2px}.adm-h small{color:var(--muted)}
.adm-imgs{display:flex;gap:10px;overflow-x:auto}
.gline{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.gchk{font-size:12px;font-weight:600;padding:2px 8px;border-radius:99px}.gchk.ok{background:#E6F4EA;color:#1E6B3A}.gchk.mid{background:#FFF3DC;color:#8A5A00}.gchk.no{background:#FDE8EA;color:#B3261E}
.adm-imgs img{height:200px;max-width:100%;border-radius:14px;object-fit:contain;background:var(--sunk);border:1px solid var(--line)}
.adm-act{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.adm-act select{flex:1 1 100%;min-height:42px;border-radius:12px;border:1px solid var(--line);background:var(--surface);padding:8px 10px}
.pgrid .ptile{position:relative;aspect-ratio:3/4;border-radius:16px;overflow:hidden;display:block}
.av-tile{width:100%;height:100%}
.fld input:disabled{opacity:.65}

.wtop{display:flex;align-items:center;justify-content:space-between;gap:12px}
.lang-sw{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:7px 12px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.lang-sw .ic{width:16px;height:16px}

/* Keyboard open: give the screen to the field being typed in */
.kb .navwrap{display:none}

/* Work with NeuMarry */
.panel.wwu{border:1.5px solid #E7C27A;background:linear-gradient(160deg,#FFF8E8,var(--surface) 60%);box-shadow:0 12px 30px -20px rgba(176,120,30,.65)}
.wwu-h{display:flex;align-items:center;justify-content:space-between;gap:8px}.wwu-h h3{margin:0}
.panel.wwu>.hint{margin:-4px 0 2px}
.rowi .rchev{margin-left:auto;color:var(--muted);width:18px;height:18px;flex:none;transform:rotate(-90deg)}
.wwu-link{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;border:1.5px solid #E7C27A;background:linear-gradient(160deg,#FFF8E8,var(--surface) 70%);color:var(--ink);text-decoration:none}
.wwu-link>svg:first-child{color:var(--gold);width:22px;height:22px;flex:none}.wwu-link span{display:grid;gap:2px;flex:1}.wwu-link small{color:var(--muted);font-size:13px}.wwu-link>svg:last-child{color:var(--muted);width:18px;height:18px;transform:rotate(-90deg)}
a.btn{text-decoration:none}
.app-row.done{opacity:.6}
/* Verify: roots and city checks */
.vsteps{display:grid;gap:10px}
.vstep{display:flex;gap:12px;align-items:center;width:100%;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:13px 14px;box-shadow:var(--shadow)}
.vstep .n{width:34px;height:34px;border-radius:12px;background:var(--rose-soft);color:var(--rose);display:grid;place-items:center;font-weight:800;flex:none}
.vstep .n.ok{background:#E3F4EC;color:var(--good)} .vstep .n.wait,.vstep .n.ready{background:var(--gold-soft);color:var(--warn)} .vstep .n.rej{background:var(--bad-soft);color:var(--bad)}
.vstep .tx{flex:1;min-width:0;display:grid;gap:2px} .vstep .tx b{font-size:15px} .vstep .tx small{color:var(--muted);font-size:13px;line-height:1.35}
.vst{font-size:12.5px;font-weight:800;white-space:nowrap;color:var(--rose)} .vst.ok{color:var(--good)} .vst.wait,.vst.ready{color:var(--warn)} .vst.rej{color:var(--bad)}
.vopts{display:grid;gap:10px}
.vopt{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;border:1.5px solid var(--line);background:var(--surface);border-radius:18px;padding:13px 14px}
.vopt.on{border-color:var(--rose);background:var(--rose-soft)}
.vopt .rd{width:20px;height:20px;border-radius:50%;border:2px solid var(--line);flex:none;margin-top:1px;display:grid;place-items:center;background:var(--surface)}
.vopt.on .rd{border-color:var(--rose)} .vopt.on .rd::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--rose)}
.vopt .tx{display:grid;gap:2px;min-width:0} .vopt b{font-size:15px} .vopt small{color:var(--muted);font-size:13px;line-height:1.35}
.vfact{display:flex;gap:10px;align-items:center;padding:11px 14px;border-radius:16px;background:var(--sunk);font-size:14px}
.vfact>.ic{color:var(--rose);flex:none} .vfact .tx{display:grid;gap:1px} .vfact small{color:var(--muted);font-size:12.5px} .vfact b{font-weight:700}
.vtrow{display:flex;gap:10px;align-items:flex-start;padding:11px 0;border-bottom:1px solid var(--line)}
.vtrow:last-child{border-bottom:0}
.vtrow .ic{flex:none;margin-top:2px} .vtrow .ok-ic{color:var(--good)} .vtrow .no-ic{color:var(--muted)}
.vtrow .tx{display:grid;gap:2px;min-width:0} .vtrow b{font-size:14.5px} .vtrow small{color:var(--muted);font-size:12.5px;line-height:1.35}
.vill{display:grid;place-items:center;width:96px;height:96px;margin:0 auto;border-radius:50%;background:var(--rose-soft);color:var(--rose)}
.vill .ic{width:46px;height:46px}
.progress.p4{grid-template-columns:repeat(4,1fr)}
.pill.ver{background:#E3F4EC;color:var(--good)}
.roots .pv{display:inline-flex;color:var(--good);margin-left:3px;vertical-align:-2px} .roots .pv .ic{width:15px;height:15px}
/* Not live yet (28 Oct): only fully verified members are live */
.golive .gl-h{display:flex;gap:9px;align-items:flex-start;font-size:15px;line-height:1.35}.golive .gl-h .ic{color:var(--rose-deep);margin-top:1px}
.golive .seats{display:grid;gap:6px;font-size:13px;font-weight:700;color:var(--ink)}
.callout.good{background:#E3F4EC}.callout.good .ic{color:var(--good)}
.callout.bad{background:var(--bad-soft)}.callout.bad .ic{color:var(--bad)}
/* Event QR ticket */
.ticket{justify-items:center;text-align:center;border:1.5px solid #E7C27A;background:linear-gradient(170deg,#FFF8E8,var(--surface) 55%)}
.ticket .sub,.ticket .hint{text-align:center}
.tk-ic{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:var(--gold-soft);color:var(--gold)}.tk-ic .ic{width:26px;height:26px}
.tk-ic.ok{background:#E3F4EC;color:var(--good)}.tk-ic.bad{background:var(--bad-soft);color:var(--bad)}
.ticket.in{border-color:#9FD3BA;background:linear-gradient(170deg,#E9F7F0,var(--surface) 55%)}
.qrbox{width:min(250px,72vw);aspect-ratio:1;background:#fff;border-radius:20px;padding:10px;border:1px solid var(--line);box-shadow:var(--shadow)}
.qrbox svg{width:100%;height:100%;display:block}
.tk-code{display:grid;gap:2px}.tk-code span{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tk-code b{font-size:30px;font-weight:800;letter-spacing:.12em;font-variant-numeric:tabular-nums;color:var(--ink)}
.tk-live{display:inline-flex;gap:6px;align-items:center;font-size:13px;font-weight:700;color:var(--warn)}.tk-live .ic{width:16px;height:16px}
/* Host check-in */
.hstats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.hstats>div{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:12px 14px;display:grid;gap:2px;box-shadow:var(--shadow)}
.hstats b{font-family:var(--f-display);font-weight:500;font-size:30px;line-height:1;color:var(--rose-deep)}.hstats b small{font-size:16px;color:var(--muted)}
.hstats span{font-size:12.5px;font-weight:700;color:var(--muted)}
.scanbox{position:relative;border-radius:26px;overflow:hidden;background:#101814;aspect-ratio:1;display:grid;place-items:center}
.scanbox video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.scanframe{position:absolute;inset:18%;border:3px solid rgba(255,255,255,.92);border-radius:22px;box-shadow:0 0 0 999px rgba(20,8,12,.35)}
.scanhint{position:absolute;left:0;right:0;bottom:14px;text-align:center;color:#fff;font-weight:800;font-size:14px;text-shadow:0 1px 3px rgba(0,0,0,.5)}
.scanoff{display:grid;gap:12px;justify-items:center;text-align:center;color:#E3F7EE;padding:24px}.scanoff .ic{width:54px;height:54px;color:#8DEBC3}
.codein{display:flex;gap:10px}.codein input{flex:1;min-width:0;border:1.5px solid var(--line);border-radius:16px;padding:12px 14px;font-size:20px;font-weight:800;letter-spacing:.14em;background:var(--surface)}
.codein input:focus{border-color:var(--rose);outline:none}
.hres{border-width:1.5px}.hres.bad{justify-items:center;text-align:center;border-color:#C2EBD6}.hres.in{border-color:#9FD3BA}
.hres-top{display:flex;gap:14px;align-items:center}.hres-top h3{font-size:23px}
.hres-top .gpic{width:96px;height:96px;border-radius:24px}
.gpic{width:42px;height:42px;border-radius:14px;object-fit:cover;flex:none;background:var(--rose-soft)}
.gpic.ini{display:grid;place-items:center;font-weight:800;color:var(--rose);font-size:18px}
.btns2{display:flex;gap:10px;flex-wrap:wrap}.btns2 .btn{flex:1 1 140px}
.glist{padding:4px 16px;gap:0}.glist>.rowi{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.glist>.rowi:last-child{border-bottom:0}
.glist .tx{flex:1;min-width:0;display:grid;gap:1px}.glist .tx span{font-size:13px;color:var(--muted)}
.pill .ic{width:14px;height:14px}
/* Why come to an event (28 Oct) */
.panel.whyev{border:1.5px solid #C9EEDD;background:linear-gradient(160deg,#FFF0F4,var(--surface) 62%)}
.panel.whyev .incl li{align-items:flex-start}.panel.whyev .incl .ic{color:var(--rose);margin-top:2px}
.panel.whyev em{font-style:italic;color:var(--rose-deep)}
/* Team: new sign-ups (28 Oct) */
.su-list .rowi{align-items:flex-start}.su-list .tx{gap:3px}.su-list .pill{justify-self:start;max-width:100%;white-space:normal;text-align:left;margin-top:3px}

/* ---- New design 29 Oct (his "design ok"): Home card ---- */
.nm-card{border-radius:30px;box-shadow:0 18px 40px -18px rgba(90,30,54,.45),0 2px 6px rgba(90,30,54,.06);border-color:#F6E3E7}
.nm-card .mphoto{aspect-ratio:4/3.3}
.nm-card .mphoto::after{inset:30% 0 0;background:linear-gradient(180deg,rgba(59,31,42,0),rgba(59,31,42,.86))}
.nm-veil{display:inline-flex;align-items:center;gap:7px;background:rgba(59,31,42,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25);color:#fff;font-size:12.5px;font-weight:700;padding:8px 13px;border-radius:999px;white-space:nowrap;max-width:calc(100% - 78px);overflow:hidden;text-overflow:ellipsis}
.nm-veil .ic{width:14px;height:14px}
.nm-fit{flex:none;width:62px;height:62px;border-radius:50%;background:conic-gradient(var(--rose) 0 var(--fit),rgba(255,255,255,.28) var(--fit) 100%);display:grid;place-items:center}
.nm-fit>span{width:52px;height:52px;border-radius:50%;background:rgba(59,31,42,.74);display:grid;place-content:center;text-align:center;color:#fff;font-weight:800;font-size:15px;line-height:1}
.nm-fit small{display:block;font-size:9.5px;font-weight:700;opacity:.8;margin-top:2px}
.nm-seal{display:inline-flex;align-items:center;gap:5px;background:#E4F3EB;color:#2F7A5B;font-family:var(--f-body);font-size:12px;font-weight:800;padding:5px 9px;border-radius:999px;white-space:nowrap}
.nm-seal .ic{width:13px;height:13px;stroke-width:2.6}.nm-seal.part{background:var(--gold-soft);color:var(--warn)}
.nm-route{display:grid;gap:6px}
.nm-rt{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}
.nm-pl b{display:block;font-family:var(--f-display);font-weight:600;font-size:17px;line-height:1.15}
.nm-pl small{font-size:12.5px;color:var(--muted)}.nm-pl.r{text-align:right}
.nm-arc{width:100%;height:38px;overflow:visible}
.nm-arc path{fill:none;stroke:var(--rose);stroke-width:1.6;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}
.nm-arc .o{fill:var(--gold)}.nm-arc .d{fill:var(--rose)}
.nm-rnote{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--muted)}
.nm-rnote .ok{color:#2F7A5B;font-weight:700}
.nm-why{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.nm-why li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.4}
.nm-why li .ic{flex:none;width:18px;height:18px;margin-top:1px;color:var(--rose);stroke-width:2}
.nm-card .tlrow{margin-top:2px}

/* Daily introductions */
.nm-intro{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(var(--pad,18px) * -1);padding:0 var(--pad,18px) 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.nm-intro::-webkit-scrollbar{display:none}
.nm-slide{flex:0 0 100%;scroll-snap-align:center}
.nm-dots{display:flex;gap:6px;justify-content:center;margin:-2px 0 6px}.nm-dots i{width:22px;height:4px;border-radius:2px;background:#F0D6DC}.nm-dots i.on{background:var(--rose)}

/* Profile in the new design */
.pv-ov .tx h2 .age{font-family:var(--f-body);font-weight:500;opacity:.85}
.pv-ov .tx p{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.nm-chk{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:4px 0 10px}
.nm-chk span{display:grid;justify-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--muted);text-align:center;line-height:1.2}
.nm-chk span i{width:34px;height:34px;border-radius:50%;background:var(--sunk);display:grid;place-items:center}
.nm-chk span i .ic{width:16px;height:16px;stroke-width:2.4}
.nm-chk span.ok{color:#2F7A5B}.nm-chk span.ok i{background:#E4F3EB}

/* starters, biodata, events and Gold in the new design */
.nm-start{padding-block:8px 4px;background:var(--bg)}
.nm-start small{font-size:12.5px;font-weight:700;color:var(--muted)}
.nm-start div{display:flex;gap:8px;overflow-x:auto;margin-top:6px;scrollbar-width:none}.nm-start div::-webkit-scrollbar{display:none}
.nm-start button{flex:none;border:0;background:var(--rose-soft);color:var(--rose-deep);font:700 13px var(--f-body);padding:9px 12px;border-radius:14px;max-width:260px;text-align:left}
.nm-bio .pi{width:40px;height:40px;border-radius:50%;background:#E4F3EB;color:#2F7A5B;display:grid;place-items:center}
.evcard{border-radius:26px;box-shadow:0 14px 30px -18px rgba(90,30,54,.5);border-color:#F6E3E7}
.plan.pick.on{box-shadow:0 0 0 3px #F5E3BE}

.nm-seats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:8px 0 2px;font-size:12.5px;font-weight:700}
.nm-seats .b{display:block;height:7px;border-radius:4px;background:#F6E1E6;margin-top:5px;overflow:hidden}.nm-seats .b i{display:block;height:100%;background:var(--rose)}.nm-seats .b.m i{background:#173128}
.nm-ghero{background:linear-gradient(160deg,#14231C,#173128);color:#fff;border-radius:22px;padding:18px;margin-bottom:12px}
.nm-ghero .cr{width:52px;height:52px;border-radius:17px;background:linear-gradient(135deg,#E9C77F,#B8863A);display:grid;place-items:center;color:#14231C}
.nm-ghero .cr .ic{width:26px;height:26px}
.nm-ghero h3{font-family:var(--f-display);font-weight:500;font-size:24px;line-height:1.15;margin-top:12px}
.nm-ghero p{color:#F3D9E0;font-size:14px;margin-top:6px;line-height:1.45}
.cvok{display:flex;gap:6px;align-items:flex-start;color:var(--good,#1E7D52);margin:6px 0 0}.cvok svg{width:16px;height:16px;flex:none;margin-top:2px}
.wstrip{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:12px 0 12px;margin:0 0 14px;box-shadow:0 8px 22px rgba(59,31,42,.06)}
.ws-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px 10px}
.ws-h>b{display:flex;align-items:center;gap:6px;font-size:15px}.ws-h>b svg{width:16px;height:16px;color:var(--rose)}
.ws-me{border:1px solid var(--line);background:var(--sunk);border-radius:999px;padding:6px 12px;font:inherit;font-size:12.5px;font-weight:800;color:var(--rose-deep);display:flex;align-items:center;gap:4px;white-space:nowrap}
.ws-me.on{background:color-mix(in srgb,var(--good) 12%,var(--surface));color:var(--good)}.ws-me svg{width:13px;height:13px}
.ws-row{display:flex;gap:8px;overflow-x:auto;padding:0 14px;scrollbar-width:none}.ws-row::-webkit-scrollbar{display:none}
.ws-c{flex:none;display:flex;flex-direction:column;gap:1px;border:1px solid var(--line);border-radius:14px;padding:8px 12px;background:var(--surface)}
.ws-c b{font-size:13.5px}.ws-c small{font-size:11.5px;color:var(--muted)}
.ws-c.on{background:var(--gold-soft);border-color:color-mix(in srgb,var(--gold) 45%,var(--line))}.ws-c.rd{background:color-mix(in srgb,var(--good) 12%,var(--surface));border-color:color-mix(in srgb,var(--good) 35%,var(--line))}
.fam-r{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 4px;font-size:13px}.fam-r b{width:100%;display:flex;gap:6px;align-items:center}.fam-r b svg{width:15px;height:15px;color:var(--rose)}.fam-r span{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-weight:700}
.grid-c{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 10px}.cchip{border:1.5px solid var(--line);background:var(--surface);border-radius:999px;padding:9px 13px;font:inherit;font-weight:800;font-size:14px;color:var(--ink);cursor:pointer}.cchip.on{border-color:var(--rose);background:var(--rose-soft);color:var(--rose-deep)}
.lbl-s{font-size:13px;font-weight:800;margin:6px 0 2px;color:var(--ink)}
.jparts{display:grid;gap:10px;margin-top:12px}.jpt{display:flex;gap:12px;align-items:center;background:var(--surface);border:1.5px solid var(--line);border-radius:18px;padding:12px 14px}.jpt b{display:block;font-size:15px}.jpt small{display:block;color:var(--muted);font-size:12.5px;line-height:1.35}
.jic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:20px;background:var(--rose-soft);flex:none}.jtm{margin-left:auto;font-size:12px;font-weight:800;color:var(--muted);white-space:nowrap}.jpt.done{border-color:color-mix(in srgb,var(--good) 35%,var(--line));background:color-mix(in srgb,var(--good) 6%,var(--surface))}.jpt.done .jic{background:color-mix(in srgb,var(--good) 14%,var(--surface));color:var(--good);font-weight:800}
.qcard{background:var(--surface);border:1.5px solid var(--line);border-radius:24px;padding:18px;box-shadow:0 18px 40px rgba(59,31,42,.10);margin:6px 0 14px}.qcard .qn{font-size:12.5px;font-weight:800;color:var(--muted);margin:0}.qcard h3{font-family:Lora,serif;font-size:21px;line-height:1.25;margin:8px 0 14px}
.qans{display:grid;gap:8px}.qopt{border:1.5px solid var(--line);background:var(--surface);border-radius:16px;padding:13px 14px;font:inherit;font-weight:800;font-size:15px;text-align:left;color:var(--ink);cursor:pointer}.qopt:active{border-color:var(--rose);background:var(--rose-soft)}
.qdots{display:flex;gap:5px;justify-content:center;margin-top:14px}.qdots i{width:7px;height:7px;border-radius:50%;background:var(--line)}.qdots i.on{background:var(--rose)}.qdots i.cur{background:var(--rose);width:18px;border-radius:4px}
.ulist{max-height:260px;overflow:auto;border:1.5px solid var(--line);border-radius:14px;margin-top:6px;background:var(--surface)}.urow{display:flex;justify-content:space-between;gap:8px;width:100%;border:0;border-bottom:1px solid var(--line);background:none;padding:10px 12px;font:inherit;font-weight:700;font-size:14px;text-align:left;color:var(--ink);cursor:pointer}.urow small{color:var(--muted);font-weight:700;white-space:nowrap}.urow.on{background:var(--rose-soft);color:var(--rose-deep)}
.linkbtn{border:0;background:none;color:var(--rose-deep);font:inherit;font-weight:800;padding:0;cursor:pointer;text-decoration:underline}
.cele{position:fixed;inset:0;z-index:80;background:rgba(59,31,42,.38);display:flex;align-items:center;justify-content:center;padding:22px;animation:celeIn .2s ease-out}
.cele-c{position:relative;background:var(--surface);border-radius:28px;padding:24px 20px;text-align:center;width:100%;max-width:380px;box-shadow:0 30px 70px rgba(59,31,42,.3);animation:celePop .35s cubic-bezier(.2,1.4,.4,1)}
.cele-e{font-size:52px;line-height:1}.cele-c h2{font-family:Lora,serif;font-size:26px;margin:8px 0 6px}.cele-c p{color:var(--muted);font-size:14.5px;line-height:1.45;margin:0}
.cele-n{background:var(--gold-soft);border-radius:16px;padding:10px 12px;margin:14px 0 10px;font-size:14px;color:#7A5418;display:grid;gap:2px}.cele-n span{font-weight:700;font-size:13px}
.cele-bar{height:6px;border-radius:3px;background:var(--line);margin-bottom:14px}.cele-bar i{display:block;height:6px;border-radius:3px;background:var(--rose)}
.cele .cf{position:absolute;inset:0;overflow:hidden;pointer-events:none}.cele .cf i{position:absolute;top:-20px;width:9px;height:14px;border-radius:2px;transform:rotate(var(--r));animation:celeFall 1.6s ease-in forwards}
@keyframes celeFall{to{transform:translateY(110vh) rotate(calc(var(--r) + 540deg));opacity:.2}}@keyframes celeIn{from{opacity:0}}@keyframes celePop{from{transform:scale(.85);opacity:0}}
@media (prefers-reduced-motion:reduce){.cele .cf{display:none}.cele,.cele-c{animation:none}}
/* ===== v2 design (1 Nov 2026, founder preview) ===== */
.v2{--plum:#142520;--plum2:#173128}
.v2col{display:flex;flex-direction:column;height:100%;min-height:0}
.v2head{display:flex;align-items:center;gap:6px;padding-block:10px 8px}
.v2pt{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;font-weight:800;color:var(--muted);letter-spacing:.01em}
.v2pt b{color:var(--good);display:inline-flex;align-items:center;gap:3px}.v2pt .ic{width:12px;height:12px}
.v2segs{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin-top:7px}.v2segs i{height:5px;border-radius:5px;background:var(--line)}
.v2segs i.d{background:var(--rose)}.v2segs i.h{background:linear-gradient(90deg,var(--rose) 55%,var(--line) 55%)}
.v2 .form{display:flex;flex-direction:column;gap:12px;padding-block:6px 20px}
.v2h{font-family:var(--f-display);font-weight:600;font-size:25px;line-height:1.15;letter-spacing:-.01em;text-wrap:balance;margin:2px 0 0}
.v2h em{font-style:italic;font-weight:500;color:var(--rose)}
.v2lede{color:var(--muted);font-size:13.5px;margin:0}
.v2lb{font-size:10.5px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:6px 0 -4px}
.v2note{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--muted);font-weight:700;margin:0}.v2note .ic{width:14px;height:14px;flex:none}
.v2gain{display:flex;gap:10px;align-items:center;background:var(--gold-soft);border:1px solid #EED9B2;border-radius:16px;padding:10px 12px;font-size:12.5px;font-weight:700;color:#6E4C16}
.v2gain .ic{width:18px;height:18px;color:var(--gold);flex:none}
.v2card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:12px 14px}
.v2row{display:flex;align-items:center;gap:10px}.v2row small{display:block;color:var(--muted);font-size:11.5px;font-weight:700}
.v2rowsp{display:flex;align-items:center;justify-content:space-between;gap:8px}
.v2pill{display:inline-flex;align-items:center;gap:4px;font:800 11px var(--f-body);padding:5px 10px;border-radius:999px;background:var(--rose-soft);color:var(--rose-deep);border:0;white-space:nowrap}
.v2pill .ic{width:12px;height:12px}
.v2chips{display:flex;flex-wrap:wrap;gap:7px}
.v2chip{display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:6px 13px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);font:800 13px var(--f-body);color:var(--ink);text-align:left}
.v2chip.on{border-color:var(--rose);background:var(--rose-soft);color:var(--rose-deep)}
.v2chips.has-err .v2chip,.v2gts.has-err .v2gt,.v2flags.has-err .v2fl{border-color:var(--bad)}
.v2gts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.v2gt{border:1.5px solid var(--line);background:var(--surface);border-radius:20px;padding:12px 8px;text-align:center;display:grid;justify-items:center;gap:2px;color:var(--ink)}
.v2gt.on{border:2px solid var(--rose);background:var(--rose-soft)}
.v2gt-a{width:64px;height:64px;border-radius:50%;overflow:hidden;display:block;margin-bottom:6px}.v2gt-a svg{width:100%;height:100%;display:block}
.v2gt b{font-size:14px}.v2gt small{color:var(--muted);font-size:11.5px;font-weight:700}
.v2wheel{position:relative;display:grid;grid-template-columns:1fr 1.3fr 1.2fr;height:200px;background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden}
.v2wheel::before,.v2wheel::after{content:"";position:absolute;left:0;right:0;height:80px;z-index:2;pointer-events:none}
.v2wheel::before{top:0;background:linear-gradient(var(--surface),rgba(255,255,255,0))}.v2wheel::after{bottom:0;background:linear-gradient(rgba(255,255,255,0),var(--surface))}
.v2wsel{position:absolute;left:8px;right:8px;top:80px;height:40px;border-radius:12px;background:var(--rose-soft);z-index:0}
.v2wcol{position:relative;z-index:1;overflow-y:auto;scroll-snap-type:y mandatory;padding:80px 0;scrollbar-width:none;overscroll-behavior:contain}.v2wcol::-webkit-scrollbar{display:none}
.v2wit{height:40px;line-height:40px;text-align:center;scroll-snap-align:center;font:700 15px var(--f-body);color:var(--muted)}
.v2wit.on{font-weight:900;font-size:18px;color:var(--rose-deep)}
.v2wheel.has-err{border-color:var(--bad)}
.v2flags{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.v2fl{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:8px 2px;display:grid;justify-items:center;gap:2px;color:var(--ink);min-width:0}
.v2fl span{font-size:24px;line-height:1.1}.v2fl b{font:800 10px var(--f-body);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v2fl.on{border:2px solid var(--rose);background:var(--rose-soft)}.v2fl.on b{color:var(--rose-deep)}
.v2roots{display:flex;align-items:center;gap:12px;background:var(--plum);color:#fff;border-radius:18px;padding:12px 14px}
.v2rf{font-size:28px}.v2roots small{display:block;font-size:9.5px;letter-spacing:.16em;opacity:.65;font-weight:900}.v2roots b{font-size:14px}.v2roots .ic{color:#FFD7A8}
.v2city{padding:0;overflow:hidden}.v2map{height:70px;position:relative;background:linear-gradient(135deg,#EAF1F6,#DCE7EF)}.v2map svg{position:absolute;inset:0;width:100%;height:100%}
.v2map .ic{position:absolute;left:50%;top:14px;width:30px;height:30px;transform:translateX(-50%);color:var(--rose);fill:#fff}
.v2studio{display:grid;grid-template-columns:1.25fr 1fr;gap:10px}
.v2main{position:relative;aspect-ratio:3/4;max-width:100%;border-radius:22px;overflow:hidden;background:var(--rose-soft);border:2px dashed var(--rose);display:block;cursor:pointer}
.v2main img{width:100%;height:100%;object-fit:cover;display:block}.v2main:has(img){border:0}
.v2main input{position:absolute;inset:0;opacity:0;cursor:pointer}
.v2empty{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;text-align:center;gap:4px;color:var(--rose-deep);padding:8px}.v2empty .ic{width:30px;height:30px}.v2empty small{color:var(--muted);font-weight:700}
.v2main .v2pill{position:absolute;left:8px;top:8px;background:rgba(255,255,255,.95)}.v2main .v2pill .ic{color:var(--gold)}
.v2tips{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:700;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:12px}
.v2tips b{font-size:12.5px}.v2tips span{display:flex;gap:6px;align-items:flex-start}.v2tips .ic{width:15px;height:15px;color:var(--good);flex:none}.v2tips small{color:var(--muted);font-size:11px;margin-top:auto}
.v2studio.has-err .v2main{border-color:var(--bad)}
.v2hc{padding:0;overflow:hidden;background:linear-gradient(180deg,#FFF1E6,#FFE6EC)}.v2house{display:block;width:100%;height:auto}
.v2q{display:grid;gap:8px}.v2qt{display:flex;gap:8px;align-items:center;font-weight:800;font-size:14px;margin:0}.v2qt .ic{width:18px;height:18px;color:var(--rose);flex:none}
.v2qo{display:flex;flex-wrap:wrap;gap:7px}.v2q.has-err .v2chip{border-color:var(--bad)}
.v2nat{background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:14px;display:grid;gap:12px;box-shadow:0 20px 34px -22px rgba(90,20,50,.45)}
.v2nat-art{height:110px;border-radius:18px;display:grid;place-items:center;color:#fff}.v2nat-art .ic{width:46px;height:46px;stroke-width:1.5}
.v2nat h2{font-family:var(--f-display);font-weight:600;font-size:20px;line-height:1.2;margin:0;text-align:center}
.v2nat-o{display:grid;gap:8px}.v2nat-b{border:1.5px solid var(--line);background:var(--surface);border-radius:16px;padding:13px 14px;font:800 14px var(--f-body);color:var(--ink);text-align:left}
.v2nat-b:active{border-color:var(--rose);background:var(--rose-soft)}
.v2dots{display:flex;gap:5px;justify-content:center}.v2dots i{height:6px;width:6px;border-radius:4px;background:var(--line)}.v2dots i.d{background:var(--rose)}.v2dots i.h{width:18px;background:var(--rose)}
.v2back{align-self:center}
.v2natr{display:flex;align-items:center;gap:8px;width:100%;background:none;border:0;border-bottom:1px solid var(--line);padding:9px 0;text-align:left;color:var(--ink)}
.v2natr:last-child{border-bottom:0}.v2natr small{width:92px;flex:none;color:var(--muted);font-weight:800;font-size:11.5px}.v2natr b{flex:1;font-size:13px}.v2natr .ic{width:16px;height:16px;color:var(--muted)}
.v2foot{display:grid;gap:8px;padding-block:10px 14px;border-top:1px solid var(--line);background:var(--bg)}
.v2foot .btn .ic{width:18px;height:18px}
.v2pass{border-radius:24px;background:linear-gradient(160deg,#142520,#173128);padding:14px;color:#fff}
.v2pass-top{display:flex;align-items:center;gap:12px}.v2pass-top small{display:block;font-size:9.5px;letter-spacing:.18em;opacity:.65;font-weight:900}
.v2pass-top b{display:block;font-family:var(--f-display);font-size:19px;font-weight:600}.v2pass-top span{font-size:11.5px;opacity:.85}
.v2stamps{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px;background:var(--bg);border-radius:18px;padding:11px}
.v2st{position:relative;border:2px dashed #B9A0AD;border-radius:16px;padding:10px 6px;text-align:center;transform:rotate(var(--r));color:var(--muted);display:grid;justify-items:center;gap:1px}
.v2st .ic{width:24px;height:24px}.v2st b{font-size:12.5px}.v2st small{font-size:10.5px;font-weight:700}
.v2st.done{border-style:solid;border-color:var(--good);background:var(--surface);color:var(--good)}.v2st.nx{border-color:var(--rose);color:var(--rose-deep)}
.v2ok{position:absolute;right:6px;top:6px;width:18px;height:18px;border-radius:50%;background:var(--good);color:#fff;display:grid;place-items:center}.v2ok .ic{width:11px;height:11px}
.cele.v2 .v2seal{width:64px;height:64px;margin:0 auto 6px;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;box-shadow:0 0 0 8px var(--rose-soft)}
.cele.v2 .v2seal .ic{width:30px;height:30px}.v2segs-c{margin:4px 0 12px}
/* welcome */
.v2w{background:radial-gradient(120% 70% at 50% 0%,#1C3A30 0%,#142520 55%,#0C1612 100%);color:#fff;display:flex;flex-direction:column}
.v2w-sky{position:relative;height:300px;flex:none}.v2w-sky svg{position:absolute;inset:0;width:100%;height:100%}
.v2flag{position:absolute;font-size:18px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}
.v2cityp{position:absolute;left:62%;top:26%;display:inline-flex;gap:4px;align-items:center;font:800 11px var(--f-body);padding:4px 9px;border-radius:999px;background:rgba(255,255,255,.92);color:#0E1E18}.v2cityp .ic{width:12px;height:12px}
.v2w-body{display:flex;flex-direction:column;gap:13px;padding-block:0 26px}
.v2brand{font:800 12px var(--f-body);letter-spacing:.24em;opacity:.7;margin:0}
.v2w h1{font-family:var(--f-display);font-weight:600;font-size:33px;line-height:1.1;margin:0;color:#fff}.v2w h1 em{font-weight:500;color:#A8F0CF}
.v2w-lede{opacity:.85;font-size:14px;margin:0}
.v2prom{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.v2prom div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:9px 8px;display:grid;gap:1px}
.v2prom .ic{width:17px;height:17px;color:#A8F0CF}.v2prom b{font-size:12.5px}.v2prom span{font-size:10.5px;opacity:.72}
.v2light{background:#fff;color:#0E1E18;font-weight:800}.v2ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3)}
.v2w-note{font-size:11.5px;opacity:.7;text-align:center;margin:0}.v2w-note .link{color:#fff}
@media (prefers-reduced-motion:no-preference){.v2arc{stroke-dasharray:4 5;animation:v2dash 6s linear infinite}@keyframes v2dash{to{stroke-dashoffset:-90}}}
/* reveal */
.v2rev{position:absolute;inset:0;z-index:60;background:radial-gradient(100% 60% at 50% 20%,#E3F7EE 0%,var(--bg) 70%);display:flex;align-items:center}
.v2rev-cf i{position:absolute;width:7px;height:9px;border-radius:2px;opacity:.85}
.v2rev-c{display:grid;gap:14px;width:100%}
.v2rev-seal{width:92px;height:92px;margin:0 auto;border-radius:50%;background:var(--grad);color:#fff;display:grid;place-items:center;box-shadow:0 0 0 10px #fff,0 20px 30px -12px rgba(14,159,110,.7)}.v2rev-seal .ic{width:44px;height:44px}
.v2rev-p{display:flex;justify-content:center}.v2rev-p span{width:64px;height:82px;border-radius:15px;overflow:hidden;border:3px solid #fff;margin-left:-14px;transform:rotate(var(--r));box-shadow:0 10px 20px -10px rgba(60,20,40,.5)}
.v2rev-p span:first-child{margin-left:0}.v2rev-p svg{width:100%;height:100%;display:block}
.v2foot .btn .ic,.v2natr .ic{transform:rotate(-90deg)}
/* v2 events */
.v2evh{display:block;width:100%;text-align:left;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--surface);padding:0;margin-bottom:14px;box-shadow:var(--shadow);color:var(--ink)}
.v2evh-art{display:block;height:120px;overflow:hidden;position:relative}.v2evh-art>*{height:100%}
.v2evh-b{display:grid;gap:8px;padding:12px 14px 14px}.v2evh-b small{font-size:10.5px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--rose-deep)}
.v2evh-b>b{font-family:var(--f-display);font-size:18px;font-weight:600}.v2evh-b em{font-style:normal;font-size:12px;color:var(--muted);font-weight:700;margin-top:-6px}
.v2bar>div{display:flex;justify-content:space-between;font-size:11.5px;font-weight:800}.v2bar>i{display:block;height:7px;border-radius:7px;background:var(--line);margin-top:4px;overflow:hidden}.v2bar u{display:block;height:100%;border-radius:7px}
.v2evh-f{display:flex;justify-content:space-between;align-items:center;gap:8px}.v2go{font:800 13px var(--f-body);color:var(--rose-deep);display:inline-flex;align-items:center;gap:2px}.v2go .ic{width:15px;height:15px;transform:rotate(-90deg)}
.v2act{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--surface);border:1.5px solid var(--rose);border-radius:18px;padding:12px 14px;color:var(--ink)}
.v2act .ibox{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--rose-soft);color:var(--rose-deep);flex:none}.v2act .ibox .ic{width:19px;height:19px}
.v2act>span:nth-child(2){flex:1;min-width:0}.v2act b{display:block;font-size:14px}.v2act small{display:block;color:var(--muted);font-size:12px;font-weight:700}.v2act>.ic{width:16px;height:16px;transform:rotate(-90deg);color:var(--muted)}
.v2tt{border-radius:24px;background:linear-gradient(160deg,#142520,#1C3A30);color:#fff;padding:22px;display:grid;gap:12px;min-height:220px}
.v2tt small{font-size:10.5px;letter-spacing:.16em;opacity:.7;font-weight:900}.v2tt p{font-family:var(--f-display);font-style:italic;font-size:23px;line-height:1.3;margin:0}.v2tt span{font-size:12px;opacity:.75;align-self:end}
.v2qp{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:10px 12px;margin-bottom:8px;color:var(--ink)}
.v2qp img,.v2qi{width:46px;height:46px;border-radius:50%;object-fit:cover;flex:none}.v2qi{display:grid;place-items:center;background:var(--rose-soft);color:var(--rose-deep);font-weight:900}
.v2qp>span:nth-of-type(1),.v2qp>span:nth-child(2){flex:1;min-width:0}.v2qp b{display:block}.v2qp small{color:var(--muted);font-weight:700;font-size:12px}
.v2qp i{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;color:var(--muted);flex:none}.v2qp i .ic{width:18px;height:18px}
.v2qp.on{border:2px solid var(--rose);background:var(--rose-soft)}.v2qp.on i{background:var(--rose);border-color:var(--rose);color:#fff}
.v2evh-art>*,.v2evh-art svg{width:100%!important;height:100%!important;display:block}
.v2rings{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:10px 0 4px}
.v2ring{display:grid;justify-items:center;text-align:center;gap:1px;min-width:0}
.v2ring>span{width:54px;height:54px;border-radius:50%;background:conic-gradient(var(--c) var(--p),var(--line) 0);display:grid;place-items:center}
.v2ring>span b{width:42px;height:42px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font:900 12.5px var(--f-body)}
.v2ring em{font-style:normal;font-weight:800;font-size:12px;margin-top:4px}.v2ring small{font-size:10.5px;color:var(--muted);font-weight:700;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v2got{border:1.5px solid var(--rose)}.v2q{font-family:var(--f-display);font-style:italic;font-size:17px;margin:0}
.v2near{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:11px 13px;display:grid;gap:2px}
.v2near small{display:flex;align-items:center;gap:5px;font-size:10.5px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;opacity:.75}.v2near small .ic{width:12px;height:12px}
.v2near b{font-family:var(--f-display);font-size:22px;font-weight:600}.v2near span{font-size:12.5px;opacity:.8}
.v2near-r{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.v2near-r i{font-style:normal;font:800 11px var(--f-body);background:rgba(255,255,255,.12);border-radius:999px;padding:3px 8px}
.v2famr{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:8px 10px;color:var(--ink)}
.v2famr>span:nth-of-type(2),.v2famr>span:last-of-type{flex:1;min-width:0}.v2famr b{display:block;font-size:13.5px}.v2famr small{display:block;font-size:11.5px;color:var(--muted);font-weight:700}.v2famr>.ic{width:15px;height:15px;transform:rotate(-90deg);color:var(--muted)}
.v2cam{position:absolute;inset:0;z-index:80;background:#0A120F;color:#fff;display:flex;flex-direction:column;align-items:center;padding:calc(var(--sat,0px) + 14px) 18px calc(var(--sab,0px) + 16px);gap:10px}
.v2cam-top{display:flex;justify-content:space-between;align-items:center;width:100%}
.v2ring-wrap{position:relative;width:250px;height:250px;margin-top:30px;max-width:100%}.v2ring-svg{position:absolute;inset:0;width:100%;height:100%}.v2ring-svg circle{transition:stroke-dashoffset .5s}
.v2cam-v{display:block;background:#000;object-fit:cover}.v2cam-v.sf{position:absolute;inset:16px;width:calc(100% - 32px);height:calc(100% - 32px);border-radius:50%;transform:scaleX(-1)}
.v2cam-s{opacity:.75;font-size:13px;margin:0;text-align:center}.v2cam-f{margin-top:auto;font-size:11.5px;opacity:.6;display:flex;gap:5px;align-items:center;text-align:center}.v2cam-f .ic{width:13px;height:13px;flex:none}
.v2id-wrap{position:relative;width:100%;aspect-ratio:1.45;margin-top:24px;border-radius:18px;overflow:hidden;max-width:100%}.v2id-wrap .v2cam-v{width:100%;height:100%}
.v2id-wrap i{position:absolute;width:38px;height:38px;border:4px solid #8FE0B5}.v2id-wrap .c1{left:10px;top:10px;border-right:0;border-bottom:0;border-top-left-radius:14px}.v2id-wrap .c2{right:10px;top:10px;border-left:0;border-bottom:0;border-top-right-radius:14px}
.v2id-wrap .c3{left:10px;bottom:10px;border-right:0;border-top:0;border-bottom-left-radius:14px}.v2id-wrap .c4{right:10px;bottom:10px;border-left:0;border-top:0;border-bottom-right-radius:14px}
.v2cam-ck{display:grid;gap:6px;width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:10px 12px}.v2cam-ck span{display:flex;gap:8px;align-items:center;font-weight:800;font-size:13px}.v2cam-ck .ic{width:15px;height:15px}.v2cam-ck .ok{color:#8FE0B5}.v2cam-ck .no{color:#FFD7A8}
.v2shut{width:74px;height:74px;border-radius:50%;border:4px solid #fff;background:transparent;display:grid;place-items:center;margin-top:8px}.v2shut i{width:58px;height:58px;border-radius:50%;background:#fff;display:block}
.v2cam-err{margin-top:60px;display:grid;gap:14px;text-align:center}.v2cam-err p{opacity:.85}
.v2voice b .ic{width:16px;height:16px;vertical-align:-3px;color:var(--rose)}
.v2vrow{display:flex;align-items:center;gap:12px;margin-top:10px}.v2vrow audio{width:100%}.v2vrow b{display:block}.v2vrow small{display:block;color:var(--muted);font-size:12px;font-weight:700}
.v2mic{width:56px;height:56px;border-radius:50%;border:0;background:var(--grad);color:#fff;display:grid;place-items:center;flex:none;box-shadow:0 0 0 7px var(--rose-soft)}.v2mic .ic{width:24px;height:24px}
.v2mic.on i{width:18px;height:18px;border-radius:5px;background:#fff;display:block}
@media (prefers-reduced-motion:no-preference){.v2mic.on{animation:v2pulse 1.4s ease-in-out infinite}@keyframes v2pulse{50%{box-shadow:0 0 0 12px var(--rose-soft)}}}
.v2safe{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:8px max(18px,env(safe-area-inset-left,0px));border-bottom:1px solid var(--line);background:var(--gold-soft);font-size:11.5px;font-weight:800;color:#6E4C16}
.v2safe span{display:inline-flex;align-items:center;gap:4px}.v2safe .ic{width:13px;height:13px}.v2safe .v2pill{margin-left:auto}
.v2book .panel{border-radius:20px}.v2book .sumrow:last-child{font-family:var(--f-display);font-size:19px;font-weight:600}
.v2book .sheet-f .btn.primary{min-height:52px;font-size:16px}
.v2tkt{border-radius:26px;background:linear-gradient(180deg,#173128,#142520);color:#fff;padding:18px;display:grid;gap:12px;justify-items:center;text-align:center}
.v2tkt h3{font-family:var(--f-display);font-weight:600;font-size:22px;margin:0}.v2tkt h3 em{font-weight:500;color:#A8F0CF}
.v2tkt-q{background:#fff;color:var(--ink);border-radius:22px;padding:14px;width:100%;display:grid;justify-items:center;gap:6px}
.v2tkt-q .qrbox{width:180px;max-width:100%}.v2tkt-q .tk-code b{font-size:28px;letter-spacing:.18em}
.v2tkt-g{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%}.v2tkt-g div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:8px 6px;min-width:0}
.v2tkt-g small{display:block;font-size:10.5px;opacity:.7}.v2tkt-g b{font-size:12.5px}
.v2host .hstats>div{border-radius:18px}.v2host .hres{border:2px solid var(--good);border-radius:22px}.v2host .hres.bad{border-color:var(--bad)}
.v2host .hres .btn.primary{background:var(--good);box-shadow:none}.v2host .hres h3{font-family:var(--f-display);font-size:21px}.v2host .scanbox{border-radius:22px;overflow:hidden}

/* ---------- App look like the website (his ok 1 Nov 16:35): founder first, html.look2 ---------- */
.v2w-look2{padding-top:calc(env(safe-area-inset-top,0px) + 34px)}
.jm{border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);padding:10px 10px 11px}
.jm-head{display:flex;justify-content:space-between;gap:8px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.66);margin:0 3px 6px;white-space:nowrap}
.jm-head b{color:#A8F0CF;font-variant-numeric:tabular-nums}
.jm-box{position:relative;aspect-ratio:700/260;max-width:100%}
.jm-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.jm-land{stroke:rgba(255,255,255,.28);stroke-width:3.4;stroke-linecap:round;fill:none}
.jm-arc{fill:none;stroke:#A8F0CF;stroke-opacity:.22;stroke-width:1.4}
.jm-arc.on{stroke:#FFD7A8;stroke-opacity:1;stroke-width:3;stroke-dasharray:var(--len);stroke-dashoffset:var(--len);animation:jmdraw 1.3s ease-out forwards}
@keyframes jmdraw{to{stroke-dashoffset:0}}
.jm-to{fill:#8DEBC3;opacity:.5}.jm-to.on{opacity:1;fill:#FFD7A8;animation:jmping 1.2s ease-out 1.1s 2}
@keyframes jmping{0%{r:4}50%{r:11;opacity:.4}100%{r:4;opacity:1}}
.jm-flag{position:absolute;transform:translate(-50%,-50%);font-size:12px;line-height:1;padding:3px;margin:0;border:0;background:none;cursor:pointer;transition:transform .35s;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}
.jm-flag.on{transform:translate(-50%,-50%) scale(1.8);z-index:2}
.jm-heart{position:absolute;left:0;top:0;transform:translate(-50%,-50%);color:#8DEBC3;font-size:14px;opacity:0;pointer-events:none;text-shadow:0 0 8px #8DEBC3;z-index:3}
.jm-cap{display:flex;align-items:center;gap:10px;margin-top:9px;padding:8px 11px;border-radius:12px;background:rgba(255,255,255,.1);min-height:46px}
.jm-big{font-size:18px;white-space:nowrap;letter-spacing:1px}
.jm-txt{font-size:12.5px;line-height:1.35;color:rgba(255,255,255,.75)}.jm-txt b{color:#fff}
.jm-ask{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font:600 17px var(--f-display);margin:2px 0 -4px;color:#fff}
.jm-ask small{font:800 11px var(--f-body);color:#A8F0CF;letter-spacing:.04em}
.jm-chips{display:flex;gap:8px;overflow-x:auto;margin-inline:-20px;padding:2px 20px 4px;scrollbar-width:none}
.jm-chips::-webkit-scrollbar{display:none}
.jm-chip{flex:none;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;padding:8px 13px;font:800 13px var(--f-body);cursor:pointer}
.jm-chip.on{background:#fff;color:#0E1E18;border-color:#fff}
.jm-chip:focus-visible,.jm-flag:focus-visible{outline:2px solid #FFD7A8;outline-offset:2px}
@media (prefers-reduced-motion:reduce){.jm-arc.on{animation:none;stroke-dashoffset:0}.jm-to.on{animation:none}.jm-heart{display:none}}
/* Matches: plum top band like the website hero */
.look2 .topbar.plum{background:radial-gradient(120% 120% at 70% 0%,#1C3A30 0%,#142520 60%,#0C1612 100%);color:#fff;border-radius:0 0 26px 26px;padding-top:calc(env(safe-area-inset-top,0px) + 16px);padding-bottom:18px;margin-bottom:6px}
.look2 .topbar.plum .hello{color:#fff}.look2 .topbar.plum .hello em{color:#A8F0CF}
.look2 .topbar.plum .sub{color:rgba(255,255,255,.75)}
.look2 .topbar.plum .iconbtn.soft{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff;box-shadow:none}
/* "nearly live" reveal: plum + glow */
.look2 .v2rev{background:radial-gradient(90% 55% at 50% 22%,#24493C 0%,#142520 55%,#0C1612 100%);color:#fff}
.look2 .v2rev .v2h{color:#fff}.look2 .v2rev .v2h em{color:#A8F0CF}.look2 .v2rev .v2lede{color:rgba(255,255,255,.8)}
.look2 .v2rev-seal{box-shadow:0 0 0 10px rgba(255,255,255,.1),0 0 60px 10px rgba(141,235,195,.45)}
.look2 .v2rev .btn.primary{background:#fff;color:#0E1E18;box-shadow:none}
/* event QR ticket: plum ticket, QR stays black on white so the door scanner reads it */
.look2 .panel.ticket{background:radial-gradient(120% 80% at 70% 0%,#1C3A30 0%,#142520 60%,#0C1612 100%);color:#fff;border-color:rgba(255,255,255,.14)}
.look2 .panel.ticket h3{color:#fff}.look2 .panel.ticket .sub,.look2 .panel.ticket .hint{color:rgba(255,255,255,.78)}
.look2 .panel.ticket .tk-live{color:#FFD7A8}.look2 .panel.ticket .tk-code span{color:rgba(255,255,255,.7)}
.look2 .panel.ticket .tk-ic{background:rgba(255,255,255,.12);color:#FFD7A8}
.look2 .panel.ticket .link{color:#A8F0CF}
.look2 .panel.ticket .tk-code b{color:#fff}

/* No text selection / copy bar / "search" pop-up on long-press anywhere in the app (his report 1 Nov 16:49).
   Typing fields and chat messages can still be selected and copied. */
html,body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}
input,textarea,select,[contenteditable="true"],.bub,.msg,.chat-msg{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}
img,svg{-webkit-user-drag:none;user-drag:none}
/* look2, step 2 (his feedback 16:54 "kuch nahi badla"): plum on every tab's top band and on the big summary card */
.look2 .nearby{background:radial-gradient(120% 90% at 80% 0%,#1C3A30 0%,#142520 60%,#0C1612 100%);border-color:rgba(255,255,255,.12);color:#fff;box-shadow:0 18px 34px -20px rgba(58,26,43,.7)}
.look2 .nearby .gl-h,.look2 .nearby .gl-h b,.look2 .nearby .nb-n span,.look2 .golive .seats{color:#fff}
.look2 .nearby .gl-h .ic{color:#A8F0CF}
.look2 .nearby .nb-n b{color:#A8F0CF}
.look2 .nearby small{color:rgba(255,255,255,.72)}
.look2 .nearby .nb-s span{background:rgba(255,255,255,.1);color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.14)}
.look2 .nearby .nb-s b{color:#fff}.look2 .nearby .nb-s .ic{color:#A8F0CF}
.look2 .golive .sb{background:rgba(255,255,255,.16)}
.look2 .topbar.plum h1{color:#fff}

/* status bar / bottom bar match the screen (1 Nov 2026) */
html.edge-t{padding-top:0}
html.edge-b{padding-bottom:0;background:#0C1612}
html.edge-t .look2 .topbar.plum,html.edge-t.look2 .topbar.plum{padding-top:calc(var(--sat) + 16px)}
html.edge-t .v2w-look2{padding-top:calc(var(--sat) + 34px)}
html.edge-b .v2w-body{padding-bottom:calc(26px + var(--sab))}
html{background:linear-gradient(#FFE8ED 50%,var(--bg) 50%)}

/* Header B 'blush band' (his ok 6 Nov 2026 15:40, mock handoff/mocks/header-calm) */
.look2 .topbar.plum{background:linear-gradient(180deg,#FBE4EA 0%,#FFF3F4 100%);color:var(--ink);border-radius:0 0 26px 26px;box-shadow:inset 0 -1px 0 #F6DCE2}
.look2 .topbar.plum .hello,.look2 .topbar.plum h1{color:var(--ink)}
.look2 .topbar.plum .hello em{color:var(--rose-deep)}
.look2 .topbar.plum .sub{color:var(--muted)}
.look2 .topbar.plum .iconbtn.soft{background:#fff;border-color:var(--line);color:var(--ink)}
/* ---------- C3 design (his ok 6 Nov 2026 on mock style-c-v3): admin-only preview, html.c3 ----------
   Flat magenta + violet + ink + sun, Plus Jakarta Sans; letters never squeezed (letter-spacing >= -.015em), long words wrap. */
html.c3{--bg:#FFFFFF;--outer:#F6F3FA;--surface:#FFFFFF;--sunk:#F6F3FA;--ink:#14231C;--muted:#4E5E57;--line:#E3E9E5;
  --rose:#0E9F6E;--rose-2:#3BBF8A;--rose-deep:#0E5B43;--rose-soft:#E3F7EE;--on-rose:#FFFFFF;--gold:#8A6100;--gold-soft:#FFF4D6;--good:#0F8A5A;
  --grad:#0E9F6E;--grad-warm:#0E9F6E;--shadow:0 1px 2px rgba(20,16,24,.04),0 16px 34px -20px rgba(30,80,60,.3);--shadow-rose:0 12px 26px -12px rgba(14,159,110,.5);
  --f-display:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--f-body:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--f-script:"Plus Jakarta Sans",system-ui,sans-serif;background:#FFFFFF}
html.c3 body{letter-spacing:0;text-rendering:optimizeLegibility}
html.c3 h1,html.c3 h2,html.c3 h3,html.c3 .serif,html.c3 .brand{letter-spacing:0!important;line-height:1.2;font-weight:800}
html.c3 em{font-style:normal}
html.c3 .nm,html.c3 .tx b,html.c3 .c3nm b{overflow-wrap:anywhere}
html.c3.look2 .topbar.plum,html.c3 .topbar{background:#FFFFFF!important;color:#14231C!important;box-shadow:inset 0 -1px 0 #E3E9E5!important;border-radius:0!important}
html.c3 .topbar .hello,html.c3 .topbar .sub,html.c3 .topbar h1{color:#14231C!important}
html.c3 .topbar .hello em{color:#0E9F6E!important;font-family:var(--f-body)!important;font-size:1em!important}
html.c3 .nav{background:#14231C;border-color:#14231C}
html.c3 .nav button{color:rgba(255,255,255,.62)}
html.c3 .nav button.on{color:#fff;background:#0E9F6E}
html.c3 .nav .navq .qb{border-color:#14231C}
html.c3 .nearby{background:#2E9F78!important;border-radius:22px!important}
html.c3 .btn.primary{background:#0E9F6E;box-shadow:var(--shadow-rose)}
/* welcome */
html.c3 .c3w{background:#14231C;color:#fff;min-height:100%}
.c3kick{font:800 11.5px/1.3 var(--f-body);letter-spacing:.14em;text-transform:uppercase;margin:0;display:block}
.c3w>.c3kick{padding:14px 22px 0;opacity:.85}
.c3map{position:relative;margin-top:4px}
.c3map .pm{height:auto!important;aspect-ratio:1000/440}
.c3faint{fill:none;stroke:rgba(255,201,60,.45);stroke-width:.7;stroke-dasharray:1.5 2.2;animation:c3dash 2s linear infinite}
.c3line,.c3glow{fill:none;stroke:#0E9F6E;stroke-dasharray:1;animation:c3arc 9s infinite both}
.c3line{stroke-width:1.5;stroke-linecap:round}.c3glow{stroke-width:3.4;opacity:.45;filter:blur(1.4px)}
.c3seq{animation:c3show 9s infinite both}
.c3ping{animation:c3ping 1.8s infinite}
@keyframes c3dash{to{stroke-dashoffset:-7.4}}
@keyframes c3arc{0%{stroke-dashoffset:1}12%,100%{stroke-dashoffset:0}}
@keyframes c3show{0%,28%{opacity:1}33%,100%{opacity:0}}
@keyframes c3ping{0%{transform:scale(1);opacity:.9}100%{transform:scale(3.5);opacity:0}}
.c3dist{position:relative;margin:4px 16px 0 auto;width:max-content;display:flex;gap:6px;align-items:center;font:800 12px var(--f-body);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:6px 10px}
.c3cyc{display:block;height:1.34em;line-height:1.34em;overflow:hidden;-webkit-mask-image:linear-gradient(transparent 0,#000 7%,#000 93%,transparent 100%);mask-image:linear-gradient(transparent 0,#000 7%,#000 93%,transparent 100%)}
.c3cyc>span{display:block;animation:c3cyc 9s cubic-bezier(.65,0,.35,1) infinite}
.c3cyc b{display:block;height:1.34em;line-height:1.34em;white-space:nowrap;font-weight:800}
.c3dist .c3cyc{display:inline-block}
.c3cyc.y{color:#FFC93C}.c3cyc.p{color:#3BBF8A}
@keyframes c3cyc{0%,29%{transform:translateY(0)}33.3%,62%{transform:translateY(-1.34em)}66.6%,95%{transform:translateY(-2.68em)}100%{transform:translateY(-4.02em)}}
.c3w-body{display:grid;gap:12px;padding-top:18px!important;padding-bottom:22px!important}
.c3h1{font:800 32px/1.34 var(--f-body)!important;letter-spacing:0;margin:0;color:#fff}
.c3lede{margin:0;font:600 15px/1.5 var(--f-body);color:rgba(255,255,255,.9)}
.c3chips{display:flex;flex-wrap:wrap;gap:7px}
.c3chips span{font:800 12.5px var(--f-body);background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:7px 10px}
.btn.c3cta{background:#0E9F6E;color:#fff;border:0;min-height:54px;font-weight:800}
.btn.c3ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.35);min-height:50px}
.btn.c3ghost.dk{color:#14231C;border-color:#E3E9E5}
.c3note{margin:0;font:600 12px/1.5 var(--f-body);color:rgba(255,255,255,.7);text-align:center}
.c3note .link{color:#fff}
html.c3 .c3w .v2near,html.c3 .c3w [class*="near"]{color:#fff}
@media (prefers-reduced-motion:reduce){.c3cyc>span{animation:none!important}.c3line,.c3glow,.c3seq,.c3ping,.c3faint{animation:none!important}.c3seq:not(:first-of-type){display:none}}
/* introduction card */
.c3card{border-radius:26px!important}
.c3ph{position:relative;display:block;width:100%;height:210px;border:0;padding:0;background:#F6F3FA;overflow:hidden}
.c3ph>*:first-child{width:100%;height:100%;object-fit:cover}
.c3tags{position:absolute;left:10px;top:10px;right:10px;display:flex;flex-wrap:wrap;gap:6px}
.c3route,.c3ok{display:inline-flex;align-items:center;gap:4px;font:800 12px var(--f-body);border-radius:11px;padding:5px 9px;background:#14231C;color:#fff}
.c3ok{background:#0F8A5A}.c3ok.rose{background:#0E9F6E}.c3ok .ic{width:14px;height:14px}
.c3body{padding:12px 14px 14px;display:grid;gap:10px}
.c3nm b{display:block;font:800 22px/1.25 var(--f-body)}.c3nm small{display:block;font:700 13px/1.4 var(--f-body);color:var(--muted)}
.c3facts{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.c3fact{background:#F6F3FA;border-radius:14px;padding:8px 10px;min-width:0}
.c3fact b{display:block;font:800 12.5px/1.35 var(--f-body)}.c3fact small{display:block;font:700 11px/1.35 var(--f-body);color:var(--muted)}.c3fact small.ok{color:#0F8A5A}
.c3sc{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.c3sc div{border:1.5px solid #E3E9E5;border-radius:14px;padding:7px 9px}
.c3sc b{display:block;font:800 17px var(--f-body)}.c3sc b.r{color:#9A6B00}.c3sc b.l{color:#0E9F6E}.c3sc b.n{color:#2E9F78}
.c3sc small{font:700 11px var(--f-body);color:var(--muted)}
.c3why{background:#F3EEFF;border:1px solid #E1D5FF;border-radius:14px;padding:9px 12px;font:600 13px/1.45 var(--f-body)}
.c3why b{display:block;font:800 11px/1.4 var(--f-body);letter-spacing:.06em;text-transform:uppercase;color:#0E9F6E;margin-bottom:2px}
/* interest accepted */
.celebrate.c3cel{background:#FFF7FA;color:#14231C;gap:12px;padding:24px 22px}
.c3cel h2{font:800 30px/1.2 var(--f-body)!important;text-shadow:none!important;letter-spacing:0;margin:0;text-align:center}
.c3cel p{color:var(--muted);text-align:center;margin:0}
.c3kick.g{color:#0F8A5A}.c3kick.r{color:#0E9F6E;font-size:11px;margin-bottom:2px}
.c3rings{position:relative;width:250px;height:150px}
.c3rings svg{position:absolute;inset:0;width:100%;height:100%}
.c3rings circle{fill:none;stroke-width:5;stroke-dasharray:430;stroke-dashoffset:430;animation:c3draw 1.8s ease forwards}
.c3rings circle:first-child{stroke:#0E9F6E}.c3rings circle:last-child{stroke:#FFC93C;animation-delay:.4s}
@keyframes c3draw{to{stroke-dashoffset:0}}
.c3rings>:not(svg){position:absolute;top:23px;width:104px!important;height:104px!important;border-radius:50%;overflow:hidden}
.c3rings>:nth-child(2){left:40px}.c3rings>:nth-child(3){right:40px}
.c3pm{display:flex;justify-content:space-between;width:100%;max-width:340px;background:#fff;border:1px solid #E3E9E5;border-radius:18px;padding:12px 8px}
.c3pm div{display:grid;justify-items:center;gap:4px;width:20%}
.c3pm i{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:800 12px var(--f-body);font-style:normal;border:2.5px solid #E3E9E5;color:var(--muted);background:#fff}
.c3pm .d i{background:#0F8A5A;border-color:#0F8A5A;color:#fff}.c3pm .n i{background:#0E9F6E;border-color:#0E9F6E;color:#fff}
.c3pm span{font:700 10px/1.2 var(--f-body);color:var(--muted);text-align:center}.c3pm .n span{color:#0E9F6E}
@media (prefers-reduced-motion:reduce){.c3rings circle{animation:none;stroke-dashoffset:0}}
/* marriage path sheet */
.c3pbtn{margin-right:4px}
.c3path{display:grid;gap:14px}
.c3step{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;position:relative}
.c3step i{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font:800 13px var(--f-body);font-style:normal;border:2.5px solid #E3E9E5;color:var(--muted);background:#fff;position:relative;z-index:1}
.c3step.done i{background:#0F8A5A;border-color:#0F8A5A;color:#fff}.c3step.now i{background:#0E9F6E;border-color:#0E9F6E;color:#fff}
.c3step:not(:last-of-type)::after{content:"";position:absolute;left:15px;top:32px;height:14px;width:2.5px;background:#E3E9E5}
.c3step.done:not(:last-of-type)::after{background:#0F8A5A}
.c3step b{display:block;font:800 15px/1.3 var(--f-body)}.c3step.now b{color:#0E9F6E}.c3step small{display:block;font:600 12.5px/1.4 var(--f-body);color:var(--muted)}
.c3calm{margin:4px 0 0;background:#F3EEFF;border-radius:14px;padding:10px 12px;font:600 13px/1.45 var(--f-body)}
/* ---------- admin panel v3 (admin email only) ---------- */
.a3v{background:#0A0C0B!important;color:#F4F1F8}
.a3v .a3top{display:flex;align-items:center;gap:10px;padding-top:12px;padding-bottom:6px}
.a3v .iconbtn{background:#1A1520;color:#fff;border-color:#2B2433}
.a3kick{margin:0;font:800 10.5px var(--f-body);letter-spacing:.14em;text-transform:uppercase;color:#A9A1B6}.a3kick span{color:#12A36B}
.a3top h2{margin:0;font:800 22px/1.25 var(--f-body);color:#fff;letter-spacing:0}
.a3tabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px}
.a3tabs button{border:0;border-radius:12px;padding:8px 13px;font:800 13px var(--f-body);background:#1A1520;color:#A9A1B6;white-space:nowrap}
.a3tabs button.on{background:#fff;color:#14231C}.a3tabs em{font-style:normal;background:#FFC93C;color:#14231C;border-radius:8px;padding:0 6px;margin-left:3px}.a3tabs em.r{background:#FF6B6B;color:#fff}
.a3body{display:grid;gap:10px;padding-bottom:24px!important}
.a3g{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.a3k{background:#1A1520;border-radius:18px;padding:11px 12px;border-top:3px solid var(--c)}
.a3k b{display:block;font:800 26px/1.15 var(--f-body);color:#fff}.a3k span{display:block;font:700 12.5px var(--f-body)}.a3k small{display:block;font:600 11px var(--f-body);color:#A9A1B6}
.a3c{background:#1A1520;border-radius:20px;padding:12px 14px;display:grid;gap:8px;color:#F4F1F8;border:0;text-align:left;width:100%}
.a3h{display:flex;justify-content:space-between;align-items:center;gap:8px}.a3h b{font:800 14px var(--f-body)}.a3h>span:last-child{font:700 11.5px var(--f-body);color:#A9A1B6}
.a3n{display:grid;grid-template-columns:22px 1fr auto;gap:10px;align-items:center;background:transparent;border:0;color:#F4F1F8;text-align:left;padding:4px 0}
.a3n b{display:block;font:800 13px var(--f-body)}.a3n small{display:block;font:600 11.5px var(--f-body);color:#A9A1B6}.a3n em{font:800 11.5px var(--f-body);font-style:normal;background:#0E9F6E;color:#fff;border-radius:10px;padding:6px 10px}
.a3ok{display:flex;gap:8px;align-items:center;font:700 13.5px var(--f-body);color:#C9F0DE}
.a3f{display:grid;grid-template-columns:130px 1fr 40px;gap:8px;align-items:center;font:700 12.5px var(--f-body)}
.a3f div{height:8px;border-radius:6px;background:#2B2433;overflow:hidden}.a3f i{display:block;height:100%;background:#0E9F6E;border-radius:6px;animation:a3grow 1s ease both}.a3f b{text-align:right}
@keyframes a3grow{from{width:0}}
.a3bars{display:flex;align-items:flex-end;gap:3px;height:80px}.a3bars i{flex:1;background:#0E9F6E;border-radius:3px 3px 0 0;animation:a3up .8s ease both;transform-origin:bottom}
@keyframes a3up{from{transform:scaleY(0)}}
.a3d{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none;background:#8E869C}.a3d.ok{background:#12A36B}.a3d.failed{background:#FF6B6B}.a3d.running,.a3d.run{background:#FFC93C}
.a3bt{display:grid;gap:4px}.a3bt.failed{box-shadow:inset 0 0 0 1.5px #FF6B6B}.a3bt .a3h{justify-content:flex-start}.a3bt .a3h>span:last-child{margin-left:auto}.a3bt small{font:600 12px var(--f-body);color:#C9C2D3}
.a3r{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;background:transparent;border:0;border-top:1px solid #2B2433;padding:8px 0;color:#F4F1F8;text-align:left;width:100%}
.a3r>span:nth-child(2) b,.a3r b{display:block;font:800 13px var(--f-body)}.a3r small{display:block;font:600 11.5px var(--f-body);color:#A9A1B6}
.a3grp .a3r{grid-template-columns:1fr auto}
.a3lnk{font:800 12px var(--f-body);color:#fff;background:#2B2433;border-radius:10px;padding:6px 10px;text-decoration:none}
.a3tl{display:grid;grid-template-columns:repeat(14,1fr);gap:4px}.a3tl i{height:26px;border-radius:5px;background:#2B2433}.a3tl i.ok{background:#12A36B}.a3tl i.failed{background:#FF6B6B}.a3tl i.running{background:#FFC93C}
.a3back{display:flex;gap:6px;align-items:center;background:transparent;border:0;color:#fff;font:800 13px var(--f-body);padding:4px 0}
.a3m{margin:0;font:600 12.5px/1.5 var(--f-body);color:#A9A1B6}
.a3q{background:#221A2E;border-radius:14px;padding:10px 12px;font:600 13.5px/1.45 var(--f-body)}.a3a{background:#0E9F6E;color:#fff;border-radius:14px;padding:10px 12px;font:600 13.5px/1.45 var(--f-body);justify-self:end;max-width:90%}
.a3chips{display:flex;flex-wrap:wrap;gap:6px}.a3chips button{border:0;border-radius:11px;padding:7px 11px;font:800 12px var(--f-body);background:#2B2433;color:#fff}
.a3chips.lt button{background:#F6F3FA;color:#14231C;border:1.5px solid #E3E9E5}.a3chips.lt button.on{background:#0E9F6E;border-color:#0E9F6E;color:#fff}
.a3v textarea{width:100%;background:#120E17;color:#fff;border:1.5px solid #2B2433;border-radius:14px;padding:10px 12px;font:600 14px var(--f-body)}
.a3btns{display:flex;gap:8px;flex-wrap:wrap}
.a3grp summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:6px 0;font:800 13px var(--f-body)}.a3grp summary em{font-style:normal;background:#FFC93C;color:#14231C;border-radius:9px;padding:2px 9px}
#h3msg{width:100%;border:1.5px solid var(--line);border-radius:14px;padding:10px 12px;font:600 14px var(--f-body);margin:10px 0}
.h3list{margin-top:14px;display:grid;gap:8px}.h3it{background:var(--sunk);border-radius:14px;padding:10px 12px}.h3it b{display:block;font-size:13.5px}.h3it p{margin:6px 0 0;font-size:13.5px;color:var(--good)}.h3it small{color:var(--muted)}
.h3btn{margin-top:10px}
.a3chkbar{background:#0A0C0B;padding-top:8px}

/* premium map (6 Nov) */
.pmA{animation:pmDraw 1.6s ease both}.pmP{animation:pmPing 2.2s ease-out infinite}.pmS{opacity:0;animation-name:pmShow;animation-iteration-count:infinite;animation-timing-function:ease}.pmS .pmA{animation:pmDraw 1.6s ease both}@keyframes pmSeqDraw{0%{stroke-dashoffset:1}12%,100%{stroke-dashoffset:0}}@keyframes pmDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes pmPing{0%{transform:scale(1);opacity:.9}100%{transform:scale(3.4);opacity:0}}@keyframes pmShow{0%{opacity:0}5%,30%{opacity:1}34%,100%{opacity:0}}@media (prefers-reduced-motion:reduce){.pmA,.pmP{animation:none}.pmS{animation:none}.pmS:first-of-type{opacity:1}}
/* admin: every item opens its details (6 Nov) */
button.a3k{border:0;border-top:3px solid var(--c);text-align:left;width:100%;color:#F4F1F8;cursor:pointer;font:inherit;position:relative}
.a3k .a3more{display:block;margin-top:4px;font:700 11px var(--f-body);font-style:normal;color:#C9B8FF}
.a3fb{cursor:pointer;border-radius:10px;padding:4px 2px}.a3fb:active,.a3k:active,.a3r:active{background:#241D2B}
.a3bars i{cursor:pointer}
.a3r em{font-style:normal;color:#A9A1B6;font-weight:800}
.a3kv{display:grid;grid-template-columns:130px 1fr;gap:10px;padding:8px 0;border-top:1px solid #2B2433;font:600 13px var(--f-body);color:#A9A1B6}
.a3kv b{color:#F4F1F8;font-weight:700;overflow-wrap:anywhere}
.a3step{display:inline-block;margin:2px 0 10px;padding:5px 10px;border-radius:999px;background:#3A2A14;color:#FFC93C;font:700 12px var(--f-body)}
.a3step.ok{background:#123A2A;color:#3FD39A}
.a3c>.btn.block{margin-top:12px}
.a3k.sm{padding:9px 10px}.a3k.sm b{font-size:20px}
.a3in{width:100%;box-sizing:border-box;border:1px solid #3A3242;background:#14231C;color:#fff;border-radius:12px;padding:11px 12px;font:600 14px var(--f-body);margin-bottom:10px}
.a3ev{display:block;width:100%;text-align:left;border:0;color:#F4F1F8;cursor:pointer}.a3ev small{display:block;margin-top:4px;color:#A9A1B6;font:600 12px var(--f-body)}
.a3seat{display:block;height:7px;border-radius:9px;background:#2B2433;margin-top:7px;overflow:hidden}.a3seat i{display:block;height:100%;border-radius:9px}
.a3ev .a3more{display:block;margin-top:6px;font:700 11px var(--f-body);font-style:normal;color:#C9B8FF}
.a3c>.a3step{justify-self:start;margin:0}
/* language picker */
.lgl{display:grid;gap:0;max-height:56vh;overflow-y:auto}
.lgr{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;background:transparent;border:0;border-bottom:1px solid var(--line,#E8E1EA);padding:11px 4px;text-align:start;color:inherit;font:inherit;cursor:pointer}
.lgr b{display:block;font-size:16px}.lgr small{color:var(--mu,#6B6474);font-size:12px}.lgr.on b{color:var(--mag,#0E9F6E)}.lgr svg{width:20px;height:20px;color:var(--mag,#0E9F6E)}
.c3topl{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px 0 22px}
.c3w>.c3topl>.c3kick{padding:0;opacity:.85;min-width:0}
.c3lang{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);color:inherit;border-radius:999px;padding:6px 11px;font:700 12.5px var(--f-body);cursor:pointer}
.c3lang svg{width:15px;height:15px}
/* Easy join (7 Nov 2026): live card + trust badges */
.ej-badges{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ej-bdg{display:grid;gap:3px;justify-items:start;text-align:left;background:var(--surface);border:1.5px dashed var(--line);border-radius:16px;padding:12px;color:var(--ink);font:inherit;cursor:pointer}
.ej-bdg .ic{color:var(--rose-deep)}.ej-bdg b{font-size:15px}.ej-bdg small{color:var(--muted);font-size:12.5px;line-height:1.35}
.ej-bdg.ok{border-style:solid;border-color:var(--good)}.ej-bdg.ok .ic{color:var(--good)}
.ej-live{display:grid;gap:8px;justify-items:center;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px 16px;margin-bottom:12px}
.ej-live>b{font-size:18px;color:var(--ink)}.ej-live>small{color:var(--muted);font-size:13px;line-height:1.45}
.ej-ring{width:56px;height:56px;border-radius:50%;background:var(--good);color:#fff;display:grid;place-items:center}.ej-ring .ic{width:28px;height:28px}
.ej-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:2px 0 4px}
.ej-chip{display:inline-flex;align-items:center;gap:3px;padding:4px 8px;border-radius:999px;font-weight:700;font-size:12px}
.ej-chip .ic{width:14px;height:14px}.ej-chip.y{background:#DDF5EA;color:#0B6E48}.ej-chip.n{border:1.5px dashed var(--rose);color:var(--rose-deep);background:transparent}
.ej-live .link{font-size:14px}
/* Trust Passport (7 Nov 2026) */
.tpp{position:relative;overflow:hidden;width:100%;border-radius:24px;padding:18px 16px 14px;color:#fff;background:#14231C;display:grid;gap:14px;
  background-image:radial-gradient(120% 80% at 100% 0%,rgba(14,159,110,.45),transparent 60%),radial-gradient(90% 70% at 0% 100%,rgba(91,43,224,.55),transparent 60%),radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.2px);background-size:auto,auto,14px 14px}
.tp-top{display:flex;gap:12px;align-items:center;justify-content:space-between}.tp-tx{display:grid;gap:2px}
.tp-tx small{font-weight:800;font-size:11px;letter-spacing:.14em;color:#FFC93C}.tp-tx b{font-size:24px;line-height:1.15}.tp-tx span{font-size:13px;color:#E3E9E5;line-height:1.4}
.tp-ring{position:relative;display:inline-grid;place-items:center;flex:none}.tp-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.tp-ring circle{fill:none;stroke-width:6}.tp-ring .bg{stroke:rgba(255,255,255,.16)}.tp-ring .fg{stroke:#3BBF8A;stroke-linecap:round;stroke-dashoffset:var(--o);animation:tpdraw 1.1s cubic-bezier(.3,.8,.3,1) both}
.tp-ring.full .fg{stroke:#FFC93C}.tp-ring b{font-size:19px;line-height:1;position:relative}.tp-ring small{position:absolute;bottom:17px;font-size:8.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;opacity:.8}
@keyframes tpdraw{from{stroke-dashoffset:var(--c)}}
.tp-st{display:flex;justify-content:space-between;gap:4px}.tp-s{display:grid;justify-items:center;gap:5px;width:58px}
.tp-s i{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:2px dashed rgba(255,255,255,.35);color:rgba(255,255,255,.7);font-style:normal}
.tp-s.ok i{border:2.5px solid #3BBF8A;color:#fff;background:#0E9F6E;transform:rotate(-8deg);animation:tpthud .55s cubic-bezier(.2,1.8,.4,1) var(--d) both;box-shadow:0 0 0 4px rgba(14,159,110,.25)}
.tp-s.wait i{border-color:#FFC93C;color:#FFC93C;animation:tppulse 1.6s ease-in-out infinite}.tp-s.rej i{border-color:#8DEBC3;color:#8DEBC3}
.tp-s small{font-size:11px;font-weight:800;color:#E3E9E5;text-align:center;line-height:1.2}
@keyframes tpthud{0%{transform:scale(1.7) rotate(-20deg);opacity:0}100%{transform:scale(1) rotate(-8deg);opacity:1}}
@keyframes tppulse{50%{box-shadow:0 0 0 6px rgba(255,201,60,.18)}}
.tp-st.lt .tp-s i{border-color:var(--line);color:var(--muted);width:40px;height:40px}.tp-st.lt .tp-s.ok i{border-color:var(--rose);background:var(--rose);color:#fff}.tp-st.lt .tp-s small{color:var(--muted)}
.tp-foot{display:flex;gap:8px;align-items:center;font-size:13.5px;border-top:1px solid rgba(255,255,255,.14);padding-top:12px;color:#fff}.tp-foot .ic{color:#3BBF8A}.tp-foot b{color:#FFC93C}
.tp-foot.col{display:grid;gap:8px;text-align:center}.tp-later{color:#fff!important;opacity:.85}
.tp-page{display:grid;gap:12px}.tp-page .sec-h{margin:6px 0 -4px}
.tp-next{display:grid;grid-template-columns:1fr auto;align-items:center;text-align:left;gap:2px 10px;border:0;border-radius:20px;padding:16px;background:#0E9F6E;color:#fff;font:inherit;cursor:pointer;box-shadow:0 10px 24px rgba(14,159,110,.3)}
.tp-next small{font-weight:800;font-size:11px;letter-spacing:.12em;opacity:.85;grid-column:1}.tp-next b{font-size:19px;grid-column:1}.tp-next span{font-size:13px;opacity:.9;grid-column:1}
.tp-next i{grid-column:2;grid-row:1/4;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;font-style:normal}
.tp-tiles{display:grid;gap:8px}
.tp-tile{display:flex;align-items:center;gap:12px;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:12px;font:inherit;color:var(--ink);cursor:pointer}
.tp-tile>i{flex:none;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--rose-soft);color:var(--rose-deep);font-style:normal}
.tp-tile.ok>i{background:#DDF5EA;color:#0B6E48}.tp-tile.wait>i{background:#FFF4D6;color:#8A6100}
.tp-tile span{flex:1;display:grid}.tp-tile b{font-size:15px}.tp-tile small{color:var(--muted);font-size:12.5px}
.tp-tile em{font-style:normal;font-weight:800;font-size:13px;color:var(--rose-deep);white-space:nowrap}.tp-tile.ok em{color:#0B6E48}.tp-tile.wait em{color:#8A6100}
.tp-live{margin-bottom:12px}
.tp-strip{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:0;border-radius:18px;padding:10px 14px;margin-bottom:12px;background:#14231C;color:#fff;font:inherit;cursor:pointer}
.tp-strip span{flex:1;display:grid}.tp-strip b{font-size:15px}.tp-strip small{font-size:12.5px;color:#E3E9E5}.tp-strip em{font-style:normal;font-weight:800;color:#3BBF8A}
.tp-strip .tp-ring b{font-size:12px}.tp-strip .tp-ring circle{stroke-width:5}
.tp-mini{display:flex;align-items:center;gap:12px;margin-bottom:10px}.tp-mini span{display:grid}.tp-mini b{font-size:17px}.tp-mini small{color:var(--muted);font-size:13px}
.tp-mini .tp-ring .bg{stroke:var(--line)}.tp-mini .tp-ring b{font-size:15px;color:var(--ink)}.tp-mini .tp-ring.full .fg{stroke:#D9A400}
.tp-badge{position:absolute;right:10px;top:10px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:3px 10px 3px 3px;border-radius:999px;background:rgba(20,16,24,.82);color:#fff;font-size:12px;font-weight:800;backdrop-filter:blur(6px)}
.tp-badge .tp-ring b{display:none}.tp-badge .tp-ring circle{stroke-width:4}.tp-badge.full{background:#14231C;color:#FFC93C}
.sheet .tpp{margin-bottom:12px}
/* Fun inside (7 Nov 2026, admin first) */
.fu-map{border-radius:22px;overflow:hidden;background:#14231C;color:#fff}
.fu-mapsvg{height:170px}.fu-mapsvg svg{width:100%;height:100%}
.fu-mapft{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px 14px 12px;font-size:12.5px;color:#E3E9E5}.fu-mapft b{font-size:12.5px;color:#FFC93C;white-space:nowrap}.fu-mapft b.ok{color:#7BE3B0}
.fu-me{display:flex;gap:14px;align-items:center;padding:4px 2px 2px}
.fu-av{position:relative;width:90px;height:90px;flex:none;display:grid;place-items:center}.fu-av svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.fu-av circle{fill:none;stroke-width:6}.fu-av .bg{stroke:var(--line)}.fu-av .fg{stroke:var(--rose);stroke-linecap:round;stroke-dashoffset:var(--o);animation:tpdraw 1.4s ease both}
.fu-av .av{width:72px!important;height:72px!important}
.fu-mtx{display:grid;gap:2px}.fu-mtx b{font-size:24px;line-height:1.15}.fu-mtx small{color:var(--muted);font-size:13px;font-weight:700}.fu-mtx em{font-style:normal;font-weight:800;font-size:13px;color:var(--rose)}
.fu-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fu-t{display:grid;gap:2px;text-align:left;border:0;border-radius:22px;padding:14px;min-height:112px;align-content:space-between;font:inherit;cursor:pointer;transition:transform .15s}
.fu-t:active{transform:scale(.97)}.fu-t span{display:flex;justify-content:space-between;align-items:center}.fu-t span small{font-weight:800;font-size:12px}
.fu-t b{font-size:16px;margin-top:14px}.fu-t em{font-style:normal;font-weight:700;font-size:12.5px;opacity:.85}
.fu-t.v{background:#2E9F78;color:#fff}.fu-t.y{background:#FFC93C;color:#14231C}.fu-t.k{background:#14231C;color:#fff}.fu-t.p{background:#E3F7EE;color:#14231C}.fu-t.p span .ic{color:#0E9F6E}
.fu-tk{border-radius:24px;overflow:hidden;background:#FFC93C;color:#14231C;box-shadow:0 14px 30px rgba(138,97,0,.18);margin-bottom:12px}
.fu-tkm{display:grid;gap:3px;width:100%;text-align:left;border:0;background:transparent;padding:16px 16px 12px;font:inherit;color:inherit;position:relative;cursor:pointer}
.fu-k{font-weight:800;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding-right:96px}
.fu-date{font-size:34px;line-height:1.05;font-weight:800;padding-right:90px}.fu-meta{font-size:13px;font-weight:700;opacity:.8;padding-right:80px}
.fu-price{position:absolute;right:14px;top:14px;width:84px;height:84px;border-radius:50%;background:#14231C;color:#FFC93C;display:grid;place-content:center;text-align:center;transform:rotate(8deg)}
.fu-price b{font-size:15px;line-height:1.1}.fu-price small{font-size:10px;font-weight:800;color:#fff}
.fu-perf{height:18px;position:relative;background:radial-gradient(circle at 0 50%,var(--bg) 9px,transparent 9.5px),radial-gradient(circle at 100% 50%,var(--bg) 9px,transparent 9.5px)}
.fu-perf::after{content:"";position:absolute;left:18px;right:18px;top:50%;border-top:2px dashed rgba(20,16,24,.25)}
.fu-tkb{padding:6px 16px 16px;display:grid;gap:8px}
.fu-bar{display:grid;grid-template-columns:60px 1fr 52px;align-items:center;gap:8px;font-weight:800;font-size:13px}.fu-bar small{font-size:12px;text-align:right}
.fu-bar i{height:8px;border-radius:8px;background:rgba(20,16,24,.12);overflow:hidden;display:block}.fu-bar s{display:block;height:100%;background:#0E9F6E;border-radius:8px}.fu-bar.m s{background:#2E9F78}
.fu-tka{display:flex;gap:8px;margin-top:4px}.fu-tka .btn{flex:1}.fu-tka .btn.primary{background:#14231C;color:#fff;border-color:#14231C}.fu-tka .btn.ghost{background:rgba(255,255,255,.55);border-color:transparent;color:#14231C}
.fu-own{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:800;border-radius:999px;background:#14231C;color:#7BE3B0;padding:10px}.fu-own.off{color:#fff}
.fu-feat{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}.fu-feat span{display:grid;justify-items:center;text-align:center;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:12px 6px}
.fu-feat .ic{color:var(--rose);width:22px;height:22px}.fu-feat b{font-size:12.5px;line-height:1.25}
.fu-stage{display:inline-block!important;width:max-content;font-size:11.5px!important;font-weight:800;border-radius:999px;padding:2px 8px;margin:2px 0}
.fu-stage.p{background:#E3F7EE;color:#0E5B43!important}.fu-stage.y{background:#FFF4D6;color:#8A6100!important}.fu-stage.v{background:#EEE8FF;color:#2E9F78!important}.fu-stage.k{background:#14231C;color:#fff!important}
.fu-myline{margin-top:14px;border-radius:22px;overflow:hidden;background:#14231C;color:#E3E9E5}.fu-myline .fu-mapsvg{height:150px}.fu-myline p{margin:0;padding:10px 14px 14px;font-size:13px;line-height:1.45}
.fu-evh{display:grid;gap:2px;margin:2px 0 10px}.fu-evh small{font-weight:800;font-size:11px;letter-spacing:.12em;color:var(--rose)}.fu-evh b{font-size:28px;line-height:1.1}
.fu-tiles{margin-top:12px}.fu-mepanel{margin-top:2px}

/* ---------- Glass look (his ok 7 Nov 2026, mock Dkp9Rekpj8aCetG37FxU8G): html.gl = dark glass, html.gl.gl-lt = light glass. Admin first (GLASS() in app/src/part9.js). ---------- */
html.c3.gl{--bg:#0A0C0B;--outer:#080A09;--surface:#121615;--sunk:#1A201D;--ink:#EEF7F1;--muted:rgba(238,247,241,.66);--line:rgba(255,255,255,.1);
  --rose-soft:rgba(14,159,110,.2);--gold:#FFE08A;--gold-soft:rgba(255,201,60,.15);--good:#34D399;
  --shadow:0 1px 0 rgba(255,255,255,.05) inset,0 22px 44px -26px rgba(0,0,0,.85);background:#0A0C0B;color-scheme:dark}
html.c3.gl.gl-lt{--bg:#F7F8F5;--outer:#EEF2EE;--surface:#FFFFFF;--sunk:#EEF2EE;--ink:#14231C;--muted:#4E5E57;--line:#E3E9E5;
  --rose-soft:#E3F7EE;--gold:#8A6100;--gold-soft:#FFF4D6;--good:#0F8A5A;--shadow:0 1px 0 #fff inset,0 18px 36px -24px rgba(30,80,60,.4);background:#F7F8F5;color-scheme:light}
html.c3.gl body{background:radial-gradient(120% 55% at 50% -5%,#16231E,#0A0C0B 62%) fixed;color:var(--ink)}
html.c3.gl.gl-lt body{background:radial-gradient(120% 45% at 50% -5%,#E6F6EC,#F7F8F5 60%) fixed}
html.c3.gl .view,html.c3.gl .sheet{background:var(--bg)}
html.c3.gl .view{background:radial-gradient(120% 45% at 50% -5%,#13201B,#0A0C0B 60%)}
html.c3.gl.gl-lt .view{background:radial-gradient(120% 45% at 50% -5%,#EEF8E6,#F7F8F5 60%)}
/* top bar: see-through glass */
html.c3.gl .topbar,html.c3.gl.look2 .topbar.plum{background:rgba(10,12,11,.5)!important;-webkit-backdrop-filter:blur(20px) saturate(140%);backdrop-filter:blur(20px) saturate(140%);color:var(--ink)!important;box-shadow:inset 0 -1px 0 rgba(255,255,255,.07)!important}
html.c3.gl.gl-lt .topbar,html.c3.gl.gl-lt.look2 .topbar.plum{background:rgba(251,248,252,.72)!important;box-shadow:inset 0 -1px 0 #E3E9E5!important}
html.c3.gl .topbar .hello,html.c3.gl .topbar .sub,html.c3.gl .topbar h1{color:var(--ink)!important}
html.c3.gl .topbar .hello em{color:#3BBF8A!important}
/* bottom menu: floating glass */
html.c3.gl .nav{background:linear-gradient(160deg,rgba(255,255,255,.13),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.13);-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%);box-shadow:0 22px 44px -18px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.12)}
html.c3.gl.gl-lt .nav{background:linear-gradient(160deg,rgba(255,255,255,.92),rgba(255,255,255,.72));border-color:#fff;box-shadow:0 22px 44px -22px rgba(30,80,60,.45),inset 0 1px 0 #fff}
html.c3.gl .nav button{color:rgba(238,247,241,.58)}html.c3.gl.gl-lt .nav button{color:rgba(20,16,24,.55)}
html.c3.gl .nav button.on{color:#fff;background:linear-gradient(150deg,#5FD3A2,#0E9F6E 55%,#0B6B4A);box-shadow:0 10px 22px -10px rgba(14,159,110,.8)}
html.c3.gl .nav .navq .qb{border-color:transparent}
/* buttons */
html.c3.gl .btn{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12);color:var(--ink)}
html.c3.gl.gl-lt .btn{background:#fff;border-color:#DDE5E0}
html.c3.gl .btn.primary,html.c3.gl .btn.rose,html.c3.gl .btn.pri{background:linear-gradient(150deg,#5FD3A2,#0E9F6E 55%,#0E5B43);border-color:transparent;color:#fff;box-shadow:0 14px 28px -12px rgba(14,159,110,.75)}
html.c3.gl .btn.ghost{background:transparent;border-color:rgba(255,255,255,.16)}html.c3.gl.gl-lt .btn.ghost{border-color:#D8E2DC}
/* inputs */
html.c3.gl input,html.c3.gl textarea,html.c3.gl select{background:rgba(255,255,255,.06);color:var(--ink);border-color:rgba(255,255,255,.14)}
html.c3.gl.gl-lt input,html.c3.gl.gl-lt textarea,html.c3.gl.gl-lt select{background:#fff;border-color:#D8E2DC}
html.c3.gl ::placeholder{color:rgba(238,247,241,.4)}html.c3.gl.gl-lt ::placeholder{color:#8FA198}
@media (prefers-reduced-motion:reduce){html.c3.gl *{animation-duration:.01ms!important}}
/* glass: cards that had light colours built in */
html.c3.gl .panel.whyev{border-color:rgba(59,191,138,.35);background:linear-gradient(160deg,rgba(14,159,110,.16),var(--surface) 62%)}
html.c3.gl .panel.whyev em{color:#A8F0CF}
html.c3.gl .iconbtn.soft,html.c3.gl.look2 .topbar.plum .iconbtn.soft{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:var(--ink)}
html.c3.gl .a3tabs button.on{background:linear-gradient(150deg,#5FD3A2,#0E9F6E);color:#fff}
html.c3.gl .c3pm{background:var(--surface);border-color:var(--line)}
html.c3.gl.gl-lt .iconbtn.soft{background:#fff;border-color:#DDE5E0}
/* glass: event ticket becomes the gold night pass (his ticket pick B by the team) */
html.c3.gl .fu-tk{background:linear-gradient(160deg,#1E1A14,#0E0B0A) padding-box,linear-gradient(115deg,#8A6100,#FFD978 28%,#FFF3C4 40%,#C99227 55%,#FFE29A 72%,#8A6100) border-box;border:2px solid transparent;color:#EEF7F1;box-shadow:0 24px 48px -22px rgba(255,201,60,.45);position:relative}
html.c3.gl .fu-tk::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(105deg,transparent 30%,rgba(255,236,170,.14) 45%,transparent 60%);background-size:250% 100%;animation:glshim 4.5s linear infinite}
html.c3.gl .fu-k{color:#FFE08A}
html.c3.gl .fu-date{background:linear-gradient(115deg,#C99227,#FFE29A 40%,#FFF3C4 50%,#C99227);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:glshim 6s linear infinite}
html.c3.gl .fu-meta{color:rgba(238,247,241,.75);opacity:1}
html.c3.gl .fu-price{background:linear-gradient(145deg,#FFE29A,#C99227);color:#1E1508}html.c3.gl .fu-price small{color:#1E1508}
html.c3.gl .fu-perf{background:radial-gradient(circle at 0 50%,var(--bg) 9px,transparent 9.5px),radial-gradient(circle at 100% 50%,var(--bg) 9px,transparent 9.5px)}
html.c3.gl .fu-perf::after{border-top-color:rgba(255,217,120,.35)}
html.c3.gl .fu-bar i{background:rgba(255,255,255,.12)}html.c3.gl .fu-bar.m s{background:#FFC93C}
html.c3.gl .fu-tka .btn.primary{background:linear-gradient(150deg,#5FD3A2,#0E9F6E 55%,#0E5B43);border-color:transparent;color:#fff}
html.c3.gl .fu-tka .btn.ghost{background:rgba(255,255,255,.08);border-color:rgba(255,217,120,.3);color:#FFE08A}
html.c3.gl .fu-own{background:rgba(255,255,255,.08)}
@keyframes glshim{0%{background-position:-160% 0}100%{background-position:260% 0}}
/* ---------- Inside premium: screens 7-11 (app/src/part10.js, PX() = C3 + glass) ---------- */
html.gl .px-sh h2{display:flex;align-items:baseline;gap:8px}html.gl .px-of{font-size:13px;font-weight:700;color:var(--muted)}
html.gl .px-deckw{margin:0 -16px}
html.gl .px-deck{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 16px 6px;gap:12px}
html.gl .px-deck::-webkit-scrollbar{display:none}
html.gl .px-slide{flex:0 0 100%;scroll-snap-align:center}
html.gl .px-deckw.many .px-slide{flex-basis:calc(100% - 26px)}
html.gl .px-card{position:relative;border-radius:28px;overflow:hidden;background:var(--surface);border:1px solid rgba(255,255,255,.1);box-shadow:0 26px 50px -24px rgba(0,0,0,.8);padding:0;margin:0}
html.gl.gl-lt .px-card{border-color:#fff;box-shadow:0 24px 44px -24px rgba(30,80,60,.45)}
html.gl .px-ph{position:relative;display:block;width:100%;height:min(118vw,500px);padding:0;border:0;background:#121615;text-align:left;color:#fff;cursor:pointer}
html.gl .px-ph>.av{position:absolute;inset:0;width:100%;height:100%;border-radius:0}
html.gl .px-ph>.av img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
html.gl .px-fade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(10,12,11,.45) 0%,rgba(10,12,11,0) 20%,rgba(10,12,11,0) 42%,rgba(10,12,11,.7) 70%,rgba(10,12,11,.92) 100%)}
html.gl .px-route{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;font-size:12.5px;font-weight:700;color:#fff;background:rgba(10,12,11,.42);border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);max-width:calc(100% - 100px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.gl .px-route i{font-style:normal;opacity:.7}
html.gl .px-fit{--p:80%;position:absolute;right:14px;top:12px;width:58px;height:58px;border-radius:50%;display:grid;place-content:center;text-align:center;color:#fff;background:radial-gradient(closest-side,rgba(10,12,11,.72) 78%,transparent 80% 100%),conic-gradient(#5FD3A2 var(--p),rgba(255,255,255,.18) 0);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
html.gl .px-fit b{font-size:16px;line-height:1}html.gl .px-fit small{font-size:10px;font-weight:700;opacity:.8;line-height:1.2}
html.gl .px-likes{position:absolute;left:14px;top:56px;display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:999px;font-size:12.5px;font-weight:800;color:#fff;background:linear-gradient(150deg,#5FD3A2,#0E9F6E)}
html.gl .px-likes svg{width:14px;height:14px}
html.gl .px-gc{position:absolute;left:12px;right:12px;bottom:12px;display:grid;gap:9px;padding:14px;border-radius:22px;background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.18);-webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%)}
html.gl .px-nm{display:grid;gap:2px;padding-right:76px}html.gl .px-nm b{font-size:22px;line-height:1.2;font-weight:800}
html.gl .px-nm small{font-size:13px;opacity:.85;display:flex;align-items:center;gap:5px}html.gl .px-nm small svg{width:13px;height:13px}
html.gl .px-ok{position:absolute;right:14px;top:14px;display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:800;color:#9AF0CB;padding:5px 9px;border-radius:999px;background:rgba(52,211,153,.16);border:1px solid rgba(52,211,153,.35)}
html.gl .px-ok.part{color:#FFE08A;background:rgba(255,201,60,.14);border-color:rgba(255,201,60,.35)}html.gl .px-ok svg{width:13px;height:13px}
html.gl .px-facts{display:flex;flex-wrap:wrap;gap:6px}
html.gl .px-facts span{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border-radius:999px;font-size:12.5px;font-weight:700;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12)}
html.gl .px-facts span.s{background:rgba(14,159,110,.28);border-color:rgba(59,191,138,.45)}html.gl .px-facts svg{width:14px;height:14px}
html.gl .px-same{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:#A8F0CF}html.gl .px-same svg{width:14px;height:14px}
html.gl .px-acts{display:flex;align-items:center;justify-content:center;gap:18px;padding:14px 16px 16px}
html.gl .px-rb{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:var(--ink)}
html.gl.gl-lt .px-rb{background:#EEF2EE;border-color:#DDE5E0}
html.gl .px-rb[data-on="1"]{color:#FFC93C}html.gl .px-rb svg{width:22px;height:22px}html.gl .px-ghost{visibility:hidden}
html.gl .px-big{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;border:0;color:#fff;background:linear-gradient(150deg,#5FD3A2,#0E9F6E 55%,#0B6B4A);box-shadow:0 16px 30px -12px rgba(14,159,110,.85)}
html.gl .px-big svg{width:30px;height:30px}
html.gl .px-sent{display:inline-flex;align-items:center;gap:6px;font-weight:800;color:#9AF0CB}html.gl.gl-lt .px-sent{color:#0F8A5A}html.gl .px-sent svg{width:18px;height:18px}
html.gl .px-wide{flex:1}
html.gl .px-dots{justify-content:center;margin-top:8px}
/* 8 both said yes */
html.gl .px-cel{background:radial-gradient(110% 70% at 50% 18%,#16271F,#0A0C0B 70%);gap:14px;padding:28px 22px}
html.gl.gl-lt .px-cel{background:radial-gradient(110% 70% at 50% 18%,#E6F6EC,#F7F8F5 70%);color:#14231C}
html.gl .px-conf{position:absolute;inset:0;pointer-events:none;overflow:hidden}
html.gl .px-conf i{position:absolute;top:-20px;width:8px;height:12px;border-radius:2px;background:#5FD3A2;animation:pxconf 4s linear infinite}
html.gl .px-conf i:nth-child(3n){background:#FFC93C}html.gl .px-conf i:nth-child(4n){background:#fff;width:6px;height:6px;border-radius:50%}
@keyframes pxconf{0%{transform:translateY(-30px) rotate(0);opacity:0}10%{opacity:1}100%{transform:translateY(105vh) rotate(540deg);opacity:0}}
html.gl .px-pair{position:relative;display:flex;align-items:center;justify-content:center;height:150px;width:250px}
html.gl .px-glow{position:absolute;inset:10px 30px;border-radius:50%;background:radial-gradient(closest-side,rgba(95,211,162,.55),transparent);filter:blur(10px);animation:pxpulse 2.6s ease-in-out infinite}
@keyframes pxpulse{50%{transform:scale(1.12);opacity:.7}}
html.gl .px-a{position:relative;width:120px;height:120px;border-radius:50%;padding:4px;background:linear-gradient(150deg,#5FD3A2,#FFC93C)}
html.gl .px-a .av{width:100%;height:100%;border-radius:50%}html.gl .px-a.l{transform:rotate(-6deg) translateX(14px)}html.gl .px-a.r{transform:rotate(6deg) translateX(-14px)}
html.gl .px-heart{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#121615;border:2px solid rgba(255,255,255,.2);z-index:2}
html.gl.gl-lt .px-heart{background:#fff;border-color:#CFF2E2}
html.gl .px-logo{width:34px;height:24px}html.gl .px-logo .c1{fill:#fff}html.gl .px-logo .c2{fill:#FFC93C}html.gl.gl-lt .px-logo .c1{fill:#0E9F6E}
html.gl .px-kick{font-size:13px!important;font-weight:800!important;letter-spacing:.12em;text-transform:uppercase;color:#A8F0CF}html.gl.gl-lt .px-kick{color:#0E5B43}
html.gl .px-cel h2{font-family:inherit;font-size:28px;font-weight:800;line-height:1.25;text-shadow:none;max-width:16ch}
html.gl .px-sub{opacity:.82;font-weight:600!important}
html.gl .px-qs{display:grid;gap:8px;width:100%;max-width:360px;text-align:left}html.gl .px-qs small{font-size:12.5px;font-weight:700;opacity:.75}
html.gl .px-q{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;border-radius:16px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);color:inherit;font-weight:700;text-align:left}
html.gl.gl-lt .px-q{background:#fff;border-color:#D5EEE2}html.gl .px-q svg{width:18px;height:18px;flex:none;color:#5FD3A2}
html.gl .px-cel .btns{display:grid;gap:8px;width:100%;max-width:360px}
/* 9 profile top */
html.gl .px-view .pv-top{display:none}
html.gl .px-top{position:relative}
html.gl .px-tph{position:relative;height:min(122vw,520px);overflow:hidden}
html.gl .px-tph>.av{position:absolute;inset:0;width:100%;height:100%;border-radius:0}html.gl .px-tph>.av img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
html.gl .px-tph .px-fade{background:linear-gradient(180deg,rgba(10,12,11,.45),rgba(10,12,11,0) 22%,rgba(10,12,11,0) 50%,var(--bg) 100%)}
html.gl .px-tb{position:absolute;left:0;right:0;top:0;display:flex;align-items:center;gap:10px;padding:calc(env(safe-area-inset-top) + 12px) 14px 0;z-index:3}
html.gl .px-tb .grow{flex:1}
html.gl .px-cb{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(10,12,11,.4);border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
html.gl .px-cb svg{width:20px;height:20px}
html.gl .px-float{position:relative;margin:-120px 14px 0;z-index:2;display:grid;gap:10px;padding:16px;border-radius:26px;background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.16);-webkit-backdrop-filter:blur(24px) saturate(140%);backdrop-filter:blur(24px) saturate(140%);box-shadow:0 24px 48px -22px rgba(0,0,0,.8)}
html.gl.gl-lt .px-float{background:linear-gradient(160deg,rgba(255,255,255,.92),rgba(255,255,255,.76));border-color:#fff;box-shadow:0 22px 44px -22px rgba(30,80,60,.4)}
html.gl .px-fh{display:flex;align-items:center;justify-content:space-between;gap:10px}html.gl .px-fh h2{font-size:26px;font-weight:800;line-height:1.2}
html.gl .px-float .px-fit{position:static;flex:none;width:54px;height:54px}html.gl.gl-lt .px-float .px-fit{color:#14231C;background:radial-gradient(closest-side,#fff 78%,transparent 80% 100%),conic-gradient(#0E9F6E var(--p),#EEE6F2 0)}
html.gl .px-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:13px;font-weight:700;color:var(--muted)}
html.gl .px-meta>span{display:inline-flex;align-items:center;gap:5px}html.gl .px-meta svg{width:14px;height:14px}
html.gl .px-on i{width:8px;height:8px;border-radius:50%;background:#34D399;box-shadow:0 0 0 4px rgba(52,211,153,.2)}
html.gl .px-job{font-size:14px;color:var(--muted);margin:0}
html.gl .px-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
html.gl .px-tile{height:70px;border-radius:18px;display:grid;place-items:center;align-content:center;gap:5px;font-size:13px;font-weight:800;color:var(--ink);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1)}
html.gl.gl-lt .px-tile{background:#EEF2EE;border-color:#E3E9E5}
html.gl .px-tile svg{width:22px;height:22px}
html.gl .px-tile.on{color:#fff;background:linear-gradient(150deg,#5FD3A2,#0E9F6E 55%,#0B6B4A);border-color:transparent;box-shadow:0 14px 26px -12px rgba(14,159,110,.75)}
html.gl .px-tile.done{color:#9AF0CB}html.gl.gl-lt .px-tile.done{color:#0F8A5A}
html.gl .px-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}html.gl .px-tabs::-webkit-scrollbar{display:none}
html.gl .px-tabs button{flex:1;white-space:nowrap;padding:9px 10px;border-radius:999px;font-size:13px;font-weight:700;color:var(--ink);background:transparent;border:1px solid rgba(255,255,255,.14)}
html.gl.gl-lt .px-tabs button{border-color:#DDE5E0}
/* 10 + 11 sections */
html.gl .px-sec{display:grid;gap:12px;padding:16px;border-radius:24px;background:var(--surface);border:1px solid var(--line)}
html.gl .px-h{display:flex;align-items:center;justify-content:space-between;gap:10px}html.gl .px-h h2,html.gl .px-h h3{font-size:18px;font-weight:800;margin:0}
html.gl .px-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 11px;border-radius:999px;font-size:12.5px;font-weight:700;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);white-space:nowrap}
html.gl .px-chip.r{background:rgba(14,159,110,.18);border-color:rgba(59,191,138,.35);color:#A8F0CF}
html.gl.gl-lt .px-chip{background:#EEF2EE;border-color:#DDE5E0}html.gl.gl-lt .px-chip.r{background:#E3F7EE;border-color:#BFEFD9;color:#0E5B43}
html.gl .px-chip svg{width:13px;height:13px}
html.gl .px-map{border-radius:18px;overflow:hidden}html.gl .px-map svg{display:block;width:100%;height:auto}
html.gl .px-roads{display:grid;grid-template-columns:1fr 1fr;gap:10px}
html.gl .px-road{display:grid;gap:2px;padding:12px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid var(--line);border-top:3px solid #0E9F6E}
html.gl .px-road.y{border-top-color:#FFC93C}html.gl .px-road small{font-size:12px;color:var(--muted);font-weight:700}html.gl .px-road b{font-size:20px}
html.gl .px-road span{font-size:12.5px;color:var(--muted);overflow-wrap:anywhere}
html.gl .px-fcts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
html.gl .px-fct{display:flex;gap:9px;align-items:flex-start;padding:10px;border-radius:14px;background:rgba(255,255,255,.04)}
html.gl.gl-lt .px-fct,html.gl.gl-lt .px-road{background:#F7F8F5}
html.gl .px-fct svg{width:18px;height:18px;flex:none;color:#3BBF8A;margin-top:2px}html.gl .px-fct span{display:grid;min-width:0}
html.gl .px-fct small{font-size:11.5px;color:var(--muted);font-weight:700}html.gl .px-fct b{font-size:14px;overflow-wrap:anywhere}
html.gl .px-path{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--n),1fr);position:relative}
html.gl .px-path::before{content:"";position:absolute;left:12%;right:12%;top:9px;height:2px;background:linear-gradient(90deg,#0E9F6E,rgba(255,255,255,.15))}
html.gl .px-path li{position:relative;display:grid;justify-items:center;gap:4px;text-align:center;padding:0 2px}
html.gl .px-path li i{width:20px;height:20px;border-radius:50%;background:var(--surface);border:2px solid rgba(255,255,255,.25)}
html.gl .px-path li.on i{background:#0E9F6E;border-color:#8DEBC3}html.gl .px-path li.now i{box-shadow:0 0 0 6px rgba(14,159,110,.22)}
html.gl .px-path b{font-size:12.5px}html.gl .px-path span{font-size:12px;color:var(--muted);line-height:1.3}
html.gl .px-fam{display:grid;grid-template-columns:1fr 1fr;gap:10px}
html.gl .px-fam>div{display:grid;gap:3px;padding:12px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid var(--line)}
html.gl .px-fam>div.s{border-color:rgba(59,191,138,.45);background:rgba(14,159,110,.1)}
html.gl .px-ib{width:34px;height:34px;border-radius:12px;display:grid;place-items:center;background:rgba(14,159,110,.16);color:#3BBF8A}html.gl .px-ib svg{width:18px;height:18px}
html.gl .px-fam b{font-size:14px}html.gl .px-fam small{font-size:12px;color:var(--muted)}
html.gl .px-lg{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#A8F0CF}html.gl.gl-lt .px-lg{color:#0E5B43}
html.gl .px-lg i{width:9px;height:9px;border-radius:50%;background:#5FD3A2}html.gl .px-lg svg{width:13px;height:13px}
html.gl .px-stars{overflow:visible}html.gl .px-stars .ln{fill:none;stroke:rgba(255,255,255,.18);stroke-width:1.5;stroke-dasharray:4 5}
html.gl.gl-lt .px-stars .ln{stroke:#D8E2DC}
html.gl .px-stars .st{fill:rgba(255,255,255,.5)}html.gl .px-stars .s .st{fill:#5FD3A2;filter:drop-shadow(0 0 6px rgba(95,211,162,.8))}
html.gl.gl-lt .px-stars .st{fill:#C9BFD3}
html.gl .px-stars g{animation:pxtw 3.2s ease-in-out infinite}html.gl .px-stars text{fill:var(--ink);font-size:13px;font-weight:700}
@keyframes pxtw{50%{opacity:.75}}
@media (prefers-reduced-motion:reduce){html.gl .px-stars g,html.gl .px-glow,html.gl .px-conf i{animation:none}html.gl .px-conf{display:none}}
/* glass: Me tiles (Trust Passport, Family circle, Voice intro, Gold) as glass cards with one colour accent each (his ok 6 Nov 23:55) */
html.c3.gl .fu-t{background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.12);color:var(--ink);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 18px 36px -22px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.08)}
html.c3.gl.gl-lt .fu-t{background:linear-gradient(160deg,rgba(255,255,255,.95),rgba(255,255,255,.78));border-color:#fff;box-shadow:0 16px 32px -22px rgba(30,80,60,.4),inset 0 1px 0 #fff}
html.c3.gl .fu-t span svg,html.c3.gl .fu-t span .ic{width:22px;height:22px}
html.c3.gl .fu-t.v span{color:#A98BFF}html.c3.gl .fu-t.y span{color:#FFC93C}html.c3.gl .fu-t.k span{color:#3BBF8A}html.c3.gl .fu-t.p span,html.c3.gl .fu-t.p span .ic{color:#FFE08A}
html.c3.gl.gl-lt .fu-t.v span{color:#2E9F78}html.c3.gl.gl-lt .fu-t.y span{color:#A86F00}html.c3.gl.gl-lt .fu-t.k span{color:#0E9F6E}html.c3.gl.gl-lt .fu-t.p span,html.c3.gl.gl-lt .fu-t.p span .ic{color:#8A6100}
html.c3.gl .fu-t.v{border-top:2px solid rgba(169,139,255,.55)}html.c3.gl .fu-t.y{border-top:2px solid rgba(255,201,60,.55)}html.c3.gl .fu-t.k{border-top:2px solid rgba(59,191,138,.55)}html.c3.gl .fu-t.p{border-top:2px solid rgba(255,224,138,.55)}
html.c3.gl .fu-t em{color:var(--muted);opacity:1}
html.gl .px-of{white-space:nowrap}html.gl .px-sh h2{flex-wrap:nowrap}
html.gl[dir=rtl] .px-stars,html.gl[dir=rtl] .px-route,html.gl[dir=rtl] .px-road span{direction:ltr}
html.gl[dir=rtl] .px-stars text{unicode-bidi:plaintext}
html.gl .px-fct b,html.gl .px-road span{overflow-wrap:break-word;hyphens:auto}
/* ---------- White / black glass bento (his ok 7 Nov 2026 02:42, mock K9PGagZvdiBRTzTqNaQLzM): neutral glass, mint + lemon accents ---------- */
html.c3.gl{--rose:#5FD3A2;--rose-2:#8DEBC3;--rose-deep:#0E9F6E;--on-rose:#05291D;--rose-soft:rgba(95,211,162,.16)}
html.c3.gl.gl-lt{--rose:#0E9F6E;--rose-2:#3BBF8A;--rose-deep:#0B6B4A;--on-rose:#0B4D36;--rose-soft:#E3F7EE}
html.c3.gl body{background:radial-gradient(520px 520px at 0% 0%,rgba(58,52,18,.42),transparent 70%),radial-gradient(560px 560px at 100% 30%,rgba(18,58,48,.5),transparent 70%),#0A0C0B fixed}
html.c3.gl.gl-lt body{background:radial-gradient(520px 520px at 0% 0%,#FFF6C8,transparent 70%),radial-gradient(560px 560px at 100% 30%,#D9F6EA,transparent 70%),radial-gradient(480px 480px at 30% 90%,#ECF8DF,transparent 70%),#F7F8F5 fixed}
html.c3.gl .view{background:radial-gradient(520px 420px at 0% 0%,rgba(58,52,18,.35),transparent 70%),radial-gradient(520px 520px at 100% 40%,rgba(18,58,48,.4),transparent 70%),#0A0C0B}
html.c3.gl.gl-lt .view{background:radial-gradient(520px 420px at 0% 0%,#FFF6C8,transparent 70%),radial-gradient(520px 520px at 100% 40%,#D9F6EA,transparent 70%),#F7F8F5}
html.c3.gl .btn.primary,html.c3.gl .btn.rose,html.c3.gl .btn.pri,html.c3.gl .px-big,html.c3.gl .px-tile.on,html.c3.gl .nav button.on,html.c3.gl .a3tabs button.on,html.c3.gl .fu-tka .btn.primary{background:linear-gradient(150deg,#A8F0CF,#5FD3A2)!important;color:#05291D!important;box-shadow:0 12px 26px -14px rgba(95,211,162,.55)!important;border-color:transparent}
html.c3.gl.gl-lt .btn.primary,html.c3.gl.gl-lt .btn.rose,html.c3.gl.gl-lt .btn.pri,html.c3.gl.gl-lt .px-big,html.c3.gl.gl-lt .px-tile.on,html.c3.gl.gl-lt .nav button.on,html.c3.gl.gl-lt .a3tabs button.on,html.c3.gl.gl-lt .fu-tka .btn.primary{background:linear-gradient(150deg,#D6F7E8,#9FE6C6)!important;color:#0B4D36!important;box-shadow:0 1px 0 #fff inset,0 12px 26px -14px rgba(14,91,67,.5)!important}
html.c3.gl .px-big svg,html.c3.gl .px-tile.on svg,html.c3.gl .nav button.on svg{color:inherit}
html.c3.gl .topbar .hello em{color:#8DEBC3!important}html.c3.gl.gl-lt .topbar .hello em{color:#0E7A55!important}
html.c3.gl .px-card,html.c3.gl .px-sec,html.c3.gl .fu-t,html.c3.gl .panel,html.c3.gl .mcard{border-radius:24px}
.v2rev-p span.nf{display:grid;place-items:center;background:linear-gradient(150deg,#E3F7EE,#A8F0CF);color:#0B4D36}.v2rev-p span.nf .ic,.v2rev-p span.nf svg{width:30px;height:30px}
html.c3.gl .v2rev-p span.nf{background:linear-gradient(150deg,rgba(168,240,207,.25),rgba(255,226,120,.18));color:#8DEBC3;border-color:rgba(255,255,255,.2)}
.v2gt-a svg{width:100%;height:100%;display:block}
/* birthday wheel: text exactly in the middle of each row (the font shorthand had reset line-height) */
.v2wit{display:flex;align-items:center;justify-content:center;line-height:1}
/* member photos fit whole (his rule 7 Nov 03:08: face must be fully visible): photo shown complete, soft blurred copy fills the sides */
html.gl .px-bl{position:absolute;left:-30px;top:-30px;width:calc(100% + 60px);height:calc(100% + 60px);object-fit:cover;filter:blur(26px) brightness(.85) saturate(1.1);z-index:0}
html.gl .px-ph>.av,html.gl .px-tph>.av{background:transparent!important;z-index:1}
html.gl .px-ph>.av img,html.gl .px-tph>.av img{object-fit:contain!important;object-position:50% 0!important}
html.gl .px-ph .px-fade,html.gl .px-tph .px-fade{z-index:1}html.gl .px-ph .px-route,html.gl .px-ph .px-fit,html.gl .px-ph .px-gc,html.gl .px-ph .px-likes{z-index:2}
/* deck card like the approved bento mock: photo on top (whole face, nothing covered), details tile below */
html.gl .px-ph{height:auto!important;display:block;padding-bottom:12px}
html.gl .px-ph>.av{position:relative!important;inset:auto!important;display:block;width:100%!important;height:min(96vw,400px)!important;border-radius:0}
html.gl .px-ph .px-bl{height:calc(min(96vw,400px) + 60px)}
html.gl .px-ph .px-fade{display:none}
html.gl .px-ph .px-gc{position:relative;left:auto;right:auto;bottom:auto;margin:-28px 12px 0}
html.gl .px-tph{height:min(118vw,470px)}
html.gl .px-float{margin-top:-36px}
html.gl .px-tph .px-fade{background:linear-gradient(180deg,rgba(10,12,11,.35),rgba(10,12,11,0) 18%,rgba(10,12,11,0) 88%,var(--bg) 100%)}
/* bento tiles on Matches (approved mock) */
html.gl .pxb{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:4px 0 14px}
html.gl .pxt{position:relative;display:block;text-align:left;font:inherit;color:var(--ink);padding:16px;border-radius:24px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.11);-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 22px 44px -28px rgba(0,0,0,.8);overflow:hidden;cursor:pointer}
html.gl.gl-lt .pxt{background:rgba(255,255,255,.62);border-color:#fff;box-shadow:0 1px 0 #fff inset,0 18px 36px -24px rgba(30,80,60,.38)}
html.gl .pxt.lemon{background:linear-gradient(160deg,rgba(255,226,120,.16),rgba(255,255,255,.04))}html.gl.gl-lt .pxt.lemon{background:linear-gradient(160deg,rgba(255,248,206,.9),rgba(255,234,140,.55))}
html.gl .pxt.mint{background:linear-gradient(160deg,rgba(150,235,200,.14),rgba(255,255,255,.04))}html.gl.gl-lt .pxt.mint{background:linear-gradient(160deg,rgba(222,249,237,.92),rgba(168,232,204,.55))}
html.gl .pxt.leaf{background:linear-gradient(160deg,rgba(200,240,160,.12),rgba(255,255,255,.04))}html.gl.gl-lt .pxt.leaf{background:linear-gradient(160deg,rgba(238,250,226,.92),rgba(203,238,172,.55))}
html.gl .pxt .eb{font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8DEBC3;margin:0}html.gl.gl-lt .pxt .eb{color:#0E5B43}
html.gl .pxn{display:block;font-size:44px;line-height:1.05;font-weight:800;color:#8DEBC3;font-variant-numeric:tabular-nums;margin:4px 0 2px}html.gl.gl-lt .pxn{color:#0E5B43}
html.gl .pxs{font-size:13px;color:var(--muted);margin:0;line-height:1.4}
html.gl .pxh{display:block;font-size:16px;font-weight:800;margin-top:8px}
html.gl .pxi{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(150deg,#FFE37A,#E0A800);color:#fff}html.gl .pxi svg,html.gl .pxi .ic{width:24px;height:24px}
html.gl .pxr{width:58px;height:58px;border-radius:50%;display:grid;place-content:center;background:radial-gradient(closest-side,#121615 76%,transparent 78% 100%),conic-gradient(#5FD3A2 var(--p),rgba(255,255,255,.12) 0)}
html.gl.gl-lt .pxr{background:radial-gradient(closest-side,#fff 76%,transparent 78% 100%),conic-gradient(#0E9F6E var(--p),#E3EDE7 0)}html.gl .pxr b{font-size:15px}
html.gl .main-inner>.likes{display:none}
html.gl.gl-lt .px-ph .px-gc{background:rgba(255,255,255,.82);border-color:#fff;color:#14231C;box-shadow:0 14px 30px -20px rgba(30,80,60,.45)}
html.gl.gl-lt .px-ph .px-gc .px-nm small{color:#4E5E57}html.gl.gl-lt .px-facts span{background:#F1F5F2;border-color:#E3E9E5;color:#14231C}
html.gl.gl-lt .px-facts span.s{background:linear-gradient(150deg,#D6F7E8,#A6E9CB);color:#0B4D36;border-color:transparent}
html.gl.gl-lt .px-same{color:#0E7A55}html.gl.gl-lt .px-ok{color:#0E7A55;background:#E3F7EE;border-color:#BFEFD9}
html.gl .px-ph{color:var(--ink)}
/* profile like the approved bento mock: tinted road tiles with big numbers, mint plan tile */
html.gl .px-road{border:1px solid rgba(255,255,255,.12);border-top-width:1px;padding:14px;border-radius:20px}
html.gl .px-road.h{background:linear-gradient(160deg,rgba(255,226,120,.16),rgba(255,255,255,.04))}html.gl .px-road.y{background:linear-gradient(160deg,rgba(200,240,160,.13),rgba(255,255,255,.04))}
html.gl.gl-lt .px-road.h{background:linear-gradient(160deg,rgba(255,248,206,.95),rgba(255,234,140,.55));border-color:#fff}html.gl.gl-lt .px-road.y{background:linear-gradient(160deg,rgba(238,250,226,.95),rgba(203,238,172,.55));border-color:#fff}
html.gl .px-road small{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:800;color:#8DEBC3}html.gl.gl-lt .px-road small{color:#0E5B43}
html.gl .px-road b{font-size:28px;line-height:1.1;color:#8DEBC3;font-weight:800}html.gl.gl-lt .px-road b{color:#0E5B43}
html.gl #px-plan{background:linear-gradient(160deg,rgba(150,235,200,.13),rgba(255,255,255,.04))}html.gl.gl-lt #px-plan{background:linear-gradient(160deg,rgba(222,249,237,.95),rgba(168,232,204,.5));border-color:#fff}
html.gl.gl-lt .px-sec{background:rgba(255,255,255,.66);border-color:#fff;box-shadow:0 1px 0 #fff inset,0 18px 36px -26px rgba(30,80,60,.35)}
html.gl .px-path li.on i{background:#0E9F6E;border-color:#8DEBC3}
html.gl.gl-lt .px-ib{background:linear-gradient(150deg,#E3F7EE,#BFEFD9);color:#0E7A55}html.gl .px-ib{background:rgba(141,235,195,.16);color:#8DEBC3}
html.gl .px-road b{font-size:clamp(20px,6vw,26px);white-space:nowrap}
/* Me + Events like the approved bento mock */
html.gl .fu-me{padding:16px;border-radius:24px;background:linear-gradient(160deg,rgba(150,235,200,.14),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.12);margin-bottom:10px}
html.gl.gl-lt .fu-me{background:linear-gradient(160deg,rgba(222,249,237,.95),rgba(168,232,204,.5));border-color:#fff;box-shadow:0 1px 0 #fff inset,0 18px 36px -26px rgba(30,80,60,.35)}
html.gl .fu-t.v{background:linear-gradient(160deg,rgba(200,240,160,.13),rgba(255,255,255,.04))}html.gl .fu-t.y{background:linear-gradient(160deg,rgba(255,226,120,.15),rgba(255,255,255,.04))}html.gl .fu-t.p{background:linear-gradient(160deg,rgba(150,235,200,.14),rgba(255,255,255,.04))}
html.gl.gl-lt .fu-t.v{background:linear-gradient(160deg,rgba(238,250,226,.95),rgba(203,238,172,.55))}html.gl.gl-lt .fu-t.y{background:linear-gradient(160deg,rgba(255,248,206,.95),rgba(255,234,140,.55))}html.gl.gl-lt .fu-t.p{background:linear-gradient(160deg,rgba(222,249,237,.95),rgba(168,232,204,.55))}
html.gl .fu-t,html.gl .fu-t.v,html.gl .fu-t.y,html.gl .fu-t.k,html.gl .fu-t.p{border-top-width:1px}
html.c3.gl.gl-lt .fu-tk{background:linear-gradient(160deg,rgba(255,248,206,.96),rgba(255,234,140,.6)) padding-box,linear-gradient(115deg,#F2C94C,#FFF3C4 40%,#9FE6C6 70%,#F2C94C) border-box;color:#14231C}
html.c3.gl.gl-lt .fu-tk .fu-k{color:#7A5F00}html.c3.gl.gl-lt .fu-tk .fu-meta{color:#4E5E57}
html.c3.gl.gl-lt .fu-date{background-image:linear-gradient(115deg,#0E7A55,#3BBF8A 40%,#C9A300 60%,#0E7A55)}
html.c3.gl.gl-lt .fu-tka .btn.ghost{background:rgba(255,255,255,.7);color:#14231C;border-color:#fff}
html.c3.gl.gl-lt .fu-bar i{background:rgba(255,255,255,.75)}
/* Chats like the approved bento mock: mint safety tile, each chat its own glass row */
html.gl .rows{display:grid;gap:8px;background:none!important;border:0!important;box-shadow:none!important}
html.gl .rowi{border-radius:20px!important;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.11)!important;padding:12px!important}
html.gl.gl-lt .rowi{background:rgba(255,255,255,.66);border-color:#fff!important;box-shadow:0 1px 0 #fff inset,0 14px 28px -22px rgba(30,80,60,.35)}
html.gl .scroll .callout{border-radius:20px;background:linear-gradient(160deg,rgba(150,235,200,.14),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.12)}
html.gl.gl-lt .scroll .callout{background:linear-gradient(160deg,rgba(222,249,237,.95),rgba(168,232,204,.5));border-color:#fff;color:#14231C}
html.gl.gl-lt .fu-map,html.gl.gl-lt .fu-roots{filter:none}

/* ---------- Roots Live (his ok 7 Nov 2026 04:26): live globe, signature cards, share rings, Bridge clocks ---------- */
.rl-slot{position:relative}.rl-slot .rl-map{position:absolute;inset:0}.rl-slot.rl-on>.rl-fb{visibility:hidden}
.rl-map .maplibregl-ctrl-attrib{background:transparent!important;font-size:9px;opacity:.6}.rl-map .maplibregl-ctrl-attrib a{color:inherit}
.c3map:has(.rl-wel){height:min(96vw,420px);overflow:visible}.rl-wel{height:100%;min-height:330px}
.rl-tile{position:relative;height:min(92vw,360px);margin:0 16px 12px;border-radius:28px;overflow:hidden;background:radial-gradient(120% 80% at 50% 30%,#fff 0%,#E6F3EA 55%,#DDEDE2 100%);border:1px solid rgba(255,255,255,.95);box-shadow:0 1px 0 #fff inset,0 24px 44px -28px rgba(20,70,50,.5)}
html:not(.gl-lt) .rl-tile{background:radial-gradient(120% 80% at 50% 30%,#13221B 0%,#08100C 60%,#050807 100%);border-color:rgba(255,255,255,.12)}
.rl-tile .rl-slot{position:absolute;inset:0}
.rl-cap{position:absolute;left:12px;top:12px;padding:9px 13px;border-radius:18px;background:rgba(255,255,255,.72);border:1px solid #fff;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:none}
.rl-cap b{display:block;font-size:15px;font-weight:800;margin-top:2px}
html:not(.gl-lt) .rl-cap{background:rgba(20,28,24,.66);border-color:rgba(255,255,255,.12)}
.rl-mk{display:flex;align-items:center;gap:6px;padding:6px 10px 6px 7px;border-radius:999px;font:800 12px var(--f-body);color:#0F1C16;background:rgba(255,255,255,.85);border:1px solid #fff;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 10px 20px -12px rgba(0,0,0,.5);cursor:pointer;white-space:nowrap}
.rl-mk i{width:9px;height:9px;border-radius:50%;background:#0E9F6E;animation:rlpl 2.4s infinite}
.rl-mk.root i{background:#E2B500;animation:none;box-shadow:0 0 0 4px rgba(255,217,92,.3)}
.rl-mk.on{background:linear-gradient(150deg,#D8F8EA,#A3E8C9);color:#0B4D36}
.rl-mk.me i{background:#5FD3A2;animation:none}
html:not(.gl-lt) .rl-mk{background:rgba(28,36,32,.8);color:#ECF4EF;border-color:rgba(255,255,255,.14)}
html:not(.gl-lt) .rl-mk.on{background:rgba(120,228,186,.3);color:#E2FFF2}
@keyframes rlpl{0%{box-shadow:0 0 0 0 rgba(95,211,162,.7)}70%{box-shadow:0 0 0 9px rgba(95,211,162,0)}100%{box-shadow:0 0 0 0 rgba(95,211,162,0)}}
.rl-sig{display:block;width:100%;height:100%;overflow:visible}
.rl-sig .rl-r{transform-box:view-box;transform-origin:50% 50%;animation:rlspin linear infinite}
.rl-sig .rl-br{transform-box:view-box;transform-origin:50% 50%;animation:rlbr 5s ease-in-out infinite}
@keyframes rlspin{to{transform:rotate(360deg)}}@keyframes rlbr{50%{transform:scale(1.04)}}
.rl-sh{padding:4px 16px 8px}
.rl-cards{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 16px 12px}.rl-cards::-webkit-scrollbar{display:none}
.rl-card{flex:0 0 84%;scroll-snap-align:start;border-radius:26px;padding:12px;background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.95);-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);box-shadow:0 1px 0 #fff inset,0 22px 40px -28px rgba(20,70,50,.45)}
html:not(.gl-lt) .rl-card{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.12);box-shadow:0 26px 50px -30px rgba(0,0,0,.9)}
.rl-top{display:flex;gap:12px;align-items:center;width:100%;text-align:left;background:none;border:0;padding:0;color:inherit;font:inherit;cursor:pointer}
.rl-sgw{position:relative;width:96px;height:96px;flex:none}
.rl-likes{position:absolute;left:50%;bottom:-6px;transform:translateX(-50%);display:inline-flex;gap:4px;align-items:center;font-size:10.5px;font-weight:800;padding:4px 8px;border-radius:999px;background:linear-gradient(150deg,#D8F8EA,#A3E8C9);color:#0B4D36;white-space:nowrap}
.rl-likes svg{width:12px;height:12px}
.rl-who{display:flex;flex-direction:column;gap:3px;min-width:0}
.rl-who b{font-size:19px;font-weight:800}
.rl-who small{font-size:12.5px;font-weight:600;color:var(--muted);display:flex;gap:5px;align-items:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rl-who small svg{width:13px;height:13px;flex:none}
.rl-fit{align-self:flex-start;margin-top:4px;font-size:12px;font-weight:800;padding:5px 10px;border-radius:999px;background:linear-gradient(150deg,#DDF8EC,#A3E8C9);color:#0B4D36}
html:not(.gl-lt) .rl-fit{background:rgba(120,228,186,.22);color:#AEF3D4}
.rl-acts{display:flex;gap:8px;margin-top:12px;align-items:center}
.rl-b{width:46px;height:46px;flex:none;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.8);border:1px solid #fff;color:inherit;cursor:pointer}
.rl-b svg{width:19px;height:19px}.rl-b[data-on="1"]{color:#D9A800}
html:not(.gl-lt) .rl-b{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14)}
.rl-go{flex:1;height:46px;border-radius:16px;border:0;display:flex;gap:8px;align-items:center;justify-content:center;font:800 14.5px var(--f-body);cursor:pointer;background:linear-gradient(150deg,#D8F8EA,#9FE6C6);color:#0B4D36;box-shadow:0 1px 0 #fff inset,0 14px 24px -16px rgba(14,91,67,.7);white-space:nowrap}
.rl-go svg{width:18px;height:18px}
html:not(.gl-lt) .rl-go{background:linear-gradient(150deg,rgba(150,240,200,.4),rgba(110,220,170,.16));color:#D5FBEA;border:1px solid rgba(170,245,210,.35)}
.rl-wide{flex:1}.rl-sent{flex:1;display:flex;gap:6px;align-items:center;justify-content:center;font-weight:800;font-size:14px;color:#0E9F6E}.rl-sent svg{width:17px;height:17px}
.rl-share{margin:12px 16px;padding:14px;border-radius:24px;background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
html:not(.gl-lt) .rl-share{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.12)}
.rl-rings{display:flex;gap:14px;align-items:center}.rl-rings svg{width:100px;height:100px;flex:none}
.rl-rl{flex:1}.rl-rl div{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;margin:6px 0}.rl-rl i{width:10px;height:10px;border-radius:50%}.rl-rl span{margin-left:auto;font-variant-numeric:tabular-nums}
.rl-ring{stroke-dasharray:1;stroke-dashoffset:1;animation:rldash 1.4s .2s cubic-bezier(.2,.8,.2,1) forwards}@keyframes rldash{to{stroke-dashoffset:var(--o)}}
.rl-tz{display:flex;gap:6px;align-items:center;margin-top:10px;font-size:13px;font-weight:700;color:var(--muted)}.rl-tz svg{width:15px;height:15px}
.rl-bridge{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin:8px 16px 0;padding:10px 14px;border-radius:20px;background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.95);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
html:not(.gl-lt) .rl-bridge{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.12)}
.rl-bridge b{display:block;font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}.rl-bridge small{display:block;font-size:11.5px;font-weight:600;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rl-bridge .r{text-align:right}.rl-bridge>span{color:#0E9F6E}.rl-bridge>span svg{width:22px;height:22px}
.rl-mesig{display:flex;gap:14px;align-items:center;margin:12px 16px;padding:14px;border-radius:24px;background:linear-gradient(155deg,#DDF8EC,rgba(163,232,201,.6));border:1px solid #fff}
html:not(.gl-lt) .rl-mesig{background:linear-gradient(155deg,rgba(120,228,186,.2),rgba(120,228,186,.05));border-color:rgba(255,255,255,.12)}
.rl-mesig b{display:block;font-size:16px;font-weight:800;margin-top:4px}.rl-mesig small{display:block;font-size:12.5px;color:var(--muted);margin-top:4px;line-height:1.4}
@media (prefers-reduced-motion:reduce){.rl-sig .rl-r,.rl-sig .rl-br,.rl-mk i{animation:none}.rl-ring{animation:none;stroke-dashoffset:var(--o)}}
.rl-hsig{width:44px;height:44px;flex:none;margin:0 2px}
.rl-evt{margin:0 0 14px;height:min(70vw,280px)}
.rl-rl div{white-space:nowrap;font-size:13px}
.rl-home{height:min(118vw,500px);margin:0 0 12px}
.rl-sheet.over{position:relative;z-index:3;margin:-150px 10px 14px;padding:10px 0 2px;border-radius:30px;background:rgba(255,255,255,.66);border:1px solid #fff;-webkit-backdrop-filter:blur(24px) saturate(160%);backdrop-filter:blur(24px) saturate(160%);box-shadow:0 1px 0 #fff inset,0 30px 50px -30px rgba(20,70,50,.55)}
html:not(.gl-lt) .rl-sheet.over{background:rgba(18,24,21,.62);border-color:rgba(255,255,255,.12);box-shadow:0 30px 60px -30px rgba(0,0,0,.95)}
.rl-sheet.over .rl-sh{padding:4px 16px 8px}.rl-sheet.over .rl-cards{padding:2px 10px 10px}
.rl-sheet.over .rl-card{background:rgba(255,255,255,.8)}html:not(.gl-lt) .rl-sheet.over .rl-card{background:rgba(255,255,255,.06)}
.rl-voice{margin:12px 16px!important;border-radius:24px!important;background:linear-gradient(155deg,#FFF8D4,rgba(255,226,127,.45))!important;border:1px solid #fff!important}
html:not(.gl-lt) .rl-voice{background:linear-gradient(155deg,rgba(255,226,128,.18),rgba(255,226,128,.04))!important;border-color:rgba(255,255,255,.12)!important}
.rl-fam{display:flex;gap:10px;align-items:center;margin:8px 16px 0;padding:10px 12px;border-radius:20px;background:linear-gradient(155deg,#FFF8D4,rgba(255,226,127,.45));border:1px solid #fff}
html:not(.gl-lt) .rl-fam{background:linear-gradient(155deg,rgba(255,226,128,.16),rgba(255,226,128,.04));border-color:rgba(255,255,255,.12)}
.rl-fi{width:36px;height:36px;flex:none;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.75);color:#5A4600}.rl-fi svg{width:18px;height:18px}
html:not(.gl-lt) .rl-fi{background:rgba(255,255,255,.08);color:#FFE9A6}
.rl-ft{flex:1;min-width:0}.rl-ft b{display:block;font-size:14px;font-weight:800}.rl-ft small{display:block;font-size:11.5px;color:var(--muted);line-height:1.35;margin-top:2px}
.rl-fb2{flex:none;display:flex;gap:5px;align-items:center;border:0;cursor:pointer;font:800 12.5px var(--f-body);padding:9px 12px;border-radius:14px;background:linear-gradient(150deg,#D8F8EA,#9FE6C6);color:#0B4D36;white-space:nowrap}
.rl-fb2 svg{width:14px;height:14px}.rl-fb2.on{background:rgba(255,255,255,.75);color:#0E9F6E}
html:not(.gl-lt) .rl-fb2{background:rgba(120,228,186,.26);color:#D5FBEA}html:not(.gl-lt) .rl-fb2.on{background:rgba(255,255,255,.08);color:#5FD3A2}
.rl-why{color:#0E7A55!important;font-weight:700!important}.rl-why svg{color:#0E9F6E}
html:not(.gl-lt) .rl-why{color:#AEF3D4!important}
.rl-likes.y{background:linear-gradient(150deg,#FFF6CC,#FFE07A);color:#5A4600}
.rl-mk.sel{outline:3px solid rgba(14,159,110,.35)}
.rl-chips{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:0 16px 10px}.rl-chips::-webkit-scrollbar{display:none}
.rl-chip{flex:none;display:inline-flex;gap:5px;align-items:center;padding:8px 12px;border-radius:999px;font:700 12.5px var(--f-body);cursor:pointer;background:rgba(255,255,255,.8);border:1px solid #fff;color:inherit;white-space:nowrap}
.rl-chip svg{width:13px;height:13px}.rl-chip.on{background:linear-gradient(150deg,#D8F8EA,#A3E8C9);color:#0B4D36}
html:not(.gl-lt) .rl-chip{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14)}html:not(.gl-lt) .rl-chip.on{background:rgba(120,228,186,.26);color:#D5FBEA}
.rl-sheet .sec-h{display:flex;justify-content:space-between;align-items:center}
.rl-none{padding:6px 16px 14px;font-size:13.5px;color:var(--muted)}
.rl-whyb{margin:12px 16px;padding:14px;border-radius:24px;background:linear-gradient(155deg,#DDF8EC,rgba(163,232,201,.55));border:1px solid #fff}
html:not(.gl-lt) .rl-whyb{background:linear-gradient(155deg,rgba(120,228,186,.2),rgba(120,228,186,.05));border-color:rgba(255,255,255,.12)}
.rl-whyb div{display:flex;gap:8px;align-items:center;margin-top:8px;font-size:14px;font-weight:700}.rl-whyb svg{width:17px;height:17px;color:#0E9F6E;flex:none}
.rl-famp{margin:0 16px 12px}
.rl-book{margin:4px 0 12px}.rl-book>.eb{padding:0 16px 8px}
.rl-tabs{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:0 16px 10px}.rl-tabs::-webkit-scrollbar{display:none}
.rl-pages{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 16px 6px}.rl-pages::-webkit-scrollbar{display:none}
.rl-page{flex:0 0 calc(100% - 26px);scroll-snap-align:center;border-radius:24px;padding:16px;background:rgba(255,255,255,.62);border:1px solid rgba(255,255,255,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
html:not(.gl-lt) .rl-page{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.12)}
.rl-no{display:block;font-size:42px;font-weight:300;line-height:1;color:#0E9F6E;opacity:.4}.rl-pt{display:block;font-size:20px;font-weight:800;margin:4px 0 8px}
.rl-kv{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid rgba(15,40,30,.09);font-size:14px}.rl-kv span{color:var(--muted);font-weight:600;flex:none}.rl-kv b{text-align:right}
html:not(.gl-lt) .rl-kv{border-top-color:rgba(255,255,255,.08)}
.rl-askw{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;background:rgba(5,10,8,.35);animation:rlfade .25s}
@keyframes rlfade{from{opacity:0}}
.rl-ask{width:100%;max-width:560px;margin:0 auto;padding:16px 16px calc(16px + env(safe-area-inset-bottom));border-radius:30px 30px 0 0;background:rgba(255,255,255,.9);border:1px solid #fff;-webkit-backdrop-filter:blur(26px) saturate(160%);backdrop-filter:blur(26px) saturate(160%);animation:rlup .35s cubic-bezier(.2,.8,.2,1)}
@keyframes rlup{from{transform:translateY(40px);opacity:0}}
html:not(.gl-lt) .rl-ask{background:rgba(18,24,21,.92);border-color:rgba(255,255,255,.12)}
.rl-askh{display:flex;gap:12px;align-items:center}.rl-askh>div{flex:1}.rl-askh b{display:block;font-size:17px;font-weight:800;line-height:1.3;margin-top:2px}
.rl-askp{font-size:13px;color:var(--muted);margin:10px 2px}
.rl-qs{display:grid;gap:8px;margin-bottom:12px}
.rl-q{display:flex;gap:12px;align-items:center;text-align:left;padding:13px 14px;border-radius:18px;font:700 14px/1.35 var(--f-body);cursor:pointer;background:rgba(255,255,255,.8);border:1px solid rgba(15,40,30,.08);color:inherit}
.rl-q span{flex:1}.rl-q i{width:20px;height:20px;border-radius:50%;border:2px solid rgba(15,40,30,.2);flex:none}
.rl-q.on{background:linear-gradient(150deg,#DDF8EC,#A3E8C9);color:#0B4D36}.rl-q.on i{border:6px solid #0E9F6E}
html:not(.gl-lt) .rl-q{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1)}html:not(.gl-lt) .rl-q.on{background:rgba(120,228,186,.22);color:#E2FFF2}
.rl-ask .rl-go{width:100%}.rl-ask .rl-go[disabled]{opacity:.5}
.rl-book,.rl-share,.rl-whyb{min-width:0;max-width:calc(100% - 0px);box-sizing:border-box}
.rl-book{width:100%;overflow:hidden}.rl-pages,.rl-tabs{width:100%;max-width:100%;box-sizing:border-box}
.rl-page{min-width:0}
/* 7 Nov 06:40 calm bento ticket, matte header + nav, bento wwu */
html.c3.gl .fu-tk{background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.11)!important;box-shadow:0 18px 36px -26px rgba(0,0,0,.7)!important;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
html.c3.gl .fu-tk::before{display:none!important;animation:none!important}
html.c3.gl .fu-k{color:#8DEBC3}
html.c3.gl .fu-date{background:none!important;-webkit-background-clip:border-box;background-clip:border-box;color:#EEF7F1!important;animation:none!important}
html.c3.gl .fu-price{background:rgba(95,211,162,.14)!important;border:1px solid rgba(141,235,195,.28);color:#BFF2DA!important;box-shadow:none!important}
html.c3.gl .fu-price small{color:#8DEBC3!important}
html.c3.gl .fu-perf::after{border-top-color:rgba(255,255,255,.14)!important}
html.c3.gl .fu-bar.m s,html.c3.gl .fu-bar s{background:#5FD3A2!important}
html.c3.gl .fu-tka .btn.ghost{background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.14)!important;color:#EEF7F1!important}
html.c3.gl.gl-lt .fu-tk{background:rgba(255,255,255,.78)!important;border:1px solid #E3E9E5!important;box-shadow:0 16px 34px -26px rgba(30,80,60,.4)!important}
html.c3.gl.gl-lt .fu-k{color:#0E7A55}
html.c3.gl.gl-lt .fu-date{color:#10251C!important}
html.c3.gl.gl-lt .fu-meta{color:rgba(16,37,28,.72)}
html.c3.gl.gl-lt .fu-price{background:#E3F7EE!important;border-color:#C6EBD8;color:#0B4D36!important}
html.c3.gl.gl-lt .fu-price small{color:#0E7A55!important}
html.c3.gl.gl-lt .fu-perf::after{border-top-color:#DDE5E0!important}
html.c3.gl.gl-lt .fu-bar i{background:#EDF1EE}
html.c3.gl.gl-lt .fu-tka .btn.ghost{background:#fff!important;border-color:#E3E9E5!important;color:#10251C!important}
html.c3.gl .wwu,html.c3.gl .wwu-link{background:rgba(255,255,255,.05)!important;border:1px solid rgba(255,255,255,.11)!important;box-shadow:none!important;color:var(--ink)}
html.c3.gl.gl-lt .wwu,html.c3.gl.gl-lt .wwu-link{background:rgba(255,255,255,.8)!important;border:1px solid #E3E9E5!important;box-shadow:0 14px 30px -26px rgba(30,80,60,.35)!important}
/* matte header + bottom bar, same colour as the screen */
html.c3.gl .topbar,html.c3.gl.look2 .topbar.plum{background:#0A0C0B!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:inset 0 -1px 0 rgba(255,255,255,.07)!important;background-image:none!important}
html.c3.gl.gl-lt .topbar,html.c3.gl.gl-lt.look2 .topbar.plum{background:#F7F8F5!important;box-shadow:inset 0 -1px 0 #E6EBE8!important}
html.c3.gl body{background:radial-gradient(560px 560px at 100% 30%,rgba(18,58,48,.42),transparent 70%),#0A0C0B fixed!important}
html.c3.gl.gl-lt body{background:radial-gradient(560px 560px at 100% 30%,#E3F7EC,transparent 70%),radial-gradient(480px 480px at 30% 90%,#EEF8E6,transparent 70%),#F7F8F5 fixed!important}
html.c3.gl .nav{background:#141816!important;border:1px solid rgba(255,255,255,.08)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:0 14px 30px -18px rgba(0,0,0,.8)!important}
html.c3.gl.gl-lt .nav{background:#FFFFFF!important;border:1px solid #E6EBE8!important;box-shadow:0 12px 28px -20px rgba(30,60,45,.35)!important}
html.c3.gl .nav button.on{background:rgba(95,211,162,.16)!important;color:#8DEBC3!important;box-shadow:none!important}
html.c3.gl.gl-lt .nav button.on{background:#E3F7EE!important;color:#0B6B4A!important;box-shadow:none!important}
.rl-admin{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font:inherit;color:var(--ink);cursor:pointer;border-radius:22px;padding:14px 16px;margin:0 0 12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.11)}
.rl-admin>span{width:40px;height:40px;border-radius:14px;display:grid;place-items:center;background:rgba(95,211,162,.16);color:#8DEBC3;flex:none}
.rl-admin>span svg{width:20px;height:20px}
.rl-admin div{display:grid;gap:2px;flex:1;min-width:0}.rl-admin b{font-size:16px}.rl-admin small{font-size:12.5px;opacity:.7}
.rl-admin i{font-style:normal;font-size:22px;opacity:.5}
html.gl-lt .rl-admin{background:rgba(255,255,255,.8);border-color:#E3E9E5}
html.gl-lt .rl-admin>span{background:#E3F7EE;color:#0B6B4A}
.rl-admin{margin:12px 16px 0;width:calc(100% - 32px);box-sizing:border-box;display:flex}.rl-admin+.rl-mesig{margin-top:10px}
.nav.n3{grid-template-columns:repeat(3,1fr);align-items:stretch}
/* hearts loader + pull to refresh (7 Nov) */
.spin.nm-hl{border:0;border-radius:0;animation:none;width:1.6em;height:1.1em;vertical-align:-.2em;color:inherit}
.boot .spin.nm-hl{width:46px;height:32px;color:#1E9E6A}
.spin.nm-hl svg,#nm-ptr svg{width:100%;height:100%;overflow:visible}
.spin.nm-hl path,#nm-ptr path{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1}
.spin.nm-hl .a{animation:nmLd 1.4s ease-in-out infinite}
.spin.nm-hl .b{stroke:#E9A21F;animation:nmLd 1.4s ease-in-out .25s infinite}
@keyframes nmLd{0%{stroke-dashoffset:1}45%,60%{stroke-dashoffset:0}100%{stroke-dashoffset:-1}}
html,body{overscroll-behavior-y:contain}
#main{overscroll-behavior-y:contain}
#nm-ptr{position:fixed;left:50%;top:calc(env(safe-area-inset-top,0px) + 70px);z-index:80;width:52px;height:52px;border-radius:18px;display:grid;place-items:center;opacity:0;transform:translate(-50%,-60px);pointer-events:none;background:radial-gradient(40px 40px at 50% 40%,#1F6B52,#10251C 65%,#0A0C0B);box-shadow:0 14px 30px -14px rgba(30,140,100,.7),inset 0 0 0 1px rgba(255,255,255,.1);--p:1}
#nm-ptr.back{transition:transform .28s ease,opacity .28s ease}
#nm-ptr .pb{width:32px;height:22px;display:block}
#nm-ptr path{stroke-dashoffset:var(--p)}
#nm-ptr .a{stroke:#fff}#nm-ptr .b{stroke:#F5C04A}
#nm-ptr.ready{box-shadow:0 0 0 6px rgba(120,228,186,.25),0 14px 30px -14px rgba(30,140,100,.7)}
#nm-ptr.go .pb{animation:nmBeat2 .9s ease-in-out infinite}
@keyframes nmBeat2{0%,100%{transform:scale(1)}20%{transform:scale(1.14)}40%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.spin.nm-hl path{animation:none!important;stroke-dashoffset:0}#nm-ptr.go .pb{animation:none}}

/* ===== Plan 15 (his ok 7 Nov 2026 23:28; mocks handoff/mocks/plan15) : bento pastel glass, light + dark ===== */
.p15{--p-gl:rgba(255,255,255,.06);--p-gl2:rgba(28,36,32,.82);--p-edge:rgba(255,255,255,.12);--p-hair:rgba(255,255,255,.08);--p-ink:#ECF4EF;--p-mut:#97A99F;--p-acc:#5FD3A2;
 --p-m1:rgba(120,228,186,.20);--p-m2:rgba(120,228,186,.05);--p-mt:#AEF3D4;--p-l1:rgba(255,226,128,.18);--p-l2:rgba(255,226,128,.04);--p-lt:#FFE9A6;--p-f1:rgba(190,235,150,.16);--p-f2:rgba(190,235,150,.04);--p-ft:#D4F2B6;
 --p-sh:0 28px 50px -30px rgba(0,0,0,.95);color:var(--p-ink);padding:10px 16px 24px}
html.gl-lt .p15{--p-gl:rgba(255,255,255,.62);--p-gl2:rgba(255,255,255,.88);--p-edge:rgba(255,255,255,.95);--p-hair:rgba(15,40,30,.08);--p-ink:#0F1C16;--p-mut:#56655D;--p-acc:#0E9F6E;
 --p-m1:#DDF8EC;--p-m2:#A3E8C9;--p-mt:#0B4D36;--p-l1:#FFF8D4;--p-l2:#FFE27F;--p-lt:#5A4600;--p-f1:#EFFAE2;--p-f2:#C9EAA4;--p-ft:#2D5A14;--p-sh:0 18px 40px -26px rgba(20,60,40,.35)}
.p15 .ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.p15-brand{display:flex;align-items:center;gap:8px;margin:4px 0 8px}.p15-brand img{width:30px;height:30px;border-radius:9px}.p15-brand b{font-size:18px;font-weight:800;flex:1}
.p15-city{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:700;padding:7px 11px;border-radius:99px;background:var(--p-gl);border:1px solid var(--p-edge)}.p15-city .ic{width:15px;height:15px}
.p15-h1{font-size:26px;font-weight:800;line-height:1.2;margin:8px 2px 4px}
.p15-sub{font-size:13.5px;color:var(--p-mut);margin:0 2px 12px;line-height:1.45}
.p15-top{display:flex;align-items:center;gap:10px;margin:2px 0 10px}.p15-top h1{flex:1;text-align:center;font-size:18px;font-weight:800;margin:0}
.p15-tb{width:38px;height:38px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:var(--p-gl);border:1px solid var(--p-edge);color:inherit}.p15-tb.ghost{background:none;border:0}
.p15-g{background:var(--p-gl);border:1px solid var(--p-edge);border-radius:22px;-webkit-backdrop-filter:blur(22px) saturate(160%);backdrop-filter:blur(22px) saturate(160%);box-shadow:var(--p-sh);color:inherit}
.p15-bento{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.p15-t{display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:14px;min-height:128px;font:inherit;cursor:pointer}
.p15-t b{font-size:16.5px;font-weight:800;line-height:1.2;margin-top:9px}.p15-t small{font-size:12.5px;color:var(--p-mut);line-height:1.4;margin-top:4px}
.p15-t.span2{grid-column:span 2;min-height:0}.p15-t.row{flex-direction:row;align-items:center;gap:12px}.p15-t.row .tx{flex:1;display:flex;flex-direction:column}.p15-t.row b{margin-top:0;font-size:18px}
.p15-b{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.p15-b.big{width:52px;height:52px}
.p15-b.mint{background:linear-gradient(140deg,var(--p-m1),var(--p-m2));color:var(--p-mt)}.p15-b.lem{background:linear-gradient(140deg,var(--p-l1),var(--p-l2));color:var(--p-lt)}.p15-b.fern{background:linear-gradient(140deg,var(--p-f1),var(--p-f2));color:var(--p-ft)}
.p15-row{display:flex;align-items:center;gap:11px;width:100%;padding:12px 14px;margin-top:10px;font:inherit;text-align:left;cursor:pointer}.p15-row .tx{flex:1;display:flex;flex-direction:column}.p15-row b{font-size:14.5px;font-weight:800}.p15-row small{font-size:12px;color:var(--p-mut)}
.p15-hero{text-align:center;padding:18px;background:linear-gradient(140deg,var(--p-l1),var(--p-m1))}.p15-hero .p15-b{margin:0 auto}.p15-hero h2{font-size:24px;font-weight:800;margin:10px 0 2px}.p15-hero small{font-size:13px;color:var(--p-mut)}
.p15-list{margin-top:10px}.p15-li{display:flex;align-items:center;gap:11px;padding:11px 12px}.p15-li+.p15-li{border-top:1px solid var(--p-hair)}.p15-li .tx{flex:1;display:flex;flex-direction:column}.p15-li b{font-size:14.5px;font-weight:800}.p15-li small{font-size:12px;color:var(--p-mut)}
.p15-2{display:flex;gap:10px;margin-top:12px}.p15-pr{flex:1;padding:12px;text-align:left;font:inherit;cursor:pointer;display:flex;flex-direction:column}.p15-pr b{font-size:20px;font-weight:800}.p15-pr small{font-size:11px;color:var(--p-mut)}.p15-pr.on{border:2px solid var(--p-acc)}
.p15-btn{display:flex;width:100%;align-items:center;justify-content:center;gap:7px;height:52px;margin-top:12px;border-radius:16px;font:inherit;font-size:15px;font-weight:800;background:linear-gradient(140deg,#CFF3E0,#A8E9C8);color:#0B5D3B;border:1px solid rgba(255,255,255,.7);cursor:pointer}
html:not(.gl-lt) .p15-btn{background:linear-gradient(140deg,rgba(120,228,186,.32),rgba(120,228,186,.14));color:#C9F7E2;border-color:rgba(255,255,255,.12)}
.p15-btn[disabled]{opacity:.6}
.p15-ex{font-size:11.5px;color:var(--p-mut);text-align:center;margin:8px 0 0}
.p15-steps{padding:6px 14px}.p15-step{display:flex;gap:10px;align-items:flex-start;padding:8px 0}.p15-step span:last-child{display:flex;flex-direction:column}.p15-step b{font-size:13.5px}.p15-step small{font-size:12px;color:var(--p-mut)}
.p15-dot{width:24px;height:24px;border-radius:99px;flex:0 0 24px;display:flex;align-items:center;justify-content:center;background:var(--p-m1);color:var(--p-mt);font-size:12px;font-weight:800}.p15-dot .ic{width:14px;height:14px}.p15-dot.off{background:var(--p-gl);border:1px solid var(--p-edge);color:var(--p-mut)}
.p15-note{display:flex;gap:8px;align-items:flex-start;padding:12px 14px;margin-top:10px;font-size:12.5px;line-height:1.5;color:var(--p-mut)}.p15-note .ic{width:16px;height:16px;margin-top:1px}
.p15-acc{color:var(--p-acc)!important;font-weight:700}
.p15-pr0{display:flex;flex-direction:column;align-items:flex-end}.p15-pr0 b{font-size:15px;font-weight:800}.p15-pr0 small{font-size:11px;color:var(--p-mut)}
.p15-pill{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:800;padding:4px 9px;border-radius:99px;background:var(--p-m1);color:var(--p-mt)}.p15-pill .ic{width:12px;height:12px}
.p15-evhero{overflow:hidden;padding:0}.p15-evhero .art{height:140px;display:flex;align-items:center;justify-content:center}.p15-evhero .art .ic{width:60px;height:60px}
.p15-evhero .art.mint{background:linear-gradient(140deg,var(--p-m1),var(--p-l1));color:var(--p-mt)}.p15-evhero .art.lem{background:linear-gradient(140deg,var(--p-l1),var(--p-m1));color:var(--p-lt)}.p15-evhero .art.fern{background:linear-gradient(140deg,var(--p-f1),var(--p-l1));color:var(--p-ft)}
.p15-pad{padding:14px}.p15-pad h2,.p15-ticket h2{font-size:20px;font-weight:800;line-height:1.25;margin:8px 0 4px}.p15-pad small,.p15-ticket small{font-size:12.5px;color:var(--p-mut)}
.p15-kv{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:10px}.p15-kv div{padding:10px;border-radius:14px;background:var(--p-gl);border:1px solid var(--p-edge);min-width:0}.p15-kv small{display:block;font-size:11px;color:var(--p-mut)}.p15-kv b{font-size:14px;font-weight:800;overflow-wrap:anywhere}
.p15-qty{display:flex;align-items:center;gap:12px;margin-top:12px;padding:8px 14px;border-radius:16px;background:var(--p-gl);border:1px solid var(--p-edge)}.p15-qty span{flex:1;font-weight:700}.p15-qty button{width:38px;height:38px;border-radius:12px;border:1px solid var(--p-edge);background:var(--p-gl2);color:inherit;font-size:20px;font-weight:800}.p15-qty b{min-width:20px;text-align:center;font-size:17px}
.p15-buy{display:flex;gap:10px;align-items:center;margin-top:12px}.p15-buy>span{flex:1;display:flex;flex-direction:column}.p15-buy>span b{font-size:22px;font-weight:800}.p15-buy>span small{font-size:11px;color:var(--p-mut)}.p15-buy .p15-btn{flex:1.3;margin:0}
.p15-ticket{padding:18px;text-align:center;margin-bottom:12px}.p15-qr{width:200px;height:200px;margin:14px auto 6px;padding:10px;border-radius:20px;background:#fff}.p15-qr svg{width:100%;height:100%}
.p15-btn.ghost{background:var(--p-gl)!important;color:var(--p-ink)!important;border:1px solid var(--p-edge)!important;height:46px;font-size:14px}
.p15 .p15-row+.p15-row{margin-top:9px}
/* Plan 15 background (his 7 Nov 23:54 'upar itni roshni nahi chahiye'): no glow at the top; the calm bento glass
   backdrop of the approved mock: soft mint / lemon / fern light spread evenly, light and dark. */
html.p15on body,html.p15on.c3.gl body,html.p15on.c3.gl.gl-lt body{background:#070A09}
html.p15on.gl-lt body{background:#EEF5EF}
html.p15on #app{background:radial-gradient(40% 30% at 12% 18%,rgba(120,228,186,.10),transparent 70%),radial-gradient(35% 28% at 92% 45%,rgba(255,226,128,.07),transparent 70%),radial-gradient(40% 30% at 30% 88%,rgba(190,235,150,.07),transparent 70%),#070A09}
html.p15on.gl-lt #app{background:radial-gradient(40% 30% at 12% 18%,#DDF8EC,transparent 70%),radial-gradient(35% 28% at 92% 45%,#FFF8D4,transparent 70%),radial-gradient(40% 30% at 30% 88%,#EFFAE2,transparent 70%),#EEF5EF}
html.p15on .navwrap{background:transparent}
.p15-form{padding:14px;display:flex;flex-direction:column;gap:6px}.p15-form label{font-size:12.5px;font-weight:700;color:var(--p-mut);margin-top:6px}.p15-form small{font-size:11.5px;color:var(--p-mut)}
.p15-form input{width:100%;box-sizing:border-box;height:46px;border-radius:14px;border:1px solid var(--p-edge);background:var(--p-gl2);color:var(--p-ink);padding:0 12px;font:inherit;font-size:15px}
.p15-chips{display:flex;flex-wrap:wrap;gap:7px}.p15-chip{font:inherit;font-size:12.5px;font-weight:700;padding:8px 12px;border-radius:99px;background:var(--p-gl);border:1px solid var(--p-edge);color:inherit;cursor:pointer}.p15-chip.on{background:var(--p-m1);color:var(--p-mt);border-color:transparent}
.p15-plan{display:flex;align-items:center;gap:10px;width:100%;padding:14px;margin-top:9px;font:inherit;text-align:left;cursor:pointer}.p15-plan>span:first-child{flex:1;display:flex;flex-direction:column}.p15-plan b{font-size:16px;font-weight:800}.p15-plan small{font-size:12px;color:var(--p-mut)}.p15-plan.on{border:2px solid var(--p-acc)}
.p15-hb{padding:14px;margin-bottom:10px}.p15-hbh{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.p15-hbh b{font-size:15.5px;font-weight:800}.p15-hb>small{display:block;font-size:12px;color:var(--p-mut);margin-top:4px}
.p15-pill.y{background:var(--p-l1);color:var(--p-lt)}
.p15-bar{height:9px;border-radius:99px;background:var(--p-hair);margin-top:9px;overflow:hidden}.p15-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--p-m2),var(--p-acc))}
.p15-2 .p15-btn{flex:1}
.p15-cam{width:100%;border-radius:18px;margin-top:10px;background:#000}.p15-cam.off{display:none}
.p15-res{display:flex;gap:11px;align-items:center;padding:14px;margin-top:12px}.p15-res b{font-size:16px;font-weight:800;display:block}.p15-res small{font-size:12px;color:var(--p-mut)}.p15-res.ok{border:2px solid var(--p-acc)}.p15-res.no{border:2px solid #E2B500}.p15-res .ic{width:26px;height:26px}
.p15-sec{margin:16px 2px 9px}.p15-sec b{font-size:15px;font-weight:800}
.p15-rank{width:20px;font-size:14px}
.p15-pts{display:flex;align-items:center;gap:8px}.p15-pts button{width:32px;height:32px;border-radius:10px;border:1px solid var(--p-edge);background:var(--p-gl2);color:inherit;font-size:17px;font-weight:800}
.p15-li .p15-chip{padding:6px 10px;font-size:11.5px}
.p15-room,.p15-pad{padding:14px;margin-bottom:10px}.p15-rh{display:flex;gap:10px;align-items:flex-start;justify-content:space-between}.p15-rh .tx{flex:1;display:flex;flex-direction:column;min-width:0}.p15-rh b{font-size:15px;font-weight:800}.p15-rh small{font-size:12px;color:var(--p-mut)}
.p15-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.p15-unlock{display:flex;align-items:center;gap:8px;width:100%;margin-top:10px;padding:10px 12px;border-radius:12px;border:0;background:var(--p-l1);color:var(--p-lt);font:inherit;font-size:12.5px;font-weight:700;text-align:left;cursor:pointer}.p15-unlock .ic{width:16px;height:16px}
.p15-contact{margin-top:10px;padding:10px 12px;border-radius:12px;background:var(--p-m1);color:var(--p-mt);font-size:13px;font-weight:700;line-height:1.7}.p15-contact .ic{width:15px;height:15px;vertical-align:-3px}
.p15-lockrow{font-size:12.5px;color:var(--p-mut)}
.p15-note0{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--p-mut);padding:10px 0}.p15-note0 .ic{width:16px;height:16px}
.p15-libtn{width:100%;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
.p15-link{display:inline-block;margin:6px 0;font-size:13px;font-weight:700;color:var(--p-acc)}
.p15-item{padding:12px;display:flex;flex-direction:column;gap:6px}.p15-item>b{font-size:14px;font-weight:800}.p15-item>small{font-size:11.5px;color:var(--p-mut)}.p15-price{font-size:17px;font-weight:800}
.p15-svc{display:flex;gap:8px}.p15-svc input:last-child{width:96px;flex:0 0 96px}
/* Plan 15 'majedar' + real glass (his 8 Nov 00:04: glass looks premium only when something sits behind it):
   soft living colour shapes BEHIND the glass (mint, lemon, fern; slow drift = the one quiet movement),
   cards blur them. Tiles give a soft press. Reduce motion = still shapes. */
html.p15on #app::before,html.p15on #app::after{content:"";position:absolute;pointer-events:none;z-index:0;border-radius:50%;filter:blur(8px)}
html.p15on #app::before{width:260px;height:260px;left:-70px;top:120px;background:radial-gradient(circle at 35% 35%,rgba(120,228,186,.55),rgba(120,228,186,.0) 70%);animation:p15drift1 18s ease-in-out infinite alternate}
html.p15on #app::after{width:300px;height:300px;right:-90px;top:380px;background:radial-gradient(circle at 60% 40%,rgba(255,214,90,.42),rgba(255,214,90,0) 70%);animation:p15drift2 22s ease-in-out infinite alternate}
html.p15on.gl-lt #app::before{background:radial-gradient(circle at 35% 35%,rgba(74,214,160,.55),rgba(74,214,160,0) 70%)}
html.p15on.gl-lt #app::after{background:radial-gradient(circle at 60% 40%,rgba(255,200,40,.45),rgba(255,200,40,0) 70%)}
/* (8 Nov) no position override here: views, sheets and toasts keep their own overlay positions */
html.p15on #app>.scroll{background:radial-gradient(220px 220px at 85% 8%,rgba(190,235,150,.16),transparent 70%)}
@keyframes p15drift1{0%{transform:translate(0,0) scale(1)}100%{transform:translate(70px,90px) scale(1.15)}}
@keyframes p15drift2{0%{transform:translate(0,0) scale(1)}100%{transform:translate(-80px,-120px) scale(.9)}}
@media (prefers-reduced-motion:reduce){html.p15on #app::before,html.p15on #app::after{animation:none}}
.p15-t,.p15-row,.p15-plan,.p15-pr,.p15-chip,.p15-btn{transition:transform .15s ease}
.p15-t:active,.p15-row:active,.p15-plan:active,.p15-pr:active,.p15-chip:active,.p15-btn:active{transform:scale(.97)}
.p15-t .p15-b{transition:transform .25s ease}.p15-t:active .p15-b{transform:rotate(-8deg) scale(1.08)}
/* 8 Nov 00:07 his rule: colours stay as they were; depth comes from the live globe and pictures, not colour blobs */
html.p15on #app::before,html.p15on #app::after{display:none}
html.p15on #app>.scroll{background:none}
.p15-globe{position:relative;height:300px;margin:0 -16px -96px;border-radius:0;overflow:hidden;z-index:0}
.p15-globe .rl-fb{position:absolute;inset:0}
.p15-over{position:relative;z-index:1}
.p15-art{display:block;width:100%;height:84px;border-radius:16px;overflow:hidden;margin-bottom:10px}
.p15-art svg{display:block;width:100%;height:100%}
.p15-t.row .p15-art{width:84px;height:64px;flex:0 0 84px;margin:0}
.p15-row .p15-art{width:64px;height:52px;flex:0 0 64px;margin:0;border-radius:12px}
/* 8 Nov 00:07 his ask: HD pictures on every door and tile (seeing is faster than reading). No faces. */
.p15-t{position:relative;overflow:hidden;padding:0!important;justify-content:flex-start}
.p15-t>.p15-ph{display:block;width:100%;height:96px;overflow:hidden;flex:0 0 auto}
.p15-t>.p15-ph img{display:block;width:100%;height:100%;object-fit:cover}
.p15-t.span2>.p15-ph{height:120px}
.p15-t>.p15-b{margin:-22px 0 0 12px;position:relative;z-index:1;box-shadow:0 6px 16px -6px rgba(0,0,0,.45);border:2px solid var(--p-gl2);background-color:var(--p-gl2)}
.p15-t>b{margin:8px 12px 0}.p15-t>small{margin:3px 12px 12px}
.p15-t.row{flex-direction:column;align-items:flex-start}
.p15-t.row>.tx{padding:4px 12px 12px;width:100%;box-sizing:border-box}.p15-t.row>.ic:last-child{position:absolute;right:12px;bottom:14px}
.p15-t.row>.p15-b.big{width:46px;height:46px}
.p15-earth{position:relative;height:372px;margin:0 0 12px;border-radius:24px;overflow:hidden;border:1px solid var(--p-edge);box-shadow:var(--p-sh)}
.p15-earth .rl-slot{position:absolute;inset:0}
.p15-earth-t{position:absolute;left:10px;right:10px;bottom:10px;display:flex;align-items:center;gap:7px;padding:8px 12px;border-radius:14px;font-size:12.5px;font-weight:700;background:var(--p-gl2);border:1px solid var(--p-edge);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.p15-earth-t .ic{width:16px;height:16px}

.p15-earth-h{position:absolute;left:10px;top:10px;display:flex;align-items:center;gap:6px;padding:6px 11px;border-radius:999px;font-size:12px;font-weight:800;background:var(--p-gl2);border:1px solid var(--p-edge);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none;z-index:2}
.p15-earth-h .ic{width:15px;height:15px}
.p15-earth-t{pointer-events:none;z-index:2}
.rl-mk.p15f{padding:0;width:26px;height:26px;justify-content:center;gap:0;border-radius:50%;transition:width .25s,padding .25s,border-radius .25s,transform .2s}
.rl-mk.p15f .p15fg{font-size:15px;line-height:1}
.rl-mk.p15f b{display:none;font-weight:800}
.rl-mk.p15f:active{transform:scale(.9)}
.rl-mk.p15f.open{width:auto;height:32px;padding:0 12px 0 7px;gap:6px;border-radius:999px;z-index:3;outline:3px solid rgba(14,159,110,.3)}
.rl-mk.p15f.open b{display:inline}
@media (prefers-reduced-motion:no-preference){.rl-mk.p15f{animation:p15bob 3.2s ease-in-out infinite}.rl-mk.p15f:nth-child(odd){animation-delay:-1.6s}}
@keyframes p15bob{50%{translate:0 -3px}}
/* Plan 15 phase 5: business hub, photo hero, Sponsored box, Me */
.p15-t.row>.p15-ph+.tx{padding-top:10px;padding-right:40px}
.p15-t.row>.p15-pill{position:absolute;top:10px;right:10px;z-index:1;background:var(--p-gl2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.p15-hero.ph{padding:0;overflow:hidden;text-align:left}
.p15-hero.ph>.p15-ph{display:block;height:150px}.p15-hero.ph>.p15-ph img{display:block;width:100%;height:100%;object-fit:cover}
.p15-hero.ph>small{display:block;padding:12px 14px 14px;font-size:13.5px;line-height:1.45;color:var(--p-ink,inherit)}
.p15-ad{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;text-align:left;padding:14px 46px 14px 14px;margin-top:12px;cursor:pointer}
.p15-ad b{font-size:15px;font-weight:800;line-height:1.3}.p15-ad small{font-size:13px;color:var(--p-mut);line-height:1.4}
.p15-ad .p15-pill{font-size:11px}.p15-ad-go{position:absolute;right:14px;top:50%;transform:translateY(-50%)}
.p15-mehd{display:flex;align-items:center;gap:12px}
.p15-mehd .tx{display:flex;flex-direction:column;gap:3px;min-width:0}.p15-mehd .tx b{font-size:17px;font-weight:800;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.p15-mehd .tx small{color:var(--p-mut);font-size:13px}
.p15-av{width:52px;height:52px;flex:0 0 52px;border-radius:50%;display:grid;place-items:center;font-size:21px;font-weight:800;color:#0B5D3B;background:linear-gradient(150deg,#D8F8EA,#A3E8C9);border:2px solid var(--p-gl2)}
.a3k.a3k-l b{font-size:19px;line-height:1.25;word-break:break-word}
.a3v .a3btns .btn.ghost,html.gl-lt .a3v .a3btns .btn.ghost{color:#F4F1F8!important;border-color:rgba(255,255,255,.28)!important;background:rgba(255,255,255,.04)!important}
/* ===== Plan 15 palette 2 (his rule 8 Nov 00:46): DARK bento = only glassy black + see-through white, no green.
   LIGHT bento = pearl white glass with soft lilac / sky / blush glass accents (no black slabs, no green). ===== */
.p15{--p-gl:rgba(255,255,255,.06);--p-gl2:rgba(30,30,34,.82);--p-edge:rgba(255,255,255,.13);--p-hair:rgba(255,255,255,.08);--p-ink:#F3F3F5;--p-mut:#A6A6AF;--p-acc:#FFFFFF;
 --p-m1:rgba(255,255,255,.16);--p-m2:rgba(255,255,255,.05);--p-mt:#F6F6F8;--p-l1:rgba(255,255,255,.13);--p-l2:rgba(255,255,255,.04);--p-lt:#EDEDF1;--p-f1:rgba(255,255,255,.11);--p-f2:rgba(255,255,255,.03);--p-ft:#E6E6EB}
html.gl-lt .p15{--p-gl:rgba(255,255,255,.66);--p-gl2:rgba(255,255,255,.9);--p-edge:rgba(255,255,255,.98);--p-hair:rgba(40,36,80,.08);--p-ink:#16152A;--p-mut:#5E5C74;--p-acc:#5B4FD6;
 --p-m1:#EEEBFF;--p-m2:#D9D3FF;--p-mt:#3F35A6;--p-l1:#E7F2FF;--p-l2:#C9E0FF;--p-lt:#1D4C86;--p-f1:#FFEEF3;--p-f2:#FFD4E1;--p-ft:#97284F;--p-sh:0 18px 40px -26px rgba(60,50,140,.30)}
html.p15on body,html.p15on.c3.gl body{background:#08080A}
html.p15on #app{background:radial-gradient(45% 32% at 12% 16%,rgba(255,255,255,.05),transparent 70%),radial-gradient(40% 30% at 92% 50%,rgba(255,255,255,.035),transparent 70%),#08080A}
html.p15on.gl-lt body,html.p15on.c3.gl.gl-lt body{background:#F3F2F8}
html.p15on.gl-lt #app{background:radial-gradient(40% 30% at 12% 16%,#ECE9FF,transparent 70%),radial-gradient(38% 30% at 92% 46%,#E6F1FF,transparent 70%),radial-gradient(40% 30% at 30% 88%,#FFEFF4,transparent 70%),#F3F2F8}
.p15-btn{background:linear-gradient(140deg,#EEEBFF,#D7D0FF)!important;color:#2F2690!important;border:1px solid rgba(255,255,255,.95)!important;box-shadow:0 12px 26px -14px rgba(91,79,214,.55)!important}
html:not(.gl-lt) .p15-btn{background:linear-gradient(140deg,rgba(255,255,255,.2),rgba(255,255,255,.07))!important;color:#FFFFFF!important;border-color:rgba(255,255,255,.2)!important;box-shadow:0 12px 26px -16px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,.18)!important}
.p15-btn.ghost{background:var(--p-gl)!important;color:var(--p-ink)!important;border:1px solid var(--p-edge)!important;box-shadow:none!important}
.p15-av{color:#3F35A6;background:linear-gradient(150deg,#EEEBFF,#D7D0FF)}
html:not(.gl-lt) .p15-av{color:#fff;background:linear-gradient(150deg,rgba(255,255,255,.22),rgba(255,255,255,.06))}
html.p15on.p15on.p15on.gl-lt .navwrap .nav button.on,html.p15on.p15on.gl-lt.c3.gl .navwrap .nav button.on{background:linear-gradient(140deg,#EEEBFF,#DCD6FF)!important;color:#3F35A6!important}
html.p15on.p15on.p15on:not(.gl-lt) .navwrap .nav button.on,html.p15on.p15on.c3.gl:not(.gl-lt) .navwrap .nav button.on{background:rgba(255,255,255,.14)!important;color:#fff!important}
html.p15on:not(.gl-lt) .navwrap .nav{background:rgba(22,22,26,.78)!important;border-color:rgba(255,255,255,.12)!important}
.rl-mk.p15f.open{outline-color:rgba(91,79,214,.3)}
html:not(.gl-lt) .rl-mk.p15f.open{outline-color:rgba(255,255,255,.28)}
html:not(.gl-lt) .rl-mk.p15f{background:rgba(30,30,34,.82)}
.kick i{background:#5B4FD6}
html.p15on .toast{background:rgba(255,255,255,.92);color:#16152A;border:1px solid #fff;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:0 16px 36px -18px rgba(60,50,140,.45)}
html.p15on .toast .ic{color:#5B4FD6}
html.p15on:not(.gl-lt) .toast{background:rgba(34,34,40,.9);color:#F3F3F5;border-color:rgba(255,255,255,.14);box-shadow:0 16px 36px -18px rgba(0,0,0,.9)}
html.p15on:not(.gl-lt) .toast .ic{color:#fff}
.p15-banner{height:132px;border-radius:22px;overflow:hidden;margin:0 0 12px;border:1px solid var(--p-edge);box-shadow:var(--p-sh)}
.p15-banner>.p15-ph{display:block;height:100%}.p15-banner img{display:block;width:100%;height:100%;object-fit:cover}
.p15join{position:absolute;inset:0;display:flex;flex-direction:column;background:#F3F2F8}
html:not(.gl-lt) .p15join{background:#08080A}
.p15join .p15{padding-top:24px}
.p15-err{color:#B4234B!important;font-weight:700}
html:not(.gl-lt) .p15-err{color:#FF9DB5!important}
.p15-form select{width:100%;height:46px;border-radius:14px;border:1px solid var(--p-edge);background:var(--p-gl2);color:var(--p-ink);padding:0 10px;font:inherit;font-size:15px}
.p15-ck{display:flex;gap:10px;align-items:flex-start;font-size:13.5px!important;font-weight:600!important;color:var(--p-ink)!important;line-height:1.45;margin:4px 0!important}
.p15-ck input{width:20px!important;height:20px!important;flex:0 0 20px;margin-top:1px;accent-color:#5B4FD6}
.p15-ck a{color:#5B4FD6;font-weight:800}html:not(.gl-lt) .p15-ck a{color:#fff}
.p15-matback{position:relative;z-index:5;display:inline-flex;align-items:center;gap:6px;margin:6px 0 10px;padding:8px 14px 8px 10px;border-radius:999px;font:inherit;font-size:13px;font-weight:800;cursor:pointer;color:inherit;background:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 8px 20px -12px rgba(0,0,0,.4)}
html:not(.gl-lt) .p15-matback{background:rgba(30,30,34,.8);border-color:rgba(255,255,255,.14)}
.p15-matback .ic{width:16px;height:16px}
html.p15on .sheet .btn.primary,html.p15on.c3.gl .sheet .btn.primary{background:linear-gradient(140deg,#EEEBFF,#D7D0FF)!important;color:#2F2690!important;border:1px solid #fff!important;box-shadow:0 12px 26px -14px rgba(91,79,214,.55)!important}
html.p15on:not(.gl-lt) .sheet .btn.primary,html.p15on.c3.gl:not(.gl-lt) .sheet .btn.primary{background:linear-gradient(140deg,rgba(255,255,255,.2),rgba(255,255,255,.07))!important;color:#fff!important;border-color:rgba(255,255,255,.2)!important;box-shadow:none!important}
/* public screens of the new NeuMarry (launch 8 Nov 2026): glassy black, white highlights, lilac buttons; no green */
html.p15pub.c3 .c3w{background:radial-gradient(120% 60% at 50% 0%,#18181D,#08080A 70%)}
html.p15pub .c3cyc.y{color:#FFFFFF}html.p15pub .c3cyc.p{color:#CFC9FF}
html.p15pub .btn.c3cta{background:linear-gradient(140deg,#EEEBFF,#D7D0FF);color:#2F2690}
html.p15pub .c3kick{color:#E9E8F0}
html.p15pub.c3.gl .su-head small,html.p15pub .auth .link{color:#5B4FD6}
html.p15pub.c3.gl:not(.gl-lt) .su-head small,html.p15pub:not(.gl-lt) .auth .link{color:#CFC9FF}
html.p15pub .auth-h em,html.p15pub.c3.gl .auth-h em{color:#5B4FD6!important;-webkit-text-fill-color:#5B4FD6!important;background:none!important}
html.p15pub:not(.gl-lt) .auth-h em,html.p15pub.c3.gl:not(.gl-lt) .auth-h em{color:#CFC9FF!important;-webkit-text-fill-color:#CFC9FF!important}
/* P15MAT-START  Life Partner: green parts only (dark = white glass, light = lilac) */
html.p15mat{--m15a:#FFFFFF;--m15t:#111114;--m15s:rgba(255,255,255,.14);--m15b:rgba(255,255,255,.28)}
html.p15mat.gl-lt{--m15a:#5B4FD6;--m15t:#FFFFFF;--m15s:rgba(91,79,214,.10);--m15b:rgba(91,79,214,.28)}
html.p15mat.c3 .btn.primary,html.p15mat.c3.gl .btn.primary,html.p15mat .tp-next{background:var(--m15a)!important;background-image:none!important;color:var(--m15t)!important;border-color:transparent!important;box-shadow:none!important}
html.p15mat .btn.primary svg,html.p15mat .tp-next svg{color:var(--m15t)!important;stroke:currentColor}
html.p15mat.c3 .nav button.on,html.p15mat.c3 .nav button.on svg,html.p15mat.c3 .nav button.on span{color:var(--m15a)!important}
html.p15mat.c3 .nav button.on{background:var(--m15s)!important;background-image:none!important;box-shadow:none!important}
html.p15mat .v2chip.on{background:var(--m15s)!important;color:var(--m15a)!important;border-color:var(--m15b)!important}
html.p15mat .v2mic{background:var(--m15a)!important;color:var(--m15t)!important}
html.p15mat .callout,html.p15mat .callout.gold,html.p15mat .rl-mesig{background:var(--m15s)!important;background-image:none!important;border:1px solid var(--m15b)!important}
html.p15mat .callout svg,html.p15mat .eic,html.p15mat .eic svg,html.p15mat .pi,html.p15mat .pi svg,html.p15mat .rowi svg,html.p15mat .vrow svg,html.p15mat .likes svg{color:var(--m15a)!important}
html.p15mat .eic{background:var(--m15s)!important}
html.p15mat.c3 .topbar .hello em,html.p15mat .hello em,html.p15mat .tp-tile em,html.p15mat .on>span{color:var(--m15a)!important;-webkit-text-fill-color:var(--m15a)!important;background:none!important}
html.p15mat .bar>i,html.p15mat .tgl>i{background:var(--m15a)!important;border-color:var(--m15a)!important}
html.p15mat .tpp,html.p15mat .tp-strip{background:rgba(255,255,255,.10)!important;background-image:none!important;border:1px solid rgba(255,255,255,.22)!important;color:#fff!important}
html.p15mat.gl-lt .tpp,html.p15mat.gl-lt .tp-strip{background:linear-gradient(150deg,#5B4FD6,#2F2690)!important;border-color:transparent!important}
html.p15mat .tpp *,html.p15mat .tp-strip *{color:#fff;-webkit-text-fill-color:currentColor}
html.p15mat .tpp .tp-s>i,html.p15mat .tp-strip .tp-s>i,html.p15mat .tp-s>i{background:rgba(255,255,255,.16)!important;border:1px solid rgba(255,255,255,.40)!important;color:#fff!important}
html.p15mat .tp-s>i svg{color:#fff!important;stroke:#fff!important}
html.p15mat .tp-ring .fg{stroke:#fff!important}html.p15mat .tp-ring .bg{stroke:rgba(255,255,255,.22)!important}
html.p15mat.gl-lt .tp-mini .tp-ring .fg,html.p15mat.gl-lt .tp-badge .tp-ring .fg{stroke:#5B4FD6!important}
html.p15mat.c3.gl.gl-lt .nav button.on,html.p15mat.c3.gl.gl-lt .nav button.on *{background-color:transparent;color:#3F35A6!important}
html.p15mat.c3.gl.gl-lt .nav button.on{background:linear-gradient(140deg,#EEEBFF,#DCD6FF)!important}
html.p15mat.c3.gl:not(.gl-lt) .nav button.on{background:rgba(255,255,255,.14)!important;color:#fff!important}
html.p15mat .tp-tile.ok>i{background:var(--m15s)!important;color:var(--m15a)!important}
html.p15mat .tp-tile>i{background:var(--m15s)!important;color:var(--m15a)!important}
html.p15mat.gl-lt .tpp .btn.primary,html.p15mat.gl-lt .tp-strip .btn.primary{background:#fff!important;color:#2F2690!important;-webkit-text-fill-color:#2F2690}
/* P15MAT-END */
.p15-paybox{margin:12px 0 4px;padding:14px;display:grid;gap:5px;text-align:center;justify-items:center}.p15-paybox>b{font-size:26px;line-height:1.1}.p15-paybox>span:not(.p15-pill){font-weight:700;word-break:break-word}
.p15-evhero .art.ph{height:170px;display:block;padding:0}.p15-evhero .art.ph .p15-ph,.p15-evhero .art.ph img{display:block;width:100%;height:100%;object-fit:cover}
/* Photos always shown whole (his rule 8 Nov 13:37): every photo frame has the photo's own 3:2 shape, nothing cut. */
.p15-t>.p15-ph,.p15-t.span2>.p15-ph,.p15-hero.ph>.p15-ph,.p15-evhero .art.ph{height:auto!important;aspect-ratio:3/2}
.p15-banner{height:auto!important;aspect-ratio:3/2}
.p15-theme{margin-left:auto;width:36px;height:36px;border-radius:99px;display:grid;place-items:center;background:var(--p-gl);border:1px solid var(--p-edge);color:inherit;padding:0}.p15-theme .ic{width:18px;height:18px}.p15-theme+.p15-city{margin-left:8px}
/* Light welcome (default light, his rule 8 Nov 2026 13:46) */
html.p15pub.gl-lt.c3 .c3w,html.p15pub.gl-lt .c3w{background:radial-gradient(120% 60% at 50% 0%,#FFFFFF,#F1EFFB 70%)!important;color:#1B1830}
html.p15pub.gl-lt .c3w .c3topl,html.p15pub.gl-lt .c3w .c3h1,html.p15pub.gl-lt .c3w .c3cyc,html.p15pub.gl-lt .c3w .c3cyc.y,html.p15pub.gl-lt .c3w .c3chips,html.p15pub.gl-lt .c3w .link,html.p15pub.gl-lt .c3w .c3w-body{color:#1B1830!important}
html.p15pub.gl-lt .c3w .c3kick{color:#4A4766!important}
html.p15pub.gl-lt .c3w .c3cyc.p{color:#5B4FD6!important}
html.p15pub.gl-lt .c3w .c3lede{color:#3D3A57!important}
html.p15pub.gl-lt .c3w .c3note{color:#6B6880!important}
html.p15pub.gl-lt .c3w .c3lang,html.p15pub.gl-lt .c3w .c3dist,html.p15pub.gl-lt .c3w .c3chips>*{background:rgba(255,255,255,.78)!important;color:#1B1830!important;border-color:rgba(91,79,214,.18)!important}
html.p15pub.gl-lt .c3w .btn.c3cta{background:linear-gradient(140deg,#6A5FE0,#4A3FC4)!important;color:#fff!important}
html.p15pub.gl-lt .c3w .btn.block:not(.c3cta){background:#fff!important;color:#2F2690!important;border:1px solid rgba(91,79,214,.25)!important}
/* ===== City picker on Home (part13, 8 Nov 2026) ===== */
button.p15-city{cursor:pointer;color:inherit;font-family:inherit;max-width:48vw}button.p15-city>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.p15-city .ic:last-child{width:13px;height:13px;opacity:.6}
.p15c-ask{display:flex;align-items:center;gap:10px;padding:12px 12px 12px 14px;margin:4px 0 10px;border-radius:18px}.p15c-ask>.ic{width:20px;height:20px;flex:none;color:var(--p-acc,#5B4FD6)}
.p15c-ask .tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.p15c-ask b{font-size:14px;font-weight:800}.p15c-ask small{font-size:12.5px;opacity:.75;line-height:1.35}
.p15c-btns{display:flex;gap:6px;flex:none}.p15c-btns button{border:0;border-radius:99px;padding:8px 12px;font:800 13px var(--f-body);cursor:pointer}
.p15c-no{background:transparent;color:inherit;opacity:.7}.p15c-yes{background:#5B4FD6;color:#fff}
.p15c-loc{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 14px;border-radius:16px;border:1px solid rgba(91,79,214,.25);background:rgba(91,79,214,.08);color:inherit;font:inherit;cursor:pointer;margin-bottom:10px}
.p15c-loc>.ic{width:22px;height:22px;color:#5B4FD6;flex:none}.p15c-loc span{display:flex;flex-direction:column;gap:2px}.p15c-loc b{font-size:14.5px;font-weight:800}.p15c-loc small{font-size:12.5px;opacity:.72}
.p15c-q{width:100%;padding:12px 14px;border-radius:14px;border:1.5px solid rgba(120,110,170,.3);background:transparent;color:inherit;font:600 15px var(--f-body);margin-bottom:8px}
.p15c-list{max-height:44vh;overflow-y:auto;margin:0 -4px;padding:0 4px;scrollbar-width:none}.p15c-list::-webkit-scrollbar{display:none}
.p15c-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:11px 8px;border:0;border-bottom:1px solid rgba(120,110,170,.15);background:transparent;color:inherit;font:inherit;cursor:pointer}
.p15c-row .tx{flex:1;display:flex;flex-direction:column;gap:1px}.p15c-row b{font-size:15px;font-weight:700}.p15c-row small{font-size:12.5px;opacity:.65}.p15c-row.on b{color:#5B4FD6}.p15c-row .ic{width:18px;height:18px;color:#5B4FD6}
.p15c-home{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.4;margin-top:12px;opacity:.9}.p15c-home input{width:18px;height:18px;margin-top:1px;accent-color:#5B4FD6;flex:none}
html.gl:not(.gl-lt) .p15c-yes{background:#fff;color:#0B0A10}html.gl:not(.gl-lt) .p15c-loc{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16)}html.gl:not(.gl-lt) .p15c-loc>.ic,html.gl:not(.gl-lt) .p15c-row .ic,html.gl:not(.gl-lt) .p15c-ask>.ic{color:#fff}html.gl:not(.gl-lt) .p15c-row.on b{color:#fff}
html.gl:not(.gl-lt) .p15c-home input{accent-color:#fff}
/* ===== Admin calm (8 Nov 2026, his ask): follows the app theme (light default), 5 tabs that fit, no scroll line, more space ===== */
.a3v{--a-bg:#0A0A0D;--a-card:rgba(255,255,255,.055);--a-line:rgba(255,255,255,.09);--a-tx:#F4F3F8;--a-sub:#A7A4B8;--a-acc:#FFFFFF;--a-acc-tx:#0A0A0D;--a-bar:rgba(255,255,255,.12)}
html.gl-lt .a3v{--a-bg:#F5F4FA;--a-card:#FFFFFF;--a-line:rgba(91,79,214,.12);--a-tx:#16152A;--a-sub:#6B6990;--a-acc:#5B4FD6;--a-acc-tx:#FFFFFF;--a-bar:rgba(91,79,214,.12)}
.a3v,.a3v.view{background:var(--a-bg)!important;color:var(--a-tx)!important}.a3chkbar{background:var(--a-bg)!important}
.a3v .iconbtn{background:var(--a-card)!important;color:var(--a-tx)!important;border:1px solid var(--a-line)!important}
.a3top h2{color:var(--a-tx)!important;font-size:24px!important}.a3kick{color:var(--a-sub)!important}
.a3tabs{scrollbar-width:none;-ms-overflow-style:none}.a3tabs::-webkit-scrollbar{display:none;height:0}
.a3tabs.a3t5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;overflow:visible;padding-bottom:10px}
.a3v .a3tabs button,html .a3tabs button{background:var(--a-card)!important;color:var(--a-sub)!important;border:1px solid var(--a-line)!important;border-radius:14px;padding:10px 4px;font:800 13px var(--f-body);text-align:center;overflow:hidden;text-overflow:ellipsis}
html .a3v .a3tabs button.on,html.c3.gl .a3v .a3tabs button.on,html.c3.gl.gl-lt .a3v .a3tabs button.on,html .a3chkbar .a3tabs button.on{background:var(--a-acc)!important;color:var(--a-acc-tx)!important;border-color:var(--a-acc)!important}
.a3tabs em{background:#FFC93C!important;color:#16152A!important}
.a3body{gap:14px!important}.a3g{gap:12px!important}
.a3k,button.a3k{background:var(--a-card)!important;border:1px solid var(--a-line)!important;border-top:1px solid var(--a-line)!important;border-radius:20px!important;padding:16px!important;color:var(--a-tx)!important;box-shadow:none}
.a3k b{color:var(--a-tx)!important;font-size:30px!important}.a3k span{color:var(--a-tx)!important;margin-top:2px}.a3k small{color:var(--a-sub)!important}
.a3k .a3more,.a3ev .a3more{color:var(--a-acc)!important;margin-top:8px!important}
.a3c,.a3ev{background:var(--a-card)!important;border:1px solid var(--a-line)!important;border-radius:20px!important;padding:16px!important;color:var(--a-tx)!important}
.a3h>span:last-child,.a3n small,.a3r small,.a3m,.a3kv,.a3ev small,.a3r em,.a3bt small{color:var(--a-sub)!important}
.a3n,.a3r,.a3kv b,.a3back{color:var(--a-tx)!important}.a3r,.a3kv{border-top-color:var(--a-line)!important}
.a3n em{background:var(--a-acc)!important;color:var(--a-acc-tx)!important}
.a3ok{color:var(--a-tx)!important}.a3ok .ic{color:#12A36B}
.a3f div,.a3seat,.a3tl i{background:var(--a-bar)!important}.a3f i,.a3bars i{background:var(--a-acc)!important}
.a3tl i.ok{background:#12A36B!important}.a3tl i.failed{background:#FF6B6B!important}.a3tl i.running{background:#FFC93C!important}
.a3lnk,.a3chips button{background:var(--a-bar)!important;color:var(--a-tx)!important}
.a3q{background:var(--a-bar)!important;color:var(--a-tx)!important}.a3a{background:var(--a-acc)!important;color:var(--a-acc-tx)!important}
.a3v textarea,.a3in{background:var(--a-card)!important;color:var(--a-tx)!important;border:1.5px solid var(--a-line)!important}
.a3fb:active,.a3k:active,.a3r:active,.a3mrow:active{background:var(--a-bar)!important}
.a3v .a3btns .btn.ghost,html.gl-lt .a3v .a3btns .btn.ghost{color:var(--a-tx)!important;border-color:var(--a-line)!important;background:var(--a-card)!important}
.a3mrow{display:grid!important;grid-template-columns:24px 1fr auto 16px;align-items:center;gap:12px!important;cursor:pointer}.a3mrow>.ic:first-child{width:22px;height:22px;color:var(--a-acc)}
.a3mrow b{display:block;font:800 15px var(--f-body)}.a3mrow small{display:block;font:600 12.5px var(--f-body);color:var(--a-sub);margin-top:2px}
.a3mrow em{font-style:normal;background:#FFC93C;color:#16152A;border-radius:9px;padding:2px 9px;font:800 12px var(--f-body)}.a3mrow>.ic:last-child{width:16px;height:16px;color:var(--a-sub)}
.a3mrow>.ic:last-child{transform:rotate(-90deg)}
.a3v .a3tabs.a3t5 button{font-size:12.5px;padding:10px 2px}
