:root{color-scheme:dark;--avatar-canvas: #101721;--avatar-surface: #182332;--avatar-elevated: #223145;--avatar-line: #40546b;--avatar-ink: #f4f7fb;--avatar-muted: #aebbc9;--avatar-player: #72e0c0;--avatar-opponent: #ff8370;--avatar-warning: #ffcf55;--avatar-shadow: #070b11;font-family:Inter,Pretendard,Noto Sans KR,Arial,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0;background:var(--avatar-canvas);color:var(--avatar-ink);letter-spacing:0}button,a{font:inherit}.avatar-clash{width:min(1180px,100% - 40px);margin:0 auto;padding:28px 0 56px}.avatar-clash__header{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--avatar-line)}.avatar-clash__brand{color:var(--avatar-ink);font:850 14px/1 var(--avatar-font, inherit);letter-spacing:.08em;text-decoration:none}.avatar-clash__brand span{color:var(--avatar-player)}.avatar-clash__header-actions{display:flex;align-items:center;gap:8px}.avatar-clash__theme,.avatar-clash__portal{display:grid;min-height:34px;place-items:center;padding:0 10px;border:1px solid var(--avatar-line);border-radius:4px;background:transparent;color:var(--avatar-muted);font:800 10px/1 inherit;letter-spacing:.06em;text-decoration:none;cursor:pointer}.avatar-clash__theme{width:34px;padding:0;color:var(--avatar-ink);font-size:15px}.avatar-clash__theme:hover,.avatar-clash__portal:hover{border-color:var(--avatar-player);color:var(--avatar-ink)}.avatar-clash__lobby{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:18px;padding:16px 18px;border:1px solid var(--avatar-line);border-top:0;background:color-mix(in srgb,var(--avatar-surface) 90%,var(--avatar-canvas))}.avatar-clash__lobby p{margin:0 0 6px;color:var(--avatar-player);font:800 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}.avatar-clash__lobby strong{display:block;color:var(--avatar-ink);font-size:14px}.avatar-clash__lobby small{display:block;max-width:470px;margin-top:5px;color:var(--avatar-muted);font-size:12px;line-height:1.45}.avatar-clash__room-actions{display:grid;grid-template-columns:auto minmax(120px,150px) auto;align-items:end;gap:8px}.avatar-clash__room-actions button,.avatar-clash__room-code button{min-height:36px;padding:0 12px;border:1px solid var(--avatar-line);border-radius:4px;background:var(--avatar-elevated);color:var(--avatar-ink);font-size:12px;font-weight:800;cursor:pointer}.avatar-clash__room-actions button:first-child{border-color:var(--avatar-player);background:var(--avatar-player);color:#07120f}.avatar-clash__room-actions button:hover,.avatar-clash__room-code button:hover{border-color:var(--avatar-player)}.avatar-clash__room-actions label{display:grid;gap:5px}.avatar-clash__room-actions label span{color:var(--avatar-muted);font:800 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.06em}.avatar-clash__room-actions input{width:100%;min-height:36px;padding:0 10px;border:1px solid var(--avatar-line);border-radius:4px;background:var(--avatar-canvas);color:var(--avatar-ink);font:800 13px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em;text-transform:uppercase}.avatar-clash__room-actions input:focus{border-color:var(--avatar-player);outline:2px solid color-mix(in srgb,var(--avatar-player) 20%,transparent);outline-offset:1px}.avatar-clash__room-code{grid-column:2;display:flex;justify-content:end;align-items:center;gap:8px}.avatar-clash__room-code span{color:var(--avatar-muted);font:800 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.avatar-clash__room-code output{color:var(--avatar-warning);font:850 16px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.12em}.avatar-clash__room-code button{min-height:28px;padding:0 8px;font-size:10px}.avatar-clash__room-code [data-avatar-room-leave]{border-color:color-mix(in srgb,var(--avatar-opponent) 55%,var(--avatar-line));color:var(--avatar-opponent)}.avatar-clash__room-code [data-avatar-room-leave]:hover{border-color:var(--avatar-opponent);background:color-mix(in srgb,var(--avatar-opponent) 10%,var(--avatar-surface))}.avatar-clash__game-modes{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.avatar-clash__game-modes button{display:grid;min-width:98px;gap:3px;padding:8px 10px;border:1px solid var(--avatar-line);border-radius:4px;background:transparent;color:var(--avatar-muted);text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.avatar-clash__game-modes button:hover{border-color:var(--avatar-player);transform:translateY(-1px)}.avatar-clash__game-modes button[aria-pressed=true]{border-color:var(--avatar-player);background:color-mix(in srgb,var(--avatar-player) 12%,var(--avatar-surface));color:var(--avatar-ink)}.avatar-clash__game-modes button:disabled{cursor:default;opacity:.54;transform:none}.avatar-clash__game-modes b{color:var(--avatar-ink);font:800 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.05em}.avatar-clash__game-modes span{font-size:11px}.avatar-clash__arena{position:relative;min-height:500px;padding:clamp(24px,5vw,54px);overflow:hidden;border:1px solid var(--avatar-line);border-top:0;background:linear-gradient(125deg,color-mix(in srgb,var(--avatar-surface) 96%,#000),var(--avatar-canvas));isolation:isolate}.avatar-clash__arena:before,.avatar-clash__arena:after{position:absolute;z-index:-1;width:340px;height:340px;border:1px solid color-mix(in srgb,var(--avatar-player) 26%,transparent);border-radius:50%;content:""}.avatar-clash__arena:before{top:-190px;left:-120px}.avatar-clash__arena:after{right:-150px;bottom:-220px;border-color:color-mix(in srgb,var(--avatar-opponent) 24%,transparent)}.avatar-clash__status{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--avatar-muted);font:800 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}.avatar-clash__status strong{color:var(--avatar-ink);font-size:12px}.avatar-clash__status span:last-child{color:var(--avatar-player)}.avatar-clash__fighters{display:grid;grid-template-columns:minmax(0,1fr) 90px minmax(0,1fr);min-height:295px;align-items:center;gap:18px}.avatar-fighter{display:grid;justify-items:center;gap:10px;min-width:0;text-align:center}.avatar-fighter>p{margin:0;color:var(--avatar-muted);font:800 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}.avatar-fighter>strong{max-width:100%;overflow:hidden;font-size:clamp(18px,2.5vw,28px);text-overflow:ellipsis;white-space:nowrap}.avatar-fighter>small{color:var(--avatar-muted);font:800 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.05em}.avatar-fighter__portrait{display:grid;width:clamp(126px,17vw,182px);aspect-ratio:1;place-items:center;overflow:hidden;border:2px solid var(--avatar-line);border-radius:50%;background:var(--avatar-elevated);box-shadow:0 0 0 10px color-mix(in srgb,var(--avatar-surface) 70%,transparent),0 20px 38px color-mix(in srgb,var(--avatar-shadow) 75%,transparent);transition:transform .25s ease,border-color .25s ease,filter .25s ease}.avatar-fighter__portrait img{width:100%;height:100%;object-fit:cover}.avatar-fighter__portrait span{color:var(--avatar-ink);font:850 clamp(42px,7vw,70px)/1 inherit}.avatar-fighter__portrait--player{border-color:var(--avatar-player)}.avatar-fighter__portrait--opponent{border-color:var(--avatar-opponent);background:linear-gradient(145deg,color-mix(in srgb,var(--avatar-opponent) 72%,var(--avatar-elevated)),var(--avatar-elevated))}.avatar-clash__versus{position:relative;display:grid;place-items:center;height:118px}.avatar-clash__versus:before,.avatar-clash__versus:after{position:absolute;left:50%;width:1px;height:32px;background:var(--avatar-line);content:""}.avatar-clash__versus:before{top:0}.avatar-clash__versus:after{bottom:0}.avatar-clash__versus span{display:grid;width:50px;height:50px;place-items:center;border:1px solid var(--avatar-warning);border-radius:50%;color:var(--avatar-warning);font:850 16px/1 inherit}.avatar-clash__versus i{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--avatar-warning);box-shadow:0 0 20px var(--avatar-warning)}.avatar-clash__action{display:grid;width:min(440px,100%);gap:10px;margin:0 auto}.avatar-clash__fight{display:flex;min-height:54px;align-items:center;justify-content:space-between;padding:0 18px;border:1px solid var(--avatar-player);border-radius:4px;background:var(--avatar-player);color:#07120f;font-weight:900;text-decoration:none;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.avatar-clash__fight b{font:800 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}.avatar-clash__fight:hover,.avatar-clash__fight:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--avatar-player) 18%,transparent);outline:0;transform:translateY(-2px)}.avatar-clash__fight:disabled{cursor:wait;opacity:.72;transform:none}.avatar-clash__message{min-height:18px;color:var(--avatar-muted);font-size:12px;text-align:center}.avatar-clash__fighters.is-resolving .avatar-fighter__portrait{animation:avatar-battle-shake .45s ease-in-out infinite alternate}.avatar-clash__fighters.is-resolving .avatar-clash__versus i{animation:avatar-battle-pulse .36s ease-in-out infinite alternate}.avatar-clash__fighters.is-win .avatar-fighter--player .avatar-fighter__portrait{border-color:var(--avatar-warning);filter:brightness(1.18);transform:scale(1.08)}.avatar-clash__fighters.is-win .avatar-fighter--opponent .avatar-fighter__portrait{opacity:.55;transform:scale(.9)}.avatar-clash__fighters.is-loss .avatar-fighter--opponent .avatar-fighter__portrait{border-color:var(--avatar-warning);filter:brightness(1.18);transform:scale(1.08)}.avatar-clash__countdown{position:absolute;z-index:4;top:50%;left:50%;display:grid;width:138px;aspect-ratio:1;place-items:center;align-content:center;gap:6px;border:1px solid var(--avatar-warning);border-radius:50%;background:color-mix(in srgb,var(--avatar-canvas) 86%,transparent);box-shadow:0 0 0 12px color-mix(in srgb,var(--avatar-warning) 8%,transparent),0 0 52px color-mix(in srgb,var(--avatar-warning) 26%,transparent);color:var(--avatar-warning);transform:translate(-50%,-50%);pointer-events:none}.avatar-clash__countdown span{font:900 54px/.8 ui-monospace,SFMono-Regular,Consolas,monospace}.avatar-clash__countdown small{font:800 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.14em}.avatar-clash__arena.is-countdown .avatar-fighter__portrait{animation:avatar-battle-ready .64s ease-in-out infinite alternate}.avatar-clash__arena.is-countdown .avatar-clash__versus i{animation:avatar-battle-pulse .5s ease-in-out infinite alternate}.avatar-clash__arena[data-game=ladder] .avatar-clash__versus{width:68px;height:164px;background:repeating-linear-gradient(to bottom,transparent 0 17px,var(--avatar-line) 17px 19px);border-right:2px solid var(--avatar-player);border-left:2px solid var(--avatar-opponent)}.avatar-clash__arena[data-game=ladder] .avatar-clash__versus:before,.avatar-clash__arena[data-game=ladder] .avatar-clash__versus:after{display:none}.avatar-clash__arena[data-game=ladder] .avatar-clash__versus span{position:relative;z-index:1;background:var(--avatar-canvas)}.avatar-clash__arena[data-game=ladder] .avatar-clash__versus i{z-index:2}.avatar-clash__arena[data-game=coinflip] .avatar-clash__versus span{width:62px;height:62px;border-width:3px;background:linear-gradient(135deg,var(--avatar-warning) 0 50%,var(--avatar-opponent) 50%);color:var(--avatar-canvas);transform:rotate(18deg)}.avatar-clash__arena[data-game=coinflip].is-countdown .avatar-clash__versus span{animation:avatar-battle-coin .5s linear infinite}.avatar-clash__dashboard{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:16px;margin-top:16px}.avatar-clash__record,.avatar-clash__ranking{min-width:0;border:1px solid var(--avatar-line);background:var(--avatar-surface)}.avatar-clash__record{padding:22px}.avatar-clash__record>p,.avatar-clash__section-heading p{margin:0 0 18px;color:var(--avatar-muted);font:800 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em}.avatar-clash__record-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--avatar-line);border-bottom:1px solid var(--avatar-line)}.avatar-clash__record-grid div{display:grid;gap:8px;padding:17px 10px;border-right:1px solid var(--avatar-line)}.avatar-clash__record-grid div:last-child{border:0}.avatar-clash__record-grid span{color:var(--avatar-muted);font:800 9px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.avatar-clash__record-grid strong{color:var(--avatar-ink);font-size:22px}.avatar-clash__history{display:grid;gap:7px;margin:18px 0 0;padding:0;list-style:none}.avatar-clash__history li{display:flex;align-items:center;justify-content:space-between;gap:9px;min-height:28px;color:var(--avatar-muted);font-size:11px}.avatar-clash__history b{color:var(--avatar-ink)}.avatar-clash__history .is-win{color:var(--avatar-player)}.avatar-clash__history .is-loss{color:var(--avatar-opponent)}.avatar-clash__ranking{padding:22px}.avatar-clash__section-heading{display:flex;justify-content:space-between;align-items:start;gap:12px}.avatar-clash__section-heading small{color:var(--avatar-player);font:800 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.avatar-clash__ranking ol{display:grid;margin:0;padding:0;list-style:none}.avatar-clash__ranking li{display:grid;grid-template-columns:28px 32px minmax(0,1fr) auto;min-height:46px;align-items:center;gap:9px;border-top:1px solid var(--avatar-line);color:var(--avatar-muted);font-size:11px}.avatar-clash__ranking li>span:first-child{color:var(--avatar-warning);font:800 11px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.avatar-clash__ranking li>strong{overflow:hidden;color:var(--avatar-ink);text-overflow:ellipsis;white-space:nowrap}.avatar-clash__ranking li>small{color:var(--avatar-player);font:800 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace}.avatar-ranking-avatar{display:grid;width:28px;height:28px;place-items:center;overflow:hidden;border:1px solid var(--avatar-line);border-radius:50%;background:var(--avatar-elevated);color:var(--avatar-muted);font-size:10px}.avatar-ranking-avatar img{width:100%;height:100%;object-fit:cover}html[data-theme=light]{color-scheme:light;--avatar-canvas: #eef2f5;--avatar-surface: #ffffff;--avatar-elevated: #e6edf2;--avatar-line: #abb8c4;--avatar-ink: #142131;--avatar-muted: #5f7180;--avatar-shadow: #9aa8b6}html[data-theme=signal]{--avatar-canvas: #16223a;--avatar-surface: #1c3152;--avatar-elevated: #29436c;--avatar-line: #5d7eaa;--avatar-ink: #f8fbff;--avatar-muted: #b4c5dc;--avatar-player: #8be2ff;--avatar-opponent: #ff9482;--avatar-warning: #ffdc75}@media(prefers-color-scheme:light){html[data-theme=system]{color-scheme:light;--avatar-canvas: #eef2f5;--avatar-surface: #ffffff;--avatar-elevated: #e6edf2;--avatar-line: #abb8c4;--avatar-ink: #142131;--avatar-muted: #5f7180;--avatar-shadow: #9aa8b6}}@keyframes avatar-battle-shake{0%{transform:translate(-8px,-3px) rotate(-2deg)}to{transform:translate(8px,3px) rotate(2deg)}}@keyframes avatar-battle-pulse{0%{transform:scale(.8);opacity:.5}to{transform:scale(2.2);opacity:1}}@keyframes avatar-battle-ready{0%{box-shadow:0 0 0 10px color-mix(in srgb,var(--avatar-player) 7%,transparent),0 20px 38px color-mix(in srgb,var(--avatar-shadow) 75%,transparent);transform:scale(.96)}to{box-shadow:0 0 0 18px color-mix(in srgb,var(--avatar-warning) 18%,transparent),0 20px 38px color-mix(in srgb,var(--avatar-shadow) 75%,transparent);transform:scale(1.04)}}@keyframes avatar-battle-coin{to{transform:rotate(378deg)}}@media(max-width:720px){.avatar-clash{width:min(100% - 24px,1180px);padding-top:16px}.avatar-clash__brand{font-size:11px}.avatar-clash__portal{display:none}.avatar-clash__lobby{grid-template-columns:1fr;padding:15px}.avatar-clash__room-actions{grid-template-columns:1fr 1fr}.avatar-clash__room-actions label{grid-column:1/-1}.avatar-clash__room-code{grid-column:1;justify-content:start}.avatar-clash__arena{min-height:570px;padding:22px 16px}.avatar-clash__status strong{display:none}.avatar-clash__fighters{grid-template-columns:1fr 54px 1fr;gap:6px;min-height:330px}.avatar-fighter>strong{font-size:16px}.avatar-fighter__portrait{width:min(128px,33vw)}.avatar-clash__dashboard{grid-template-columns:1fr}.avatar-clash__record,.avatar-clash__ranking{padding:17px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
