/* ======================= PEARL theme: soft, elegant, boutique ======================= */
.pearl-scene,.pearl-sheen{display:none}
.seg3{grid-template-columns:1fr 1fr 1fr}
.theme-pearl{--x-bg:#f7f0ef;--x-surf:rgba(255,255,255,.72);--x-surf2:#fff;--x-line:rgba(123,90,126,.12);--x-line2:rgba(123,90,126,.22);--x-fg:#3d2b3f;--x-mut:#8f7b8e;
  --x-acc:#c76b8f;--x-acc2:#9b7fd1;--x-glow:rgba(199,107,143,.25);--x-soft:rgba(199,107,143,.08);
  --iri:linear-gradient(120deg,#fbdfe7 0%,#ece0fa 30%,#dcf0ef 58%,#fde9dc 85%,#fbdfe7 100%);
  --font:'DM Sans',system-ui,sans-serif;--disp:'Fraunces',Georgia,serif;--mono:'DM Sans',system-ui,sans-serif;--mut:var(--x-mut);--line:var(--x-line);--fg:var(--x-fg)}
.theme-pearl.tank-fresh{--x-bg:#f3f3ec;--x-acc:#6f9a78;--x-acc2:#d68fa3;--x-glow:rgba(111,154,120,.25);--x-soft:rgba(111,154,120,.09);--x-line:rgba(70,100,80,.13);--x-line2:rgba(70,100,80,.24);--x-fg:#2f3d33;--x-mut:#7c8a7f;
  --iri:linear-gradient(120deg,#e3f0df 0%,#f7e3e8 35%,#e2efe9 65%,#f6eedd 100%)}
.theme-pearl body{background:var(--x-bg);color:var(--x-fg);font-family:var(--font);
  background-image:radial-gradient(80% 50% at 85% -5%,rgba(236,224,250,.9),transparent 60%),radial-gradient(70% 45% at 0% 30%,rgba(251,223,231,.8),transparent 60%),radial-gradient(70% 50% at 100% 100%,rgba(220,240,239,.8),transparent 60%);background-attachment:fixed}
.theme-pearl.tank-fresh body{background-image:radial-gradient(80% 50% at 85% -5%,rgba(220,238,214,.9),transparent 60%),radial-gradient(70% 45% at 0% 30%,rgba(247,227,232,.8),transparent 60%),radial-gradient(70% 50% at 100% 100%,rgba(226,239,233,.9),transparent 60%)}
.theme-pearl .blobs,.theme-pearl #reef,.theme-pearl .swimmer,.theme-pearl .emo,.theme-pearl .tier-pill,.theme-pearl .big-emoji,.theme-pearl #fx,.theme-pearl .tx-grid{display:none!important}
.theme-pearl .ln{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.theme-pearl .ribbon{background:#3d2b3f;color:#fbe7ee;font-weight:600;letter-spacing:.12em}
.theme-pearl .theme-tog{background:rgba(255,255,255,.12)}
.theme-pearl .theme-tog button{color:#e8cfd9}
.theme-pearl .theme-tog button.on{background:#fbe7ee;color:#3d2b3f}
.theme-pearl .card-glass{background:var(--x-surf);border:1px solid rgba(255,255,255,.9);border-radius:26px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 14px 40px rgba(123,90,126,.12),inset 0 1px 0 #fff}
.theme-pearl .grad,.theme-pearl .sl-out b,.theme-pearl .earn .v,.theme-pearl .j-top b{background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--x-acc);-webkit-text-fill-color:currentColor}
.theme-pearl .kicker{color:var(--x-acc);letter-spacing:.24em;font-size:11px;font-weight:600;background:none;-webkit-text-fill-color:currentColor}
.theme-pearl .lg-title{font-family:var(--disp);font-weight:400;font-size:40px;line-height:1.05;letter-spacing:-.02em;font-style:normal}
.theme-pearl .lg-title .grad{font-style:italic}
.theme-pearl .lg-sub,.theme-pearl .note{color:var(--x-mut)}
.theme-pearl .btn{background:var(--x-fg);color:#fff;box-shadow:0 8px 22px rgba(61,43,63,.22);border-radius:999px;font-weight:600;letter-spacing:.01em;transition:transform .2s,box-shadow .2s}
.theme-pearl .btn:active{transform:scale(.98)}
.theme-pearl .btn:disabled{background:#e6dbe3;color:var(--x-mut);box-shadow:none}
.theme-pearl .btn.ghost{background:transparent;color:var(--x-fg);box-shadow:inset 0 0 0 1px var(--x-line2)}
.theme-pearl .btn.gold{background:var(--x-fg);color:#fff}
.theme-pearl .inp{background:#fff;border:1px solid var(--x-line2);border-radius:16px;color:var(--x-fg)}
.theme-pearl .inp:focus{border-color:var(--x-acc);box-shadow:0 0 0 4px var(--x-soft)}
.theme-pearl .demo{background:var(--x-surf);border:1px solid #fff;border-radius:20px;box-shadow:0 6px 18px rgba(123,90,126,.08);color:var(--x-fg)}
.theme-pearl .demo .av,.theme-pearl .avatar{background:var(--iri);color:var(--x-fg);border:1px solid #fff;border-radius:50%;font-family:var(--disp);font-weight:500;box-shadow:0 4px 14px rgba(123,90,126,.15)}
.theme-pearl .demo .pts{font-family:var(--disp);font-weight:500;color:var(--x-fg)}
.theme-pearl .demo span span,.theme-pearl .hi small{color:var(--x-mut)}
.theme-pearl .logo{filter:brightness(.3) saturate(1.5)}
/* hero */
.theme-pearl .hero{height:318px;border-radius:30px 30px 0 0;border:1px solid #fff;border-bottom:0;background:var(--iri);background-size:200% 200%;animation:pshift 18s ease-in-out infinite;box-shadow:none}
.theme-pearl .pearl-scene{display:block;position:absolute;inset:0;width:100%;height:100%}
.theme-pearl .pearl-sheen{display:block;position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.55) 48%,transparent 60%);background-size:250% 100%;mix-blend-mode:soft-light;animation:psheen 7s ease-in-out infinite}
.theme-pearl .hud{background:linear-gradient(90deg,rgba(255,250,251,.82) 0%,rgba(255,250,251,.45) 48%,transparent 72%);padding:22px 22px 18px;display:flex;flex-direction:column;justify-content:flex-end}
.theme-pearl .tier-plain{display:block;order:-1;margin-bottom:auto;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--x-acc)}
.theme-pearl .bal-label{margin-top:0;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--x-mut)}
.theme-pearl .bal{font-family:var(--disp);font-weight:400;font-size:66px;letter-spacing:-.03em;line-height:1;font-variant-numeric:lining-nums}
.theme-pearl #pts{background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--x-fg);-webkit-text-fill-color:currentColor}
.theme-pearl #pts.pop{transform:none}.theme-pearl #pts.tick{animation:none}
.theme-pearl .bal .unit{font-family:var(--disp);font-style:italic;font-size:17px;color:var(--x-acc);opacity:1;margin-left:6px}
.theme-pearl .bal-val{color:var(--x-mut);font-size:14px}.theme-pearl .bal-val b{color:var(--x-fg);font-weight:600}
.theme-pearl .tx-row{display:flex;margin-top:12px}
.theme-pearl .tx-chips{display:flex;gap:6px;flex-wrap:nowrap;overflow:hidden}
.theme-pearl .chip-x{height:26px;padding:0 11px;border-radius:999px;border:1px solid #fff;background:rgba(255,255,255,.7);font:500 11.5px var(--font);letter-spacing:0;text-transform:none;color:var(--x-mut);box-shadow:0 2px 8px rgba(123,90,126,.08)}
.theme-pearl .chip-x b{color:var(--x-fg)}
.theme-pearl .chip-x i{background:var(--x-acc);box-shadow:none;animation:none}
.theme-pearl .tx-spark-box{display:block;position:absolute;top:46px;right:18px;z-index:2;width:128px;padding:9px 12px;border-radius:18px;border:1px solid #fff;background:rgba(255,255,255,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 6px 18px rgba(123,90,126,.1)}
.theme-pearl .tx-spark-box span{display:block;font:600 9px var(--font);letter-spacing:.16em;text-transform:uppercase;color:var(--x-mut)}
.theme-pearl .tx-spark-box em{display:block;font:italic 500 12px var(--disp);color:var(--x-acc);margin-top:2px}
.theme-pearl .tx-spark{display:block;width:100%;height:28px;margin-top:6px;overflow:visible}
/* tier */
.theme-pearl .journey{border-radius:0 0 30px 30px;background:rgba(255,255,255,.78);border:1px solid #fff;border-top:1px solid rgba(123,90,126,.08);padding:18px;box-shadow:0 18px 40px rgba(123,90,126,.12)}
.theme-pearl .j-top,.theme-pearl .track,.theme-pearl .j-foot{display:none}
.theme-pearl .tx-gauge{display:grid;grid-template-columns:132px 1fr;gap:16px;align-items:center}
.theme-pearl .g-bg{stroke:rgba(123,90,126,.1);stroke-width:7;stroke-linecap:round}
.theme-pearl .g-on{stroke:var(--x-acc);stroke-width:7;stroke-linecap:round;filter:none}
.theme-pearl .tk{stroke:rgba(123,90,126,.18)}.theme-pearl .tk.M{stroke:var(--x-acc);opacity:.6}
.theme-pearl .g-c small{font:600 9px var(--font);letter-spacing:.18em;color:var(--x-mut)}
.theme-pearl .g-c b{font:500 22px var(--disp);letter-spacing:-.01em}
.theme-pearl .g-c span{font:italic 500 12px var(--disp);color:var(--x-acc)}
.theme-pearl .g-k{font:600 10px var(--font);letter-spacing:.18em;text-transform:uppercase;color:var(--x-mut)}
.theme-pearl .g-next{font-size:14px;margin:3px 0 10px;color:var(--x-mut)}.theme-pearl .g-next b{font-family:var(--disp);font-weight:500;color:var(--x-fg);font-size:16px}
.theme-pearl .g-list li{font:500 12px var(--font);text-transform:none;letter-spacing:0;color:var(--x-mut)}
.theme-pearl .g-list i{border-radius:50%;border-color:var(--x-line2)}
.theme-pearl .g-list li.got i,.theme-pearl .g-list li.cur i{background:var(--x-acc);border-color:var(--x-acc);box-shadow:none}
.theme-pearl .g-list li.cur{color:var(--x-fg);font-weight:600}
.theme-pearl .g-list em{font-family:var(--disp)}
/* actions + sections */
.theme-pearl .act{background:rgba(255,255,255,.72);border:1px solid #fff;border-radius:999px;font-weight:600;color:var(--x-fg);box-shadow:0 6px 18px rgba(123,90,126,.08)}
.theme-pearl .act i{display:none}
.theme-pearl .act .ln{flex:none;width:20px;height:20px;padding:8px;box-sizing:content-box;border-radius:50%;background:var(--iri);color:var(--x-fg)}
.theme-pearl .act{border-radius:22px}
.theme-pearl .act-spin .spin-new{background:var(--x-fg);color:#fff;font-weight:600}
.theme-pearl .sec h2{font-family:var(--disp);font-weight:400;font-size:26px;letter-spacing:-.02em}
.theme-pearl .sec h2 small{font-family:var(--font);color:var(--x-mut);font-weight:500;font-size:12px}
.theme-pearl .slider-card{border-radius:26px;padding:20px}
.theme-pearl .sl-top b{font-weight:600}
.theme-pearl .sl-out b{font-family:var(--disp);font-weight:400;font-size:34px;letter-spacing:-.02em}
.theme-pearl .sl-out span,.theme-pearl .sl-top span{color:var(--x-mut)}
.theme-pearl #slider{height:5px;background:linear-gradient(90deg,var(--x-acc) var(--p,0%),rgba(123,90,126,.12) var(--p,0%));margin:22px 0 20px;border-radius:5px}
.theme-pearl #slider::-webkit-slider-thumb{width:24px;height:24px;background:radial-gradient(circle at 35% 30%,#fff,#f4e6ef 55%,#dcc8ec);border:1px solid #fff;box-shadow:0 3px 10px rgba(123,90,126,.3)}
.theme-pearl #slider::-moz-range-thumb{width:24px;height:24px;background:#f4e6ef;border:1px solid #fff}
/* tiles */
.theme-pearl .cards{gap:12px}
.theme-pearl .scard{background:rgba(255,255,255,.8);border:1px solid #fff;border-radius:24px;box-shadow:0 10px 26px rgba(123,90,126,.1);animation:pfade .6s ease both}
.theme-pearl .sc-img{background:transparent;border-bottom:0;margin:8px 8px 0;border-radius:18px;overflow:hidden}
.theme-pearl .sc-img:after{display:none}
.theme-pearl .scard.locked .sc-img{opacity:.6;filter:saturate(.6)}
.theme-pearl .sc-badge{top:14px;left:14px;font:600 10.5px var(--font);letter-spacing:.04em;border-radius:999px;background:rgba(255,255,255,.85);border:1px solid #fff;color:var(--x-fg);padding:3px 9px}
.theme-pearl .sc-title{font-family:var(--disp);font-weight:500;font-size:17px;letter-spacing:-.01em}
.theme-pearl .sc-sub{color:var(--x-mut)}
.theme-pearl .sc-cost{font:italic 500 12.5px var(--disp);color:var(--x-acc);opacity:1;letter-spacing:0}
.theme-pearl .sbtn{border-radius:999px;background:var(--x-fg);color:#fff;border:0;box-shadow:0 6px 16px rgba(61,43,63,.2);font:600 14px var(--font)}
.theme-pearl .sbtn:hover,.theme-pearl .sbtn:active{background:var(--x-fg);color:#fff;opacity:.9}
.theme-pearl .sc-need{font:500 12px var(--font);text-transform:none;letter-spacing:0;color:var(--x-mut)}
.theme-pearl .sc-need i{height:5px;border-radius:5px;background:linear-gradient(90deg,var(--x-acc) var(--pr),rgba(123,90,126,.12) var(--pr))}
.pw{animation:pwave 5s ease-in-out infinite;animation-delay:calc(var(--i,0) * -.4s);transform-origin:80px 108px}
.pj{animation:pfloat 6s ease-in-out infinite;animation-delay:calc(var(--i,0) * -1.3s)}
.pp{animation:pglow 4s ease-in-out infinite}
.scard.locked .pw,.scard.locked .pj,.scard.locked .pp{animation:none}
/* codes, earn, history */
.theme-pearl .code{font-family:var(--font);font-weight:600;letter-spacing:.08em;border:1px dashed var(--x-line2);background:#fff;color:var(--x-fg);border-radius:14px}
.theme-pearl .code-row{border-radius:22px}
.theme-pearl .earn{background:transparent;border:0;border-bottom:1px solid var(--x-line);border-radius:0;padding:14px 2px;margin:0}
.theme-pearl .earn .ic{background:var(--iri);border:1px solid #fff;border-radius:50%;width:42px;height:42px;color:var(--x-fg)}
.theme-pearl .earn .ic .ln{width:20px;height:20px}
.theme-pearl .earn .tx span{color:var(--x-mut)}
.theme-pearl .earn .v{font-family:var(--disp);font-style:italic;font-weight:500;font-size:13px}
.theme-pearl .earn.soon{opacity:.5}
.theme-pearl .hist-card{border-radius:24px}
.theme-pearl .hist .hd,.theme-pearl .hist .hn{color:var(--x-mut)}
.theme-pearl .hist .hn{color:var(--x-fg)}
.theme-pearl .hist .hv{font-family:var(--disp);font-weight:500}
.theme-pearl .hv.pos{color:var(--x-acc)}.theme-pearl .hv.neg{color:var(--x-mut)}
.theme-pearl .fine{color:var(--x-mut)}
/* nav */
.theme-pearl .nav{background:rgba(255,255,255,.82);border:1px solid #fff;border-radius:999px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 12px 34px rgba(123,90,126,.18)}
.theme-pearl .nav .nv{color:var(--x-mut);font-weight:600;font-size:10.5px;gap:3px;border-radius:999px}
.theme-pearl .nav .nv.on{background:var(--iri);color:var(--x-fg)}
.theme-pearl .nav .nv.on .ln{transform:none}
/* sheets, toast, profile */
.theme-pearl .sheet{background:rgba(61,43,63,.28);backdrop-filter:blur(4px)}
.theme-pearl .sheet-card{background:#fffafb;border:1px solid #fff;border-radius:30px 30px 0 0;color:var(--x-fg);animation:pup .45s cubic-bezier(.2,.8,.2,1)}
.theme-pearl .sheet-card h3{font-family:var(--disp);font-weight:400;font-size:30px;letter-spacing:-.02em}
.theme-pearl .sheet-card .k{color:var(--x-acc);font-weight:600;letter-spacing:.18em;text-transform:uppercase;font-size:11px}
.theme-pearl .sheet-card .row{color:var(--x-mut)}.theme-pearl .sheet-card .row b{color:var(--x-fg);font-family:var(--disp);font-weight:500}
.theme-pearl .amounts button{background:#fff;border:1px solid var(--x-line2);border-radius:999px;color:var(--x-fg)}
.theme-pearl .amounts button.sel{background:var(--x-fg);color:#fff}
.theme-pearl .toast{background:#3d2b3f;color:#fff;border-radius:999px}
.theme-pearl .profile{background:var(--x-bg);color:var(--x-fg)}
.theme-pearl .pf-top h2{font-family:var(--disp);font-weight:400;font-size:26px}
.theme-pearl .pf-back{background:#fff;color:var(--x-fg);border-radius:50%;box-shadow:0 4px 14px rgba(123,90,126,.12)}
.theme-pearl .pf-av{background:var(--iri);color:var(--x-fg);border-radius:50%;font:500 24px var(--disp);border:1px solid #fff}
.theme-pearl .pf-id b{font-family:var(--disp);font-weight:500;font-size:20px}
.theme-pearl .pf-stats{background:var(--x-line)!important;border-radius:24px}
.theme-pearl .pf-stats div{background:#fffafb}
.theme-pearl .pf-stats span{font-size:10px;letter-spacing:.14em}
.theme-pearl .pf-stats b{font-family:var(--disp);font-weight:500;font-size:16px}
.theme-pearl .pf-soon{background:var(--iri);color:var(--x-fg)}
.theme-pearl .seg{background:rgba(123,90,126,.07);border-radius:999px}
.theme-pearl .seg button{border-radius:999px;color:var(--x-mut);font:600 13.5px var(--font)}
.theme-pearl .seg button.on{background:#fff;color:var(--x-fg);box-shadow:0 4px 12px rgba(123,90,126,.15)}
@keyframes pshift{50%{background-position:100% 50%}}
@keyframes psheen{0%{background-position:150% 0}60%,100%{background-position:-50% 0}}
@keyframes pfade{from{opacity:0;transform:translateY(8px)}}
@keyframes pup{from{transform:translateY(30px);opacity:0}}
@keyframes pwave{50%{transform:rotate(3deg)}}
@keyframes pfloat{50%{transform:translateY(-4px)}}
@keyframes pglow{50%{filter:brightness(1.08) drop-shadow(0 0 4px #fff)}}
@media (prefers-reduced-motion:reduce){.theme-pearl *{animation:none!important}}
