.game-board{isolation:isolate;width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.game-board__viewport{contain:strict;background:radial-gradient(at 50% 48%,#254b5b40,#0000 64%),linear-gradient(#030e1d29,#0108136b);position:absolute;inset:0;overflow:hidden}.game-board--fit .game-board__viewport{place-items:center;display:grid}.game-board--mega .game-board__viewport{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.game-board--mega .game-board__viewport:active{cursor:grabbing}.game-board__world{transform-origin:0 0;isolation:isolate;contain:layout style;flex:none;position:relative;overflow:visible}.game-board--fit .game-board__world{margin:auto}.game-board__low-detail-canvas{z-index:1;pointer-events:none;display:block;position:absolute}.game-board__tile{--layer-depth-x:0px;--layer-depth-y:0px;--rendered-side-depth:var(--tile-side-depth,3.3333px);--rendered-bottom-depth:var(--tile-bottom-depth,4.6667px);--tile-side-color:#976a3b;--tile-bottom-color:#5f3f2a;--tile-surface-background:linear-gradient(145deg, #fffef8 0 82%, #f5e4ae 94%, #e6c372 100%);--tile-shadow:calc(var(--rendered-side-depth) + 2px) calc(var(--rendered-bottom-depth) + 4px) 5px -2px #020a1057;z-index:calc(20 + var(--tile-layer,0) * 100);isolation:isolate;box-sizing:border-box;color:#17355b;background:var(--tile-surface-background);min-width:0;min-height:0;box-shadow:var(--rendered-side-depth) var(--rendered-bottom-depth) 0 0 var(--tile-bottom-color), var(--tile-shadow);transform:translate(var(--layer-depth-x), var(--layer-depth-y));cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;contain:layout style;border:1px solid #d2b46f;border-radius:2px;outline:none;place-items:center;padding:0;transition:outline-color .12s;display:grid;position:absolute;overflow:visible}.game-board__tile:before,.game-board__tile:after{content:"";z-index:-1;pointer-events:none;display:block;position:absolute}.game-board__tile:before{width:var(--rendered-side-depth);height:calc(100% + var(--rendered-bottom-depth));background:var(--tile-side-color);clip-path:polygon(0 0, 100% var(--rendered-bottom-depth), 100% 100%, 0 calc(100% - var(--rendered-bottom-depth)));top:0;left:100%}.game-board__tile:after{width:calc(100% + var(--rendered-side-depth));height:var(--rendered-bottom-depth);background:var(--tile-bottom-color);clip-path:polygon(0 0, calc(100% - var(--rendered-side-depth)) 0, 100% 100%, var(--rendered-side-depth) 100%);top:100%;left:0}.game-board__tile>span{z-index:1;font:800 var(--tile-font,24px)/.95 ui-serif, "Yu Mincho", "Hiragino Mincho ProN", serif;position:relative}.game-board__tile[data-tone=ward]>span{color:#a51e48}.game-board__tile[data-tone=town]>span{color:#165b48}.game-board__tile[data-tone=village]>span{color:#744d13}.game-board__tile[data-tone=neighborhood]>span{color:#173d59}.game-board__tile.is-blocked{--tile-side-color:#676454;--tile-bottom-color:#48483f;--tile-surface-background:#aaa995;color:#2d444b;cursor:not-allowed;border-color:#8f8b73}.game-board__tile.is-blocked>span{color:#2d444b}.game-board__tile-outline{z-index:10000;box-sizing:border-box;outline-offset:1px;transform:translate(var(--layer-depth-x), var(--layer-depth-y));pointer-events:none;outline:2px solid #62f4eca8;display:none;position:absolute}.game-board__tile.is-free:focus-visible{outline:none}.game-board__tile.is-free:focus-visible+.game-board__tile-outline{display:block}.game-board__tile.is-free:focus-visible+.game-board__tile-outline:not(.is-hinted,.is-wrong,.is-guide-target){outline-offset:2px;outline:3px solid #62f4ec}.game-board__tile.is-hinted{--tile-side-color:#287e7b;--tile-bottom-color:#15515a}.game-board__tile-outline.is-hinted{outline-offset:2px;outline:3px solid #62f4ec;animation:1s ease-in-out infinite game-board-hint;display:block}.game-board__tile-outline.is-wrong{outline-offset:2px;outline:3px solid #ff5571;animation:.26s linear game-board-error;display:block}.game-board__tile.is-guide-target{animation:1.1s ease-in-out infinite game-board-guide}.game-board__tile-outline.is-guide-target{outline-offset:3px;outline:4px solid #ffdc74;display:block}.game-board__camera-controls{z-index:10020;background:#04131ff5;border-radius:12px;gap:5px;padding:4px;display:flex;position:absolute;top:10px;right:10px}.game-board__camera-controls button{color:#f8e6b7;cursor:pointer;background:#0e2f3af0;border:1px solid #e0c2796b;border-radius:9px;min-width:44px;min-height:44px;padding:0 12px;font:800 20px/1 ui-sans-serif,system-ui,sans-serif}.game-board__camera-controls .game-board__overview-button{min-width:96px;font-size:12px}.game-board__camera-controls button:focus-visible{outline-offset:2px;outline:3px solid #62f4ec}.game-board__minimap{z-index:10010;aspect-ratio:78/58;pointer-events:none;background:#030f1bf5;border:1px solid #e0c2795c;border-radius:9px;width:clamp(112px,18vw,172px);padding:3px;position:absolute;bottom:10px;right:10px;overflow:hidden}.game-board__minimap canvas{width:calc(100% - 6px);height:calc(100% - 6px);display:block;position:absolute;inset:3px}.game-board__minimap-camera{pointer-events:none}.game-board--mega.is-zoomed-out .game-board__tile{--tile-surface-background:transparent;--tile-side-color:transparent;--tile-bottom-color:transparent;--tile-shadow:0 0 0 0 transparent;border-color:#0000;transition:none}.game-board--mega.is-zoomed-out .game-board__tile>span{visibility:hidden}@media (hover:hover) and (pointer:fine){.game-board__tile.is-free:hover+.game-board__tile-outline{display:block}.game-board__camera-controls button:hover{background:#195d6b}}@media (width<=520px){.game-board__camera-controls{gap:3px;padding:3px;inset:auto auto 6px 6px}.game-board__camera-controls button{min-width:44px;padding-inline:9px}.game-board__camera-controls .game-board__overview-button{min-width:84px;font-size:10px}.game-board__minimap{opacity:.86;width:88px;bottom:6px;right:6px}}@media (height<=540px){.game-board__minimap{width:82px}.game-board__camera-controls button{min-height:44px}}@media (prefers-reduced-motion:reduce){.game-board__tile{transition:none}.game-board__tile.is-guide-target,.game-board__tile-outline{animation:none}}@keyframes game-board-hint{50%{outline-color:#fff1a8}}@keyframes game-board-error{50%{outline-color:#fff1a8}}@keyframes game-board-guide{0%,to{filter:brightness()}50%{filter:brightness(1.28)}}
