:root{--bg: #140f0c;--board: #e7cfa0;--board2: #ddc189;--line: #6e4d22;--p0: #b5402f;--p1: #1f6f86;--gold: #e0a83a;--turq: #2aa39a;--panel: #221a12;--ink: #f1e4c6}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:radial-gradient(circle at 50% -10%,#2a1f14,var(--bg));color:var(--ink);font-family:Segoe UI,system-ui,sans-serif;display:flex;flex-direction:column;align-items:center;min-height:100%;-webkit-user-select:none;user-select:none}h1{font-size:1.5rem;margin:.6rem 0 .04rem;letter-spacing:.04em}h1 .mx{color:var(--turq)}.sub{color:#b39a6c;font-size:.8rem;margin:0 0 .5rem}.bar{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;align-items:center;margin-bottom:.4rem}.bar label{font-size:.8rem;color:#c6b285;display:inline-flex;gap:.3rem;align-items:center}.bar select,.bar button{background:var(--panel);color:var(--ink);border:1px solid #4a3a1f;border-radius:8px;padding:.4rem .7rem;font-size:.85rem;cursor:pointer}.bar button:hover{border-color:var(--gold)}.bar button.primary{background:var(--gold);border-color:var(--gold);color:#2a2008;font-weight:700}.bar button:disabled{opacity:.4;cursor:default}.scores{display:flex;gap:1.4rem;margin:.2rem 0 .4rem;font-size:.9rem}.scores .s{display:inline-flex;gap:.4rem;align-items:center}.dot{width:.8rem;height:.8rem;border-radius:50%;display:inline-block}.dot.p0{background:var(--p0)}.dot.p1{background:var(--p1)}.scores .tok{color:var(--gold)}.scores .active{font-weight:800;text-shadow:0 0 10px var(--gold)}canvas{background:var(--board);border-radius:10px;box-shadow:0 12px 30px #0009;touch-action:manipulation;display:block;margin-inline:auto}#cast{margin:.5rem 0 .2rem;display:flex;flex-direction:column;align-items:center;gap:.35rem}.beans{display:flex;gap:.3rem}.bean{width:22px;height:14px;border-radius:7px;border:1px solid #3a2c14;position:relative;background:linear-gradient(180deg,#3a2c16,#241a0e)}.bean.up:after{content:"";position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#e7cfa0}.throwline{font-size:.95rem;min-height:1.3rem}.throwline b{color:var(--gold)}#msg{min-height:1.4rem;font-size:.95rem;margin:.3rem 0;text-align:center}#msg .win{color:var(--gold);font-weight:800}.foot{font-size:.72rem;color:#8a7448;margin:.5rem 1rem 1.3rem;max-width:560px;text-align:center;line-height:1.55}.o-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#000a;z-index:50}.o-overlay.hidden{display:none}.o-overlay .card{background:var(--panel, #2a2018);border:1px solid #4a3a1f;border-radius:12px;padding:1.4rem 1.6rem;max-width:320px;text-align:center;box-shadow:0 14px 40px #000b}.o-overlay .card h2{margin:0 0 .4rem;color:var(--gold, #e0a83a)}.o-overlay .card p{margin:.3rem 0 .8rem;font-size:.9rem}.o-overlay .ocol{display:flex;flex-direction:column;gap:8px;align-items:stretch}.o-overlay .orow{display:flex;gap:6px}.o-overlay .orow input{flex:1;text-transform:uppercase;background:#1a140d;color:var(--ink, #eee);border:1px solid #4a3a1f;border-radius:8px;padding:.4rem .6rem}.o-overlay .card .primary{background:var(--gold, #e0a83a);border:1px solid var(--gold, #e0a83a);color:#2a2008;font-weight:700;border-radius:8px;padding:.5rem .8rem;cursor:pointer}
