.g-parts *{margin:0;padding:0}.g-parts{--bg:#12141c;--panel:#1b1e29;--line:#2c3142;--ink:#e9ecf3;--sub:#8a91a6;--acc:#ffcf4a;background:var(--bg);color:var(--ink);flex-direction:column;align-items:center;min-height:100vh;font-family:Pretendard,system-ui,sans-serif;display:flex}.g-parts .app{width:100%;max-width:430px;padding:14px 18px 60px}.g-parts .px{font-family:Galmuri11,Pretendard,monospace}.g-parts h1{margin:8px 0 10px;font-size:28px;line-height:1.25}.g-parts h2{margin:6px 0;font-size:22px}.g-parts .sub{color:var(--sub);font-size:14px;line-height:1.5}.g-parts .step{color:var(--acc);font-size:13px}.g-parts .btn{background:var(--acc);color:#1a1a1a;cursor:pointer;touch-action:manipulation;border:0;border-radius:12px;width:100%;margin-top:12px;padding:15px;font:700 16px Pretendard,sans-serif;display:block}.g-parts .btn:disabled{opacity:.35;cursor:default}.g-parts .btn.ghost{color:var(--ink);border:1px solid var(--line);background:0 0}.g-parts .btns{grid-template-columns:1fr 1fr;gap:10px;display:grid}.g-parts input.name{border:1px solid var(--line);background:var(--panel);width:100%;color:var(--ink);border-radius:12px;margin-top:18px;padding:14px;font:16px Pretendard,sans-serif}.g-parts .lineup{grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0 4px;display:grid}.g-parts .lineup div{background:var(--panel);border:1px solid var(--line);text-align:center;color:var(--sub);border-radius:12px;padding:10px 0 8px;font-size:12px}.g-parts .lineup svg{margin:0 auto 4px;display:block}.g-parts .stage{background:var(--panel);border:1px solid var(--line);border-radius:16px;min-height:230px;margin:18px 0 0;padding:18px;position:relative}.g-parts .center{flex-direction:column;justify-content:center;align-items:center;display:flex}.g-parts .clock{letter-spacing:2px;font-size:56px}.g-parts .clock.dim{color:var(--sub)}.g-parts #dial{touch-action:none;cursor:pointer;width:100%;display:block}.g-parts .big{text-align:center;margin-top:4px;font-size:30px}.g-parts .sw{border:2px solid #0006;border-radius:14px;width:180px;height:140px;display:flex;overflow:hidden}.g-parts .sw i{flex:1}.g-parts input[type=range]{appearance:none;border-radius:14px;width:100%;height:28px;margin-top:16px}.g-parts input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:3px solid #12141c;border-radius:6px;width:22px;height:34px}.g-parts input.hue{background:linear-gradient(90deg,#e03e3e,#e0e03e,#3ee03e,#3ee0e0,#3e3ee0,#e03ee0,#e03e3e)}.g-parts input.pitch{background:linear-gradient(90deg,#2c3142,#8452e6)}.g-parts .track{touch-action:none;cursor:crosshair;height:190px;position:relative}.g-parts .bar{background:var(--ink);border-radius:2px;height:14px;position:absolute;top:88px}.g-parts .mk{width:3px;height:70px;margin-left:-1px;position:absolute;top:60px}.g-parts .mk.you{background:var(--acc)}.g-parts .mk.mid{background:#4cd18a;height:50px;top:70px}.g-parts .walk{border-bottom:1px dashed #3a4055;width:100%;height:58px;margin-bottom:18px;position:relative}.g-parts .walk i{background:var(--ink);border-radius:50% 50% 42% 42%;width:12px;height:18px;transition:left .6s;position:absolute;transform:translate(-50%)}.g-parts .walk i.l{top:6px}.g-parts .walk i.r{top:30px}.g-parts .tap{border:4px solid var(--ink);width:150px;height:150px;color:var(--ink);touch-action:manipulation;cursor:pointer;background:#262a38;border-radius:50%;font-size:30px;transition:transform 50ms}.g-parts .tap.hit{background:#353a4d;transform:scale(.94)}.g-parts .snd{color:#1a1a1a;background:var(--acc);border-radius:4px;padding:2px 7px;font-size:12px;font-weight:700;position:absolute;top:12px;right:12px}.g-parts .got{background:var(--panel);border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;margin-top:12px;padding:12px 14px;display:flex}.g-parts .got span{flex:1;font-size:17px;font-weight:700}.g-parts .got small{color:var(--sub);font-size:13px;font-weight:400;display:block}.g-parts .got em{color:var(--sub);font-size:14px;font-style:normal}.g-parts .g{color:#fff;border-radius:6px;flex:none;place-items:center;width:24px;height:24px;font-size:13px;display:inline-grid}.g-parts .got .g{border-radius:9px;width:40px;height:40px;font-size:22px}.g-parts .gS{background:#e0a21b}.g-parts .gA{background:#3f7be0}.g-parts .gB{background:#2fa36b}.g-parts .gC{background:#7d8597}.g-parts .gD{background:#d0524a}.g-parts .card{background:var(--fr);border-radius:18px;margin:8px 0 6px;padding:9px}.g-parts .card.norm{--fr:#8d95a3;--fr2:#c9ced6}.g-parts .card.rare{--fr:#3f7be0;--fr2:#a9c6ff}.g-parts .card.epic{--fr:#8452e6;--fr2:#d2b9ff}.g-parts .card.leg{--fr:#d4a22a;--fr2:#ffe39a}.g-parts .cin{color:#262833;border:2px solid var(--fr2);background:#fbf8f1;border-radius:11px;padding:12px}.g-parts .ctop{color:#8a8478;justify-content:space-between;align-items:center;font-size:12px;display:flex}.g-parts .rar{background:var(--fr);color:#fff;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700}.g-parts .cname{margin:8px 2px;font-size:21px;line-height:1.3}.g-parts .cart{background-color:var(--abg);background-image:linear-gradient(#26283312 1px,#0000 1px),linear-gradient(90deg,#26283312 1px,#0000 1px);background-size:14px 14px;border:2px solid #262833;border-radius:8px;place-items:center;height:196px;display:grid;position:relative}.g-parts .cart .item{position:absolute;bottom:10px;right:12px}.g-parts .cart .owner{color:#262833a0;font-size:12px;position:absolute;top:8px;left:10px}.g-parts .ctype{color:#6b6659;justify-content:space-between;margin:8px 2px;font-size:12px;display:flex}.g-parts .cbody{border-top:1px solid #e5dfd0;grid-template-columns:124px 1fr;align-items:center;gap:8px;padding-top:6px;display:grid}.g-parts .prow{border-bottom:1px dashed #e5dfd0;align-items:center;gap:8px;padding:3px 0;font-size:13px;display:flex}.g-parts .prow:last-child{border:0}.g-parts .prow .nm{width:30px;font-weight:600}.g-parts .prow .rc{text-align:right;color:#8a8478;white-space:nowrap;flex:1;font-size:12px}.g-parts .cfoot{color:#8a8478;border-top:1px solid #e5dfd0;justify-content:space-between;margin-top:8px;padding-top:7px;font-size:11px;display:flex}.g-parts .cfoot b{color:#262833}.g-parts .mini{background:var(--panel);border:1px solid var(--line);border-left:5px solid var(--fr);border-radius:12px;align-items:center;gap:12px;margin-top:18px;padding:10px 12px;display:flex}.g-parts .mini.norm{--fr:#8d95a3}.g-parts .mini.rare{--fr:#3f7be0}.g-parts .mini.epic{--fr:#8452e6}.g-parts .mini.leg{--fr:#d4a22a}.g-parts .mini .t{color:var(--sub);font-size:12px}.g-parts .mini .n{margin-top:2px;font-size:16px}.g-parts .battle{background:var(--panel);border:1px solid var(--line);border-radius:16px;margin-top:18px;padding:16px}.g-parts .vs{text-align:center;color:var(--sub);grid-template-columns:1fr auto 1fr;align-items:center;font-size:13px;display:grid}.g-parts .vs .who{color:var(--ink);margin-top:2px;font-size:14px;font-weight:700}.g-parts .vs .x{color:var(--acc);font-size:20px}.g-parts .vs .lose svg{animation:.4s 2.6s forwards p-lose}.g-parts .brow{border-top:1px solid var(--line);opacity:0;grid-template-columns:1fr 60px 1fr;align-items:center;padding:8px 0;animation:.35s forwards p-in;display:grid}.g-parts .brow:first-of-type{margin-top:12px}.g-parts .bp{text-align:center;color:var(--sub);font-size:13px}.g-parts .bs{color:var(--sub);align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.g-parts .bs.r{justify-content:flex-end}.g-parts .bs.win{color:var(--ink)}.g-parts .bs.win:after{content:"승";color:#1a1a1a;background:var(--acc);border-radius:4px;padding:1px 5px;font-size:11px}.g-parts .bs.r.win:after{order:-1}.g-parts .verdict{text-align:center;opacity:0;margin-top:14px;font-size:24px;animation:.4s 2.4s forwards p-in}.g-parts .verdict small{color:var(--sub);margin-top:4px;font:14px Pretendard,sans-serif;display:block}.g-parts .toast{color:#111;opacity:0;pointer-events:none;background:#fff;border-radius:999px;padding:10px 16px;font-size:14px;transition:opacity .2s;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.g-parts .toast.on{opacity:1}.g-parts .demo{color:var(--sub);cursor:pointer;background:0 0;border:0;width:100%;margin-top:16px;font-size:12px;text-decoration:underline}@keyframes p-lose{to{opacity:.35;filter:grayscale()}}@keyframes p-in{to{opacity:1}}
