.gb{--bg1:#16407a;--bg2:#08142b;--accent:#ffd23f}
.gb-menu h2{margin:.2em 0}
.gb-menu p{color:var(--mute)}
.gb-note{font-size:14px}
.gb-size{display:flex;align-items:center;gap:8px;color:var(--mute);font-weight:700}
.gb-size select{font:inherit;padding:10px;border-radius:10px;background:#0b1d3a;color:#fff;border:1px solid var(--card-br);min-height:44px}
.gb-bar{height:8px;background:rgba(255,255,255,.12);border-radius:8px;overflow:hidden;margin-bottom:8px}
.gb-bar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#34d399,#ffd23f 60%,#f87171);transform-origin:left;transition:transform .25s linear}
.gb-current{height:44px;font-size:30px;font-weight:900;letter-spacing:4px;text-align:center;text-transform:uppercase;color:var(--accent);text-shadow:0 2px 12px rgba(255,210,63,.45)}
.gb-current.ok{color:#34d399}.gb-current.no{color:#f87171;animation:gbshake .3s}
@keyframes gbshake{25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}
.gb-board-wrap{position:relative;max-width:420px;margin:0 auto;touch-action:none;user-select:none;-webkit-user-select:none}
.gb-board{display:grid;gap:8px;padding:12px;border-radius:22px;background:linear-gradient(160deg,#0e2a55,#091a38);box-shadow:inset 0 2px 8px rgba(0,0,0,.5),0 12px 30px rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.18)}
.gb-tile{position:relative;aspect-ratio:1;border:0;border-radius:16px;font:900 clamp(26px,9vw,44px)/1 system-ui,Arial,sans-serif;color:#1c2b4a;text-transform:uppercase;cursor:pointer;background:linear-gradient(160deg,#fffdf4,#e6dcc2 70%,#cdbf9b);box-shadow:0 5px 0 #8f8261,0 8px 14px rgba(0,0,0,.4),inset 0 2px 0 rgba(255,255,255,.9);transition:transform .08s,box-shadow .08s,background .15s}
.gb-tile:active{transform:translateY(3px)}
.gb-tile.on{transform:translateY(4px) scale(.96);background:linear-gradient(160deg,#ffe98a,#ffd23f 70%,#e0a800);box-shadow:0 1px 0 #8f6b00,0 3px 8px rgba(255,210,63,.55),inset 0 2px 0 rgba(255,255,255,.7)}
.gb-tile.gold:not(.on){background:linear-gradient(160deg,#fff3b0,#ffc83d 55%,#ff9a1f);color:#5a2f00}
.gb-tile.gold::after{content:"";position:absolute;inset:0;border-radius:16px;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.75) 50%,transparent 65%);background-size:250% 100%;animation:gbshine 2.6s infinite;pointer-events:none}
@keyframes gbshine{0%{background-position:150% 0}60%,100%{background-position:-50% 0}}
.gb-tile.drop{animation:gbdrop .45s cubic-bezier(.2,1.4,.4,1) backwards}
@keyframes gbdrop{from{transform:translateY(-40px) rotate(-6deg);opacity:0}}
.gb-trail{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.gb-trail polyline{fill:none;stroke:rgba(255,210,63,.75);stroke-width:12;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 6px rgba(255,210,63,.9))}
.gb-pops{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.gb-pop{position:absolute;left:50%;top:40%;font-weight:900;font-size:28px;color:#fff;text-shadow:0 2px 10px #000;animation:gbpop 1s ease-out forwards;white-space:nowrap}
@keyframes gbpop{from{transform:translate(-50%,0) scale(.6);opacity:1}to{transform:translate(-50%,-80px) scale(1.2);opacity:0}}
.gb-type{display:flex;gap:8px;margin:14px auto 8px;max-width:420px}
.gb-type input{flex:1;min-width:0;font:inherit;font-size:18px;padding:10px 12px;border-radius:12px;border:1px solid var(--card-br);background:rgba(0,0,0,.35);color:#fff;min-height:44px}
.gb-found{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0;min-height:30px}
.gb-found span{padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.12);font-weight:700;font-size:14px;text-transform:uppercase}
.gb-found span.big{background:var(--accent);color:#1f2937}
.gb-res-list{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0 10px}
.gb-res-list span{padding:3px 9px;border-radius:999px;background:rgba(255,255,255,.12);font-size:13px;font-weight:700;text-transform:uppercase}
.gb-res-list span.miss{background:rgba(248,113,113,.18);color:#fecaca}
.gb-big{font-size:42px;font-weight:900;color:var(--accent);margin:4px 0}
