:root{--md-sys-color-primary:#0047ab;--md-sys-color-on-primary:#fff;--md-sys-color-secondary:#4a5361;--md-sys-color-on-secondary:#fff;--md-sys-color-error:#a5122d;--md-sys-color-on-error:#fff;--md-sys-color-background:#f8f9fa;--md-sys-color-on-background:#1a1a1a;--md-sys-color-surface:#fff;--md-sys-color-on-surface:#1a1a1a;--md-sys-color-surface-variant:#e1e2ec;--md-sys-color-on-surface-variant:#44474f;--md-sys-color-outline:#74777f;--md-sys-color-outline-variant:#c4c6d0;--color-accent-blue:#0047ab;--color-on-accent-blue:#fff;--color-accent-green:#006736;--color-on-accent-green:#fff;--color-accent-red:#a91024;--color-accent-teal:#055;--color-on-accent-teal:#fff;--color-text-grey:#55595d;--radius-small:8px;--radius-medium:12px;--radius-large:16px;--radius-extra-large:28px;--radius-full:100px;--elevation-1:0 1px 3px 1px #00000026, 0 1px 2px 0 #0000004d;--elevation-2:0 2px 6px 2px #00000026, 0 1px 2px 0 #0000004d;--elevation-3:0 4px 8px 3px #00000026, 0 1px 3px 0 #0000004d;--spacing-xs:4px;--spacing-s:8px;--spacing-m:12px;--spacing-l:16px;--spacing-xl:24px;--spacing-xxl:32px;--interaction-hover:brightness(.9);--interaction-active:brightness(.8);--scroll-shadow-color:rgba(from var(--md-sys-color-outline) r g b / .4)}@media (prefers-color-scheme:dark){:root{--md-sys-color-primary:#adc6ff;--md-sys-color-on-primary:#002e69;--md-sys-color-secondary:#bfc6dc;--md-sys-color-on-secondary:#293041;--md-sys-color-error:#ffb4ab;--md-sys-color-on-error:#690005;--md-sys-color-background:#1a1c1e;--md-sys-color-on-background:#e2e2e6;--md-sys-color-surface:#1a1c1e;--md-sys-color-on-surface:#e2e2e6;--md-sys-color-surface-variant:#44474f;--md-sys-color-on-surface-variant:#c4c6d0;--md-sys-color-outline:#8e9099;--md-sys-color-outline-variant:#44474f;--color-accent-blue:#adc6ff;--color-on-accent-blue:#002e69;--color-accent-green:#68d391;--color-on-accent-green:#00391c;--color-accent-red:#ff8088;--color-accent-teal:#81e6d9;--color-on-accent-teal:#003734;--color-text-grey:#a4a6aa;--elevation-1:0 1px 2px 0 #0000004d, 0 1px 3px 1px #00000026;--elevation-2:0 2px 4px 0 #0000004d, 0 2px 6px 2px #00000026;--elevation-3:0 4px 8px 0 #0000004d, 0 4px 12px 4px #00000026;--interaction-hover:brightness(1.1);--interaction-active:brightness(1.2);--scroll-shadow-color:rgba(from var(--md-sys-color-outline) r g b / .4)}}@font-face{font-family:Material Symbols Outlined;font-style:normal;font-weight:300 600;font-display:block;src:url(/fonts/icon-qFYRoNz2.woff2)format("woff2")}.material-symbols-outlined{letter-spacing:normal;text-transform:none;white-space:nowrap;word-wrap:normal;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;direction:ltr;font-family:Material Symbols Outlined;font-size:24px;font-style:normal;font-weight:400;line-height:1;display:inline-block}body{margin:0 var(--spacing-s);padding:0 var(--spacing-s);background-color:var(--md-sys-color-background);align-items:safe center;gap:var(--spacing-l);color:var(--md-sys-color-on-background);box-sizing:border-box;flex-direction:column;width:auto;font-family:Pretendard Std Variable,Noto Sans,sans-serif;transition:background-color .3s cubic-bezier(.2,0,0,1),color .3s cubic-bezier(.2,0,0,1);display:flex}body:lang(ko){font-family:Pretendard Variable,Noto Sans KR,sans-serif}body:lang(ja){font-family:Pretendard JP Variable,Noto Sans JP,sans-serif}button,input,select,textarea{font-family:inherit}header{width:100%;position:relative}header #appBar{background-color:var(--md-sys-color-background);border-bottom:1px solid var(--md-sys-color-outline-variant);flex-direction:row;justify-content:space-between;align-items:center;width:100%;min-height:56px;display:flex}#appBar .group{gap:4px;display:inline-flex}#appBar .box40{justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}header h1,header .app-name{color:var(--md-sys-color-on-background);margin:0;font-size:1.25rem;font-weight:600;line-height:1}#gameBody main{display:contents}#gameBody footer{opacity:0;transition:opacity}footer{text-align:center;border-top:1px solid var(--md-sys-color-outline-variant);width:100%}#help{padding:0 var(--spacing-xl);background:var(--md-sys-color-surface);border-radius:var(--radius-large);box-shadow:var(--elevation-1);box-sizing:border-box;width:100%;max-width:1400px}#help[open]{padding:var(--spacing-xl)}dt{font-weight:600}dl{grid-template-columns:max-content auto;gap:5px 10px;display:grid}#controls{padding:var(--spacing-xl);background:var(--md-sys-color-surface);border-radius:var(--radius-large);box-shadow:var(--elevation-1);justify-content:center;align-items:center;gap:var(--spacing-l);box-sizing:border-box;opacity:0;flex-flow:column wrap;width:100%;max-width:1400px;transition:background-color .3s cubic-bezier(.2,0,0,1),box-shadow .3s cubic-bezier(.2,0,0,1),opacity;display:flex}.controls .group{justify-content:left;align-items:center;gap:var(--spacing-s);flex-flow:wrap;width:100%;display:flex}.controls .pair{align-items:center;gap:var(--spacing-s);flex-direction:row;display:flex}.controls label{color:var(--md-sys-color-on-surface);white-space:nowrap;font-size:1rem;font-weight:700}.controls input,.controls select{box-sizing:border-box;border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-medium);background:var(--md-sys-color-surface);min-height:2.5rem;color:var(--md-sys-color-on-surface);font-size:1rem;transition:border-color .2s cubic-bezier(.2,0,0,1),background-color .3s cubic-bezier(.2,0,0,1)}.controls select{padding:1px var(--spacing-m)}.controls input{text-align:center;margin:0;line-height:1}.controls input:focus,.controls select:focus{border-color:var(--md-sys-color-primary);outline:2px solid var(--md-sys-color-primary);outline-offset:-2px}.input-row{min-height:2.5rem}main.in-game .hide-in-game,main:not(.in-game) .only-in-game{display:none}body.canvas-only{margin:0;padding:0}body.canvas-only #controls,body.canvas-only #help,body.canvas-only header,body.canvas-only footer{display:none!important}body.canvas-only #ladderCanvasWrapper{box-shadow:none;background:0 0;border:0;border-radius:0;width:fit-content;max-width:fit-content;padding:0}.controls button,dialog button,button.l-button{padding:var(--spacing-m) var(--spacing-xl);color:var(--md-sys-color-on-secondary);border-radius:var(--radius-full);background:var(--md-sys-color-secondary);border:none;font-size:1rem;line-height:1.5;transition:all .2s cubic-bezier(.2,0,0,1)}button{cursor:pointer;white-space:nowrap;font-weight:500;position:relative}button.icon-btn{border-radius:var(--radius-full);width:40px;height:40px;color:var(--md-sys-color-on-background);background:0 0;border:0;outline:0;flex-shrink:0;justify-content:center;align-items:center;margin:0;padding:0;line-height:1;display:inline-flex;overflow:hidden}button.icon-btn span{justify-content:center;align-items:center;width:24px;height:24px;overflow:hidden}button{transition:font-variation-settings .2s cubic-bezier(.2,0,0,1)}button:not(.icon-btn){font-variation-settings:"wght" 500;font-weight:500}button.icon-btn{font-variation-settings:"wght" 400, "opsz" 24}button:after{content:"";border-radius:inherit;opacity:0;pointer-events:none;background:currentColor;transition:opacity .2s cubic-bezier(.2,0,0,1);position:absolute;inset:0}@media (hover:hover) and (pointer:fine){button:hover:after{opacity:.08}button:not(.icon-btn):hover{font-variation-settings:"wght" 600;font-weight:600}button.icon-btn:hover{font-variation-settings:"wght" 600, "opsz" 24}}button.icon-btn:focus-visible{outline:2px solid var(--md-sys-color-primary);outline-offset:-2px}button:focus-visible:after{opacity:.1}button:active:after{opacity:.1;transition-duration:50ms}button:not(.icon-btn):active{font-variation-settings:"wght" 300;font-weight:300}button.icon-btn:active{font-variation-settings:"wght" 300, "opsz" 24}button:disabled{opacity:.38;pointer-events:none;cursor:not-allowed}#btnRun{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary)}#btnShowAll,#btnFill{background:var(--color-accent-teal);color:var(--color-on-accent-teal)}#btnCopy{background:var(--md-sys-color-secondary);color:var(--md-sys-color-on-secondary)}#btnReset{background:var(--md-sys-color-error);color:var(--md-sys-color-on-error)}.btn-ok:not(.btn-warn){background:var(--color-accent-green);color:var(--color-on-accent-green)}.btn-warn{background:var(--md-sys-color-error);color:var(--md-sys-color-on-error)}#btnRun{min-width:8.25em}#btnFill{min-width:6.75em}#btnBulkPaste{min-width:8em}#btnReset{min-width:5.75em}#btnShowAll{min-width:10.75em}#btnCopy{min-width:9.25em}.btn-ok,.btn-cancel{min-width:6.25em}body:lang(ko) #btnRun{min-width:6.75em}body:lang(ko) #btnFill{min-width:7.75em}body:lang(ko) #btnBulkPaste{min-width:6.75em}body:lang(ko) #btnReset{min-width:5.75em}body:lang(ko) #btnShowAll{min-width:8.75em}body:lang(ko) #btnCopy{min-width:8.5em}body:lang(ko) .btn-ok,body:lang(ko) .btn-cancel{min-width:4.75em}#nameInputs input{border-left:4px solid var(--color-accent-blue);width:7.5rem}#destInputs input{border-left:4px solid var(--color-accent-teal);width:7.5rem}#destInputs input:focus{border-color:var(--color-accent-teal);outline:2px solid var(--color-accent-teal);outline-offset:-2px}#ladderCanvasWrapper{padding:0 0 var(--spacing-xl);background:var(--md-sys-color-surface);border-radius:var(--radius-large);box-shadow:var(--elevation-1);box-sizing:border-box;text-align:center;opacity:0;max-width:100%;height:fit-content;line-height:0;transition:opacity}#ladderToolbar{padding:0 var(--spacing-xl);box-sizing:border-box;flex-direction:row;justify-content:flex-end;align-items:center;max-width:100vw;height:40px;display:flex;position:sticky}#btnFit{right:0}.ladder-scroll-container{-webkit-overflow-scrolling:touch;box-sizing:border-box;flex-direction:row;max-width:100%;height:fit-content;padding:0;display:flex;position:relative;overflow-x:auto;container-type:scroll-state}canvas{z-index:0;width:0;height:0}.ladder-scroll-container:before,.ladder-scroll-container:after{pointer-events:none;z-index:3;content:"";width:0;transition:box-shadow .3s cubic-bezier(.2,0,0,1);position:sticky}.ladder-scroll-container:before{left:0}.ladder-scroll-container:after{right:0}@container scroll-state(scrollable:left){.ladder-scroll-container:before{box-shadow:0 0 8px 8px var(--scroll-shadow-color)}}@container scroll-state(scrollable:right){.ladder-scroll-container:after{box-shadow:0 0 8px 8px var(--scroll-shadow-color)}}svg#labelSvg{pointer-events:none;z-index:1;width:0;height:0;font-size:1em;position:absolute;top:0;left:0}svg#labelSvg text:focus{outline:2px solid var(--md-sys-color-primary);outline-offset:2px}#labelSvg text{fill:var(--md-sys-color-on-surface)}#labelSvg text.blue{fill:var(--color-accent-blue)}#labelSvg text.teal{fill:var(--color-accent-teal)}#labelSvg text.grey{fill:var(--color-text-grey)}#labelSvg rect{fill:var(--md-sys-color-surface)}#labelSvg path.check{fill:none;stroke:var(--color-accent-blue);stroke-width:2px}.info-text{color:var(--md-sys-color-on-surface-variant);word-break:keep-all;font-size:.875rem;font-weight:400;line-height:1.4}.info-text strong{color:var(--md-sys-color-primary)}.site-info-text{color:var(--md-sys-color-on-surface-variant);font-size:.8rem}.footer-separator{margin:0 var(--spacing-xs);color:var(--md-sys-color-on-surface-variant)}#langMenu{z-index:950;background:#fff;border:1px solid #ccc;flex-direction:column;display:flex;position:absolute;top:48px;right:44px}#langMenu button{padding:var(--spacing-m) var(--spacing-m);box-sizing:border-box;min-width:5.25em;min-height:2rem;color:var(--md-sys-color-on-secondary);background:var(--md-sys-color-secondary);border:0;border-radius:0;margin:0}.hidden{display:none!important}.link{color:var(--md-sys-color-primary);text-decoration:underline;-webkit-text-decoration-color:var(--md-sys-color-primary);text-decoration-color:var(--md-sys-color-primary);text-line-through-style:solid;text-underline-offset:3px;font-weight:600;text-decoration-thickness:1px;transition:text-decoration-thickness .2s cubic-bezier(.2,0,0,1)}@media (hover:hover) and (pointer:fine){.link:hover{text-decoration-thickness:2px}}.no-break{white-space:nowrap;display:inline-block}@media (width<=480px){.controls label,.controls #playerCount,.controls select{flex:1}.controls .buttons{flex-direction:column;align-items:stretch;width:100%}}#tr{visibility:hidden;position:absolute;top:0;left:0}#tr2{visibility:hidden;background-color:var(--color-accent-blue);z-index:2;border-radius:50%;width:8px;height:8px;position:absolute;top:0;left:0}#toast{box-sizing:border-box;background-color:var(--md-sys-color-on-surface);width:max-content;max-width:90vw;color:var(--md-sys-color-surface);padding:var(--spacing-m) 28px;border-radius:var(--radius-full);z-index:9999;visibility:hidden;opacity:0;box-shadow:var(--elevation-3);pointer-events:none;margin:0;font-size:.95rem;font-weight:500;transition:opacity .3s cubic-bezier(.2,0,0,1),transform .3s cubic-bezier(.2,0,0,1),visibility .3s cubic-bezier(.2,0,0,1);display:none;position:fixed;top:12.5vh;left:50vw;transform:translate(-50%)translateY(-10px)}#toast.show{visibility:visible;opacity:.9;display:block;transform:translate(-50%)translateY(0)}dialog{opacity:0;padding:var(--spacing-xl);border-radius:var(--radius-extra-large);box-sizing:border-box;background:var(--md-sys-color-surface);width:400px;max-width:90vw;color:var(--md-sys-color-on-surface);box-shadow:var(--elevation-3);border:none;max-height:90svh;margin:0;transition:opacity .3s cubic-bezier(.2,0,0,1);position:fixed;top:5vh;left:50vw;transform:translate(-50%)}#bulkPasteDialog{top:1vh}dialog h2{margin-top:0;margin-bottom:var(--spacing-l);color:var(--md-sys-color-on-surface);font-size:1.25rem;line-height:1}.textarea-group{gap:var(--spacing-xs);margin-bottom:var(--spacing-l);flex-direction:column;display:flex}.textarea-group label{color:var(--md-sys-color-on-surface-variant);font-size:.875rem;font-weight:600}.textarea-group textarea{box-sizing:border-box;width:100%;padding:var(--spacing-s);border:1px solid var(--md-sys-color-outline-variant);border-radius:var(--radius-medium);background:var(--md-sys-color-surface);color:var(--md-sys-color-on-surface);resize:vertical;max-height:calc(45svh - 2.25rem - 72px);min-height:calc(1rem + 2 * var(--spacing-s) + 2px);font-size:.95rem}.textarea-group textarea:focus{border-color:var(--md-sys-color-primary);outline:2px solid var(--md-sys-color-primary);outline-offset:-2px}dialog p{max-height:30vh;margin-bottom:var(--spacing-xl);overflow-y:auto}dialog:open{opacity:1}dialog::backdrop{background-color:#0006}dialog .group{justify-content:flex-end;gap:var(--spacing-s);display:flex}#btn-af4b7c9579{color:var(--md-sys-color-on-background)}#btn-af4b7c9579.active{color:var(--color-accent-red)}#langAlertBanner{box-sizing:border-box;background-color:var(--md-sys-color-on-surface);width:100%;color:var(--md-sys-color-surface);z-index:900;padding:0 12px}.banner-content{justify-content:space-between;align-items:center;gap:var(--spacing-s);max-width:1400px;margin:0 auto;display:flex}.banner-buttons{align-items:center;gap:var(--spacing-s);flex-direction:row;display:flex}.banner-buttons button{padding:6px 12px}#langAlertConfirm{background:var(--md-sys-color-primary);color:var(--md-sys-color-on-primary);border:1px solid var(--md-sys-color-outline-variant);border-radius:4px}#langAlertClose{background:var(--md-sys-color-secondary);color:var(--md-sys-color-on-secondary);border:1px solid var(--md-sys-color-outline-variant);border-radius:4px}
