/* 미니게임 3.0 (미리보기) */
.pztime .mvl{position:absolute;left:0;right:0;bottom:-2px;text-align:center;font-size:9px;color:var(--mu)}
.pzgoal{display:flex;gap:8px;justify-content:center;margin:0 0 8px}
.pzgoal>div{display:flex;align-items:center;gap:6px;padding:5px 12px;border-radius:99px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);transition:background .2s}
.pzgoal b{font-weight:900;color:#fff;font-variant-numeric:tabular-nums;font-size:15px}.pzgoal .done{background:rgba(124,243,200,.18);border-color:#7CF3C8}.pzgoal .done b{color:#7CF3C8}
.pzgoal .bump{animation:pzbump .35s}@keyframes pzbump{40%{transform:scale(1.18)}}
.gic{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;font-size:18px}
.pzres{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;background:rgba(14,6,40,.78);backdrop-filter:blur(3px);border-radius:18px;padding:12px}
.pzrbox{width:100%;max-width:360px;text-align:center;background:linear-gradient(180deg,#3B2A78,#241A52);border:1px solid rgba(255,255,255,.18);border-radius:24px;padding:18px 16px 16px;box-shadow:0 18px 50px rgba(0,0,0,.45);animation:pzpop .45s cubic-bezier(.3,1.6,.5,1)}
@keyframes pzpop{from{transform:scale(.6);opacity:0}}
.pzrbox h2{margin:4px 0 2px;font-size:24px;color:#FFE58A}.pzrbox.lose h2{color:#FFB0BC}
.pzrchar{display:flex;justify-content:center;gap:2px;margin-top:-50px}.pzrchar img{width:72px;height:72px;animation:pzhop .9s ease-in-out infinite alternate}.pzrbox.lose .pzrchar img{animation:none;filter:grayscale(.4)}
@keyframes pzhop{to{transform:translateY(-8px)}}
.pzstars{display:flex;justify-content:center;gap:6px;margin:6px 0}.pzstars i{font-style:normal;font-size:44px;color:rgba(255,255,255,.18);line-height:1}
.pzstars i.on{color:#FFD23F;text-shadow:0 0 18px rgba(255,210,63,.7);animation:pzstar .5s cubic-bezier(.3,1.8,.5,1) both}.pzstars i:nth-child(2){font-size:54px;transform:translateY(-6px)}
@keyframes pzstar{from{transform:scale(0) rotate(-90deg);opacity:0}}
.pzstars.sm i{font-size:26px}.pzstars.sm i:nth-child(2){font-size:30px}.pzstars.sm i.on{animation:none}
.pzrsc{margin:2px 0 8px}.pzrsc small{display:block;color:var(--mu);font-size:12px}.pzrsc b{font-size:40px;font-weight:900;color:#fff;font-variant-numeric:tabular-nums}.pzrsc.done b{animation:pzbump .4s}
.pzrst{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:6px;margin-bottom:8px}.pzrst span{background:rgba(255,255,255,.07);border-radius:12px;padding:6px 4px;font-size:11px;color:var(--mu)}.pzrst b{display:block;font-size:16px;color:#fff}
.pzmap .pzmtop{display:flex;justify-content:space-between;align-items:center;margin:4px 0 10px;font-size:15px}
.pzmbox{position:relative;border-radius:22px;overflow:hidden;margin-bottom:10px}
.pzworld{position:absolute;left:0;right:0;padding:14px;opacity:.95}.pzworld b{font-size:14px;color:rgba(255,255,255,.85)}
.pzmpath{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.pzmpath path{fill:none;stroke:rgba(255,246,200,.45);stroke-width:6;stroke-dasharray:2 12;stroke-linecap:round}
.pznode{position:absolute;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;border:3px solid #fff;background:radial-gradient(circle at 35% 30%,#FFE9A8,#F2B33D);color:#4A2A00;font-weight:900;font-size:18px;box-shadow:0 5px 0 rgba(0,0,0,.25);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;cursor:pointer}
.pznode.k-c{background:radial-gradient(circle at 35% 30%,#FFD1E3,#F27BA6)}.pznode.k-i{background:radial-gradient(circle at 35% 30%,#E6F8FF,#7EC8F2)}
.pznode i{position:absolute;bottom:-17px;font-style:normal;font-size:12px;color:#FFD23F;letter-spacing:-1px;text-shadow:0 1px 2px #000}
.pznode.lock{background:#4A3F78;color:#aaa;border-color:rgba(255,255,255,.3);box-shadow:none}.pznode.cur{animation:pzhop .7s ease-in-out infinite alternate;box-shadow:0 0 0 6px rgba(255,229,138,.35),0 5px 0 rgba(0,0,0,.25)}
.pzsheet{position:fixed;inset:0;z-index:80;background:rgba(10,4,30,.6);display:flex;align-items:flex-end;justify-content:center;padding:0 12px calc(90px + env(safe-area-inset-bottom))}
.pzcard{width:100%;max-width:400px;background:linear-gradient(180deg,#3B2A78,#241A52);border:1px solid rgba(255,255,255,.18);border-radius:22px;padding:16px;text-align:center;animation:pzpop .35s}
.pzcard h3{margin:0;color:#FFE58A}.pzgoals{display:flex;gap:10px;justify-content:center;margin:10px 0}.pzgoals>div{display:flex;flex-direction:column;align-items:center;background:rgba(255,255,255,.08);border-radius:14px;padding:8px 14px}
.pzgoals .gic{width:36px;height:36px;font-size:28px}.pzgoals b{font-size:18px}.pzgoals small{color:var(--mu);font-size:11px}
/* TD 3.0 */
.td3 .tdcv{position:relative}
.tdsk{position:absolute;right:6px;bottom:6px;display:flex;gap:6px;align-items:flex-end;z-index:5;pointer-events:none}
.tdsk>*{pointer-events:auto}
.tdhl{position:absolute;right:0;bottom:62px;white-space:nowrap;background:rgba(14,6,40,.7);border-radius:12px;padding:3px 8px;font-size:11px;color:#fff}.tdhl span{color:#7CF3C8;font-weight:800}.tdhl i{display:block;height:3px;background:rgba(255,255,255,.15);border-radius:3px;margin-top:2px}.tdhl s{display:block;height:100%;background:#7CF3C8;border-radius:3px;width:0}
.tdskb{position:relative;width:54px;height:54px;border-radius:50%;border:2px solid #FFE58A;background:radial-gradient(circle at 35% 30%,#6F5CB0,#2E2560);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0;overflow:hidden;box-shadow:0 4px 10px rgba(0,0,0,.4)}
.tdskb span{font-size:20px;line-height:1}.tdskb small{font-size:9px;font-weight:800;line-height:1.2}
.tdskb i{position:absolute;inset:0;border-radius:50%;background:conic-gradient(rgba(10,4,30,.72) var(--p,0deg),transparent 0);pointer-events:none}
.tdskb.cool{border-color:rgba(255,255,255,.3)}.tdskb:not(.cool):not(:disabled){animation:tdglow 1.2s ease-in-out infinite alternate}@keyframes tdglow{to{box-shadow:0 0 14px rgba(255,229,138,.8)}}
.tdtip{position:absolute;left:8px;right:70px;top:8px;z-index:6;background:rgba(255,255,255,.96);color:#3A2470;border-radius:14px;padding:8px 10px;font-size:13px;font-weight:700;box-shadow:0 6px 16px rgba(0,0,0,.3);animation:pzpop .35s}
.tdtip b{display:block;font-size:10.5px;color:#9B7FE0}.tdtip button{position:absolute;right:8px;top:6px;border:0;background:none;color:#9B7FE0;font-size:11px}
.tdsetup{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:rgba(14,6,40,.82);border-radius:14px;padding:10px}
.tdsbox{width:100%;text-align:center}.tdsbox h3{margin:0 0 8px;color:#FFE58A}
.tdmaps{display:flex;gap:8px;justify-content:center}.tdmap{flex:1;max-width:160px;background:rgba(255,255,255,.07);border:2px solid rgba(255,255,255,.12);border-radius:16px;padding:6px;color:#fff;display:flex;flex-direction:column;align-items:center}
.tdmap canvas{width:100%;height:auto;border-radius:10px}.tdmap b{font-size:14px;margin-top:4px}.tdmap small{font-size:10.5px;color:var(--mu)}.tdmap.on{border-color:#FFE58A;background:rgba(255,229,138,.12)}
.tddiff{display:flex;gap:6px;margin:10px 0 4px}.tddiff button{flex:1;border-radius:14px;border:2px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;padding:7px 2px}.tddiff b{display:block;color:var(--c)}.tddiff small{font-size:10px;color:var(--mu)}.tddiff .on{border-color:var(--c);background:rgba(255,255,255,.14)}
.td3 .bt.brs{display:grid;grid-template-columns:1fr 1fr;gap:6px}.td3 .bt.brs #tdsell{grid-column:1/-1}
.tdbr{display:flex;flex-direction:column;align-items:center;padding:6px 4px;line-height:1.25;white-space:normal}.tdbr small{font-size:10px;opacity:.85}.tdbr em{font-style:normal;font-weight:900;font-size:12px}
.tdres .pzrchar img{width:96px;height:96px}
.td3 .tdpanel{z-index:8}.td3 .tdinfo{flex-wrap:wrap}.td3 .tdinfo .bt.brs{flex:1 1 100%;display:grid;grid-template-columns:1fr 1fr;gap:6px;flex-direction:row}
.td3 .tdinfo .bt.brs .tdbr{padding:7px 6px}
.pzrbox .sharebar{flex-wrap:wrap}.pzrbox #pznext{flex:1 1 100%}
/* 주간 순위 */
.rkp .rkhd{display:flex;justify-content:space-between;align-items:center;gap:8px}.rkp h3{margin:0}.rkcd{font-size:12px;color:var(--mu)}.rkcd b{color:#FFE58A}
.rktabs{display:flex;gap:6px;margin:10px 0 8px}.rktabs button{flex:1;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);color:#fff;padding:8px 4px;font-weight:800}.rktabs .on{background:rgba(255,229,138,.16);border-color:#FFE58A;color:#FFE58A}
.rkpz{display:flex;gap:6px;margin-bottom:8px}.rkpz span{flex:1;text-align:center;background:rgba(255,255,255,.06);border-radius:12px;padding:6px 2px;font-weight:900;color:#FFE58A;font-size:14px}.rkpz small{font-size:10px;color:var(--mu);margin-left:2px}
.rklist{list-style:none;margin:0;padding:0}.rklist li{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:10px}.rklist li:nth-child(odd){background:rgba(255,255,255,.04)}
.rklist i{font-style:normal;width:28px;text-align:center;font-weight:900;color:#C3B1E8}.rklist b{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rklist span{font-weight:900;color:#fff;font-variant-numeric:tabular-nums}
.rklist li.me{background:rgba(124,243,200,.14);outline:1px solid #7CF3C8}.rklist .empty{justify-content:center;color:var(--mu);font-size:13px}
.rkme{margin:8px 0 2px;text-align:center;font-size:13.5px}.rkme b{color:#7CF3C8}.rkmsg{color:#FFE58A}
.rknote{background:rgba(8,6,24,.94)!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);inset:0}
