/* ── 밸런스: 운명의 갈림길 ── */
.ga-balance{--ga-accent:#ffd08a;--ga-accent-ink:#3a2412;--ga-a:#e0564f;--ga-b:#2f9c8f;--ga-glass:rgb(34 22 48 / .66)}
.balance-count-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ga-arena .balance-count-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:150px;padding:18px 10px;border:2px solid #ffffff33;border-radius:20px;background:linear-gradient(180deg,#fff8ee,#f6e3d0);color:var(--ink);box-shadow:var(--shadow-3);transition:transform .16s,box-shadow .16s,border-color .16s}
.ga-arena .balance-count-btn:hover:not(:disabled){transform:translateY(-4px);border-color:var(--ga-accent);box-shadow:var(--shadow-4)}
.ga-arena .balance-count-btn:active:not(:disabled){transform:translateY(1px);box-shadow:var(--shadow-press)}
.balance-count-btn strong{font-size:38px;font-weight:900;color:var(--cherry);line-height:1.05}
.balance-count-btn>span:last-child{font-size:12.5px;color:var(--muted);font-weight:800;word-break:keep-all}
.balance-count-steps{display:flex;flex-wrap:wrap;justify-content:center;gap:3px;max-width:120px}
.balance-count-steps i{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--ga-a),var(--ga-b))}
.balance-q-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.balance-q-num,.balance-q-cat,.balance-q-featured{font-size:13px;font-weight:900;border-radius:999px;padding:5px 12px;box-shadow:var(--shadow-2)}
.balance-q-num{background:var(--ga-accent);color:var(--ga-accent-ink)}
.balance-q-cat{background:#ffffffe6;color:var(--ink)}
.balance-q-featured{background:linear-gradient(90deg,var(--ga-a),var(--ga-b));color:#fff}
.balance-options{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ga-arena .balance-door{position:relative;display:flex;flex-direction:column;justify-content:flex-end;height:clamp(260px,calc(100svh - 540px),460px);padding:0;border:3px solid #ffffff3d;border-radius:26px;overflow:hidden;background:#1d1428;color:#fff;text-align:left;box-shadow:var(--shadow-art,0 18px 44px #0007);transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s,border-color .22s,filter .3s;isolation:isolate}
.ga-arena .balance-door:hover:not(:disabled){transform:translateY(-6px) rotate(-.4deg)}
.ga-arena .balance-door-b:hover:not(:disabled){transform:translateY(-6px) rotate(.4deg)}
.ga-arena .balance-door:active:not(:disabled){transform:translateY(1px) scale(.99)}
.balance-door-art{position:absolute;inset:0;z-index:-2}
.balance-door-art img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.balance-door:hover .balance-door-art img{transform:scale(1.05)}
.balance-door:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0000 30%,#0000004d 55%,#000000d0 100%)}
.balance-door-a{--door:var(--ga-a)}
.balance-door-b{--door:var(--ga-b)}
.balance-door-tag{position:absolute;top:14px;left:14px;width:44px;height:44px;border-radius:14px;background:var(--door);color:#fff;font-size:22px;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-3),inset 0 2px 0 #ffffff4d}
.balance-door-text{display:block;padding:20px 22px 24px;font-size:28px;line-height:1.3;font-weight:900;letter-spacing:-.6px;word-break:keep-all;overflow-wrap:anywhere;text-shadow:var(--text-shadow-art,0 2px 14px #000)}
.balance-door-stamp{position:absolute;top:18px;right:16px;padding:6px 14px;border-radius:12px;border:3px solid #fff;background:var(--door);color:#fff;font-size:18px;font-weight:900;transform:rotate(8deg) scale(.4);opacity:0;box-shadow:var(--shadow-3);transition:transform .3s cubic-bezier(.3,1.6,.5,1),opacity .2s}
.ga-arena .balance-door.selected{border-color:var(--door);transform:translateY(-8px);box-shadow:0 0 0 4px #fff,0 0 46px var(--door),var(--shadow-art,0 18px 44px #0007)}
.balance-door.selected .balance-door-stamp{opacity:1;transform:rotate(8deg) scale(1)}
.balance-options:has(.balance-door.selected) .balance-door:not(.selected){filter:saturate(.55) brightness(.75)}
.ga-arena .balance-door:disabled{cursor:default}
.balance-vs{position:absolute;left:50%;top:50%;z-index:3;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6dc,#f2b457 65%,#b87a24);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 6px #ffffff40,var(--shadow-art,0 12px 28px #0008);pointer-events:none}
.balance-vs span{font-size:24px;font-weight:900;color:#5a2e0e;letter-spacing:-1px;text-shadow:0 1px 0 #fff8}
.balance-play.is-entering .balance-door-a{animation:balance-in-a .6s cubic-bezier(.2,.8,.2,1) both}
.balance-play.is-entering .balance-door-b{animation:balance-in-b .6s cubic-bezier(.2,.8,.2,1) both}
.balance-play.is-entering .balance-vs{animation:balance-vs .6s .25s cubic-bezier(.3,1.6,.5,1) both}
@keyframes balance-in-a{from{opacity:0;transform:translateX(-40px) rotate(-3deg)}}
@keyframes balance-in-b{from{opacity:0;transform:translateX(40px) rotate(3deg)}}
@keyframes balance-vs{from{opacity:0;transform:translate(-50%,-50%) scale(.3)}}
.balance-play-foot,.balance-result-foot{display:flex;flex-direction:column;gap:10px;padding:14px 16px}
.balance-headline{font-size:24px;line-height:1.4;font-weight:900;text-align:center;margin:0;color:#fff;word-break:keep-all;text-shadow:var(--text-shadow-art,0 2px 12px #000)}
.balance-meter{display:flex;height:18px;border-radius:999px;overflow:hidden;background:#ffffff26;box-shadow:var(--shadow-2),inset 0 1px 3px #0005}
.balance-meter-a{background:linear-gradient(90deg,#b73b36,var(--ga-a));transition:width .9s cubic-bezier(.2,.8,.2,1)}
.balance-meter-b{background:linear-gradient(90deg,var(--ga-b),#1f7268);transition:width .9s cubic-bezier(.2,.8,.2,1)}
.balance-sides{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.balance-side{--door:var(--ga-a);display:flex;flex-direction:column;gap:10px;min-width:0;border-radius:22px;background:var(--ga-glass);border:2px solid #ffffff1f;color:#fff;overflow:hidden;box-shadow:var(--shadow-art,0 16px 40px #0006);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .4s,box-shadow .4s}
.balance-side-b{--door:var(--ga-b)}
.balance-side.is-win{border-color:var(--door);box-shadow:0 0 0 2px var(--door),0 0 40px color-mix(in srgb,var(--door) 55%,transparent),var(--shadow-art,0 16px 40px #0006)}
.balance-side-art{position:relative;height:150px;overflow:hidden}
.balance-side-art img{width:100%;height:100%;object-fit:cover}
.balance-side-art:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#0000 30%,#000a)}
.balance-side-pct{position:absolute;left:16px;bottom:8px;z-index:1;font-size:40px;font-weight:900;font-variant-numeric:tabular-nums;color:#fff;text-shadow:var(--text-shadow-art,0 2px 12px #000)}
.balance-side-count{position:absolute;right:14px;bottom:14px;z-index:1;font-size:13px;font-weight:900;background:var(--door);color:#fff;border-radius:999px;padding:3px 10px;box-shadow:var(--shadow-1)}
.balance-side-head{display:flex;gap:8px;align-items:center;padding:0 16px}
.balance-side-head strong{font-size:16px;line-height:1.4;word-break:keep-all;overflow-wrap:anywhere}
.balance-side-tag{flex:none;font-size:12px;font-weight:900;color:#fff;border-radius:8px;padding:2px 8px;background:var(--door);box-shadow:var(--shadow-1)}
.balance-side-names{display:flex;flex-wrap:wrap;gap:6px;padding:0 12px;min-height:30px}
.balance-side-names .ga-note{padding:0 4px}
.balance-side.is-mine .balance-side-head strong:after{content:' ✓';color:var(--ga-accent)}
.balance-reasons{list-style:none;margin:0;padding:0 12px 14px;display:flex;flex-direction:column;gap:6px}
.balance-reasons li{display:flex;flex-direction:column;gap:3px;background:#fff8ee;color:var(--ink);border-radius:4px 14px 14px 14px;padding:8px 12px;font-size:13.5px;box-shadow:var(--shadow-2)}
.balance-reasons q{color:var(--ink);line-height:1.5;word-break:keep-all;overflow-wrap:anywhere;font-weight:600}
.balance-reasons .ga-who-name{color:#8a4b12}
.balance-side:not(:has(.balance-reasons)){padding-bottom:12px}
.balance-result.is-drumming .balance-sides{filter:blur(10px) brightness(.7);transform:scale(.98)}
.balance-result.is-drumming .balance-meter span{width:50%!important}
.balance-result.is-drumming .balance-headline{animation:balance-drum .22s ease-in-out infinite alternate}
.balance-result .balance-sides{transition:filter .5s,transform .5s}
.balance-result.is-revealed .balance-side{animation:balance-pop .55s cubic-bezier(.3,1.4,.5,1) both}
.balance-result.is-revealed .balance-side-b{animation-delay:.08s}
@keyframes balance-drum{to{transform:scale(1.04)}}
@keyframes balance-pop{from{transform:scale(.94);opacity:.6}}
#balance-result-content,#balance-summary-content{display:flex;flex-direction:column;gap:14px}
.balance-family{position:relative;border-radius:20px;overflow:hidden;min-height:250px;display:flex;align-items:flex-end;background:#2c2140;box-shadow:var(--shadow-3)}
.balance-family-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.balance-family:after{content:'';position:absolute;inset:0;background:var(--scrim-bottom,linear-gradient(180deg,#0000,#000c))}
.balance-family-copy{position:relative;z-index:1;display:flex;flex-direction:column;gap:4px;padding:20px 22px;color:#fff;text-shadow:var(--text-shadow-art,0 2px 10px #000)}
.balance-family-tag{align-self:flex-start;font-size:12px;font-weight:900;padding:4px 12px;border-radius:999px;background:linear-gradient(90deg,var(--ga-a),var(--ga-b));text-shadow:none;box-shadow:var(--shadow-1)}
.balance-family-copy strong{font-size:30px;font-weight:900;letter-spacing:-.6px}
.balance-family-copy p{font-size:15px;margin:0;line-height:1.6;word-break:keep-all}
.balance-pairs{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.balance-pair{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;box-shadow:var(--shadow-2)}
.balance-pair>span{font-size:13px;font-weight:900;color:var(--cherry)}
.balance-pair.is-worst>span{color:#b8741a}
.balance-pair-faces{display:flex;align-items:center;gap:6px;justify-content:center}
.balance-pair-faces b{font-size:22px;color:var(--cherry)}
.balance-pair.is-worst .balance-pair-faces b{color:#b8741a}
.ga-paper .ga-seat-name{color:var(--ink);text-shadow:none}
.ga-paper .ga-seat-face{background:linear-gradient(145deg,#f3dccf,#fff);box-shadow:var(--shadow-2)}
.balance-pair small{font-size:12px;color:var(--muted)}
.balance-awards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.balance-awards li{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;text-align:center;box-shadow:var(--shadow-2)}
.balance-award-name{font-size:14px;font-weight:900;color:var(--cherry)}
.balance-awards small{font-size:12px;color:var(--muted);word-break:keep-all}
.balance-closest{background:linear-gradient(90deg,#fdeae8,#e3f4f1);border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:4px;text-align:center;box-shadow:var(--shadow-2)}
.balance-closest span{font-size:12px;font-weight:900;color:var(--muted)}
.balance-closest strong{font-size:16px;word-break:keep-all}
.balance-closest em{font-style:normal;color:var(--cherry);font-size:12px}
.balance-closest small{font-size:12px;color:var(--muted)}
.balance-recap{background:var(--soft);border-radius:16px;padding:10px 14px}
.balance-recap summary{cursor:pointer;font-size:13px;font-weight:900;color:var(--cherry);min-height:32px;display:flex;align-items:center}
.balance-recap ol{margin:8px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.balance-recap li{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;font-size:12.5px;align-items:center;word-break:keep-all}
.balance-recap li span:last-child{text-align:right}
.balance-recap b{font-variant-numeric:tabular-nums;color:var(--cherry)}
@media(max-width:700px){
.balance-count-grid{gap:8px}
.ga-arena .balance-count-btn{min-height:118px;padding:12px 6px}
.balance-count-btn strong{font-size:28px}
.balance-options{gap:10px}
.ga-arena .balance-door{height:auto;aspect-ratio:3/4;border-radius:18px;border-width:2px}
.balance-door-tag{top:10px;left:10px;width:32px;height:32px;border-radius:10px;font-size:16px}
.balance-door-text{padding:12px 12px 14px;font-size:17px;letter-spacing:-.3px}
.balance-door-stamp{top:10px;right:8px;font-size:13px;padding:4px 9px;border-width:2px}
.balance-vs{width:48px;height:48px;box-shadow:0 0 0 4px #ffffff40,var(--shadow-art,0 10px 22px #0008)}
.balance-vs span{font-size:16px}
.balance-headline{font-size:19px}
.balance-sides{grid-template-columns:1fr;gap:10px}
.balance-side-art{height:108px}
.balance-side-pct{font-size:32px}
.balance-family{min-height:200px}
.balance-family-copy{padding:16px}
.balance-family-copy strong{font-size:24px}
}
@media(prefers-reduced-motion:reduce){
.balance-play.is-entering .balance-door-a,.balance-play.is-entering .balance-door-b,.balance-play.is-entering .balance-vs,.balance-result.is-revealed .balance-side,.balance-result.is-drumming .balance-headline{animation:none}
}
