@font-face{font-family:Pretendard Variable;font-weight:45 920;font-style:normal;font-display:swap;src:url(/assets/PretendardVariable-CJuje-Rk.woff2)format("woff2-variations")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f4e7c8;--paper-2:#e9d4a8;--ink:#17211f;--muted-ink:#51615a;--red:#e7543d;--blue:#2f6fb0;--mint:#79b9a6;--yellow:#e7b849;--shadow:8px 10px 0 #17211f38;font-synthesis:none;font-family:Inter,Pretendard Variable,Pretendard,Noto Sans KR,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{color:var(--ink);accent-color:var(--red);background:#283c3b}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline-offset:3px;box-shadow:0 0 0 7px var(--ink);outline:4px solid #fff}button:disabled{cursor:wait;filter:grayscale(.7);opacity:.55}#game-root,#game-root canvas{width:100%;height:100%;position:absolute;inset:0}#game-root canvas{object-fit:contain}.ui-layer{z-index:3;pointer-events:none;position:absolute;inset:0}.ui-layer button,.ui-layer input,.ui-layer select,.ui-layer form,.modal-backdrop,.paper-panel,.home-actions,.chat-panel{pointer-events:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{z-index:99;color:#fff;background:var(--ink);padding:.8rem 1rem;position:fixed;top:-100px;left:1rem}.skip-link:focus{top:1rem}.paper-panel{background:linear-gradient(87deg, transparent 0 2%, #ffffff40 2.2% 2.5%, transparent 2.7%), var(--paper);border:2px solid var(--ink);box-shadow:var(--shadow);clip-path:polygon(1% 0,99% 1%,100% 96%,97% 100%,3% 99%,0 94%,1% 55%,0 4%)}.eyebrow{color:var(--red);letter-spacing:.24em;text-transform:uppercase;margin:0 0 .45rem;font-size:.72rem;font-weight:900}.loading-card{text-align:center;min-width:260px;padding:2rem 2.5rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-1.5deg)}.loader-mark{font-size:3rem;animation:1.1s ease-in-out infinite alternate snip;display:inline-block}.loading-card p{margin:.5rem 0 0;font-weight:800}@keyframes snip{to{transform:translate(12px)rotate(15deg)}}.home-shell{grid-template-columns:minmax(340px,1fr) minmax(310px,430px);align-items:center;gap:clamp(2rem,8vw,9rem);width:min(1180px,100% - 4rem);min-height:100%;margin:auto;padding:3rem 0 4rem;display:grid}.brand-lockup{pointer-events:none;text-shadow:2px 2px #ffffff52;transform:rotate(-2deg)}.brand-lockup h1{color:var(--paper);letter-spacing:-.055em;-webkit-text-stroke:3px var(--ink);filter:drop-shadow(10px 12px #17211f7a);flex-direction:column;margin:0;font-family:Impact,Haettenschweiler,Arial Narrow Bold,sans-serif;font-size:clamp(5rem,11vw,10rem);font-style:italic;font-weight:900;line-height:.74;display:flex}.brand-lockup h1 span:last-child{color:var(--red);transform:translate(.28em)}.brand-lockup .eyebrow{color:var(--yellow);font-size:.85rem}.tagline{color:var(--paper);background:var(--ink);letter-spacing:.04em;margin:2.3rem 0 .4rem;padding:.32rem .65rem;font-size:clamp(1.1rem,2vw,1.5rem);font-weight:900;display:inline-block;transform:rotate(1deg)}.subtitle{color:#f7edda;margin:.5rem;font-weight:650}.home-actions{padding:clamp(1.5rem,3vw,2.3rem);position:relative;transform:rotate(.75deg)}.home-actions:before{content:"";background:#e7b849b3;border:1px solid #694c1f33;width:95px;height:34px;position:absolute;top:-18px;left:42%;transform:rotate(-4deg)}.field-label{letter-spacing:.08em;text-transform:uppercase;gap:.45rem;font-size:.75rem;font-weight:900;display:grid}.text-input{width:100%;min-height:46px;color:var(--ink);border:2px solid var(--ink);background:#ffffff73;border-radius:1px;padding:.7rem .85rem;box-shadow:inset 3px 3px #17211f12}.torn-button,.ghost-button,.square-button,.text-button,.utility-nav button{cursor:pointer;border:0;font-weight:900}.torn-button{letter-spacing:.02em;clip-path:polygon(0 7%,98% 0,100% 89%,96% 100%,2% 94%);justify-content:space-between;align-items:center;width:100%;min-height:55px;margin-top:.75rem;padding:.8rem 1.15rem;font-size:1.03rem;display:flex}.torn-button span{font-size:1.5rem}.torn-button.primary{color:#fff8e8;background:var(--red);box-shadow:5px 6px 0 var(--ink)}.torn-button.secondary{color:var(--paper);background:var(--ink);box-shadow:5px 6px #17211f47}.torn-button:hover:not(:disabled){box-shadow:8px 9px 0 var(--ink);transform:translate(-2px,-2px)rotate(-.4deg)}.divider{color:var(--muted-ink);letter-spacing:.25em;align-items:center;gap:.7rem;margin:1.25rem 0 .8rem;font-size:.63rem;font-weight:900;display:flex}.divider:before,.divider:after{content:"";background:var(--muted-ink);opacity:.45;flex:1;height:1px}.ghost-button{border:2px solid var(--ink);background:0 0;min-height:43px;padding:.65rem 1rem}.ghost-button:hover{color:var(--paper);background:var(--ink)}.join-row{grid-template-columns:1fr 48px;gap:.5rem;margin-top:.6rem;display:grid}.code-input{letter-spacing:.22em;text-transform:uppercase;font-weight:900}.square-button{min-width:46px;color:var(--paper);background:var(--blue);border:2px solid var(--ink);font-size:1.3rem}.utility-nav{flex-wrap:wrap;justify-content:center;gap:.35rem .9rem;margin-top:1.25rem;display:flex}.utility-nav button{border-bottom:1px dashed var(--ink);background:0 0;padding:.25rem 0;font-size:.73rem}.control-ribbon,.battle-controls{color:var(--paper);letter-spacing:.03em;background:#17211fc7;margin:0;padding:.45rem .8rem;font-size:.68rem;position:fixed;bottom:1rem;right:1.5rem;transform:rotate(-.5deg)}.lobby-shell{grid-template-columns:minmax(480px,720px) minmax(250px,320px);justify-content:center;align-items:center;gap:2rem;min-height:100%;padding:3rem;display:grid}.lobby-card{text-align:center;padding:clamp(2rem,5vw,4rem)}.room-code{letter-spacing:.12em;margin:0;font-family:Impact,sans-serif;font-size:clamp(3rem,8vw,6rem)}.versus-row{grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;margin:2rem 0;display:grid}.versus{color:var(--red);font-family:Impact,sans-serif;font-size:2rem;transform:rotate(-8deg)}.player-chip{border:2px dashed var(--muted-ink);place-items:center;gap:.45rem;padding:1rem;display:grid}.player-chip.is-ready{background:#79b9a647;border-style:solid}.player-chip small{color:var(--muted-ink)}.avatar-paper{width:62px;height:74px;color:var(--avatar-ink,var(--ink));background:var(--avatar-paper,var(--paper-2));border:3px solid var(--avatar-ink,var(--ink));clip-path:polygon(8% 0,94% 5%,100% 90%,82% 100%,5% 94%,0 12%);place-items:center;display:grid}.avatar-paper i{text-shadow:1px 1px #ffffff73;font-size:1.65rem;font-style:normal}.avatar-paper.rival{transform:scaleX(-1)rotate(-3deg)}.avatar-paper.rival i{transform:scaleX(-1)}.pulse-dot{background:var(--red);border-radius:50%;width:.6rem;height:.6rem;margin-right:.5rem;animation:1.2s infinite pulse;display:inline-block}@keyframes pulse{50%{opacity:.3;transform:scale(.7)}}.button-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.8rem;display:flex}.button-row .torn-button{width:auto;min-width:170px;margin:0}.text-button{background:0 0;padding:.5rem;text-decoration:underline}.chat-panel{background:#f4e7c8eb;flex-direction:column;min-height:370px;max-height:65vh;padding:1rem;display:flex}.chat-panel ol{flex:1;margin:0;padding:0;list-style:none;overflow:auto}.chat-panel li{border-bottom:1px dashed #17211f40;gap:.1rem;padding:.5rem;font-size:.78rem;display:grid}.chat-panel li strong{color:var(--blue);font-size:.68rem}.chat-panel li.empty{color:var(--muted-ink);place-items:center}.chat-panel form{grid-template-columns:1fr 44px;gap:.4rem;margin-top:.7rem;display:grid}.chat-panel .text-input{min-height:40px}.battle-hud{pointer-events:none;position:absolute;inset:0}.fighter-hud{width:min(34vw,430px);color:var(--paper);text-shadow:2px 2px var(--ink);position:absolute;top:1rem}.fighter-hud strong{letter-spacing:.12em;text-transform:uppercase;margin-bottom:.35rem;font-size:.75rem;display:block}.player-hud{left:1rem}.opponent-hud{text-align:right;right:1rem}.health-track{background:var(--ink);border:1px solid var(--paper);height:17px;padding:3px;transform:skew(-9deg)}.health-track span{background:repeating-linear-gradient(105deg, var(--red) 0 15px, #f47a62 15px 17px);clip-path:polygon(0 0,96% 0,100% 22%,97% 48%,100% 74%,96% 100%,0 100%);width:100%;height:100%;transition:width .18s ease-out;display:block}.opponent-hud .health-track span{background:repeating-linear-gradient(75deg, var(--blue) 0 15px, #6f9ed5 15px 17px);clip-path:polygon(4% 0,100% 0,100% 100%,4% 100%,0 74%,3% 48%,0 22%);margin-left:auto}#health-value{float:left;margin-top:.25rem;font-size:.72rem}.score-scrap{text-align:center;background:var(--paper);border:2px solid var(--ink);clip-path:polygon(2% 2%,96% 0,100% 18%,98% 96%,80% 100%,3% 97%,0 75%);min-width:110px;box-shadow:4px 5px var(--ink);padding:.55rem 1rem;position:absolute;top:.65rem;left:50%;transform:translate(-50%)rotate(-1deg)}.score-scrap small{letter-spacing:.15em;font-size:.55rem;display:block}.score-scrap b{letter-spacing:.15em;font-family:Impact,sans-serif;font-size:1.65rem}.ammo-scrap{color:var(--paper);border-left:6px dotted var(--paper-2);clip-path:polygon(0 5%,96% 0,100% 82%,91% 100%,4% 96%);background:#17211fdb;padding:.6rem .9rem;position:absolute;bottom:1rem;left:1rem;transform:rotate(.5deg)}.ammo-scrap span{color:var(--yellow);letter-spacing:.25em;display:block}.ammo-scrap small{letter-spacing:.12em;margin-top:.2rem;font-size:.52rem;display:block}.pause-button{pointer-events:auto;width:42px;height:42px;color:var(--paper);border:1px solid var(--paper);cursor:pointer;background:#17211fc7;border-radius:50%;font-size:1.5rem;position:absolute;bottom:1rem;right:1rem}.battle-hud .chat-panel.compact{pointer-events:auto;width:min(310px,40vw);min-height:0;max-height:150px;color:var(--paper);background:#17211fa6;padding:.35rem;position:absolute;bottom:.75rem;right:4.5rem}.chat-panel.compact ol{max-height:76px}.chat-panel.compact li{border:0;grid-template-columns:auto 1fr;gap:.4rem;padding:.15rem}.chat-panel.compact form{margin-top:.25rem}.chat-panel.compact .text-input{min-height:32px;color:var(--paper);border-color:var(--paper);background:#ffffff1f}.draft-shell{min-height:100%;color:var(--paper);text-align:center;pointer-events:auto;background:#17211fb8;place-content:center;padding:2rem;display:grid}.draft-shell header h2{letter-spacing:.03em;margin:0;font-family:Impact,sans-serif;font-size:clamp(2.5rem,6vw,5rem)}.draft-shell header p:last-child{margin:.35rem 0 1.4rem}.draft-grid{grid-template-columns:repeat(3,minmax(180px,270px));gap:clamp(.8rem,2.5vw,2rem);display:grid}.draft-card{min-height:350px;color:var(--ink);background:var(--paper);border:3px solid var(--ink);box-shadow:7px 9px var(--ink);clip-path:polygon(2% 0,98% 2%,100% 94%,96% 100%,2% 97%,0 7%);cursor:pointer;text-align:left;grid-template-rows:auto 1fr auto auto;padding:1.4rem;transition:transform .16s;display:grid;position:relative}.draft-card:nth-child(2){transform:translateY(-8px)rotate(.8deg)}.draft-card:nth-child(3){transform:rotate(1.5deg)}.draft-card:hover,.draft-card:focus-visible{transform:translateY(-16px)rotate(-1deg)}.card-number{color:#17211f33;font-family:Impact,sans-serif;font-size:1.7rem;position:absolute;top:.6rem;right:.7rem}.card-visual{min-height:150px;color:var(--red);background-color:var(--paper-2);background-image:var(--card-art);border:2px solid var(--ink);text-shadow:4px 4px #17211f26;background-position:50%;background-size:cover;align-self:center;place-items:center;margin:.25rem 0 .7rem;font-size:6rem;display:grid;overflow:hidden}.card-visual i{opacity:.16;font-style:normal}.card-visual:empty,.card-visual[style=""]{background-image:none}.card-category{color:var(--red);letter-spacing:.2em;font-size:.6rem;font-weight:900}.draft-card strong{margin:.4rem 0;font-size:1.25rem}.draft-card>span:last-child{color:var(--muted-ink);font-size:.75rem;line-height:1.45}.reroll-button{color:var(--paper);border-color:var(--paper);margin:1.6rem auto 0}.reroll-button:hover{color:var(--ink);background:var(--paper)}.result-shell{text-align:center;width:min(520px,100% - 2rem);padding:3rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-1deg)}.result-shell h2{letter-spacing:.04em;margin:.2rem 0;font-family:Impact,sans-serif;font-size:clamp(4rem,10vw,7rem)}.result-shell.won h2{color:var(--red)}.result-score{letter-spacing:.12em;margin:1rem 0 2rem;font-family:Impact,sans-serif;font-size:3rem}.result-score span{color:var(--muted-ink);margin:0 1rem}.result-stats{grid-template-columns:1fr 1fr;gap:.7rem;margin:-1rem auto 1.5rem;display:grid}.result-stats div{border:1px dashed var(--muted-ink);background:#ffffff4d;padding:.65rem}.result-stats dt{color:var(--muted-ink);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem;font-weight:900}.result-stats dd{margin:.2rem 0 0;font-family:Impact,sans-serif;font-size:1.45rem}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#17211fb8;place-items:center;padding:1.5rem;display:grid;position:absolute;inset:0}.modal{width:min(760px,100%);max-height:min(82vh,760px);padding:1.8rem;overflow:auto}.modal>header{z-index:2;background:var(--paper);border-bottom:2px dashed var(--ink);align-items:center;gap:.8rem;margin:-1.8rem -1.8rem 1.2rem;padding:1.4rem 1.8rem .9rem;display:flex;position:sticky;top:-1.8rem}.modal header .eyebrow{margin:0 auto 0 0}.modal h2{letter-spacing:.04em;margin:0;font-family:Impact,sans-serif;font-size:2rem}.modal-close{border:2px solid var(--ink);cursor:pointer;background:0 0;border-radius:50%;width:38px;height:38px;font-size:1.3rem}.settings-form,.customize-form,.cpu-setup-form{gap:1rem;display:grid}.cpu-setup-hint{color:var(--muted-ink);margin:0;line-height:1.55}.cpu-map-select{cursor:pointer}.cpu-map-select optgroup{color:var(--muted-ink);font-style:normal}.range-row{grid-template-columns:140px 1fr;align-items:center;gap:1rem;font-weight:750;display:grid}.range-row input{width:100%}.settings-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.check-row{border:1px dashed var(--muted-ink);align-items:center;gap:.6rem;padding:.7rem;display:flex}.check-row input{width:1.2rem;height:1.2rem}.settings-form .torn-button,.customize-form .torn-button,.cpu-setup-form .torn-button{justify-self:end;width:auto;min-width:140px}.codex-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.8rem;display:grid}.codex-card{border:1px solid var(--muted-ink);background:#ffffff47;padding:1rem}.codex-card .card-visual{justify-content:start;min-height:110px;margin-top:0;font-size:2.8rem}.codex-card small{color:var(--red);letter-spacing:.12em;font-weight:900;display:block}.codex-card strong{margin:.3rem 0;display:block}.codex-card p{color:var(--muted-ink);margin:0;font-size:.72rem;line-height:1.5}.paper-doll{width:150px;height:190px;color:var(--ink);background:var(--paper);border:5px solid var(--ink);clip-path:polygon(7% 0,94% 4%,100% 89%,83% 100%,4% 94%,0 12%);justify-self:center;place-items:center;display:grid;box-shadow:9px 10px #17211f33}.paper-doll span{font-size:4rem}.customize-form fieldset{border:1px dashed var(--muted-ink)}.customize-form legend{font-size:.75rem;font-weight:900}.swatch-row{flex-wrap:wrap;gap:.55rem;display:flex}.color-swatch{background:var(--swatch);border:2px solid var(--ink);cursor:pointer;width:42px;height:42px;transform:rotate(-2deg)}.color-swatch.active{box-shadow:0 0 0 4px var(--red);transform:translateY(-3px)rotate(2deg)}.toast{z-index:40;max-width:min(90%,560px);color:var(--paper);background:var(--ink);border:2px solid var(--paper);box-shadow:5px 6px var(--red);pointer-events:none;padding:.8rem 1.2rem;font-weight:800;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)rotate(-.5deg)}.rotate-note{display:none}.high-contrast{--paper:#fff;--paper-2:#fff;--ink:#000;--muted-ink:#222;--red:#c70000;--blue:#004ac6;--yellow:#ffd400}.high-contrast .paper-panel{background:#fff}.reduce-motion *,.reduce-motion :before,.reduce-motion :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}@media (max-width:860px){.home-shell{grid-template-columns:1fr;align-content:center;gap:1.2rem;width:min(500px,100% - 2rem);padding:1.5rem 0 3.5rem;overflow:auto}.brand-lockup{text-align:center}.brand-lockup h1{font-size:clamp(3.6rem,18vw,6rem);line-height:.8;display:block}.brand-lockup h1 span{display:block}.tagline{margin-top:1rem}.subtitle,.brand-lockup .eyebrow{display:none}.home-actions{padding:1.2rem}.lobby-shell{grid-template-columns:minmax(0,1fr);align-content:center;padding:1rem;overflow:auto}.lobby-shell .chat-panel{min-height:180px;max-height:260px}.draft-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}.draft-card{min-height:300px;padding:.9rem}.card-visual{min-height:110px;font-size:4.5rem}}@media (max-width:620px){.modal-backdrop{padding:.6rem}.modal{max-height:calc(100vh - 1.2rem);padding:1.2rem}.modal>header{margin:-1.2rem -1.2rem 1rem;padding:1rem 1.2rem .75rem;top:-1.2rem}.modal h2{font-size:1.65rem}.cpu-setup-form .torn-button{justify-self:stretch;width:100%}.draft-shell{place-content:start center;overflow:auto}.draft-grid{grid-template-columns:1fr;width:min(330px,90vw)}.draft-card{grid-template-rows:auto auto 1fr;grid-template-columns:100px 1fr;min-height:240px}.draft-card .card-visual{grid-row:1/4;min-height:180px;font-size:4rem}.draft-card:nth-child(n){transform:none}.versus-row{gap:.5rem}.player-chip{padding:.5rem;font-size:.72rem}.avatar-paper{width:40px;height:48px}.fighter-hud{width:35vw}.score-scrap{min-width:84px}.battle-hud .chat-panel{display:none}.settings-grid{grid-template-columns:1fr}.range-row{grid-template-columns:1fr;gap:.3rem}}@media (orientation:portrait) and (max-width:700px){.screen-battle .rotate-note{z-index:5;width:80%;color:var(--paper);border:1px solid var(--paper);text-align:center;background:#17211fdb;margin:0;padding:1rem;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}
