:root{
  --bg:#2c1810;--panel:#3d2418;--line:#6b4423;--txt:#fff8e7;
  --muted:#d4a574;--acc:#ffc107;--acc2:#ff9800;--gold:#ffd54f;--prest:#ce93d8;
  font-family:system-ui,sans-serif
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%;overflow:hidden;background:var(--bg);color:var(--txt)}
#game{display:grid;grid-template-rows:auto 1fr;grid-template-columns:1fr min(300px,34vw);height:100dvh}
#top{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;align-items:center;padding:.7rem 1rem;background:linear-gradient(180deg,#1a0f08,#241408);border-bottom:2px solid var(--line)}
.stat small{display:block;font-size:.65rem;color:var(--muted);text-transform:uppercase}
.stat b{font-size:1.2rem;color:var(--gold);text-shadow:0 1px 2px rgba(0,0,0,.4);transition:color .15s}
.stat b.combo-hot{color:#ff7043}
.user{margin-left:auto;display:flex;align-items:center;gap:.6rem;font-size:.85rem;color:var(--muted)}
#btn-out,#btn-daily{background:transparent;border:1px solid var(--line);color:var(--muted);border-radius:6px;padding:.35rem .6rem;cursor:pointer;font:inherit}
#btn-daily{border-color:var(--gold);color:var(--gold);font-size:1rem;padding:.3rem .45rem}
#btn-daily.claimed{opacity:.45}
#main{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;background:radial-gradient(circle at 50% 40%,#5c3a1e 0%,var(--bg) 65%)}
#buff-bar,#combo-bar{position:absolute;top:.75rem;left:50%;transform:translateX(-50%);padding:.35rem 1rem;border-radius:999px;font-weight:700;font-size:.82rem;z-index:5;white-space:nowrap}
#buff-bar{background:linear-gradient(90deg,#ff6f00,#ffc107);color:#3e2000;box-shadow:0 4px 20px rgba(255,193,7,.4)}
#combo-bar{top:2.6rem;background:linear-gradient(90deg,#d84315,#ff7043);color:#fff;box-shadow:0 4px 16px rgba(255,87,34,.35)}
.bar-track{height:6px;background:#1a0f08;border-radius:99px;overflow:hidden;margin:.4rem 0;border:1px solid var(--line)}
.bar-fill{height:100%;background:linear-gradient(90deg,var(--prest),#ffc107);width:0;transition:width .4s ease;border-radius:99px}
#cookie-zone{position:relative;width:min(46vw,300px);height:min(46vw,300px);display:grid;place-items:center}
#cookie{width:100%;height:100%;border:0;border-radius:50%;cursor:pointer;
  background:radial-gradient(circle at 35% 30%,#fff9c4,#ffc107 35%,#ff9800 70%,#e65100 100%);
  box-shadow:0 14px 40px rgba(0,0,0,.45),0 0 60px rgba(255,193,7,.25),inset 0 -10px 24px rgba(120,60,0,.35);
  transition:transform .08s ease;outline:none;-webkit-tap-highlight-color:transparent}
#cookie.buffed{box-shadow:0 14px 40px rgba(0,0,0,.45),0 0 80px rgba(255,215,0,.6),inset 0 -10px 24px rgba(120,60,0,.35)}
#cookie:active{transform:scale(.9)}
#cookie .chip{font-size:min(20vw,6.5rem);pointer-events:none;filter:drop-shadow(0 3px 6px rgba(0,0,0,.35))}
#golden{position:absolute;width:56px;height:56px;border-radius:50%;border:2px solid #fff9c4;cursor:pointer;z-index:4;
  background:radial-gradient(circle,#fff176,#ffc107,#ff8f00);box-shadow:0 0 24px rgba(255,215,0,.8);
  font-size:1.4rem;animation:golden-float 2s ease-in-out infinite;display:grid;place-items:center}
#golden.type-frenzy{background:radial-gradient(circle,#ffab91,#ff5722);box-shadow:0 0 28px rgba(255,87,34,.85)}
#golden.type-lucky{background:radial-gradient(circle,#c8e6c9,#4caf50);box-shadow:0 0 28px rgba(76,175,80,.85)}
#golden.type-click{background:radial-gradient(circle,#b3e5fc,#0288d1);box-shadow:0 0 28px rgba(2,136,209,.85)}
#golden.type-rain{background:radial-gradient(circle,#fff176,#ffc107,#ff8f00);box-shadow:0 0 28px rgba(255,215,0,.85)}
#golden.type-chain{background:radial-gradient(circle,#e1bee7,#7b1fa2);box-shadow:0 0 28px rgba(123,31,162,.85)}
@keyframes golden-float{50%{transform:translateY(-8px)}}
#floats{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:2}
.float{position:absolute;font-weight:800;font-size:1.15rem;white-space:nowrap;transform:translate(-50%,-50%);
  animation:float-up .95s ease-out forwards;text-shadow:0 2px 6px rgba(0,0,0,.6)}
.float.click{color:var(--gold)}.float.auto{color:#90caf9;font-size:.95rem}.float.lucky{color:#69f0ae}.float.combo{color:#ff7043}.float.big{font-size:1.45rem}
@keyframes float-up{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}100%{opacity:0;transform:translate(calc(-50% + var(--dx,0px)),calc(-50% + var(--dy,-60px))) scale(.8)}}
.stat b.pop{animation:pop .3s ease}
@keyframes pop{50%{transform:scale(1.15);color:#fff}}
#hint{position:absolute;bottom:1rem;color:var(--muted);font-size:.8rem;opacity:.75}
#toasts{position:absolute;bottom:3rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:.4rem;z-index:6;pointer-events:none}
.toast{background:#1a0f08;border:1px solid var(--gold);color:var(--gold);padding:.45rem .8rem;border-radius:8px;font-size:.78rem;animation:toast-in .3s ease,toast-out .3s ease 3.7s forwards;white-space:nowrap}
.toast.ach{border-color:#66bb6a;color:#a5d6a7}
@keyframes toast-in{from{opacity:0;transform:translateY(10px)}}@keyframes toast-out{to{opacity:0;transform:translateY(-6px)}}
#shop{background:var(--panel);border-left:2px solid var(--line);display:flex;flex-direction:column;overflow:hidden}
.shop-tabs{display:flex;border-bottom:1px solid var(--line);background:#2c1810;flex-shrink:0}
.shop-tab{flex:1;border:0;background:transparent;color:var(--muted);padding:.55rem .15rem;cursor:pointer;font-size:1rem;line-height:1}
.shop-tab.on{background:var(--panel);color:var(--gold);box-shadow:inset 0 -2px 0 var(--gold)}
.bulk-bar{display:flex;align-items:center;gap:.35rem;padding:.4rem .65rem;background:#2c1810;border-bottom:1px solid var(--line);font-size:.72rem;color:var(--muted);flex-shrink:0}
.bulk{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:5px;padding:.22rem .5rem;cursor:pointer;font:inherit;font-size:.72rem}
.bulk.on{background:var(--gold);color:#3e2000;border-color:var(--gold);font-weight:700}
.bulk-bar.hidden{display:none}
.shop-panel{display:none;overflow:auto;padding:.75rem;flex:1}
.shop-panel.on{display:block}
#shop h2{font-size:.72rem;text-transform:uppercase;color:var(--muted);margin:.5rem 0 .35rem;letter-spacing:.05em;display:flex;align-items:center;gap:.35rem}
.badge{background:var(--gold);color:#3e2000;border-radius:99px;padding:.05rem .4rem;font-size:.62rem;font-weight:700}
.list{display:grid;gap:.35rem;margin-bottom:.75rem}
.item{display:grid;grid-template-columns:1fr auto;gap:.25rem .5rem;align-items:center;background:#2c1810;border:1px solid var(--line);border-radius:8px;padding:.5rem;font-size:.78rem;cursor:pointer;transition:opacity .15s,border-color .15s}
.item:hover:not(.off):not(.owned):not(.done){border-color:var(--gold)}
.item.just-unlocked{animation:unlock-pop .3s ease}
@keyframes unlock-pop{40%{border-color:var(--gold);transform:scale(1.02)}}
.item.off{opacity:.45;cursor:not-allowed}
.item.owned{opacity:.65;cursor:default;border-color:#2e7d32}
.item.done{border-color:#2e7d32;background:#1b2e1b;cursor:default}
.item b{color:var(--gold);font-size:.82rem}
.item small{color:var(--muted);grid-column:1/-1}
.item .buy,.item .tag{background:linear-gradient(180deg,var(--gold),var(--acc2));color:#3e2000;border:0;border-radius:6px;padding:.3rem .55rem;font-weight:700;font-size:.75rem;cursor:pointer;white-space:nowrap}
.item .tag{background:#2e7d32;color:#fff;cursor:default}
.item .tag.chip{background:linear-gradient(180deg,#ce93d8,#7b1fa2);color:#fff}
.prestige-box{background:#2c1810;border:1px solid var(--prest);border-radius:10px;padding:.7rem;margin-bottom:.75rem;text-align:center}
.prestige-box p{font-size:.78rem;margin-bottom:.4rem;line-height:1.4}
.prestige-box b{color:var(--prest)}
.btn-sm{display:inline-block;margin:.25rem .2rem .4rem;background:transparent;border:1px solid var(--gold);color:var(--gold);border-radius:6px;padding:.35rem .6rem;font:inherit;font-size:.75rem;cursor:pointer}
.btn-sm:disabled{opacity:.4;cursor:default}
.btn-prest{width:100%;background:linear-gradient(180deg,#ce93d8,#7b1fa2);color:#fff;border:0;border-radius:8px;padding:.6rem;font-weight:700;cursor:pointer;font:inherit;margin-top:.25rem}
.btn-prest:disabled{opacity:.4;cursor:not-allowed}
.stats-grid{display:grid;gap:.3rem;font-size:.72rem;margin-top:.25rem}
.stats-grid div{display:flex;justify-content:space-between;padding:.35rem .5rem;background:#2c1810;border-radius:6px;border:1px solid var(--line)}
.stats-grid span{color:var(--muted)}.stats-grid b{color:var(--gold)}
.board{padding-left:1.1rem;font-size:.72rem;color:var(--muted);line-height:1.5}
.modal{position:fixed;inset:0;display:grid;place-items:center;background:rgba(20,10,5,.88);z-index:20}
.modal.gone{display:none}
.box{background:var(--panel);border:2px solid var(--line);border-radius:14px;padding:1.3rem;width:min(92vw,360px);box-shadow:0 16px 48px rgba(0,0,0,.5)}
.box h1{font-size:1.25rem;margin-bottom:.35rem;text-align:center;color:var(--gold)}
.auth-sub{text-align:center;font-size:.82rem;color:var(--muted);margin-bottom:.8rem}
.tabs{display:flex;gap:0;margin-bottom:.75rem;padding:3px;background:#2c1810;border:1px solid var(--line);border-radius:8px}
.tab{flex:1;border:0;border-radius:6px;padding:.5rem;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:.85rem}
.tab.on{background:linear-gradient(180deg,var(--gold),var(--acc2));color:#3e2000;font-weight:700}
.auth-panels{min-height:9rem}
.auth-panel{display:none;grid;gap:.5rem}
.auth-panel.is-active{display:grid}
.auth-panel input{padding:.6rem;border-radius:8px;border:1px solid var(--line);background:#1a0f08;color:var(--txt);font:inherit}
.auth-panel button[type=submit]{background:linear-gradient(180deg,var(--gold),var(--acc2));color:#3e2000;border:0;border-radius:8px;padding:.65rem;font-weight:700;cursor:pointer;font:inherit}
.err{color:#ff7043;font-size:.82rem;margin-top:.5rem;text-align:center}
@media(max-width:700px){#game{grid-template-columns:1fr}#shop{max-height:40vh;border-left:0;border-top:2px solid var(--line)}}
