/* LexiBat — scoped styles for TombPlay overlay */
/* Fonts (Cinzel, Crimson Text, Bangers) are self-hosted in fonts.css */
.lb-overlay {
  display: none;
  position: fixed;
  top: calc(var(--sait, 0px) + 48px);
  left: 0;
  right: 0;
  bottom: calc(50px + var(--saib, 0px));
  z-index: 10000;
  overflow: auto;
  background: radial-gradient(ellipse at 50% 0%, #3d1a00, #1a0800 55%, #0d0400);
  font-family: "Crimson Text", Georgia, serif;
  color: #fde68a;
  user-select: none;
  -webkit-user-select: none;
}
.lb-overlay-visible { display: block !important; }
.lb-overlay * { box-sizing: border-box; margin: 0; padding: 0; }

.lb-overlay .screen{display:none}
.lb-overlay .screen.active{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:16px}
/* MENU */
.lb-overlay #lb-screen-menu{background:radial-gradient(ellipse at 50% 30%,#4a1a00,#1a0800 65%);flex-direction:row;align-items:stretch;justify-content:center;padding:0;gap:0}
.lb-overlay .menu-left{flex:1;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding:24px 0;border-right:1px solid #3d1a00}
.lb-overlay .menu-right{flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:24px 0 24px 28px;gap:10px}
.lb-overlay .menu-content{width:300px;display:flex;flex-direction:column;align-items:center;gap:8px;margin-right:28px}
.lb-overlay .menu-brand{display:inline-flex;flex-direction:column;align-items:stretch;gap:0;animation:lb-flt 3s ease-in-out infinite;position:relative}
@keyframes lb-flt{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes lb-iFlicker{0%{opacity:.7;transform:scaleX(1) scaleY(1)}33%{opacity:1;transform:scaleX(1.08) scaleY(1.12)}66%{opacity:.85;transform:scaleX(.95) scaleY(1.05)}100%{opacity:.6;transform:scaleX(1.04) scaleY(.97)}}
.lb-overlay .menu-logo{display:block;margin-bottom:0;line-height:0}
.lb-overlay .menu-logo img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;border-radius:12px;filter:drop-shadow(0 0 24px rgba(251,191,36,.55));display:block}
.lb-overlay .menu-title{font-family:'Cinzel',serif;font-weight:900;font-size:clamp(36px,9vw,64px);color:#fcd34d;text-shadow:0 0 20px rgba(251,191,36,.8),0 0 40px rgba(251,191,36,.5),0 4px 8px rgba(0,0,0,.9);letter-spacing:.08em;line-height:1;white-space:nowrap;position:absolute;bottom:8%;left:50%;transform:translateX(-50%)}
.lb-overlay .menu-sub{font-size:clamp(13px,3.5vw,18px);color:#d97706;font-style:italic;text-align:center;width:100%}
.lb-overlay .menu-desc{color:#c07840;font-size:clamp(14px,2.8vw,16px);width:100%;line-height:1.6;text-align:center;margin-top:6px}
.lb-overlay .mode-best{font-family:'Cinzel',serif;color:#fbbf24;font-size:13px;display:flex;align-items:center;gap:4px;white-space:nowrap;padding:2px 0;opacity:.9}
.lb-overlay .btn-play{font-family:'Cinzel',serif;font-weight:700;font-size:clamp(15px,4vw,20px);color:#3d1a00;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:12px;padding:13px 46px;cursor:pointer;letter-spacing:.1em;box-shadow:0 6px 0 #78350f,0 8px 20px rgba(0,0,0,.5);transition:transform .1s,box-shadow .1s}
.lb-overlay .btn-play:hover{transform:translateY(-2px);box-shadow:0 8px 0 #78350f,0 10px 24px rgba(0,0,0,.6)}
.lb-overlay .btn-play:active{transform:translateY(2px);box-shadow:0 2px 0 #78350f}
.lb-overlay .mode-btn{font-family:'Cinzel',serif;font-weight:700;font-size:15px;letter-spacing:.06em;border:none;border-radius:10px;padding:10px 16px;cursor:pointer;transition:transform .1s,box-shadow .1s,opacity .1s;text-align:left;width:240px;display:flex;align-items:center;gap:10px;position:relative;overflow:hidden}
.lb-overlay .mode-btn:not(.locked):hover{transform:translateY(-2px)}
.lb-overlay .mode-btn:not(.locked):active{transform:translateY(1px)}
.lb-overlay .mode-btn.locked{opacity:.45;cursor:not-allowed;filter:grayscale(.4)}
.lb-overlay .mode-scholar{background:linear-gradient(135deg,#f59e0b,#d97706);color:#1a0800;box-shadow:0 5px 0 #78350f,0 6px 18px rgba(0,0,0,.5)}
.lb-overlay .mode-blitz{background:linear-gradient(135deg,#0a0a1a,#1a0040);color:#00ffff;box-shadow:0 5px 0 #000,0 6px 18px rgba(0,200,255,.35);border:1px solid #00ccff55;font-family:'Bangers',cursive;font-size:18px;letter-spacing:.12em;text-shadow:0 0 8px #00ffff,0 0 20px #0088ff}
.lb-overlay .mode-blitz::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(0,255,255,.04) 4px,rgba(0,255,255,.04) 8px);pointer-events:none}
.lb-overlay .mode-blitz:not(.locked):hover{box-shadow:0 5px 0 #000,0 0 24px rgba(0,220,255,.7),0 0 48px rgba(0,100,255,.4)}
.lb-overlay .mode-endless{background:linear-gradient(135deg,#064e3b,#065f46);color:#a7f3d0;box-shadow:0 5px 0 #022c22}
.lb-overlay .mode-exam{background:linear-gradient(135deg,#450a0a,#7f1d1d);color:#fca5a5;box-shadow:0 5px 0 #1c0505}
.lb-overlay .mode-headmaster{background:linear-gradient(135deg,#312e81,#4338ca);color:#c7d2fe;box-shadow:0 5px 0 #1e1b4b}
.lb-overlay .mode-night{background:linear-gradient(135deg,#0f172a,#1e293b);color:#94a3b8;box-shadow:0 5px 0 #020617;border:1px solid #334155}
.lb-overlay .mode-icon{font-size:20px;flex-shrink:0;width:24px;text-align:center}
.lb-overlay .mode-info{display:flex;flex-direction:column;gap:1px;flex:1}
.lb-overlay .mode-name{font-weight:700;line-height:1.1}
.lb-overlay .mode-sub{font-size:11px;opacity:.75;font-family:'Crimson Text',serif;font-weight:400;letter-spacing:.02em}
.lb-overlay .mode-blitz .mode-sub{font-family:'Bangers',cursive!important;font-size:14px;letter-spacing:.12em;opacity:.9;text-shadow:0 0 6px #00ffff88}
.lb-overlay .lock-icon{margin-left:auto;font-size:14px;opacity:.6;flex-shrink:0}
.lb-overlay .mode-duel{background:linear-gradient(135deg,#1a0030,#2d0050);color:#e879f9;box-shadow:0 5px 0 #0d0018,0 6px 18px rgba(200,0,255,.3);border:1px solid #a855f755;position:relative}
.lb-overlay .mode-duel::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent,transparent 6px,rgba(168,85,247,.04) 6px,rgba(168,85,247,.04) 12px);pointer-events:none}
.lb-overlay .mode-duel:not(.locked):hover{box-shadow:0 5px 0 #0d0018,0 0 20px rgba(232,121,249,.6),0 0 40px rgba(168,85,247,.3)}
.lb-overlay .vs-badge{font-family:'Bangers',cursive;font-size:22px;letter-spacing:.08em;color:#f0abfc;text-shadow:0 0 10px #e879f9,0 0 24px #a855f7;flex-shrink:0;width:32px;text-align:center;line-height:1}
.lb-overlay .mode-duel .mode-name{font-family:'Cinzel',serif}
.lb-overlay .mode-duel .mode-sub{color:#d946ef;opacity:.9}
.lb-overlay .duel-divider{width:240px;display:flex;align-items:center;gap:8px;margin:2px 0}
.lb-overlay .duel-divider::before, .lb-overlay .duel-divider::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,#5c2a00)}
.lb-overlay .duel-divider::after{background:linear-gradient(90deg,#5c2a00,transparent)}
.lb-overlay .duel-divider span{font-size:10px;color:#78350f;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.lb-overlay .mode-blitz .mode-name{font-family:'Bangers',cursive!important;font-size:19px;letter-spacing:.14em}
@keyframes lb-zap{0%,100%{text-shadow:0 0 8px #00ffff,0 0 20px #0088ff}50%{text-shadow:0 0 16px #ffffff,0 0 32px #00ffff,0 0 48px #0044ff}}
.lb-overlay .mode-blitz:not(.locked) .mode-name{animation:lb-zap 1.8s ease-in-out infinite}
.lb-overlay .legend{display:flex;flex-direction:column;gap:7px;background:rgba(0,0,0,.35);border:1px solid #78350f;border-radius:12px;padding:10px 14px;max-width:300px;width:100%}
.lb-overlay .leg-row{display:flex;align-items:center;gap:10px;font-size:13px;color:#b07840}
.lb-overlay .leg-chip{font-family:'Cinzel',serif;font-weight:700;border-radius:6px;padding:2px 9px;font-size:11px;min-width:42px;text-align:center;flex-shrink:0}
/* GAME */
.lb-overlay #lb-screen-game{justify-content:flex-start;padding:0;min-height:100%;align-items:stretch}
.lb-overlay .game-outer{display:flex;width:100%;max-width:1160px;min-height:100%;margin:0 auto}
/* SIDEBAR */
.lb-overlay .sidebar{width:240px;flex-shrink:0;display:flex;flex-direction:column;background:linear-gradient(180deg,#2d1200,#1a0800);border-right:3px solid #5c2a00;padding:9px 10px;gap:7px;overflow-y:auto}
.lb-overlay .sb-brand{font-family:'Cinzel',serif;font-weight:900;font-size:34px;color:#f59e0b;text-align:center;letter-spacing:.08em;text-shadow:0 0 12px rgba(245,158,11,.5);padding:0 0 3px;border-bottom:2px solid #3d1a00;line-height:1}
.lb-overlay .grid-hint-bar{width:100%;max-width:600px;background:rgba(0,0,0,.45);border:1px solid #5c2a00;border-radius:8px;padding:7px 14px;font-size:clamp(24px,2.8vw,28px);color:#e0a060;text-align:center;letter-spacing:.04em;margin-bottom:8px;flex-shrink:0}
.lb-overlay .stat{background:rgba(0,0,0,.4);border:1px solid #3d1a00;border-radius:7px;padding:5px 8px;text-align:center}
.lb-overlay .stat-lbl{font-size:18px;letter-spacing:.12em;color:#c8844a;text-transform:uppercase}
.lb-overlay .stat-val{font-family:'Cinzel',serif;font-weight:900;font-size:44px;color:#fcd34d;line-height:1.1}
.lb-overlay .stat-val.sm{font-size:32px}
.lb-overlay .word-panel{background:rgba(0,0,0,.45);border:2px solid #3d1a00;border-radius:7px;padding:8px 9px;flex:1;display:flex;flex-direction:column;gap:4px;min-height:90px}
.lb-overlay .wp-lbl{font-size:18px;letter-spacing:.12em;color:#c8844a;text-transform:uppercase}
.lb-overlay .word-cur{font-family:'Cinzel',serif;font-weight:900;font-size:clamp(26px,3.6vw,38px);color:#fde68a;letter-spacing:.15em;min-height:22px;word-break:break-all;line-height:1.2}
.lb-overlay .word-cur.ok{color:#4ade80;text-shadow:0 0 10px rgba(74,222,128,.4)}
.lb-overlay .word-cur.bad{color:#f87171}
.lb-overlay .word-tag{font-size:clamp(13px,1.5vw,14px);min-height:13px}
.lb-overlay .word-tag.ok{color:#4ade80}
.lb-overlay .word-tag.bad{color:#f87171}
.lb-overlay .word-def{font-size:15px;color:#d4aa70;font-style:italic;line-height:1.35;flex:1;overflow:hidden;min-height:0}
.lb-overlay .word-hint{font-size:clamp(26px,3vw,30px);color:#c8844a;line-height:1.4}
.lb-overlay .flash-area{min-height:22px;display:flex;align-items:center;justify-content:center}
.lb-overlay .score-flash{background:#15803d;color:#d1fae5;border-radius:20px;padding:3px 13px;font-family:'Cinzel',serif;font-weight:700;font-size:24px;letter-spacing:.05em;animation:lb-flin 2.2s ease forwards;box-shadow:0 2px 10px rgba(21,128,61,.6)}
@keyframes lb-flin{0%{opacity:0;transform:translateY(-8px) scale(.9)}15%{opacity:1;transform:translateY(0) scale(1.05)}75%{opacity:1;transform:scale(1)}100%{opacity:0;transform:translateY(-6px) scale(.95)}}
.lb-overlay .sb-btns{display:none}
.lb-overlay .grid-btns{display:flex;gap:8px;margin-top:10px;width:100%;max-width:600px}
.lb-overlay .grid-btns .btn-a{flex:1;font-size:28px;padding:10px 8px}
.lb-overlay .btn-a{font-family:'Cinzel',serif;font-weight:700;font-size:24px;letter-spacing:.06em;border:none;border-radius:7px;padding:8px 6px;cursor:pointer;transition:transform .08s,opacity .1s}
.lb-overlay .btn-a:disabled{opacity:.3;cursor:default}
.lb-overlay .btn-a:not(:disabled):hover{transform:translateY(-1px)}
.lb-overlay .btn-a:not(:disabled):active{transform:translateY(1px)}
.lb-overlay .btn-sub{background:linear-gradient(135deg,#15803d,#166534);color:#d1fae5;box-shadow:0 4px 0 #052e16}
.lb-overlay .btn-clr{background:linear-gradient(135deg,#7c3a00,#5c2a00);color:#fde68a;box-shadow:0 4px 0 #2d1200}
.lb-overlay .btn-shuf{background:linear-gradient(135deg,#1d4ed8,#1e40af);color:#bfdbfe;box-shadow:0 4px 0 #1e3a5f}
.lb-overlay .btn-shuf:not(:disabled):hover{filter:brightness(1.15)}
@keyframes lb-shufSpin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
.lb-overlay .btn-shuf.shuffling .shuf-icon{display:inline-block;animation:lb-shufSpin .4s linear}
.lb-overlay .longest{background:rgba(0,0,0,.4);border:1px solid #3d1a00;border-radius:7px;padding:6px 8px}
.lb-overlay .longest-lbl{font-size:18px;letter-spacing:.1em;color:#c8844a;text-transform:uppercase;margin-bottom:2px}
.lb-overlay .longest-w{font-family:'Cinzel',serif;font-weight:700;font-size:24px;color:#fbbf24;letter-spacing:.1em;word-break:break-all;min-height:15px}
.lb-overlay .longest-p{font-size:20px;color:#c8844a}
.lb-overlay .hint-ln{display:flex;flex-direction:column;gap:5px;margin-top:4px}
.lb-overlay .hint-row{display:flex;align-items:center;gap:7px;font-size:11px;color:#b07840}
.lb-overlay .hint-key{font-family:'Cinzel',serif;font-weight:700;font-size:10px;background:rgba(0,0,0,.5);border:1px solid #5c2a00;border-radius:4px;padding:2px 6px;color:#fcd34d;white-space:nowrap;flex-shrink:0}
.lb-overlay .hint-desc{color:#c8844a;font-size:11px}
/* ESCAPE POPUP */
.lb-overlay #lb-esc-overlay{display:none;position:absolute;inset:0;background:rgba(0,0,0,.72);z-index:999;align-items:center;justify-content:center}
.lb-overlay #lb-esc-overlay.active{display:flex}
.lb-overlay #lb-esc-popup{background:linear-gradient(160deg,#2d1200,#1a0800);border:3px solid #7c3a00;border-radius:16px;padding:32px 40px;display:flex;flex-direction:column;align-items:center;gap:18px;box-shadow:0 0 0 2px #3d1a00,0 12px 48px rgba(0,0,0,.9)}
.lb-overlay #lb-esc-popup h2{font-family:'Cinzel',serif;font-weight:900;font-size:28px;color:#fcd34d;text-shadow:0 0 12px rgba(251,191,36,.5);text-align:center;margin:0}
.lb-overlay #lb-esc-popup p{color:#c8844a;font-size:16px;text-align:center;margin:0}
.lb-overlay .esc-btns{display:flex;gap:14px}
.lb-overlay .esc-btn{font-family:'Cinzel',serif;font-weight:700;font-size:18px;letter-spacing:.08em;border:none;border-radius:10px;padding:11px 32px;cursor:pointer;transition:transform .1s,box-shadow .1s}
.lb-overlay .esc-btn:hover{transform:translateY(-2px)}
.lb-overlay .esc-btn:active{transform:translateY(1px)}
.lb-overlay .esc-yes{background:linear-gradient(135deg,#15803d,#166534);color:#d1fae5;box-shadow:0 4px 0 #052e16}
.lb-overlay .esc-no{background:linear-gradient(135deg,#7c3a00,#5c2a00);color:#fde68a;box-shadow:0 4px 0 #2d1200}
/* GRID AREA */
.lb-overlay .grid-area{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:8px 8px;min-width:0;overflow:hidden}
/* RIGHT PANEL */
.lb-overlay .right-panel{width:240px;flex-shrink:0;display:flex;flex-direction:column;background:linear-gradient(180deg,#2d1200,#1a0800);border-left:3px solid #5c2a00;padding:9px 10px;gap:7px;overflow-y:auto}
/* STAGGERED GRID — Bookworm style
   Columns are rendered absolutely positioned.
   Odd columns are offset DOWN by half a tile + half a gap.
   Odd columns have one FEWER row (so they don't overflow the grid height).
   Result: checkerboard / hex-like interlocking look.
*/
.lb-overlay .grid-shell{position:relative;background:linear-gradient(160deg,#1e0a00,#0d0400);border-radius:14px;border:4px solid #7c3a00;box-shadow:0 0 0 2px #3d1a00,0 8px 32px rgba(0,0,0,.9),inset 0 1px 0 rgba(245,158,11,.05);flex-shrink:0}
.lb-overlay .grid-stagger{position:relative}
/* connector SVG sits on top of grid-stagger, pointer-events none */
.lb-overlay .conn-svg{position:absolute;top:0;left:0;pointer-events:none;z-index:10;overflow:visible}
/* TILES */
.lb-overlay .tile{position:absolute;border-radius:7px;border:none;cursor:pointer;font-family:'Cinzel',serif;font-weight:900;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .07s ease,filter .07s;outline:none;-webkit-tap-highlight-color:transparent;box-shadow:inset 0 2px 0 rgba(255,255,255,.32),inset 0 -2px 0 rgba(0,0,0,.28),0 4px 0 var(--ts),0 5px 10px rgba(0,0,0,.55)}
.lb-overlay .tile:disabled{cursor:default}
.lb-overlay .tile:not(:disabled):not(.t-sel):hover{transform:translateY(-3px);filter:brightness(1.12)}
.lb-overlay .t-norm{background:radial-gradient(ellipse at 40% 35%,#ffffff,#f0ece0);color:#2a1400;--ts:#c8b89a;z-index:3}
.lb-overlay .t-sel{background:radial-gradient(ellipse at 40% 30%,#ffffff,#fef9e7);color:#1a0800;--ts:#a87000;transform:translateY(-4px) scale(1.07)!important;box-shadow:inset 0 2px 0 rgba(255,255,255,.9),inset 0 -2px 0 rgba(0,0,0,.1),0 0 0 2.5px #fcd34d,0 0 16px 4px rgba(251,191,36,.65),0 5px 0 #a87000!important;z-index:5}
/* ══ SELECTED BURNING TILE ══ */
.lb-overlay .t-sel.t-burning{background:radial-gradient(ellipse at 40% 30%,#fff4a0,#ffb830);color:#1a0800;--ts:#8a3000;transform:translateY(-4px) scale(1.07)!important;box-shadow:inset 0 2px 0 rgba(255,255,255,.5),inset 0 -2px 0 rgba(0,0,0,.15),0 0 0 2.5px #ffdd80,0 0 16px 4px rgba(255,140,0,.7),0 5px 0 #8a3000!important;animation:lb-bpulse .45s ease-in-out infinite alternate}
/* ══ BURNING TILE ══ */
.lb-overlay .t-burning{background:radial-gradient(ellipse at 50% 80%,#ffe066 0%,#ff8800 30%,#e63000 65%,#7a0000 100%);color:#fff;--ts:#4a0000;overflow:hidden;isolation:isolate;animation:lb-bpulse .55s ease-in-out infinite alternate;text-shadow:0 0 5px rgba(255,220,100,.8);z-index:4}
@keyframes lb-bpulse{
  from{box-shadow:inset 0 2px 8px rgba(255,240,100,.4),inset 0 -2px 6px rgba(180,0,0,.5),0 4px 0 #4a0000,0 0 8px 3px rgba(255,120,0,.9),0 0 16px 5px rgba(255,60,0,.6)}
  to{box-shadow:inset 0 2px 12px rgba(255,255,120,.6),inset 0 -2px 8px rgba(200,0,0,.6),0 4px 0 #5a0a00,0 0 12px 4px rgba(255,180,0,1),0 0 24px 8px rgba(255,80,0,.75)}
}
/* inner fire glow - bottom half only so letter stays clear */
.lb-overlay .t-burning::before{content:'';position:absolute;left:0;right:0;bottom:0;height:55%;border-radius:0 0 inherit inherit;background:radial-gradient(ellipse 80% 60% at 30% 100%,rgba(255,220,0,.55) 0%,transparent 70%),radial-gradient(ellipse 70% 70% at 75% 100%,rgba(255,140,0,.45) 0%,transparent 65%),radial-gradient(ellipse 100% 50% at 50% 100%,rgba(255,80,0,.35) 0%,transparent 60%);animation:lb-innerFire .5s ease-in-out infinite alternate;pointer-events:none;z-index:1;mix-blend-mode:screen}
@keyframes lb-innerFire{0%{opacity:.7;transform:scaleX(1)}50%{opacity:1;transform:scaleX(1.03)}100%{opacity:.75;transform:scaleX(.98)}}
/* flame glow inside tile top */
.lb-overlay .t-burning::after{content:'';position:absolute;left:0;right:0;top:0;bottom:0;background:radial-gradient(ellipse 70% 50% at 30% 10%,rgba(255,220,80,.35) 0%,transparent 70%),radial-gradient(ellipse 60% 40% at 70% 5%,rgba(255,160,0,.3) 0%,transparent 65%);animation:lb-flameTongues .4s ease-in-out infinite alternate;pointer-events:none;z-index:2}
@keyframes lb-flameTongues{0%{opacity:.7}50%{opacity:1}100%{opacity:.75}}
/* ember sparks — clipped inside tile */
.lb-overlay .fire-spark{position:absolute;border-radius:50%;pointer-events:none;z-index:3;animation:lb-sparkRise var(--sd,.55s) ease-out var(--sd2,0s) infinite}
@keyframes lb-sparkRise{0%{transform:translate(var(--sx,0px),0px) scale(var(--ss,1));opacity:1}30%{opacity:1}75%{opacity:.6}100%{transform:translate(calc(var(--sx,0px) + var(--dx,0px)),var(--dy,-20px)) scale(.15);opacity:0}}
/* heat shimmer — contained within tile */
.lb-overlay .fire-heat{position:absolute;left:0;right:0;bottom:0;top:0;border-radius:8px;background:radial-gradient(ellipse 90% 60% at 50% 100%,rgba(255,140,0,.15) 0%,transparent 70%);animation:lb-heatPulse .6s ease-in-out infinite alternate;pointer-events:none;z-index:0}
@keyframes lb-heatPulse{from{opacity:.5;transform:scaleX(1)}to{opacity:1;transform:scaleX(1.04)}}
.lb-overlay .t-green{background:radial-gradient(ellipse at 40% 35%,#4ade80,#15803d);color:#f0fdf4;--ts:#14532d;z-index:3}
.lb-overlay .t-gold{background:radial-gradient(ellipse at 40% 35%,#fbbf24,#b45309);color:#fef3c7;--ts:#78350f;z-index:3}
.lb-overlay .t-diamond{background:radial-gradient(ellipse at 40% 35%,#60a5fa,#1d4ed8);color:#dbeafe;--ts:#1e3a5f;z-index:3}
.lb-overlay .t-cursed{background:radial-gradient(ellipse at 40% 35%,#a78bfa,#6d28d9);color:#ede9fe;--ts:#3b0764;z-index:3}
/* ══ GRASS TILE ══ */
.lb-overlay .t-grass{
  background:
    radial-gradient(ellipse at 30% 25%,rgba(187,247,208,.7) 0%,transparent 50%),
    radial-gradient(ellipse at 70% 70%,rgba(5,46,22,.5) 0%,transparent 50%),
    linear-gradient(160deg,#22c55e 0%,#16a34a 40%,#15803d 70%,#166534 100%);
  color:#052e16;--ts:#14532d;z-index:3;overflow:hidden;
  box-shadow:inset 0 2px 0 rgba(187,247,208,.5),inset 0 -2px 0 rgba(5,46,22,.45),0 4px 0 var(--ts),0 5px 10px rgba(0,0,0,.55);
  cursor:default!important;
}
/* vine & leaf texture */
.lb-overlay .t-grass::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:2;
  background:
    radial-gradient(circle at 20% 30%,rgba(74,222,128,.35) 0%,transparent 35%),
    radial-gradient(circle at 75% 60%,rgba(34,197,94,.3) 0%,transparent 30%),
    radial-gradient(circle at 50% 85%,rgba(22,163,74,.4) 0%,transparent 40%);
}
/* leaf/vine emoji overlay */
.lb-overlay .t-grass::after{
  content:'🌿';position:absolute;font-size:.8em;top:50%;left:50%;transform:translate(-50%,-50%);
  pointer-events:none;z-index:4;line-height:1;
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.4)) drop-shadow(0 0 4px rgba(74,222,128,.4));
  animation:lb-grassSway 3s ease-in-out infinite alternate;
}
@keyframes lb-grassSway{0%{transform:translate(-50%,-50%) rotate(-4deg) scale(1)}50%{transform:translate(-50%,-50%) rotate(4deg) scale(1.06)}100%{transform:translate(-50%,-50%) rotate(-2deg) scale(1)}}

/* ══ STONE TILE hp2 — intact ══ */
.lb-overlay .t-stone{
  background:
    radial-gradient(ellipse at 30% 25%,rgba(209,213,219,.6) 0%,transparent 45%),
    radial-gradient(ellipse at 70% 75%,rgba(31,41,55,.5) 0%,transparent 50%),
    linear-gradient(160deg,#9ca3af 0%,#6b7280 35%,#4b5563 65%,#374151 100%);
  color:#fff;--ts:#1f2937;z-index:3;overflow:hidden;
  box-shadow:inset 0 2px 0 rgba(209,213,219,.5),inset 0 -2px 0 rgba(31,41,55,.5),0 4px 0 var(--ts),0 5px 10px rgba(0,0,0,.55);
  cursor:default!important;
}
/* mortar lines — brick pattern */
.lb-overlay .t-stone::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:2;
  background:
    linear-gradient(0deg,transparent 45%,rgba(0,0,0,.12) 45%,rgba(0,0,0,.12) 55%,transparent 55%),
    linear-gradient(90deg,transparent 48%,rgba(0,0,0,.08) 48%,rgba(0,0,0,.08) 52%,transparent 52%);
  background-size:100% 50%,50% 100%;
}
/* highlight + rock emoji */
.lb-overlay .t-stone::after{
  content:'🪨';position:absolute;font-size:.75em;top:50%;left:50%;transform:translate(-50%,-50%);
  pointer-events:none;z-index:4;line-height:1;
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.5));
}

/* ══ STONE TILE hp1 — cracked ══ */
.lb-overlay .t-stone.t-stone1{
  background:
    radial-gradient(ellipse at 35% 30%,rgba(229,231,235,.5) 0%,transparent 40%),
    radial-gradient(ellipse at 65% 70%,rgba(55,65,81,.4) 0%,transparent 45%),
    linear-gradient(160deg,#d1d5db 0%,#9ca3af 30%,#6b7280 60%,#4b5563 100%);
  color:#fff;--ts:#374151;
  animation:lb-stoneCrumble .4s ease-out;
}
/* deep cracks */
.lb-overlay .t-stone.t-stone1::before{
  content:'';position:absolute;inset:0;pointer-events:none;z-index:3;
  background:
    linear-gradient(135deg,transparent 20%,rgba(0,0,0,.18) 20%,rgba(0,0,0,.18) 21%,transparent 21%,transparent 55%,rgba(0,0,0,.15) 55%,rgba(0,0,0,.15) 56%,transparent 56%),
    linear-gradient(-45deg,transparent 30%,rgba(0,0,0,.12) 30%,rgba(0,0,0,.12) 31%,transparent 31%,transparent 70%,rgba(0,0,0,.1) 70%,rgba(0,0,0,.1) 71%,transparent 71%),
    repeating-linear-gradient(-60deg,transparent,transparent 4px,rgba(0,0,0,.06) 4px,rgba(0,0,0,.06) 5px);
}
/* cracked emoji */
.lb-overlay .t-stone.t-stone1::after{
  content:'🪨';position:absolute;font-size:.75em;top:50%;left:50%;
  transform:translate(-50%,-55%) rotate(-12deg);
  pointer-events:none;z-index:4;line-height:1;
  opacity:.65;filter:sepia(.5) saturate(.4) drop-shadow(0 1px 2px rgba(0,0,0,.4));
}
@keyframes lb-stoneCrumble{0%{transform:translateX(-2px)}25%{transform:translateX(2px)}50%{transform:translateX(-1px)}75%{transform:translateX(1px)}100%{transform:translateX(0)}}
/* BLITZ CANDLE TIMER */
.lb-overlay .blitz-candle-wrap{display:flex;flex-direction:row;align-items:flex-end;justify-content:center;gap:12px;padding:8px 4px 4px}
.lb-overlay .blitz-candle-visual{display:flex;flex-direction:column;align-items:center;gap:0;position:relative}
.lb-overlay .candle-body{position:relative;width:36px;background:linear-gradient(180deg,#fde68a,#f59e0b);border-radius:4px 4px 0 0;transition:height .5s linear;min-height:6px;max-height:90px;box-shadow:inset -4px 0 8px rgba(0,0,0,.2),inset 4px 0 6px rgba(255,255,255,.15)}
.lb-overlay .candle-base{width:48px;height:10px;background:linear-gradient(180deg,#d97706,#78350f);border-radius:0 0 6px 6px;box-shadow:0 3px 6px rgba(0,0,0,.4)}
.lb-overlay .candle-wick{position:absolute;top:-14px;left:50%;transform:translateX(-50%);width:3px;height:14px;background:#3d1a00;border-radius:1px}
.lb-overlay .candle-drip{position:absolute;bottom:-6px;left:5px;width:8px;height:12px;background:#fcd34d;border-radius:0 0 60% 60%;opacity:.8;animation:lb-dripPulse 3s ease-in-out infinite}
.lb-overlay .candle-drip2{position:absolute;bottom:-4px;right:6px;width:6px;height:9px;background:#f59e0b;border-radius:0 0 60% 60%;opacity:.65;animation:lb-dripPulse 4.5s ease-in-out infinite}
@keyframes lb-dripPulse{0%,100%{height:9px;opacity:.7}50%{height:14px;opacity:1}}
.lb-overlay .candle-flame{position:absolute;top:-44px;left:50%;transform:translateX(-50%);pointer-events:none}
.lb-overlay .candle-flame-inner{position:relative;width:22px;height:32px}
.lb-overlay .candle-flame-inner::before{content:'';position:absolute;left:50%;transform:translateX(-50%);bottom:0;width:16px;height:26px;background:radial-gradient(ellipse at 50% 80%,#fff9c4 0%,#fcd34d 30%,#f97316 65%,transparent 100%);border-radius:50% 50% 30% 30%/60% 60% 40% 40%;animation:lb-cFlicker .4s ease-in-out infinite alternate}
.lb-overlay .candle-flame-inner::after{content:'';position:absolute;left:50%;transform:translateX(-50%);bottom:3px;width:10px;height:16px;background:radial-gradient(ellipse at 50% 80%,#fff 0%,#fef9c3 40%,transparent 100%);border-radius:50% 50% 30% 30%/60% 60% 40% 40%;animation:lb-cFlicker .3s ease-in-out infinite alternate-reverse}
@keyframes lb-cFlicker{0%{transform:translateX(-50%) scaleX(1) scaleY(1)}50%{transform:translateX(-52%) scaleX(1.08) scaleY(1.12)}100%{transform:translateX(-48%) scaleX(.95) scaleY(1.05)}}
.lb-overlay .blitz-time-display{font-family:'Cinzel',serif;font-weight:900;font-size:36px;color:#fcd34d;text-shadow:0 0 8px rgba(252,211,77,.7),0 0 16px rgba(252,211,77,.4);letter-spacing:.08em;line-height:1;align-self:center}
.lb-overlay .blitz-time-display.danger{color:#ff4444;text-shadow:0 0 8px #ff0000,0 0 16px #cc0000;animation:lb-timeDanger .5s ease-in-out infinite alternate}
@keyframes lb-timeDanger{from{opacity:1}to{opacity:.5}}
.lb-overlay .blitz-add-time{position:absolute;font-family:'Cinzel',serif;font-size:16px;font-weight:900;color:#00ffff;text-shadow:0 0 8px #00ffff;pointer-events:none;z-index:9999;animation:lb-timeAdd 1.2s ease-out forwards}
@keyframes lb-timeAdd{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-50px)}}
/* ADVENTURE MODE */
.lb-overlay .mode-adventure{background:linear-gradient(135deg,#1a2e1a,#2d4a2d);color:#a7f3d0;box-shadow:0 5px 0 #0a1a0a,0 6px 18px rgba(0,200,100,.25);border:1px solid #16a34a55}
.lb-overlay .mode-adventure:not(.locked):hover{box-shadow:0 5px 0 #0a1a0a,0 0 20px rgba(74,222,128,.5)}
.lb-overlay #lb-screen-adventure{background:radial-gradient(ellipse at 50% 30%,#0d2d0d,#071207 65%);flex-direction:column;align-items:center;justify-content:flex-start;padding:24px 16px;gap:16px;overflow-y:auto;min-height:100%}
.lb-overlay .adv-header{font-family:'Cinzel',serif;font-weight:900;font-size:clamp(28px,7vw,48px);color:#4ade80;text-shadow:0 0 16px rgba(74,222,128,.5);text-align:center}
.lb-overlay .adv-subtitle{color:#86efac;font-size:16px;text-align:center;margin-top:-8px}
.lb-overlay .adv-levels-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;width:100%;max-width:900px}
.lb-overlay .adv-card{background:linear-gradient(160deg,#1a2e1a,#0d2010);border:2px solid #16a34a44;border-radius:14px;padding:14px 16px;cursor:pointer;transition:transform .1s,box-shadow .1s,border-color .1s;display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden}
.lb-overlay .adv-card:hover:not(.adv-locked){transform:translateY(-3px);box-shadow:0 8px 24px rgba(74,222,128,.3);border-color:#4ade80}
.lb-overlay .adv-card:active:not(.adv-locked){transform:translateY(0)}
.lb-overlay .adv-card.adv-locked{opacity:.45;cursor:not-allowed;filter:grayscale(.5)}
.lb-overlay .adv-card.adv-completed, .lb-overlay .adv-card.adv-card-done{border-color:#fcd34d88}
.lb-overlay .adv-card-emoji{font-size:32px;line-height:1;text-align:center}
.lb-overlay .adv-card-info{font-size:13px;color:#86efac;display:flex;gap:8px;flex-wrap:wrap;margin-top:2px}
.lb-overlay .adv-card-badge{position:absolute;top:8px;right:8px;background:#16a34a;color:#fff;font-size:11px;font-weight:700;padding:3px 7px;border-radius:6px;letter-spacing:.05em}
.lb-overlay .adv-card-num{font-family:'Cinzel',serif;font-size:11px;color:#4ade80;letter-spacing:.12em;text-transform:uppercase;opacity:.7}
.lb-overlay .adv-card-name{font-family:'Cinzel',serif;font-weight:700;font-size:18px;color:#d1fae5;line-height:1.1}
.lb-overlay .adv-card-desc{font-size:13px;color:#6ee7b7;font-style:italic;min-height:18px}
.lb-overlay .adv-card-goals{display:flex;flex-direction:column;gap:3px;margin-top:4px}
.lb-overlay .adv-goal-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#a7f3d0;background:rgba(0,0,0,.3);border:1px solid #16a34a44;border-radius:6px;padding:2px 7px}
.lb-overlay .adv-card-moves{font-size:12px;color:#86efac;margin-top:2px}
.lb-overlay .adv-lock-badge{position:absolute;top:10px;right:10px;font-size:16px;opacity:.5}
.lb-overlay .adv-complete-badge{position:absolute;top:8px;right:8px;font-size:18px}
.lb-overlay .adv-back-btn{font-family:'Cinzel',serif;font-weight:700;font-size:16px;color:#fde68a;background:rgba(0,0,0,.4);border:1.5px solid #5c2a00;border-radius:10px;padding:9px 24px;cursor:pointer;letter-spacing:.06em;margin-top:8px}
.lb-overlay .adv-back-btn:hover{background:rgba(61,26,0,.6);border-color:#f59e0b}
/* Adventure in-game HUD */
.lb-overlay .adv-objectives{background:rgba(0,0,0,.45);border:1px solid #16a34a55;border-radius:8px;padding:6px 10px;display:flex;flex-direction:column;gap:3px}
.lb-overlay .adv-obj-row{display:flex;align-items:center;gap:6px;font-size:14px;color:#a7f3d0}
.lb-overlay .adv-obj-row.done{color:#4ade80}
.lb-overlay .adv-obj-row.done .adv-obj-count{text-decoration:line-through;opacity:.6}
.lb-overlay .adv-obj-count{font-family:'Cinzel',serif;font-weight:700;color:#fcd34d;min-width:28px;text-align:right}
.lb-overlay .adv-moves-bar{background:rgba(0,0,0,.4);border:1px solid #3d1a00;border-radius:7px;padding:5px 8px;text-align:center}
.lb-overlay .adv-moves-lbl{font-size:15px;color:#c8844a;text-transform:uppercase;letter-spacing:.1em}
.lb-overlay .adv-moves-val{font-family:'Cinzel',serif;font-weight:900;font-size:36px;color:#fcd34d;line-height:1.1}
.lb-overlay .adv-moves-val.low{color:#f87171;animation:lb-timeDanger .5s infinite alternate}
/* adventure win screen */
.lb-overlay .over-stars{font-size:48px;text-align:center}
.lb-overlay .tile-ltr{line-height:1;pointer-events:none;position:relative;z-index:5}
.lb-overlay .tile-pts{position:absolute;bottom:2px;left:2px;font-size:.4em;opacity:.55;font-family:monospace;font-weight:bold;pointer-events:none;z-index:5}
.lb-overlay .tile-bonus{position:absolute;top:1px;right:2px;font-size:.38em;font-weight:900;opacity:.9;pointer-events:none;z-index:5}
.lb-overlay .tile-idx{position:absolute;top:-6px;left:-6px;background:#1a0800;color:#fde68a;border:1.5px solid #fde68a;border-radius:50%;font-size:18px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-family:monospace;font-weight:900;z-index:6;box-shadow:0 1px 4px rgba(0,0,0,.8);pointer-events:none}
/* GAME OVER */
.lb-overlay #lb-screen-over{text-align:center;gap:14px;background:radial-gradient(ellipse at 50% 30%,#4a1a00,#1a0800 65%)}
.lb-overlay .over-icon{font-size:120px}
.lb-overlay .over-title{font-family:'Cinzel',serif;font-weight:900;font-size:clamp(56px,16vw,100px);color:#fcd34d;text-shadow:0 0 20px rgba(251,191,36,.7)}
.lb-overlay .over-score{font-family:'Cinzel',serif;font-size:48px;color:#f59e0b}
.lb-overlay .over-new{font-family:'Cinzel',serif;font-size:36px;color:#4ade80;text-shadow:0 0 10px rgba(74,222,128,.5)}
.lb-overlay .over-best{font-size:32px;color:#78350f}
.lb-overlay .over-lw{background:rgba(0,0,0,.35);border:1px solid #4a1a00;border-radius:10px;padding:11px 18px;max-width:360px}
.lb-overlay .over-lw-lbl{font-size:20px;letter-spacing:.1em;color:#78350f;text-transform:uppercase}
.lb-overlay .over-lw-word{font-family:'Cinzel',serif;font-size:40px;color:#fbbf24;letter-spacing:.12em}
.lb-overlay .over-lw-def{font-size:24px;color:#92400e;font-style:italic;margin-top:4px}
.lb-overlay .over-btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
/* RESPONSIVE */
@media(max-width:560px){
  .lb-overlay #lb-screen-menu{flex-direction:column}
  .lb-overlay .menu-left{align-items:center;border-right:none;border-bottom:1px solid #3d1a00;padding:20px 0 16px}
  .lb-overlay .menu-content{margin-right:0}
  .lb-overlay .menu-right{padding:20px}
  .lb-overlay .game-outer{flex-direction:column}
  .lb-overlay .sidebar{width:100%;flex-direction:row;flex-wrap:wrap;border-right:none;border-bottom:3px solid #5c2a00;padding:6px;gap:6px;max-height:none;overflow-y:visible}
  .lb-overlay .sb-brand{width:100%;font-size:30px;padding-bottom:4px;border-bottom:1px solid #3d1a00}
  .lb-overlay .stat{flex:1;min-width:60px}
  .lb-overlay .word-panel{order:10;width:100%;min-height:60px;flex:none}
  .lb-overlay .longest{flex:1;min-width:100px}
  .lb-overlay .sb-btns{flex-direction:row}
  .lb-overlay .btn-a{flex:1;padding:7px 4px;font-size:22px}
  .lb-overlay .hint-ln, .lb-overlay .flash-area{display:none}
  .lb-overlay .sb-mascot{width:100%;order:5}
  .lb-overlay .grid-btns{max-width:100%}
  .lb-overlay .right-panel{width:100%;flex-direction:row;flex-wrap:wrap;border-left:none;border-top:3px solid #5c2a00;padding:6px;gap:6px}
  .lb-overlay .right-panel .longest{width:100%}
}
/* MUTE BUTTON */
.lb-overlay .mute-btn{position:absolute;top:12px;right:14px;z-index:9000;background:rgba(0,0,0,.55);border:1.5px solid #5c2a00;border-radius:50%;width:38px;height:38px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;color:#fcd34d;transition:background .15s,border-color .15s;box-shadow:0 2px 8px rgba(0,0,0,.6)}
.lb-overlay .mute-btn:hover{background:rgba(61,26,0,.85);border-color:#f59e0b}
.lb-overlay .mute-btn.muted{color:#78350f;border-color:#3d1a00}
/* EXIT BUTTON */
.lb-overlay .lb-exit-btn{position:absolute;top:12px;left:14px;z-index:9000;background:rgba(0,0,0,.55);border:1.5px solid #5c2a00;border-radius:50%;width:38px;height:38px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;color:#fcd34d;transition:background .15s,border-color .15s;box-shadow:0 2px 8px rgba(0,0,0,.6)}
.lb-overlay .lb-exit-btn:hover{background:rgba(120,53,15,.85);border-color:#f59e0b;color:#fff}