:root{font-family:system-ui,sans-serif;line-height:1.7;color:#193b32;background:#f3f0e4}*{box-sizing:border-box}body{margin:0}header{padding:16px 22px;background:#193b32;display:flex;justify-content:space-between;gap:20px}header a{color:#f6e5b7}main{max-width:800px;margin:auto;padding:24px 16px 60px}h1{font-size:clamp(25px,5vw,34px)}h2{font-size:21px}.panel{padding:22px;border:1px solid #c7b783;border-radius:20px;background:#fffdf7;margin:18px 0}label{display:block;margin:12px 0}input,select{font:inherit;padding:9px;border:1px solid #b6c5b7;border-radius:10px;max-width:100%;background:white;color:#193b32}input:not([type=checkbox]):not([type=range]),select{width:100%;display:block}button{font:inherit;font-weight:700;border:0;border-radius:999px;padding:11px 19px;background:#244d3d;color:white;cursor:pointer;min-height:44px}button:disabled{opacity:.45;cursor:default}.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}a{color:#205b51}.note{font-size:12px;color:#586f65}canvas{width:100%;height:auto;border-radius:20px;touch-action:none;background:#285b43}#status{min-height:26px;color:#99432e}#scores{font-size:20px;font-weight:700}#names{display:flex;gap:20px;flex-wrap:wrap}#result{font-weight:700}#invite{font-size:12px}button[hidden],label[hidden],section[hidden],div[hidden]{display:none}button:focus-visible,a:focus-visible,input:focus,select:focus{outline:3px solid #c49742;outline-offset:3px}#power{width:160px}#history{font-size:13px}#instructions{font-weight:700}
#match>.actions{position:sticky;bottom:0;z-index:5;padding:12px 8px;background:#fffdf7f5;border:1px solid #c7b783;border-radius:16px;box-shadow:0 -5px 18px #193b3210}#names span{background:#e8efdf;padding:5px 10px;border-radius:999px}#board{display:block;max-height:58dvh;object-fit:contain}#instructions{background:#e4ecda;border-radius:12px;padding:10px}canvas:focus-visible{outline:3px solid #c49742;outline-offset:2px}@media(max-width:480px){main{padding:14px 10px 24px}.panel{padding:16px}#match>.panel{padding:12px;margin-bottom:10px}#turn{font-size:18px;margin:8px 0}#scores{font-size:16px}#result{font-size:13px}#instructions{font-size:13px}#match>.actions{gap:8px}#power{width:120px}}
#board{max-height:none;object-fit:fill}

.play-guide{padding:14px 16px;border:1px solid #c7b783;border-radius:12px;margin-top:16px;background:#f5f6eb}.play-guide summary{cursor:pointer;font-weight:700}.play-guide ol{padding-left:22px}.play-guide li{margin:8px 0}#game-membership{font-weight:700;font-size:14px}
