:root{--felt:#2e7d4f;--felt-dark:#1f4d36;--line:#143826;--ink:#f4f1e8;--muted:#b9c7bd;--accent:#ffcf3f;--alert:#ff6b5e;--panel:#18392a;--gutter:16px;--top:48px;--board:min(calc(100vw - 2 * var(--gutter)), calc(100dvh - var(--top) - 230px));--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--felt-dark);height:100%;color:var(--ink);-webkit-tap-highlight-color:transparent;overscroll-behavior:none;margin:0;font-family:system-ui,-apple-system,Segoe UI,Hiragino Sans,Noto Sans JP,sans-serif}#app{flex-direction:column;min-height:100%;display:flex}.top-bar{height:var(--top);padding:0 var(--gutter);border-bottom:1px solid var(--line);align-items:center;display:flex}.title{letter-spacing:.02em;margin:0;font-size:1.1rem;font-weight:600}.layout{padding:12px var(--gutter) var(--gutter);flex-direction:column;flex:1;align-items:center;gap:12px;display:flex}.board{width:var(--board);aspect-ratio:1;grid-template-rows:1.4rem repeat(8,1fr);grid-template-columns:1.4rem repeat(8,1fr);display:grid}.corner,.file-label,.rank-label{color:var(--muted);justify-content:center;align-items:center;font-size:.85rem;display:flex}.cell{border:1px solid var(--line);background:var(--felt);cursor:pointer;touch-action:manipulation;margin:0;padding:0;position:relative}.cell:focus-visible{outline:3px solid var(--accent);outline-offset:-3px;z-index:1}.disc{border-radius:50%;position:absolute;inset:9%}.cell.black .disc{background:radial-gradient(circle at 35% 30%,#555 0,#111 55%,#000 100%);box-shadow:0 2px 3px #00000080}.cell.white .disc{background:radial-gradient(circle at 35% 30%,#fff 0,#eee 55%,#c9c9c9 100%);box-shadow:0 2px 3px #00000080}.cell.hint .disc{background:#ffffff47;inset:38%}.cell.last:after{content:"";background:#e53935;border-radius:50%;position:absolute;inset:42%}.cell.marked{box-shadow:inset 0 0 0 4px var(--accent)}.cell.marked .disc{background:#ffcf3f8c;inset:22%}.side{width:var(--board);grid-template-columns:1fr 1fr;gap:8px;display:grid}.player{background:var(--panel);border:2px solid #0000;border-radius:10px;grid-template-columns:auto auto 1fr auto;align-items:center;gap:8px;min-width:0;padding:8px 10px;display:grid}.player.to-move{border-color:var(--accent)}.stone{border-radius:50%;width:1.3rem;height:1.3rem}.player.black .stone{background:#000;border:1px solid #666}.player.white .stone{background:#f4f4f4}.player .color{color:var(--muted);font-size:.9rem}.player .name{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;overflow:hidden}.player .count{font-variant-numeric:tabular-nums;font-size:1.8rem;font-weight:700}.message{background:var(--panel);border-radius:10px;grid-column:1/-1;min-height:3em;margin:0;padding:10px 12px;font-size:1.15rem;line-height:1.4}.message.result{color:var(--accent);font-weight:600}.message.alert{color:#fff;background:#8e2a22}.buttons{grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.buttons button{border:1px solid var(--muted);min-height:48px;color:var(--ink);cursor:pointer;background:0 0;border-radius:10px;padding:0 20px;font-size:1rem}.buttons button.pass{background:var(--accent);color:#222;border-color:var(--accent);font-weight:700}.buttons button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media (orientation:landscape){:root{--board:min(calc(100dvh - var(--top) - 2 * var(--gutter)), calc(100vw - 340px))}.layout{flex-direction:row;justify-content:center;align-items:flex-start}.side{grid-template-columns:1fr;width:min(340px,34vw)}}
