/* Arcade energy add-ons for Direction A (uses curio.css + platform.css) */
.plat.arcade{background-image:radial-gradient(circle at 10% 18%,rgba(247,115,31,.05) 0 120px,transparent 121px),radial-gradient(circle at 90% 75%,rgba(255,194,61,.08) 0 150px,transparent 151px),radial-gradient(circle at 70% 8%,rgba(247,115,31,.04) 0 70px,transparent 71px)}
.plat.arcade .p-main{gap:12px;padding:16px 26px}
.plat.arcade .qbanner{padding:20px 30px}
/* rail player block */
.rplayer{display:flex;align-items:center;gap:12px;padding:10px 8px 14px;border-bottom:2px solid var(--tint-2);margin-bottom:8px}
.rpav{position:relative;width:52px;height:52px;flex:none;border-radius:50%;background:linear-gradient(160deg,#fff,var(--tint-2));box-shadow:inset 0 0 0 2px var(--tint);display:grid;place-items:center}
.rpav img{width:66%}
.lvlb{position:absolute;bottom:-5px;right:-7px;min-width:24px;height:24px;padding:0 4px;border-radius:999px;background:var(--orange);color:#fff;font-family:'Fredoka',sans-serif;font-weight:700;font-size:12.5px;display:grid;place-items:center;box-shadow:0 2px 0 var(--orange-dark),0 0 0 2.5px #fff}
.rpinfo{min-width:0;flex:1}
.rpinfo b{font-family:'Fredoka',sans-serif;font-weight:600;font-size:16px;display:block}
.xpbar{height:12px;border-radius:999px;background:var(--tint-2);box-shadow:inset 0 0 0 2px var(--tint);overflow:hidden;margin-top:5px}
.xpfill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--yellow),var(--orange));box-shadow:inset 0 -3px 0 rgba(122,40,12,.2)}
.xptxt{font-family:'Fredoka',sans-serif;font-weight:500;font-size:12px;color:var(--ink-faint);margin-top:3px;display:block}
/* streak + goal chips */
.flamec{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;background:linear-gradient(160deg,#FFF3D6,#FFE6B8);box-shadow:0 4px 0 #EBCB8B;font-family:'Fredoka',sans-serif;font-weight:600;color:#7A4B00}
.flamec .ic svg{width:19px;height:19px}
.goalring{position:relative;width:52px;height:52px;flex:none;border-radius:50%;background:conic-gradient(var(--orange) 0 252deg,var(--tint) 252deg 360deg);display:grid;place-items:center}
.goalring::after{content:"";position:absolute;inset:6px;border-radius:50%;background:#fff}
.goalring b{position:relative;z-index:1;font-family:'Fredoka',sans-serif;font-weight:700;font-size:14px;color:var(--orange-deep)}
.goalc{display:flex;align-items:center;gap:12px;background:#fff;border-radius:999px;padding:6px 18px 6px 6px;box-shadow:inset 0 0 0 2px var(--tint)}
.goalc em{font-style:normal;font-weight:700;font-size:14.5px;color:var(--ink-soft)}
.goalc em b{display:block;font-family:'Fredoka',sans-serif;font-weight:600;font-size:15.5px;color:var(--ink)}
/* quest banner */
.qbanner{position:relative;display:flex;align-items:center;gap:24px;background:linear-gradient(160deg,var(--orange-bright),var(--orange-deep));color:#fff;border-radius:24px;padding:24px 30px;box-shadow:0 8px 0 var(--orange-dark),0 26px 40px -26px rgba(122,40,12,.5);overflow:hidden}
.qbanner::before{content:"";position:absolute;right:-50px;top:-60px;width:210px;height:210px;border-radius:50%;background:rgba(255,255,255,.12)}
.qbanner::after{content:"";position:absolute;right:70px;bottom:-70px;width:140px;height:140px;border-radius:50%;background:rgba(255,255,255,.08)}
.qb-tag{display:inline-flex;align-items:center;gap:7px;font-family:'Fredoka',sans-serif;font-weight:600;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;background:rgba(255,255,255,.2);padding:5px 12px;border-radius:999px;margin-bottom:8px}
.qb-body{flex:1;min-width:0;position:relative;z-index:1}
.qb-body h2{font-family:'Fredoka',sans-serif;font-weight:700;font-size:27px;margin:0;color:#fff}
.qb-body p{margin:5px 0 0;color:rgba(255,255,255,.92);font-weight:600}
.qb-xp{display:flex;align-items:center;gap:10px;margin-top:14px;max-width:340px}
.qb-xp .xpbar{flex:1;background:rgba(255,255,255,.2);box-shadow:inset 0 0 0 2px rgba(255,255,255,.25)}
.qb-xp .xptxt{color:rgba(255,255,255,.9);margin:0;white-space:nowrap}
.qb-masc{width:120px;flex:none;position:relative;z-index:1;filter:drop-shadow(0 12px 16px rgba(122,40,12,.4));animation:float-y 4.5s ease-in-out infinite}
/* medal NEW tag + toast */
.newtag{position:absolute;top:-7px;right:-9px;font-family:'Fredoka',sans-serif;font-weight:700;font-size:10px;letter-spacing:.06em;background:var(--yellow);color:#7A4B00;padding:3px 7px;border-radius:999px;box-shadow:0 2px 0 var(--yellow-dk);transform:rotate(8deg)}
.medal{position:relative}
.toast{position:absolute;right:22px;bottom:22px;display:flex;align-items:center;gap:10px;background:#2E1B10;color:#fff;border-radius:999px;padding:11px 20px 11px 12px;box-shadow:0 14px 30px -12px rgba(46,16,4,.6);font-family:'Fredoka',sans-serif;font-weight:600;font-size:16px;z-index:8}
.toast .cdisc{width:26px;height:26px}
.toast em{font-style:normal;font-weight:500;font-size:13px;color:rgba(255,255,255,.7);display:block}
/* in-chat coin reward pill */
.coinpop{display:inline-flex;align-items:center;gap:8px;margin-left:52px;background:linear-gradient(160deg,#FFF3D6,#FFE6B8);border-radius:999px;padding:8px 16px;font-family:'Fredoka',sans-serif;font-weight:700;font-size:15.5px;color:#7A4B00;box-shadow:0 4px 0 #EBCB8B;width:max-content}
.coinpop .cdisc{width:20px;height:20px}
/* game HUD */
.gc-top{position:absolute;top:0;left:68px;right:0;display:flex;align-items:center;gap:14px;padding:12px 18px;background:linear-gradient(180deg,rgba(46,27,16,.72),rgba(46,27,16,0));z-index:3}
.objc{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 18px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--ink);font-family:'Fredoka',sans-serif;font-weight:600;font-size:15.5px;box-shadow:0 4px 12px -4px rgba(0,0,0,.4)}
.objc .pips{display:inline-flex;gap:5px}
.objc .pip{width:12px;height:12px;border-radius:50%;background:var(--tint);box-shadow:inset 0 0 0 2px var(--line)}
.objc .pip.got{background:var(--orange);box-shadow:none}
.ghud-xp{display:flex;align-items:center;gap:8px;margin-left:auto;color:#fff;font-family:'Fredoka',sans-serif;font-weight:600;font-size:14px}
.ghud-xp .xpbar{width:150px;background:rgba(255,255,255,.2);box-shadow:inset 0 0 0 2px rgba(255,255,255,.25)}
