.muehle-game [hidden]{display:none!important}
.muehle-game{max-width:760px;margin:0 auto}
.muehle-game header{text-align:center}
.muehle-setup{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:16px 0}
.muehle-setup label{display:grid;gap:4px;min-width:150px}
.muehle-btn{padding:.7rem 1rem;border:1px solid #202124;border-radius:10px;background:#f3f4f5;color:#202124;cursor:pointer;min-height:44px;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.muehle-btn:not(:disabled):hover,.muehle-btn:not(:disabled):focus-visible{background:#e2e5e8;color:#111;outline:3px solid #f0b400;outline-offset:2px}
.muehle-btn:disabled{opacity:.5;cursor:not-allowed}
.muehle-primary{background:#202124;color:#fff;border-color:#202124;box-shadow:0 3px 10px rgba(0,0,0,.16)}
.muehle-primary:not(:disabled):hover,.muehle-primary:not(:disabled):focus-visible{filter:brightness(1.15)}
.muehle-status{margin:10px 0;text-align:center}
.muehle-board-wrap{display:flex;justify-content:center;padding:18px;border-radius:24px;background:linear-gradient(180deg,#f7f1e6,#ece1d0);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 10px 24px rgba(59,42,24,.16)}
.muehle-board{position:relative;width:min(86vw,560px);aspect-ratio:1;background:#c98d4d url("wood-grain.svg") center/cover no-repeat;border:3px solid #6f4c26;border-radius:18px;box-shadow:inset 0 0 0 2px rgba(255,248,232,.35),inset 0 0 0 14px rgba(112,75,36,.22),0 10px 22px rgba(39,25,12,.28);overflow:hidden}
.muehle-board::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.12),transparent 24%,rgba(73,38,15,.12) 52%,transparent 74%,rgba(255,255,255,.08));pointer-events:none;mix-blend-mode:soft-light}
.muehle-board::after{content:"";position:absolute;left:50%;top:50%;width:11%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(255,241,212,.95),rgba(189,139,77,.95) 58%,rgba(109,71,33,.98) 100%);box-shadow:0 0 0 3px rgba(111,76,38,.55),0 2px 6px rgba(0,0,0,.2);pointer-events:none}
.muehle-line{position:absolute;background:linear-gradient(180deg,#6f4c26,#4d3117);transform-origin:0 50%;height:4px;border-radius:999px;box-shadow:0 1px 0 rgba(255,248,233,.4),0 1px 4px rgba(67,42,20,.28)}
.muehle-point{position:absolute;width:8.9%;aspect-ratio:1;border-radius:50%;border:2px solid #6b4925;background:radial-gradient(circle at 35% 35%,#ecd6ad,#c49459 65%,#8b5d2f 100%);transform:translate(-50%,-50%);cursor:pointer;padding:0;z-index:2;box-shadow:inset 0 1px 1px rgba(255,255,255,.45),0 2px 6px rgba(60,39,19,.24)}
.muehle-point::before{content:"";position:absolute;inset:20%;border-radius:50%;border:1px solid rgba(93,57,25,.55);background:rgba(255,245,226,.22)}
.muehle-point::after{content:"";position:absolute;inset:12%;border-radius:50%}
.muehle-point[data-piece="white"]::after{background:radial-gradient(circle at 32% 30%,#ffffff 0%,#fbf8f0 42%,#dad4c7 68%,#a5a097 100%);border:1px solid #8f8a82;box-shadow:inset 0 2px 3px rgba(255,255,255,.95),inset 0 -3px 4px rgba(129,123,110,.28),0 3px 8px rgba(0,0,0,.26)}
.muehle-point[data-piece="black"]::after{background:radial-gradient(circle at 32% 30%,#6d6d6d 0%,#343434 36%,#171717 70%,#080808 100%);border:1px solid #000;box-shadow:inset 0 2px 3px rgba(255,255,255,.18),inset 0 -3px 4px rgba(0,0,0,.45),0 3px 8px rgba(0,0,0,.36)}
.muehle-point.is-selected{outline:4px solid #2f6fed;outline-offset:3px}
.muehle-point.is-legal{box-shadow:inset 0 1px 1px rgba(255,255,255,.45),0 2px 6px rgba(60,39,19,.24),0 0 0 5px rgba(39,163,90,.42)}
.muehle-point.is-capturable{box-shadow:inset 0 1px 1px rgba(255,255,255,.45),0 2px 6px rgba(60,39,19,.24),0 0 0 5px rgba(217,66,66,.42)}
.muehle-info{display:flex;justify-content:center;gap:24px;margin:14px 0 10px;padding:10px 14px;border-radius:14px;background:linear-gradient(180deg,#f7f2ea,#ede4d7);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.muehle-remote-setup{display:flex;flex-wrap:wrap;gap:12px;flex-basis:100%;align-items:end}
.muehle-remote-info,.muehle-setup-status{margin:8px 0;text-align:center}
@media(max-width:600px){.muehle-setup{display:grid}.muehle-setup label{min-width:0}.muehle-board-wrap{padding:12px;border-radius:18px}.muehle-board{width:min(94vw,520px)}.muehle-info{gap:14px;flex-wrap:wrap}}
.muehle-board-actions{display:flex;justify-content:center;margin:12px 0 4px}
