*{box-sizing:border-box}body{margin:0;background:#eef3f7;color:#18334c;font-family:system-ui,'Malgun Gothic',sans-serif}main{max-width:600px;margin:auto;padding:clamp(18px,4vw,32px)}header a{display:inline-block;min-height:44px;color:#145cc8;font-weight:700}h1{font-size:clamp(27px,6vw,38px);letter-spacing:-.04em;margin:8px 0}p{line-height:1.6;margin:0}label{display:grid;gap:6px;font-weight:700;margin-top:18px}select,button{font:inherit;color:#18334c;border:1px solid #a5b8c9;background:white;border-radius:9px;min-height:48px;padding:9px 12px}button{cursor:pointer;font-weight:700}button:disabled{cursor:default}button:focus-visible,select:focus-visible,a:focus-visible{outline:4px solid #145cc8;outline-offset:3px;z-index:2}.settings-help{font-size:14px;margin:8px 0}.board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:repeat(7,minmax(0,1fr));width:min(100%,360px);aspect-ratio:1;margin:14px auto;padding:3px;border-radius:18px;background:#fff;border:1px solid #bacbd5}.dot{width:12px;height:12px;border-radius:50%;background:#476676;align-self:center;justify-self:center}.edge{min-width:44px;min-height:44px;width:100%;height:100%;padding:4px;display:grid;place-items:center;justify-self:center;align-self:center;border:0;background:transparent}.edge span{display:block;background:#617b88;border-radius:99px}.horizontal span{width:100%;height:6px}.vertical span{height:100%;width:6px}.edge[data-owner="player"] span{background:#145cc8}.edge.horizontal[data-owner="computer"] span,.edge.horizontal[data-owner="partner"] span{background:repeating-linear-gradient(90deg,#843d28 0 7px,#fff 7px 11px)}.edge.vertical[data-owner="computer"] span,.edge.vertical[data-owner="partner"] span{background:repeating-linear-gradient(180deg,#843d28 0 7px,#fff 7px 11px)}.box{display:grid;place-items:center;font-size:17px;font-weight:800}.box[data-owner="player"]{background:#dfedff;color:#145cc8}.box[data-owner="partner"],.box[data-owner="computer"]{background:#f8e8df;color:#843d28}.controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.controls button{flex:1}.result{margin-top:18px;border-left:5px solid #175c43;border-radius:6px;background:#e4f2e9;padding:16px}.result strong{display:block;margin-bottom:8px}[hidden]{display:none!important}
.scroll{overflow-x:auto}.board{width:max-content;max-width:none;aspect-ratio:auto;margin:14px auto}.board .edge{position:relative;z-index:1}#ladder-host .ladder{margin:10px 0}
