.lexibal-arcade{--brand:#5170ff;--brand2:#3855df;--bg:#f5f7fc;--panel:#fff;--panel2:#eef1f8;--text:#17213a;--muted:#68738c;--border:#e1e6f0;--good:#14865b;--bad:#d94b58;--shadow:0 12px 34px #26365c12;color-scheme:light}
.lexibal-arcade[data-theme="dark"]{--bg:#101522;--panel:#191f2e;--panel2:#222a3c;--text:#eef2ff;--muted:#a4aec5;--border:#30394e;--shadow:0 12px 34px #0003;color-scheme:dark}
.lexibal-arcade *{box-sizing:border-box}
.lexibal-arcade,.lexibal-arcade{margin:0;min-height:100%;background:var(--bg);color:var(--text);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

.lexibal-arcade button,.lexibal-arcade input,.lexibal-arcade select,.lexibal-arcade textarea{font:inherit}
.lexibal-arcade button{cursor:pointer}
.lexibal-arcade button:focus-visible,.lexibal-arcade input:focus-visible,.lexibal-arcade select:focus-visible,.lexibal-arcade textarea:focus-visible{outline:3px solid #5170ff66;outline-offset:2px}
.lexibal-arcade button:disabled{opacity:.45;cursor:not-allowed}
.lexibal-arcade .app{max-width:1440px;margin:auto;padding:20px clamp(12px,3vw,32px) 44px}
.lexibal-arcade .topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}
.lexibal-arcade .brand{display:flex;align-items:center;gap:12px;min-width:0}
.lexibal-arcade .brandmark{width:46px;height:46px;border-radius:15px;background:var(--brand);display:grid;place-items:center;color:#fff;font-size:25px;box-shadow:0 8px 20px #5170ff3b}
.lexibal-arcade .brand h1{font-size:21px;line-height:1.15;margin:0;letter-spacing:-.5px}
.lexibal-arcade .brand p{margin:4px 0 0;color:var(--muted);font-size:12px}
.lexibal-arcade .top-actions{display:flex;gap:8px;align-items:center}
.lexibal-arcade .icon-btn,.lexibal-arcade .secondary,.lexibal-arcade .primary,.lexibal-arcade .danger{border:1px solid var(--border);border-radius:12px;padding:10px 13px;background:var(--panel);color:var(--text);font-weight:650}
.lexibal-arcade .icon-btn{width:42px;height:42px;padding:0;font-size:18px}
.lexibal-arcade .primary{background:var(--brand);border-color:var(--brand);color:white}
.lexibal-arcade .primary:hover{background:var(--brand2)}
.lexibal-arcade .secondary:hover,.lexibal-arcade .icon-btn:hover{border-color:var(--brand)}
.lexibal-arcade .danger{color:var(--bad)}
.lexibal-arcade .hero{background:linear-gradient(120deg,#18284b,#283f83 62%,#5170ff);color:#fff;border-radius:25px;padding:clamp(22px,4vw,42px);display:grid;grid-template-columns:1.35fr .65fr;gap:20px;align-items:center;overflow:hidden;position:relative;margin-bottom:22px}
.lexibal-arcade .hero:after{content:"";position:absolute;width:320px;height:320px;border:1px solid #ffffff20;border-radius:50%;right:-90px;top:-130px;box-shadow:0 0 0 35px #ffffff08,0 0 0 75px #ffffff06;pointer-events:none}
.lexibal-arcade .eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;font-weight:800;opacity:.8}
.lexibal-arcade .hero h2{font-size:clamp(28px,4vw,44px);line-height:1.06;letter-spacing:-1.4px;margin:10px 0 12px;max-width:700px}
.lexibal-arcade .hero p{color:#e0e7ff;max-width:650px;margin:0}
.lexibal-arcade .hero-stat{display:flex;gap:10px;justify-content:flex-end;position:relative;z-index:1;flex-wrap:wrap}
.lexibal-arcade .stat{background:#ffffff15;border:1px solid #ffffff25;padding:14px 17px;border-radius:16px;min-width:105px}
.lexibal-arcade .stat strong{display:block;font-size:25px;line-height:1.2}
.lexibal-arcade .stat span{font-size:12px;color:#dce4ff}
.lexibal-arcade .toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:22px 0}
.lexibal-arcade .search{flex:1;min-width:180px;position:relative}
.lexibal-arcade .search input{width:100%;padding:12px 14px 12px 40px;border:1px solid var(--border);border-radius:13px;background:var(--panel);color:var(--text)}
.lexibal-arcade .search span{position:absolute;left:14px;top:9px;color:var(--muted);font-size:18px}
.lexibal-arcade .filters{display:flex;gap:7px;flex-wrap:wrap}
.lexibal-arcade .filter{padding:9px 12px;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--muted);font-weight:650;font-size:13px}
.lexibal-arcade .filter.active{background:var(--brand);color:#fff;border-color:var(--brand)}
.lexibal-arcade .section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:28px 0 13px}
.lexibal-arcade .section-head h2{margin:0;font-size:20px;letter-spacing:-.4px}
.lexibal-arcade .section-head p{margin:3px 0 0;color:var(--muted);font-size:13px}
.lexibal-arcade .count{font-size:12px;color:var(--muted)}
.lexibal-arcade .games{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.lexibal-arcade .game-card{background:var(--panel);border:1px solid var(--border);border-radius:19px;overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0;transition:transform .16s,border-color .16s}
.lexibal-arcade .game-card:hover{transform:translateY(-2px);border-color:#b5c2ff}
.lexibal-arcade .game-art{height:130px;padding:18px;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--art1),var(--art2));color:#fff}
.lexibal-arcade .game-art:after{content:"";position:absolute;width:155px;height:155px;border:1px solid #ffffff2e;border-radius:50%;right:-20px;bottom:-100px;box-shadow:0 0 0 20px #ffffff09,0 0 0 40px #ffffff08}
.lexibal-arcade .game-emoji{font-size:52px;filter:drop-shadow(0 6px 7px #0002);z-index:1}
.lexibal-arcade .game-badge{z-index:1;background:#ffffff20;border:1px solid #ffffff36;padding:5px 8px;border-radius:8px;font-size:10px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}
.lexibal-arcade .game-content{padding:16px;display:flex;flex-direction:column;gap:9px;flex:1}
.lexibal-arcade .game-title{display:flex;align-items:center;justify-content:space-between;gap:8px}
.lexibal-arcade .game-title h3{margin:0;font-size:17px;letter-spacing:-.3px}
.lexibal-arcade .best{font-size:11px;color:var(--muted);white-space:nowrap}
.lexibal-arcade .game-content p{color:var(--muted);font-size:13px;line-height:1.5;margin:0;min-height:39px}
.lexibal-arcade .game-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:auto;padding-top:4px}
.lexibal-arcade .pill{font-size:11px;background:var(--panel2);border-radius:7px;padding:5px 8px;color:var(--muted)}
.lexibal-arcade .play{margin-top:5px;width:100%;display:flex;justify-content:center;align-items:center;gap:8px}
.lexibal-arcade .empty{display:none;padding:35px;text-align:center;color:var(--muted);border:1px dashed var(--border);border-radius:16px}
.lexibal-arcade .footer{padding:28px 0 5px;color:var(--muted);font-size:12px;text-align:center}
.lexibal-arcade .modal{position:fixed;inset:var(--lp-fixed-top,0px) 0 var(--lp-fixed-bottom,0px);z-index:999999;background:#090f1fc9;display:none;align-items:center;justify-content:center;padding:clamp(0px,2vw,22px)}
.lexibal-arcade .modal.open{display:flex}
.lexibal-arcade .game-window{background:var(--bg);width:min(1120px,100%);height:min(94%,900px);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 100px #0007;min-height:0}
.lexibal-arcade .game-header{padding:13px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--panel);border-bottom:1px solid var(--border);flex-shrink:0}
.lexibal-arcade .game-header-main{display:flex;align-items:center;gap:10px;min-width:0}
.lexibal-arcade .game-header-emoji{font-size:27px}
.lexibal-arcade .game-header h2{margin:0;font-size:18px;line-height:1.2}
.lexibal-arcade .game-header p{margin:3px 0 0;font-size:11px;color:var(--muted)}
.lexibal-arcade .game-header-actions{display:flex;gap:7px}
.lexibal-arcade .game-body{overflow:auto;min-height:0;flex:1;padding:clamp(10px,2vw,20px);overscroll-behavior:contain}
.lexibal-arcade .game-layout{max-width:900px;margin:0 auto}
.lexibal-arcade .instruction-panel{background:var(--panel);border:1px solid var(--border);border-radius:15px;padding:15px;margin-bottom:13px}
.lexibal-arcade .instruction-panel h3{font-size:14px;margin:0 0 5px}
.lexibal-arcade .instruction-panel p{font-size:13px;color:var(--muted);margin:0}
.lexibal-arcade .instruction-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.lexibal-arcade .game-controls{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:12px 0}
.lexibal-arcade .game-surface{background:var(--panel);border:1px solid var(--border);border-radius:17px;padding:clamp(10px,2vw,18px);min-width:0;overflow:hidden}
.lexibal-arcade .hud{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.lexibal-arcade .hud-item{background:var(--panel2);border-radius:10px;padding:7px 11px;font-size:12px;color:var(--muted)}
.lexibal-arcade .hud-item strong{color:var(--text);font-size:14px;margin-left:4px}
.lexibal-arcade .canvas-wrap{position:relative;width:100%;max-width:850px;margin:0 auto;overflow:hidden;border-radius:12px;background:#101a32;touch-action:none}
.lexibal-arcade .canvas-wrap canvas{display:block;width:100%;height:auto;max-height:none;touch-action:none}
.lexibal-arcade .canvas-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;background:#091126b8;color:#fff;padding:20px}
.lexibal-arcade .canvas-overlay[hidden]{display:none}
.lexibal-arcade .overlay-card{max-width:400px;background:#17213beF;border:1px solid #ffffff30;border-radius:18px;padding:22px;box-shadow:0 20px 50px #0004}
.lexibal-arcade .overlay-card h3{margin:0 0 7px;font-size:23px}
.lexibal-arcade .overlay-card p{margin:0 0 16px;color:#d4ddf5;font-size:13px}
.lexibal-arcade .scoreboard{margin-top:14px;background:var(--panel);border:1px solid var(--border);border-radius:15px;padding:14px}
.lexibal-arcade .scoreboard h3{margin:0 0 10px;font-size:14px}
.lexibal-arcade .score-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.lexibal-arcade .score-cell{background:var(--panel2);padding:10px;border-radius:10px;min-width:0}
.lexibal-arcade .score-cell span{display:block;color:var(--muted);font-size:11px}
.lexibal-arcade .score-cell strong{display:block;font-size:18px;margin-top:2px;overflow-wrap:anywhere}
.lexibal-arcade .text-game{max-width:780px;margin:auto}
.lexibal-arcade .prompt-card{background:var(--panel);border:1px solid var(--border);border-radius:17px;padding:clamp(16px,3vw,26px)}
.lexibal-arcade .prompt-card h3{margin:0 0 10px;font-size:clamp(19px,3vw,26px);line-height:1.25}
.lexibal-arcade .prompt-card .sub{color:var(--muted);font-size:13px;margin:0 0 17px}
.lexibal-arcade .options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.lexibal-arcade .option{border:1px solid var(--border);border-radius:12px;padding:12px;text-align:left;background:var(--panel);color:var(--text);min-height:48px}
.lexibal-arcade .option:hover:not(:disabled){border-color:var(--brand);background:var(--panel2)}
.lexibal-arcade .option.correct{border-color:var(--good);background:color-mix(in srgb,var(--good) 10%,var(--panel))}
.lexibal-arcade .option.wrong{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 10%,var(--panel))}
.lexibal-arcade .feedback{padding:12px;border-radius:12px;margin-top:13px;background:var(--panel2);font-size:13px}
.lexibal-arcade .feedback.good{border-left:4px solid var(--good)}
.lexibal-arcade .feedback.bad{border-left:4px solid var(--bad)}
.lexibal-arcade .word-input{display:flex;gap:8px;margin-top:15px}
.lexibal-arcade .word-input input{min-width:0;flex:1;padding:12px;border:1px solid var(--border);border-radius:11px;background:var(--bg);color:var(--text)}
.lexibal-arcade .tiles{display:grid;gap:5px;justify-content:center;margin:15px auto;max-width:100%;overflow:auto}
.lexibal-arcade .tile{width:clamp(25px,5vw,39px);height:clamp(25px,5vw,39px);display:grid;place-items:center;background:var(--panel2);border:1px solid var(--border);border-radius:6px;font-size:12px;font-weight:800;cursor:pointer;color:var(--text);padding:0}
.lexibal-arcade .tile.found{background:#c8f5df;color:#126541;border-color:#83d6ad}
.lexibal-arcade .tile.selected{background:#d9e1ff;border-color:var(--brand);color:#243b9b}
.lexibal-arcade .tile.highlight{background:#d9e1ff;color:#243b9b}
.lexibal-arcade .tile.black{background:var(--text);border-color:var(--text)}
.lexibal-arcade .drawing-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.lexibal-arcade .drawing-tools input[type=color]{width:40px;height:38px;border:0;background:transparent;padding:0}
.lexibal-arcade .drawing-tools input[type=range]{max-width:130px}
.lexibal-arcade .drawing-canvas{width:100%;height:auto;aspect-ratio:12/7;display:block;background:#fff;border-radius:12px;touch-action:none;border:1px solid var(--border)}
.lexibal-arcade .touch-pad{display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,44px);gap:5px;justify-content:center;margin:12px auto 0}
.lexibal-arcade .touch-pad button{border:1px solid var(--border);border-radius:10px;background:var(--panel2);color:var(--text);font-size:20px}
.lexibal-arcade .touch-pad button:nth-child(1){grid-column:2}
.lexibal-arcade .touch-pad button:nth-child(2){grid-column:1;grid-row:2}
.lexibal-arcade .touch-pad button:nth-child(3){grid-column:2;grid-row:2}
.lexibal-arcade .touch-pad button:nth-child(4){grid-column:3;grid-row:2}
.lexibal-arcade .board{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:2px;max-width:650px;margin:auto;aspect-ratio:1}
.lexibal-arcade .board-cell{border:0;border-radius:4px;background:var(--panel2);color:var(--text);font-size:clamp(8px,1.7vw,13px);font-weight:700;position:relative;padding:0;aspect-ratio:1;min-width:0;min-height:0}
.lexibal-arcade .board-cell:nth-child(4n){background:color-mix(in srgb,var(--brand) 11%,var(--panel))}
.lexibal-arcade .board-cell .piece{position:absolute;inset:15%;border-radius:50%;display:grid;place-items:center;color:white;font-size:clamp(8px,1.3vw,12px);box-shadow:0 2px 4px #0002}
.lexibal-arcade .room-box{max-width:650px;margin:auto}
.lexibal-arcade .room-code{font-size:clamp(28px,7vw,42px);letter-spacing:6px;font-weight:900;color:var(--brand);text-align:center;padding:15px;background:var(--panel2);border-radius:14px}
.lexibal-arcade .notice{padding:12px;border-radius:12px;background:color-mix(in srgb,#d99724 12%,var(--panel));border:1px solid color-mix(in srgb,#d99724 35%,var(--border));font-size:12px;color:var(--text)}
.lexibal-arcade .mobile-note{display:none;font-size:11px;color:var(--muted);text-align:center;margin-top:8px}
.lexibal-arcade .hidden{display:none!important}
@media (max-width:900px){.lexibal-arcade .games{grid-template-columns:repeat(2,minmax(0,1fr))}
.lexibal-arcade .hero{grid-template-columns:1fr}
.lexibal-arcade .hero-stat{justify-content:flex-start}
.lexibal-arcade .hero-stat .stat{min-width:90px}
.lexibal-arcade .game-art{height:115px}}
@media (max-width:560px){.lexibal-arcade .app{padding:12px 11px 30px}
.lexibal-arcade .topbar{margin-bottom:15px}
.lexibal-arcade .brand h1{font-size:18px}
.lexibal-arcade .brand p{font-size:11px}
.lexibal-arcade .brandmark{width:40px;height:40px}
.lexibal-arcade .hero{border-radius:19px;padding:22px 18px;margin-bottom:17px}
.lexibal-arcade .hero h2{font-size:30px}
.lexibal-arcade .hero-stat .stat{flex:1;min-width:0;padding:10px}
.lexibal-arcade .stat strong{font-size:20px}
.lexibal-arcade .toolbar{margin:15px 0;align-items:stretch}
.lexibal-arcade .search{flex-basis:100%}
.lexibal-arcade .games{grid-template-columns:1fr;gap:12px}
.lexibal-arcade .game-card{display:grid;grid-template-columns:100px minmax(0,1fr)}
.lexibal-arcade .game-art{height:100%;min-height:190px;flex-direction:column;justify-content:center;gap:8px;padding:10px}
.lexibal-arcade .game-emoji{font-size:38px}
.lexibal-arcade .game-badge{font-size:8px}
.lexibal-arcade .game-content{padding:12px;gap:7px}
.lexibal-arcade .game-title{align-items:flex-start;flex-direction:column;gap:2px}
.lexibal-arcade .game-title h3{font-size:15px}
.lexibal-arcade .game-content p{font-size:12px;min-height:0}
.lexibal-arcade .game-meta{gap:5px}
.lexibal-arcade .pill{font-size:10px;padding:4px 6px}
.lexibal-arcade .play{padding:8px;margin-top:2px}
.lexibal-arcade .modal{padding:0;align-items:stretch}
.lexibal-arcade .game-window{height:100dvh;max-height:100dvh;width:100%;border-radius:0}
.lexibal-arcade .game-header{padding:10px 12px}
.lexibal-arcade .game-header h2{font-size:16px}
.lexibal-arcade .game-header p{display:none}
.lexibal-arcade .game-header-emoji{font-size:24px}
.lexibal-arcade .game-body{padding:10px}
.lexibal-arcade .game-surface{padding:9px}
.lexibal-arcade .options{grid-template-columns:1fr}
.lexibal-arcade .score-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.lexibal-arcade .score-cell{padding:8px}
.lexibal-arcade .score-cell strong{font-size:16px}
.lexibal-arcade .instruction-panel{padding:12px}
.lexibal-arcade .canvas-wrap canvas{max-height:54dvh}
.lexibal-arcade .board{gap:1px}
.lexibal-arcade .board-cell{border-radius:2px}
.lexibal-arcade .mobile-note{display:block}
.lexibal-arcade .game-controls button{flex:1;min-width:80px}
.lexibal-arcade .word-input{flex-wrap:wrap}
.lexibal-arcade .word-input input{flex-basis:60%}}
@media (prefers-reduced-motion:reduce){.lexibal-arcade *,.lexibal-arcade *:before,.lexibal-arcade *:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.lexibal-arcade[data-theme="dark"] .tile.found{background:#14533c;color:#d6ffeb;border-color:#2b9c70}.lexibal-arcade[data-theme="dark"] .tile.selected,.lexibal-arcade[data-theme="dark"] .tile.highlight{background:#263a76;color:#f0f4ff;border-color:var(--brand)}
.lexibal-arcade.lp-no-scores .best,.lexibal-arcade.lp-no-scores .hero-stat,.lexibal-arcade.lp-no-scores #progressBtn{display:none!important}
.lexibal-arcade .difficulty-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px}.lexibal-arcade .difficulty-card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:14px;text-align:left;color:var(--text);min-height:105px}.lexibal-arcade .difficulty-card strong{display:block;font-size:15px;margin-bottom:5px}.lexibal-arcade .difficulty-card span{font-size:12px;color:var(--muted)}.lexibal-arcade .difficulty-card:hover{border-color:var(--brand);transform:translateY(-1px)}.lexibal-arcade .difficulty-card.selected{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 22%,transparent)}.lexibal-arcade .difficulty-card[data-difficulty="6"]{border-color:#b7791f}.lexibal-arcade .difficulty-card[data-difficulty="7"]{border-color:#c2415d}.lexibal-arcade .level-tag{display:inline-flex;align-items:center;border-radius:999px;background:var(--panel2);padding:5px 9px;color:var(--muted);font-size:11px;font-weight:750}.lexibal-arcade .guess-history{display:grid;gap:6px;margin-top:10px}.lexibal-arcade .guess-history .feedback{margin:0}.lexibal-arcade .empty-disabled{border:1px dashed var(--border);border-radius:14px;padding:24px;color:var(--muted);text-align:center}
@media(max-width:560px){.lexibal-arcade .difficulty-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* v1.6.0: focused play controls, fullscreen and live rooms */
.lexibal-arcade .game-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.lexibal-arcade .game-header-actions button{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px}
.lexibal-arcade .game-window:fullscreen{width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0;background:var(--bg)}
.lexibal-arcade .modal.lp-fullscreen-fallback{padding:0!important}
.lexibal-arcade .modal.lp-fullscreen-fallback .game-window{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}
.lexibal-arcade .game-window:fullscreen .game-body{padding:clamp(14px,3vw,34px)}
.lexibal-arcade .room-label{display:block;font-size:12px;font-weight:750;margin:0 0 6px;color:var(--text)}
.lexibal-arcade .room-select{width:100%;padding:12px;border-radius:11px;border:1px solid var(--border);background:var(--panel);color:var(--text);margin-bottom:10px}
.lexibal-arcade .room-share,.lexibal-arcade .room-join{margin-top:16px;padding:14px;border:1px solid var(--border);background:var(--panel2);border-radius:14px;text-align:center}
.lexibal-arcade .room-code{font-size:clamp(28px,5vw,42px);font-weight:850;letter-spacing:7px;text-align:center;padding:8px 0;color:var(--brand);font-variant-numeric:tabular-nums}
.lexibal-arcade .room-share .sub{margin:9px 0 0;color:var(--muted);font-size:12px}
.lexibal-arcade .room-question{font-size:clamp(19px,3vw,27px);line-height:1.3;margin:12px 0 18px}
.lexibal-arcade .room-board{max-width:760px;margin:10px auto;display:grid;grid-template-columns:repeat(10,minmax(0,1fr));border:1px solid var(--border);border-radius:12px;overflow:hidden}
.lexibal-arcade .room-board .board-cell{aspect-ratio:1/1;min-width:0;font-size:clamp(8px,1.5vw,13px)}
.lexibal-arcade .room-board .board-cell small{position:absolute;bottom:1px;left:2px;font-size:clamp(5px,.8vw,8px)}
.lexibal-arcade .room-board .piece{font-size:clamp(9px,1.4vw,16px);width:24px;height:24px;max-width:65%;max-height:65%;display:grid;place-items:center}
.lexibal-arcade[data-theme="dark"] .room-board .board-cell[style*="background: rgb(249, 217, 221)"],.lexibal-arcade[data-theme="dark"] .room-board .board-cell[style*="#f9d9dd"]{background:#522d3b!important}
.lexibal-arcade[data-theme="dark"] .room-board .board-cell[style*="#d5f3df"]{background:#1d4a3b!important}
@media(max-width:560px){.lexibal-arcade .game-header{padding:9px 10px;gap:7px}.lexibal-arcade .game-header h2{font-size:15px}.lexibal-arcade .game-header p{font-size:10px}.lexibal-arcade .game-header-emoji{font-size:22px}.lexibal-arcade .game-header-actions{gap:4px}.lexibal-arcade .game-header-actions button{min-height:36px;padding:7px 8px;font-size:12px}.lexibal-arcade .game-header-actions .icon-btn{width:36px;height:36px;padding:0}.lexibal-arcade .game-header-actions span{display:inline}.lexibal-arcade .room-board .piece{width:16px;height:16px}}

/* v1.7.0: compact, touch-friendly word game with live letter tiles */
.lexibal-arcade .game-body.lp-word-game-mode{padding:6px;overflow:hidden;display:flex;flex-direction:column}
.lexibal-arcade .game-body.lp-word-game-mode .instruction-panel,.lexibal-arcade .game-body.lp-word-game-mode .scoreboard{display:none!important}
.lexibal-arcade .game-body.lp-word-game-mode .game-layout{height:100%;max-width:780px;min-height:0;margin:0 auto;width:100%}
.lexibal-arcade .word-game-surface{height:100%;min-height:0;padding:7px;display:flex;flex-direction:column;overflow:hidden}
.lexibal-arcade .word-game-surface .hud{margin:0 0 5px;gap:5px;flex-shrink:0}
.lexibal-arcade .word-game-surface .hud-item{padding:4px 8px;font-size:11px}
.lexibal-arcade .word-game-surface .hud-item strong{font-size:12px}
.lexibal-arcade .word-prompt{padding:8px 10px;min-height:0;flex:1;display:flex;flex-direction:column;gap:4px;overflow:hidden}
.lexibal-arcade .word-prompt .level-tag{align-self:flex-start;padding:3px 7px;font-size:10px}
.lexibal-arcade .word-prompt h3{font-size:clamp(16px,2.3vh,21px);margin:0;line-height:1.15}
.lexibal-arcade .word-prompt .lp-word-clue{font-size:clamp(11px,1.65vh,13px);line-height:1.25;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lexibal-arcade .lp-guess-history{display:flex;flex-direction:column;justify-content:center;gap:2px;margin:2px 0;min-height:0;flex:1}
.lexibal-arcade .lp-word-row{display:flex;align-items:center;justify-content:center;gap:7px;min-height:0;cursor:text}
.lexibal-arcade .lp-word-attempt{font-size:clamp(8px,1.25vh,10px);color:var(--muted);width:44px;flex:0 0 44px;text-align:right}
.lexibal-arcade .lp-word-tiles{display:flex;justify-content:center;min-width:0;max-width:100%;overflow:hidden}
.lexibal-arcade .lp-word-tile{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:4px;font-weight:800;font-size:clamp(10px,1.8vh,14px);line-height:1;flex-shrink:0;transition:background .08s,border-color .08s}
.lexibal-arcade .lp-word-row.is-current .lp-word-tile{box-shadow:inset 0 0 0 1px #5170ff12}
.lexibal-arcade .lp-word-row.is-current:focus-within .lp-word-tile{border-color:var(--brand)}
.lexibal-arcade .lp-word-legend{display:flex;justify-content:center;align-items:center;gap:clamp(7px,2vw,16px);flex-wrap:wrap;font-size:clamp(9px,1.3vh,11px);color:var(--muted);line-height:1.1;margin:2px 0}
.lexibal-arcade .lp-word-legend span{display:flex;align-items:center;gap:4px}
.lexibal-arcade .lp-word-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;flex:0 0 9px}
.lexibal-arcade .lp-word-legend .green{background:#218739}.lexibal-arcade .lp-word-legend .yellow{background:#c99a16}.lexibal-arcade .lp-word-legend .red{background:#c93636}
.lexibal-arcade .lp-word-input-wrap{display:flex;justify-content:center;align-items:center;position:relative;flex-shrink:0;min-height:30px}
.lexibal-arcade .lp-word-hidden-input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;left:50%;bottom:0;padding:0!important;border:0!important;pointer-events:none}
.lexibal-arcade .lp-word-submit{padding:5px 12px;font-size:12px;min-height:30px;border-radius:8px}
.lexibal-arcade .lp-word-keyboard{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:3px;max-width:520px;width:100%;margin:2px auto;flex-shrink:0}
.lexibal-arcade .lp-word-key{width:100%;height:clamp(24px,4.4vh,34px);min-width:0;min-height:0;border-radius:5px;font-size:clamp(10px,1.5vh,13px);padding:0;touch-action:manipulation}
.lexibal-arcade .lp-word-key[data-key="BACKSPACE"]{grid-column:span 2}.lexibal-arcade .lp-word-key[data-key="CLEAR"]{grid-column:span 2}
.lexibal-arcade .word-prompt #wordFeedback{margin:2px 0;padding:5px 8px;font-size:clamp(10px,1.4vh,12px);line-height:1.2;max-height:42px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-shrink:0}
.lexibal-arcade .lp-word-controls{margin:2px 0 0;gap:6px;flex-shrink:0}
.lexibal-arcade .lp-word-controls button{padding:5px 10px;min-height:30px;font-size:12px}
@media(max-width:560px){.lexibal-arcade .lp-word-attempt{width:33px;flex-basis:33px;font-size:8px}.lexibal-arcade .lp-word-row{gap:4px}.lexibal-arcade .lp-word-keyboard{gap:2px}.lexibal-arcade .lp-word-key{border-radius:4px}.lexibal-arcade .word-prompt{padding:6px}.lexibal-arcade .lp-word-controls button{flex:1}}
@media(max-height:620px){.lexibal-arcade .game-header{padding:6px 10px}.lexibal-arcade .game-header-emoji{font-size:20px}.lexibal-arcade .game-header h2{font-size:14px}.lexibal-arcade .game-header-actions button{min-height:32px;padding:5px 8px}.lexibal-arcade .word-prompt .lp-word-clue{-webkit-line-clamp:1}.lexibal-arcade .lp-word-key{height:23px}.lexibal-arcade .lp-word-controls button{min-height:26px;padding:3px 8px}}

/* v1.8.0: respect sticky Foxiz headers and keep game UI above the site chrome */
.lexibal-arcade .modal{z-index:999999;overscroll-behavior:contain;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0)}
.lexibal-arcade .game-window{max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));min-height:0;overscroll-behavior:contain}
.lexibal-arcade .game-header{position:sticky;top:0;z-index:5;flex-shrink:0;background:var(--panel);padding-top:max(10px,env(safe-area-inset-top,0px))}
.lexibal-arcade .game-body{min-height:0;overscroll-behavior:contain}
.lexibal-arcade .modal.lp-fullscreen-fallback{z-index:999999}
.lexibal-arcade .ludo-track{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:3px;max-width:760px;margin:10px auto;padding:8px;background:var(--panel2);border:1px solid var(--border);border-radius:14px}
.lexibal-arcade .ludo-cell{aspect-ratio:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:var(--panel);border:1px solid var(--border);border-radius:5px;overflow:hidden}
.lexibal-arcade .ludo-cell.safe{background:color-mix(in srgb,var(--brand) 15%,var(--panel));border-color:color-mix(in srgb,var(--brand) 55%,var(--border))}
.lexibal-arcade .ludo-cell small{font-size:clamp(7px,1vw,10px);color:var(--muted)}
.lexibal-arcade .ludo-piece{width:clamp(13px,2vw,22px);height:clamp(13px,2vw,22px);border-radius:50%;display:inline-grid;place-items:center;color:white;font-size:clamp(7px,1vw,10px);font-weight:900;border:1px solid #ffffffa8}
.lexibal-arcade .ludo-homes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-width:760px;margin:0 auto}
.lexibal-arcade .ludo-home{min-width:0;border:2px solid var(--border);border-radius:12px;padding:9px;background:var(--panel)}
.lexibal-arcade .ludo-token-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:7px}
.lexibal-arcade .ludo-token-btn{padding:6px 5px;font-size:11px;min-width:0;white-space:normal}
.lexibal-arcade .room-player-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:12px 0}
.lexibal-arcade .room-player{background:var(--panel2);padding:8px 10px;border-radius:9px;font-size:12px;color:var(--muted)}
.lexibal-arcade .room-player.online{color:var(--text);border:1px solid color-mix(in srgb,var(--good) 45%,var(--border))}
.lexibal-arcade .room-player-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--bad);margin-right:6px}
.lexibal-arcade .room-player.online .room-player-dot{background:var(--good)}
@media(max-width:560px){.lexibal-arcade .modal{padding:0}.lexibal-arcade .game-window{max-height:100dvh;height:100dvh}.lexibal-arcade .game-header{position:sticky;top:0}.lexibal-arcade .ludo-track{gap:2px;padding:4px}.lexibal-arcade .ludo-homes{gap:5px}.lexibal-arcade .ludo-home{padding:5px}.lexibal-arcade .ludo-token-buttons{grid-template-columns:1fr}.lexibal-arcade .ludo-token-btn{font-size:9px;padding:5px 3px}.lexibal-arcade .room-player-list{grid-template-columns:1fr}}

/* v1.9.4: traditional Ludo board */
.lexibal-arcade .ludo-board-wrap{width:100%;max-width:680px;margin:10px auto 14px}
.lexibal-arcade .ludo-board{width:100%;aspect-ratio:1;display:grid;grid-template-columns:repeat(15,minmax(0,1fr));grid-template-rows:repeat(15,minmax(0,1fr));gap:1px;padding:3px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden;box-sizing:border-box;box-shadow:0 8px 24px #00000012}
.lexibal-arcade .ludo-square{position:relative;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--panel);box-sizing:border-box}
.lexibal-arcade .ludo-home-zone{background:var(--home);padding:0}
.lexibal-arcade .ludo-home-zone{background:var(--home)}
.lexibal-arcade .ludo-yard-base{background:color-mix(in srgb,var(--panel) 92%,white);border:1px solid color-mix(in srgb,var(--home) 45%,var(--border));box-shadow:inset 0 0 0 1px #ffffff55}
.lexibal-arcade .ludo-yard{background:color-mix(in srgb,var(--home) 16%,white);border:1px solid color-mix(in srgb,var(--home) 48%,white);z-index:1}
.lexibal-arcade .ludo-yard-token,.lexibal-arcade .ludo-piece{width:75%;height:75%;max-width:26px;max-height:26px;min-width:5px;min-height:5px;border-radius:50%;display:inline-grid;place-items:center;flex-shrink:0;background:var(--piece);color:#fff;font-size:clamp(5px,1.05vw,11px);font-weight:900;border:1.5px solid #fff;box-shadow:0 1px 2px #0004;line-height:1}
.lexibal-arcade .ludo-square-num{position:absolute;top:1px;left:2px;font-size:clamp(4px,.65vw,8px);line-height:1;color:var(--muted);opacity:.7}
.lexibal-arcade .ludo-square.track-square{background:var(--panel);border:1px solid color-mix(in srgb,var(--border) 70%,#fff)}
.lexibal-arcade .ludo-square.track-square.safe{background:color-mix(in srgb,var(--brand) 18%,var(--panel));border-color:color-mix(in srgb,var(--brand) 60%,var(--border))}
.lexibal-arcade .ludo-square.track-square.safe::after{content:"★";font-size:clamp(5px,.75vw,10px);color:var(--brand);opacity:.8}
.lexibal-arcade .ludo-home-lane{background:color-mix(in srgb,var(--lane) 70%,white);border:1px solid #ffffffa6}
.lexibal-arcade .ludo-home-lane::after{content:"";width:32%;height:32%;background:var(--lane);border-radius:2px;opacity:.8}
.lexibal-arcade .ludo-center{background:var(--panel);border:1px solid var(--border)}
.lexibal-arcade .ludo-center-top{background:linear-gradient(135deg,var(--home) 0 50%,var(--panel) 50% 100%)}
.lexibal-arcade .ludo-center-left{background:linear-gradient(45deg,var(--home) 0 50%,var(--panel) 50% 100%)}
.lexibal-arcade .ludo-center-right{background:linear-gradient(225deg,var(--home) 0 50%,var(--panel) 50% 100%)}
.lexibal-arcade .ludo-center-bottom{background:linear-gradient(315deg,var(--home) 0 50%,var(--panel) 50% 100%)}
.lexibal-arcade .ludo-center-core{background:var(--panel2);color:var(--text);font-size:clamp(5px,.8vw,10px);font-weight:900;letter-spacing:.02em}
.lexibal-arcade .ludo-center-core span{writing-mode:vertical-rl;transform:rotate(180deg)}
.lexibal-arcade .ludo-board-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:7px 14px;margin:8px 0;color:var(--muted);font-size:12px}
.lexibal-arcade .ludo-board-legend span{display:inline-flex;align-items:center;gap:5px}
.lexibal-arcade .ludo-board-legend i,.lexibal-arcade .ludo-player-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:0 0 9px}
.lexibal-arcade .ludo-home{border:2px solid var(--home)!important}
.lexibal-arcade .ludo-home>strong{display:flex;align-items:center;gap:6px;color:var(--text)}
.lexibal-arcade .ludo-home>strong .ludo-player-dot{background:var(--home)}
@media(max-width:560px){.lexibal-arcade .ludo-board-wrap{margin:5px auto 9px}.lexibal-arcade .ludo-board{padding:2px;gap:1px;border-radius:6px}.lexibal-arcade .ludo-square-num{display:none}.lexibal-arcade .ludo-yard-token,.lexibal-arcade .ludo-piece{font-size:6px;border-width:1px}.lexibal-arcade .ludo-board-legend{font-size:10px;gap:5px 9px}.lexibal-arcade .ludo-homes{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v1.9.5: proper Ludo board geometry and viewport-aware sizing */
.lexibal-arcade .ludo-board-wrap{width:100%;max-width:680px;margin:clamp(4px,1vh,10px) auto 10px;}
.lexibal-arcade .ludo-board{width:min(100%,680px,calc(100dvh - 205px));max-width:100%;aspect-ratio:1;margin-inline:auto;display:grid;grid-template-columns:repeat(15,minmax(0,1fr));grid-template-rows:repeat(15,minmax(0,1fr));gap:clamp(0px,.12vw,1px);padding:clamp(2px,.5vw,4px);background:var(--border);border:1px solid var(--border);border-radius:clamp(5px,1.2vw,12px);overflow:hidden;box-sizing:border-box;box-shadow:0 8px 24px #00000012;}
.lexibal-arcade .ludo-square{position:relative;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--panel);box-sizing:border-box;}
.lexibal-arcade .ludo-home-zone{background:var(--home);}
.lexibal-arcade .ludo-yard-base{background:color-mix(in srgb,var(--panel) 92%,white);border:1px solid color-mix(in srgb,var(--home) 45%,var(--border));box-shadow:inset 0 0 0 1px #ffffff55;}
.lexibal-arcade .ludo-yard{background:color-mix(in srgb,var(--home) 12%,var(--panel));border:1.5px solid var(--home);z-index:1;}
.lexibal-arcade .ludo-yard-token,.lexibal-arcade .ludo-piece{width:78%;height:78%;max-width:28px;max-height:28px;min-width:4px;min-height:4px;border-radius:50%;display:inline-grid;place-items:center;flex-shrink:0;background:var(--piece);color:#fff;font-size:clamp(5px,.85vw,11px);font-weight:900;border:1.5px solid #fff;box-shadow:0 1px 3px #0005;line-height:1;}
.lexibal-arcade .ludo-square-num{position:absolute;top:1px;left:2px;font-size:clamp(4px,.6vw,8px);line-height:1;color:var(--muted);opacity:.65;pointer-events:none;}
.lexibal-arcade .ludo-square.track-square{background:var(--panel);border:1px solid color-mix(in srgb,var(--border) 70%,white);}
.lexibal-arcade .ludo-square.track-square.safe{background:color-mix(in srgb,var(--brand) 14%,var(--panel));border:1.5px solid color-mix(in srgb,var(--brand) 65%,var(--border));}
.lexibal-arcade .ludo-star{font-size:clamp(6px,1.1vw,14px);color:var(--brand);opacity:.9;line-height:1;}
.lexibal-arcade .ludo-square.start-square{box-shadow:inset 0 0 0 2px var(--brand);}
.lexibal-arcade .ludo-home-lane{background:color-mix(in srgb,var(--lane) 76%,var(--panel));border:1px solid color-mix(in srgb,var(--lane) 65%,var(--border));}
.lexibal-arcade .ludo-center{background:var(--panel);border:1px solid var(--border);}
.lexibal-arcade .ludo-center-top{background:linear-gradient(135deg,var(--home) 0 50%,var(--panel) 50% 100%);}
.lexibal-arcade .ludo-center-left{background:linear-gradient(45deg,var(--home) 0 50%,var(--panel) 50% 100%);}
.lexibal-arcade .ludo-center-right{background:linear-gradient(225deg,var(--home) 0 50%,var(--panel) 50% 100%);}
.lexibal-arcade .ludo-center-bottom{background:linear-gradient(315deg,var(--home) 0 50%,var(--panel) 50% 100%);}
.lexibal-arcade .ludo-center-core{background:var(--panel2);color:var(--text);font-size:clamp(5px,.75vw,10px);font-weight:900;letter-spacing:.02em;}
.lexibal-arcade .ludo-center-core span{writing-mode:vertical-rl;transform:rotate(180deg);}
.lexibal-arcade .ludo-board-legend{display:flex;justify-content:center;flex-wrap:wrap;gap:5px 12px;margin:6px 0;color:var(--muted);font-size:clamp(10px,1.1vw,12px);}
.lexibal-arcade .ludo-board-legend span{display:inline-flex;align-items:center;gap:5px;}
.lexibal-arcade .ludo-board-legend i,.lexibal-arcade .ludo-player-dot{display:inline-block;width:9px;height:9px;border-radius:50%;flex:0 0 9px;}
.lexibal-arcade .ludo-home{border:2px solid var(--home)!important;min-width:0;}
.lexibal-arcade .ludo-home>strong{display:flex;align-items:center;gap:6px;color:var(--text);}
.lexibal-arcade .ludo-home>strong .ludo-player-dot{background:var(--home);}
.lexibal-arcade .ludo-token-buttons{grid-template-columns:repeat(2,minmax(0,1fr));}
@media(max-width:700px){.lexibal-arcade .ludo-board{width:min(100%,calc(100dvh - 215px));}.lexibal-arcade .ludo-homes{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;}.lexibal-arcade .ludo-home{padding:5px;}.lexibal-arcade .ludo-token-btn{font-size:clamp(9px,2.5vw,11px);padding:6px 3px;min-height:32px;}.lexibal-arcade .ludo-board-legend{margin:4px 0;}}
@media(max-width:380px){.lexibal-arcade .ludo-board{width:min(100%,calc(100dvh - 220px));padding:1px;}.lexibal-arcade .ludo-homes{gap:4px;}.lexibal-arcade .ludo-token-buttons{grid-template-columns:1fr;}.lexibal-arcade .ludo-token-btn{min-height:28px;font-size:9px;}}
@media(max-height:520px) and (orientation:landscape){.lexibal-arcade .ludo-board{width:min(46vw,calc(100dvh - 125px),520px);}.lexibal-arcade .ludo-board-wrap{max-width:100%;}.lexibal-arcade .ludo-homes{grid-template-columns:repeat(4,minmax(0,1fr));}.lexibal-arcade .ludo-token-buttons{grid-template-columns:1fr;}.lexibal-arcade .ludo-token-btn{font-size:9px;min-height:25px;padding:3px;}}

/* v1.9.6: interactive board tokens and animated physical-style die */
.lexibal-arcade .ludo-token-live{appearance:none;cursor:pointer;position:relative;z-index:5;padding:0;touch-action:manipulation;transition:transform .12s ease,filter .12s ease;box-sizing:border-box;}
.lexibal-arcade .ludo-token-live:not(:disabled){outline:2px solid color-mix(in srgb,var(--piece) 55%,transparent);outline-offset:1px;animation:ludo-token-ready 1.25s ease-in-out infinite;}
.lexibal-arcade .ludo-token-live:disabled{cursor:default;}
.lexibal-arcade .ludo-token-live:not(:disabled):active{transform:scale(.88);}
@keyframes ludo-token-ready{0%,100%{filter:drop-shadow(0 0 0 transparent)}50%{filter:drop-shadow(0 0 3px var(--piece))}}
.lexibal-arcade .ludo-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin:10px auto;}
.lexibal-arcade .ludo-die-button{display:flex;align-items:center;gap:12px;border:0;border-radius:14px;padding:8px 16px;background:var(--panel2);color:var(--text);box-shadow:0 3px 0 var(--border);cursor:pointer;touch-action:manipulation;font-weight:800;}
.lexibal-arcade .ludo-die-button:disabled{opacity:.6;cursor:not-allowed;}
.lexibal-arcade .ludo-die{width:52px;height:52px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:3px;padding:7px;border-radius:12px;background:linear-gradient(145deg,#fff,#e8e8e8);border:1px solid #c6c6c6;box-shadow:inset -3px -4px 0 #d5d5d5,0 3px 6px #0003;box-sizing:border-box;transform:rotate(-4deg);}
.lexibal-arcade .ludo-die i{display:block;align-self:center;justify-self:center;width:8px;height:8px;border-radius:50%;background:#20242b;opacity:0;}
.lexibal-arcade .ludo-die i:nth-child(1){grid-area:1/1}.lexibal-arcade .ludo-die i:nth-child(2){grid-area:1/3}.lexibal-arcade .ludo-die i:nth-child(3){grid-area:2/2}.lexibal-arcade .ludo-die i:nth-child(4){grid-area:3/1}.lexibal-arcade .ludo-die i:nth-child(5){grid-area:3/3}.lexibal-arcade .ludo-die i:nth-child(6){grid-area:1/2}
.lexibal-arcade .ludo-die.face-1 i:nth-child(3),.lexibal-arcade .ludo-die.face-2 i:nth-child(-n+2),.lexibal-arcade .ludo-die.face-3 i:nth-child(-n+3),.lexibal-arcade .ludo-die.face-4 i:nth-child(1),.lexibal-arcade .ludo-die.face-4 i:nth-child(2),.lexibal-arcade .ludo-die.face-4 i:nth-child(4),.lexibal-arcade .ludo-die.face-4 i:nth-child(5),.lexibal-arcade .ludo-die.face-5 i:nth-child(-n+5),.lexibal-arcade .ludo-die.face-6 i{opacity:1}
.lexibal-arcade .ludo-die.face-6 i:nth-child(3){grid-area:2/1}.lexibal-arcade .ludo-die.face-6 i:nth-child(4){grid-area:2/3}.lexibal-arcade .ludo-die.face-6 i:nth-child(5){grid-area:3/1}.lexibal-arcade .ludo-die.face-6 i:nth-child(6){grid-area:3/3}
.lexibal-arcade .ludo-die.rolling{animation:ludo-die-roll .62s cubic-bezier(.2,.7,.3,1) both;}
@keyframes ludo-die-roll{0%{transform:rotate(0) scale(1)}25%{transform:rotate(150deg) scale(1.15)}55%{transform:rotate(330deg) scale(.92)}100%{transform:rotate(716deg) scale(1)}}
.lexibal-arcade .ludo-roll-label{font-size:14px}.lexibal-arcade .ludo-last-roll{font-size:12px;color:var(--muted)}
@media(max-width:520px){.lexibal-arcade .ludo-board{width:min(100%,calc(100dvh - 235px));}.lexibal-arcade .ludo-die{width:44px;height:44px;padding:6px}.lexibal-arcade .ludo-die i{width:7px;height:7px}.lexibal-arcade .ludo-die-button{padding:6px 10px;gap:8px}.lexibal-arcade .ludo-roll-label{font-size:12px}}
@media(prefers-reduced-motion:reduce){.lexibal-arcade .ludo-die.rolling,.lexibal-arcade .ludo-token-live:not(:disabled){animation:none}}

/* v1.9.8: tactile, raised Ludo board and dimensional pieces */
.lexibal-arcade .ludo-board-wrap{perspective:1000px;}
.lexibal-arcade .ludo-board{background:#d8dbe2;border:3px solid #aeb5c2;border-radius:clamp(8px,1.6vw,18px);box-shadow:0 8px 0 #8791a3,0 14px 28px #0003,inset 0 2px 0 #fff;transform:rotateX(1deg);}
.lexibal-arcade .ludo-square{border-radius:1px;box-shadow:inset 0 0 0 1px #0000000b;}
.lexibal-arcade .ludo-square.track-square{background:linear-gradient(145deg,#fff 0%,#f1f3f6 100%);border:1px solid #c8cdd5;box-shadow:inset 0 1px 0 #fff, inset 0 -1px 0 #e0e3e8;}
.lexibal-arcade .ludo-square.track-square.safe{background:linear-gradient(145deg,#fff8dc,#f0e3a8);border:1px solid #d1b95b;}
.lexibal-arcade .ludo-square.ludo-home-lane{background:linear-gradient(145deg,color-mix(in srgb,var(--lane) 72%,white),var(--lane));box-shadow:inset 0 1px 0 #ffffff75,inset 0 -1px 0 #00000014;}
.lexibal-arcade .ludo-home-zone{background:linear-gradient(145deg,color-mix(in srgb,var(--home) 88%,white),var(--home) 72%,color-mix(in srgb,var(--home) 80%,black));}
.lexibal-arcade .ludo-yard-base{background:linear-gradient(145deg,#fff,#eef0f4);border:1px solid #d4d8df;border-radius:3px;}
.lexibal-arcade .ludo-yard{background:linear-gradient(145deg,color-mix(in srgb,var(--home) 12%,white),color-mix(in srgb,var(--home) 25%,#e9edf2));}
.lexibal-arcade .ludo-yard-token,.lexibal-arcade .ludo-piece{position:relative;border:1px solid color-mix(in srgb,var(--piece) 70%,#fff);background:radial-gradient(circle at 32% 23%,color-mix(in srgb,var(--piece) 30%,white),var(--piece) 56%,color-mix(in srgb,var(--piece) 72%,black));box-shadow:inset 0 2px 2px #ffffffa8,inset 0 -3px 2px #0003,0 3px 0 color-mix(in srgb,var(--piece) 70%,black),0 5px 6px #0004;color:#fff;text-shadow:0 1px 2px #0008;transform:translateY(-1px);cursor:pointer;transition:transform .12s ease,filter .12s ease,box-shadow .12s ease;}
.lexibal-arcade .ludo-token-live:not(:disabled):hover{transform:translateY(-3px) scale(1.09);filter:brightness(1.08);box-shadow:inset 0 2px 2px #ffffffb0,0 4px 0 color-mix(in srgb,var(--piece) 70%,black),0 7px 8px #0004;}
.lexibal-arcade .ludo-token-live:disabled{cursor:default;opacity:1;}
.lexibal-arcade .ludo-center{box-shadow:inset 0 0 0 1px #ffffffa8;}
.lexibal-arcade .ludo-center-core{background:radial-gradient(circle,#fff 0%,#e8ebf1 78%);font-weight:900;color:#343b49;}
.lexibal-arcade .ludo-die{background:linear-gradient(145deg,#fff,#e8eaf0);border:1px solid #c3c8d2;box-shadow:inset 0 2px 0 #fff,inset -4px -5px 0 #d6dae2,0 4px 0 #9ba3b1,0 7px 12px #0003;}
@media(max-width:520px){.lexibal-arcade .ludo-board{width:min(100%,calc(100dvh - 220px));transform:none;}.lexibal-arcade .ludo-yard-token,.lexibal-arcade .ludo-piece{box-shadow:inset 0 1px 1px #ffffffa8,0 2px 0 color-mix(in srgb,var(--piece) 70%,black),0 2px 3px #0003;}}

/* Ludo v2.0.0: clean player turn tray and clear die/colour marker */
.lexibal-arcade .ludo-actions{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:8px auto 12px}
.lexibal-arcade .ludo-turn-tray{display:flex;align-items:center;gap:9px;padding:7px 10px;border:1px solid var(--border);border-radius:16px;background:var(--panel);box-shadow:0 3px 0 var(--border),0 8px 18px #00000012}
.lexibal-arcade .ludo-turn-marker{width:34px;height:42px;display:grid;place-items:center;flex:0 0 auto;color:color-mix(in srgb,var(--piece) 65%,#172033)}
.lexibal-arcade .ludo-turn-marker svg{width:30px;height:38px;filter:drop-shadow(0 2px 1px #0004)}
.lexibal-arcade .ludo-turn-tray .ludo-die-button{box-shadow:none;background:transparent;padding:2px 4px}
.lexibal-arcade .ludo-board{touch-action:manipulation}
.lexibal-arcade .ludo-piece,.lexibal-arcade .ludo-yard-token{position:relative;z-index:2;cursor:pointer;touch-action:manipulation}
.lexibal-arcade .ludo-piece:disabled,.lexibal-arcade .ludo-yard-token:disabled{cursor:default}
@media(max-width:520px){.lexibal-arcade .ludo-turn-tray{gap:6px;padding:5px 7px}.lexibal-arcade .ludo-turn-marker{width:27px;height:34px}.lexibal-arcade .ludo-turn-marker svg{width:24px;height:31px}.lexibal-arcade .ludo-die{width:42px;height:42px}.lexibal-arcade .ludo-actions{gap:6px}}

/* v2.1.0: device-aware layouts for the hub and every game */
.lexibal-arcade .app{width:100%;max-width:1680px}
.lexibal-arcade .game-window{width:min(1480px,96vw);height:min(94dvh,1040px)}
.lexibal-arcade .game-body{padding:clamp(12px,2vw,28px)}
.lexibal-arcade .game-layout{width:100%;max-width:1240px}
.lexibal-arcade .game-surface{padding:clamp(12px,1.5vw,24px)}
.lexibal-arcade .canvas-wrap{max-width:1100px}
.lexibal-arcade .game-controls{gap:10px;margin:14px 0}
.lexibal-arcade .game-controls button,.lexibal-arcade .game-surface button{min-height:40px}
.lexibal-arcade .games{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media(min-width:1400px){
 .lexibal-arcade .games{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
 .lexibal-arcade .game-art{height:150px}
 .lexibal-arcade .game-content{padding:19px}
 .lexibal-arcade .game-title h3{font-size:18px}
 .lexibal-arcade .game-content p{font-size:14px}
}
@media(min-width:1000px){
 .lexibal-arcade .modal{padding:2vh 2vw}
 .lexibal-arcade .game-header{padding:15px 24px}
 .lexibal-arcade .game-header h2{font-size:20px}
 .lexibal-arcade .game-header-emoji{font-size:30px}
 .lexibal-arcade .hud-item{padding:9px 13px;font-size:13px}
 .lexibal-arcade .hud-item strong{font-size:15px}
 .lexibal-arcade .instruction-panel{padding:18px;margin-bottom:16px}
}
@media(max-width:900px){
 .lexibal-arcade .game-window{width:100%;height:100dvh;max-height:100dvh;border-radius:0}
 .lexibal-arcade .modal{padding:0}
 .lexibal-arcade .game-body{padding:12px}
 .lexibal-arcade .game-layout{max-width:760px}
 .lexibal-arcade .games{grid-template-columns:repeat(2,minmax(0,1fr))}
 .lexibal-arcade .canvas-wrap{max-width:100%}
}
@media(max-width:600px){
 .lexibal-arcade .game-body{padding:8px;overscroll-behavior:contain}
 .lexibal-arcade .game-layout{max-width:none}
 .lexibal-arcade .game-surface{border-radius:12px;padding:9px}
 .lexibal-arcade .instruction-panel{padding:10px;margin-bottom:8px}
 .lexibal-arcade .instruction-panel p{font-size:12px}
 .lexibal-arcade .hud{gap:5px;margin-bottom:7px}
 .lexibal-arcade .hud-item{padding:6px 8px;font-size:11px}
 .lexibal-arcade .hud-item strong{font-size:12px}
 .lexibal-arcade .game-controls{gap:6px;margin:8px 0}
 .lexibal-arcade .game-controls button,.lexibal-arcade .game-surface button{min-height:40px;padding:8px 10px}
 .lexibal-arcade .games{grid-template-columns:1fr;gap:11px}
 .lexibal-arcade .game-card{grid-template-columns:92px minmax(0,1fr);border-radius:14px}
 .lexibal-arcade .game-art{min-height:160px}
 .lexibal-arcade .game-emoji{font-size:38px}
 .lexibal-arcade .game-content{padding:12px;gap:7px}
 .lexibal-arcade .game-title h3{font-size:15px}
 .lexibal-arcade .game-content p{font-size:12px;min-height:0}
 .lexibal-arcade .game-meta{gap:5px}
 .lexibal-arcade .pill{font-size:10px;padding:4px 6px}
 .lexibal-arcade .canvas-wrap{border-radius:8px}
 .lexibal-arcade .room-box{width:100%}
}
@media(max-width:380px){
 .lexibal-arcade .game-header{padding:8px}
 .lexibal-arcade .game-header h2{font-size:14px}
 .lexibal-arcade .game-header p{display:none}
 .lexibal-arcade .game-header-actions button{font-size:11px;padding:6px}
 .lexibal-arcade .game-card{grid-template-columns:78px minmax(0,1fr)}
 .lexibal-arcade .game-art{padding:7px;min-height:145px}
 .lexibal-arcade .game-emoji{font-size:32px}
 .lexibal-arcade .game-content{padding:9px}
}
@media(max-height:600px) and (orientation:landscape){
 .lexibal-arcade .game-window{height:100dvh;max-height:100dvh}
 .lexibal-arcade .game-header{padding:6px 12px}
 .lexibal-arcade .game-body{padding:6px 10px}
 .lexibal-arcade .instruction-panel{padding:8px;margin-bottom:6px}
 .lexibal-arcade .instruction-panel p{font-size:11px}
 .lexibal-arcade .game-controls{margin:5px 0}
 .lexibal-arcade .game-controls button,.lexibal-arcade .game-surface button{min-height:32px;padding:5px 9px}
}

/* v2.1.2 visibility and layout audit: honour hidden filters even when theme button rules apply. */
.lexibal-arcade [hidden]{display:none!important}
.lexibal-arcade .gameSections,.lexibal-arcade #gameSections{display:block;width:100%;min-width:0}
.lexibal-arcade .games{align-items:stretch;min-width:0}
.lexibal-arcade .game-card{min-width:0;max-width:100%;overflow:hidden}
.lexibal-arcade .game-content,.lexibal-arcade .game-title,.lexibal-arcade .game-meta{min-width:0}
.lexibal-arcade .game-title h3{overflow-wrap:anywhere}
.lexibal-arcade .game-content p{overflow-wrap:anywhere}
.lexibal-arcade .game-card .play{width:100%;justify-content:center}
.lexibal-arcade .game-window,.lexibal-arcade .game-body,.lexibal-arcade .game-layout,.lexibal-arcade .game-surface{box-sizing:border-box;min-width:0}
.lexibal-arcade .game-header{z-index:5}
.lexibal-arcade .game-body{overflow:auto;overscroll-behavior:contain}
.lexibal-arcade .game-controls button:focus-visible,.lexibal-arcade .game-card button:focus-visible,.lexibal-arcade .filters button:focus-visible{outline:3px solid var(--brand);outline-offset:2px}

/* v2.2.0: stronger cross-device layout and clear interaction states */
.lexibal-arcade .app{width:100%;max-width:1600px}
.lexibal-arcade .games{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.5vw,22px)}
.lexibal-arcade .game-card{min-height:100%;}
.lexibal-arcade .game-content{min-width:0}
.lexibal-arcade .game-title h3{overflow-wrap:anywhere}
.lexibal-arcade .game-content p{min-height:3em}
.lexibal-arcade .primary:focus-visible,.lexibal-arcade .secondary:focus-visible,.lexibal-arcade .option:focus-visible{outline:3px solid #5170ff99;outline-offset:3px}
.lexibal-arcade .game-window{width:min(1480px,calc(100vw - 28px));}
.lexibal-arcade .game-body{overscroll-behavior:contain;}
.lexibal-arcade .room-box .prompt-card{max-width:780px;margin-inline:auto}
.lexibal-arcade .room-player-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.lexibal-arcade .room-player{min-width:0;overflow-wrap:anywhere}
.lexibal-arcade button:disabled{filter:saturate(.7)}
@media(min-width:1500px){.lexibal-arcade .games{grid-template-columns:repeat(4,minmax(0,1fr))}.lexibal-arcade .game-art{height:155px}.lexibal-arcade .game-content{padding:20px}}
@media(max-width:1000px){.lexibal-arcade .games{grid-template-columns:repeat(2,minmax(0,1fr))}.lexibal-arcade .hero{grid-template-columns:1fr}.lexibal-arcade .hero-stat{justify-content:flex-start}}
@media(max-width:600px){.lexibal-arcade .app{padding:12px 10px 28px}.lexibal-arcade .games{grid-template-columns:1fr;gap:12px}.lexibal-arcade .game-card{display:grid;grid-template-columns:88px minmax(0,1fr);min-height:0}.lexibal-arcade .game-art{height:100%;min-height:150px;padding:10px;flex-direction:column;justify-content:center;gap:10px}.lexibal-arcade .game-emoji{font-size:36px}.lexibal-arcade .game-badge{font-size:8px;letter-spacing:0;text-align:center;max-width:100%;overflow-wrap:anywhere}.lexibal-arcade .game-content{padding:12px;gap:7px}.lexibal-arcade .game-title{align-items:flex-start}.lexibal-arcade .game-title h3{font-size:15px}.lexibal-arcade .game-content p{font-size:12px;min-height:0}.lexibal-arcade .game-meta{gap:5px}.lexibal-arcade .game-window{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.lexibal-arcade .modal{padding:0}.lexibal-arcade .room-player-list{grid-template-columns:1fr}}

/* v2.3.0 stability and responsive safeguards */
.lexibal-arcade .lp-runtime-error{position:relative;z-index:20;margin:12px 0;padding:14px 16px;border:1px solid #d94b58;border-radius:12px;background:#fff0f1;color:#7d1720;font-size:14px}
.lexibal-arcade .lp-runtime-error p{margin:6px 0 0}
.lexibal-arcade [hidden]{display:none!important}
.lexibal-arcade .game-card,.lexibal-arcade .game-content,.lexibal-arcade .game-window,.lexibal-arcade .game-body{min-width:0;max-width:100%}
.lexibal-arcade .game-window{width:min(1180px,calc(100vw - 24px));}
.lexibal-arcade .game-body{overflow:auto;overscroll-behavior:contain}
@media(max-width:640px){.lexibal-arcade .app{padding:12px 10px 28px}.lexibal-arcade .game-window{width:100vw;max-height:100dvh;border-radius:0}.lexibal-arcade .game-header{gap:8px}.lexibal-arcade .game-header-actions{gap:5px}.lexibal-arcade .game-header-actions button{padding:8px}.lexibal-arcade .game-header-actions button span{display:none}}


/* v2.4.0: keep every game panel reachable on short screens and touch devices. */
.lexibal-arcade .modal{overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;align-items:flex-start}
.lexibal-arcade .game-window{flex:0 0 auto;min-height:0}
.lexibal-arcade .game-body{overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-gutter:stable}
.lexibal-arcade .game-surface,.lexibal-arcade .prompt-card,.lexibal-arcade .room-box{min-width:0;overflow-wrap:anywhere}
.lexibal-arcade .ludo-board-wrap{width:100%;max-width:min(100%,680px);margin-inline:auto;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.lexibal-arcade .ludo-board{max-width:100%;touch-action:manipulation}
.lexibal-arcade button,.lexibal-arcade input,.lexibal-arcade select{touch-action:manipulation}
@media(max-height:620px){.lexibal-arcade .game-header{padding:8px 12px}.lexibal-arcade .game-body{padding:10px}.lexibal-arcade .game-surface{padding:10px}.lexibal-arcade .instruction-panel{padding:10px;margin-bottom:8px}}
@media(max-width:420px){.lexibal-arcade .game-header h2{font-size:15px}.lexibal-arcade .game-header-emoji{font-size:22px}.lexibal-arcade .game-body{padding:9px}.lexibal-arcade .game-controls>*{max-width:100%;min-width:0}.lexibal-arcade .room-select{width:100%;max-width:100%}}


/* v2.7.0 Ludo redesign: classic board, compact controls, one personal die per player. */
.lexibal-arcade .ludo-room-shell{width:100%;max-width:1000px;margin:0 auto;min-width:0}
.lexibal-arcade .ludo-play{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0}
.lexibal-arcade .ludo-matchbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px;color:var(--text)}
.lexibal-arcade .ludo-matchbar>div{display:grid;gap:1px}.lexibal-arcade .ludo-matchbar strong{font-size:clamp(17px,2vw,23px);line-height:1.2}
.lexibal-arcade .ludo-kicker{font-size:10px;letter-spacing:2px;font-weight:900;color:var(--muted)}
.lexibal-arcade .ludo-turn-pill{font-size:12px;font-weight:800;padding:7px 11px;border-radius:999px;background:color-mix(in srgb,var(--turn-color) 14%,var(--panel));border:1px solid color-mix(in srgb,var(--turn-color) 45%,var(--border));white-space:nowrap}
.lexibal-arcade .ludo-board-wrap{max-width:min(100%,min(74vh,680px));margin:0 auto;width:100%;overflow:visible}
.lexibal-arcade .ludo-board{width:100%;aspect-ratio:1;display:grid;grid-template-columns:repeat(15,minmax(0,1fr));grid-template-rows:repeat(15,minmax(0,1fr));gap:0;overflow:hidden;border:2px solid #253044;border-radius:4px;background:#fff;box-shadow:0 8px 22px #0002;transform:none}
.lexibal-arcade .ludo-square{min-width:0;min-height:0;border-radius:0;box-shadow:inset 0 0 0 1px #29354a20;display:flex;align-items:center;justify-content:center;overflow:visible}
.lexibal-arcade .ludo-square.track-square{background:#fff;border:1px solid #b8c0cb;box-shadow:none}
.lexibal-arcade .ludo-square.track-square.safe{background:#fffdf1;border:1px solid #b8c0cb}
.lexibal-arcade .ludo-square.ludo-home-lane{border:1px solid #ffffffa8;box-shadow:none}
.lexibal-arcade .ludo-home-zone{background:var(--home);border:1px solid #ffffff30}
.lexibal-arcade .ludo-yard-base{background:#fff;border:1px solid #1f293733;border-radius:0}
.lexibal-arcade .ludo-yard{background:color-mix(in srgb,var(--home) 14%,white);border:1px solid #29354a25}
.lexibal-arcade .ludo-yard-token,.lexibal-arcade .ludo-piece{width:clamp(12px,2.3vw,25px);height:clamp(12px,2.3vw,25px);min-width:0;min-height:0;padding:0;border:2px solid #fff;border-radius:50%;font-size:clamp(7px,.8vw,10px);line-height:1;background:var(--piece);box-shadow:0 1px 3px #0007;color:#fff;text-shadow:none;transform:none}
.lexibal-arcade .ludo-yard-token{width:78%;height:78%;max-width:28px;max-height:28px;font-size:clamp(8px,1vw,12px)}
.lexibal-arcade .ludo-token-live:not(:disabled):hover{transform:scale(1.14);box-shadow:0 0 0 3px color-mix(in srgb,var(--piece) 35%,transparent),0 2px 5px #0005}
.lexibal-arcade .ludo-center{box-shadow:inset 0 0 0 1px #fff9}
.lexibal-arcade .ludo-center-core{font-size:clamp(5px,.8vw,10px);text-align:center;background:#fff;color:#263248}
.lexibal-arcade .ludo-star{font-size:clamp(9px,1.4vw,17px);color:#d5a300}
.lexibal-arcade .ludo-board-legend{display:none}
.lexibal-arcade .ludo-player-dice{display:grid;grid-template-columns:repeat(var(--player-count),minmax(0,1fr));gap:8px;width:100%;max-width:760px;margin:0 auto}
.lexibal-arcade .ludo-player-die{min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;padding:8px 5px;border:1px solid var(--border);border-radius:12px;background:var(--panel);opacity:.72;transition:border-color .15s,opacity .15s,background .15s}
.lexibal-arcade .ludo-player-die.is-current{opacity:1;border:2px solid var(--player-color);background:color-mix(in srgb,var(--player-color) 7%,var(--panel));box-shadow:0 2px 0 color-mix(in srgb,var(--player-color) 25%,transparent)}
.lexibal-arcade .ludo-player-die.is-winner{opacity:1;border-color:var(--player-color)}
.lexibal-arcade .ludo-player-label{display:flex;align-items:center;justify-content:center;gap:5px;width:100%;min-width:0;font-size:clamp(10px,1.3vw,13px);font-weight:800;color:var(--text)}
.lexibal-arcade .ludo-player-label>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.lexibal-arcade .ludo-player-dot{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:var(--player-color)}
.lexibal-arcade .ludo-player-die .ludo-die-button{display:flex;flex-direction:column;align-items:center;gap:5px;padding:3px;border:0;background:transparent;box-shadow:none;color:var(--text);width:100%;min-width:0}
.lexibal-arcade .ludo-player-die .ludo-die{width:clamp(36px,5vw,48px);height:clamp(36px,5vw,48px);padding:6px;gap:2px;border-radius:9px;transform:none}
.lexibal-arcade .ludo-player-die .ludo-die i{width:clamp(5px,.7vw,7px);height:clamp(5px,.7vw,7px)}
.lexibal-arcade .ludo-roll-label{font-size:11px;line-height:1.2;text-align:center;white-space:normal}
.lexibal-arcade .ludo-status{font-size:13px;text-align:center;color:var(--muted);min-height:20px;padding:0 6px}
.lexibal-arcade .ludo-footer-actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}
.lexibal-arcade .ludo-footer-actions button{padding:7px 11px;font-size:12px}
@media(min-width:900px){.lexibal-arcade .ludo-play{grid-template-columns:minmax(0,1fr) 190px;align-items:start;column-gap:18px}.lexibal-arcade .ludo-matchbar{grid-column:1/-1}.lexibal-arcade .ludo-board-wrap{grid-column:1;grid-row:2/5;max-width:min(100%,min(72vh,680px))}.lexibal-arcade .ludo-player-dice{grid-column:2;grid-row:2;grid-template-columns:1fr;gap:8px}.lexibal-arcade .ludo-player-die{flex-direction:row;justify-content:space-between;padding:8px 10px}.lexibal-arcade .ludo-player-label{justify-content:flex-start;flex:1}.lexibal-arcade .ludo-player-die .ludo-die-button{width:auto;flex-direction:row;justify-content:flex-end}.lexibal-arcade .ludo-roll-label{max-width:48px}.lexibal-arcade .ludo-status{grid-column:2;grid-row:3;text-align:left}.lexibal-arcade .ludo-footer-actions{grid-column:2;grid-row:4;justify-content:flex-start}}
@media(max-width:560px){.lexibal-arcade .ludo-play{gap:8px}.lexibal-arcade .ludo-board-wrap{max-width:min(100%,calc(100dvh - 300px));min-width:0}.lexibal-arcade .ludo-player-dice{gap:4px}.lexibal-arcade .ludo-player-die{padding:5px 2px;border-radius:9px}.lexibal-arcade .ludo-player-label{font-size:10px}.lexibal-arcade .ludo-player-die .ludo-die{width:34px;height:34px;padding:5px}.lexibal-arcade .ludo-player-die .ludo-die i{width:5px;height:5px}.lexibal-arcade .ludo-roll-label{font-size:10px}.lexibal-arcade .ludo-turn-pill{font-size:10px;padding:5px 8px}.lexibal-arcade .ludo-yard-token,.lexibal-arcade .ludo-piece{box-shadow:0 1px 2px #0005}}
@media(max-height:650px) and (orientation:landscape){.lexibal-arcade .ludo-board-wrap{max-width:min(56vh,500px)}.lexibal-arcade .ludo-player-die .ludo-die{width:34px;height:34px}.lexibal-arcade .ludo-player-dice{gap:4px}}

/* v2.8.2: classic Ludo board styling based on the supplied reference image. */
.lexibal-arcade .ludo-board-wrap{max-width:680px;margin:10px auto 14px;padding:0 2px;}
.lexibal-arcade .ludo-board{background:#d8c18a;border:3px solid #d8c18a;border-radius:clamp(10px,2vw,22px);padding:clamp(3px,.65vw,6px);gap:1px;box-shadow:0 4px 0 #b79a5b,0 8px 20px #0002;}
.lexibal-arcade .ludo-square{background:#fff;border:1px solid #9ca3af;}
.lexibal-arcade .ludo-home-zone{border:0!important;}
.lexibal-arcade .ludo-home-zone.red{--home:#f20d16!important;background:#f20d16!important;}
.lexibal-arcade .ludo-home-zone.blue{--home:#0874df!important;background:#0874df!important;}
.lexibal-arcade .ludo-home-zone.yellow{--home:#f6d42d!important;background:#f6d42d!important;}
.lexibal-arcade .ludo-home-zone.green{--home:#079b35!important;background:#079b35!important;}
.lexibal-arcade .ludo-yard-base{background:#fff!important;border:1px solid #7f8790!important;box-shadow:none!important;}
.lexibal-arcade .ludo-yard{background:#fff!important;border:1.5px solid var(--home)!important;border-radius:0!important;}
.lexibal-arcade .ludo-home-lane{background:var(--lane)!important;border:1px solid #aab0b6!important;}
.lexibal-arcade .ludo-center{border:0!important;}
.lexibal-arcade .ludo-star{color:#fff!important;text-shadow:0 1px 1px #3338;}
.lexibal-arcade .ludo-yard-token,.lexibal-arcade .ludo-piece{border:2px solid #fff!important;box-shadow:0 1px 2px #0003!important;}
.lexibal-arcade .ludo-token-live:not(:disabled){outline-color:var(--piece);}

/* v2.8.3: traditional Ludo centre wedges matching the reference board. */
.lexibal-arcade .ludo-center-top, .lexibal-arcade .ludo-center-top-left, .lexibal-arcade .ludo-center-top-right { background: linear-gradient(135deg, var(--home) 0 50%, #fff 50% 100%); }
.lexibal-arcade .ludo-center-left { background: linear-gradient(45deg, var(--home) 0 50%, #fff 50% 100%); }
.lexibal-arcade .ludo-center-right { background: linear-gradient(225deg, var(--home) 0 50%, #fff 50% 100%); }
.lexibal-arcade .ludo-center-bottom, .lexibal-arcade .ludo-center-bottom-left, .lexibal-arcade .ludo-center-bottom-right { background: linear-gradient(315deg, var(--home) 0 50%, #fff 50% 100%); }

/* v2.8.3: map the centre approach lanes to the four matching home colours. */
.lexibal-arcade .ludo-center-corner{background:#fff!important;border:0!important;}
.lexibal-arcade .ludo-center-top,.lexibal-arcade .ludo-center-left,.lexibal-arcade .ludo-center-right,.lexibal-arcade .ludo-center-bottom{background:var(--home)!important;border:0!important;}
.lexibal-arcade .ludo-center-core{background:#fff!important;border:0!important;}

/* Respect fixed mobile site navigation: keep arcade controls clear of persistent bottom menus. */
@media (max-width: 767px){.lexibal-arcade .app{padding-bottom:calc(104px + env(safe-area-inset-bottom, 0px));}.lexibal-arcade .ludo-room-shell{padding-bottom:calc(20px + env(safe-area-inset-bottom, 0px));}.lexibal-arcade .ludo-footer-actions{padding-bottom:8px;}}

/* v3.0.0: fixed-theme-navigation-aware game viewport and always-available hub navigation. */
.lexibal-arcade .modal{padding:clamp(0px,1.5vw,18px);}
.lexibal-arcade .game-window{max-height:100%;min-height:0;}
.lexibal-arcade .game-header{position:relative;z-index:2;}
.lexibal-arcade .game-body{padding-bottom:calc(clamp(10px,2vw,20px) + env(safe-area-inset-bottom,0px));}
.lexibal-arcade .game-header-actions .all-games-btn{background:var(--panel2);}
@media(max-width:640px){.lexibal-arcade .modal{padding:0;} .lexibal-arcade .game-window{width:100%;height:100%;max-height:100%;border-radius:0;} .lexibal-arcade .game-header-actions .all-games-btn span{display:inline;} .lexibal-arcade .game-header-actions .all-games-btn{font-size:11px;padding:6px 7px;}}
@media(max-width:390px){.lexibal-arcade .game-header-actions{gap:3px}.lexibal-arcade .game-header-actions button{padding:5px 6px;font-size:10px}.lexibal-arcade .game-header-actions .icon-btn{width:32px;height:32px}.lexibal-arcade .game-header-emoji{display:none;}}

/* v3.0.1: prevent word-game guess rows collapsing on tall/narrow mobile viewports. */
.lexibal-arcade .game-body.lp-word-game-mode{overflow-y:auto!important;overflow-x:hidden;-webkit-overflow-scrolling:touch;}
.lexibal-arcade .game-body.lp-word-game-mode .word-game-surface{height:auto;min-height:100%;overflow:visible;}
.lexibal-arcade .game-body.lp-word-game-mode .word-prompt{flex:0 0 auto;overflow:visible;}
.lexibal-arcade .game-body.lp-word-game-mode .lp-guess-history{flex:0 0 auto;min-height:0;gap:3px;margin:5px 0;}
.lexibal-arcade .game-body.lp-word-game-mode .lp-word-row{flex:0 0 auto;min-height:28px;}
.lexibal-arcade .game-body.lp-word-game-mode .lp-word-tile{flex-shrink:0;min-height:25px;}
.lexibal-arcade .game-body.lp-word-game-mode .lp-word-keyboard{flex:0 0 auto;margin:5px auto;gap:3px;}
.lexibal-arcade .game-body.lp-word-game-mode .lp-word-key{height:clamp(34px,4.4vh,44px);font-size:clamp(12px,1.5vh,15px);}
.lexibal-arcade .game-body.lp-word-game-mode #wordFeedback{max-height:none;display:block;overflow:visible;}
@media(max-width:560px){.lexibal-arcade .game-body.lp-word-game-mode .word-prompt{padding:9px 8px;}.lexibal-arcade .game-body.lp-word-game-mode .lp-word-attempt{width:38px;flex-basis:38px;font-size:10px}.lexibal-arcade .game-body.lp-word-game-mode .lp-word-key{height:clamp(38px,4.4vh,48px);font-size:13px}.lexibal-arcade .game-body.lp-word-game-mode .lp-word-controls button{min-height:40px;font-size:13px}}
.lexibal-arcade[data-theme="light"]{color-scheme:light}.lexibal-arcade[data-theme="dark"]{color-scheme:dark}

/* v3.0.2: Correct selector scope for the word-game mode class, which is applied directly to #gameBody. */
.lexibal-arcade .game-body.lp-word-game-mode{display:block!important;overflow-x:hidden!important;overflow-y:auto!important;min-height:0!important;}
.lexibal-arcade .game-body.lp-word-game-mode .game-layout{height:auto!important;min-height:0!important;}
.lexibal-arcade .game-body.lp-word-game-mode .word-game-surface{height:auto!important;min-height:0!important;overflow:visible!important;display:flex;flex-direction:column;}
.lexibal-arcade .game-body.lp-word-game-mode .lp-guess-history{display:flex!important;flex:0 0 auto!important;min-height:0!important;gap:4px!important;justify-content:flex-start!important;}
.lexibal-arcade .game-body.lp-word-game-mode .lp-word-row{display:flex!important;flex:0 0 auto!important;min-height:30px!important;align-items:center;}
.lexibal-arcade .game-body.lp-word-game-mode .lp-word-tiles{overflow:visible!important;flex-shrink:0!important;}
.lexibal-arcade .game-body.lp-word-game-mode .lp-word-tile{flex-shrink:0!important;min-height:26px!important;}
.lexibal-arcade .game-body.lp-word-game-mode .lp-word-keyboard{flex:0 0 auto!important;}
.lexibal-arcade .game-body.lp-word-game-mode .lp-word-key{height:clamp(38px,4.4vh,48px)!important;min-height:38px!important;}
.lexibal-arcade .game-body.lp-word-game-mode #wordFeedback{max-height:none!important;display:block!important;overflow:visible!important;}
@media(max-width:560px){.lexibal-arcade .game-body.lp-word-game-mode .word-prompt{flex:0 0 auto!important;overflow:visible!important;padding:9px 8px!important}.lexibal-arcade .game-body.lp-word-game-mode .lp-word-attempt{width:38px;flex-basis:38px;font-size:10px}.lexibal-arcade .game-body.lp-word-game-mode .lp-word-key{height:clamp(38px,4.4vh,48px)!important;font-size:13px}}


/* v3.0.3: Word grid repair. Keep rows and tiles at their intended size even when the host theme has generic input/table rules. */
.lexibal-arcade .game-body.lp-word-game-mode{display:block!important;overflow-x:hidden!important;overflow-y:auto!important;height:auto!important;min-height:0!important;-webkit-overflow-scrolling:touch!important;}
.lexibal-arcade .game-body.lp-word-game-mode>.game-layout{height:auto!important;min-height:0!important;max-width:780px!important;width:100%!important;}
.lexibal-arcade .game-body.lp-word-game-mode .word-game-surface{display:block!important;height:auto!important;min-height:0!important;overflow:visible!important;padding:10px!important;}
.lexibal-arcade .game-body.lp-word-game-mode .word-prompt{display:flex!important;flex-direction:column!important;flex:0 0 auto!important;height:auto!important;min-height:0!important;overflow:visible!important;gap:7px!important;padding:10px!important;}
.lexibal-arcade .game-body.lp-word-game-mode .lp-guess-history{display:flex!important;flex:0 0 auto!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important;gap:5px!important;height:auto!important;min-height:0!important;overflow:visible!important;margin:7px 0!important;}
.lexibal-arcade .game-body.lp-word-game-mode .lp-word-row{display:flex!important;flex:0 0 34px!important;align-items:center!important;justify-content:center!important;gap:7px!important;height:34px!important;min-height:34px!important;max-height:34px!important;overflow:visible!important;}
.lexibal-arcade .game-body.lp-word-game-mode .lp-word-attempt{display:block!important;flex:0 0 44px!important;width:44px!important;min-width:44px!important;max-width:44px!important;font-size:10px!important;line-height:1.1!important;white-space:nowrap!important;}
.lexibal-arcade .game-body.lp-word-game-mode .lp-word-tiles{display:flex!important;flex:0 1 auto!important;justify-content:center!important;align-items:center!important;gap:3px!important;min-width:0!important;max-width:calc(100% - 50px)!important;height:34px!important;min-height:34px!important;overflow:visible!important;}
.lexibal-arcade .game-body.lp-word-game-mode .lp-word-tile{display:inline-flex!important;box-sizing:border-box!important;flex:0 0 var(--lp-word-tile-size,30px)!important;width:var(--lp-word-tile-size,30px)!important;height:30px!important;min-height:30px!important;max-height:30px!important;line-height:1!important;padding:0!important;transform:none!important;}
.lexibal-arcade .game-body.lp-word-game-mode .lp-word-legend{flex:0 0 auto!important;margin:5px 0!important;line-height:1.3!important;}
.lexibal-arcade .game-body.lp-word-game-mode .lp-word-keyboard{display:grid!important;flex:0 0 auto!important;grid-template-columns:repeat(10,minmax(0,1fr))!important;gap:4px!important;height:auto!important;max-width:520px!important;width:100%!important;margin:7px auto!important;overflow:visible!important;}
.lexibal-arcade .game-body.lp-word-game-mode .lp-word-key{box-sizing:border-box!important;height:clamp(38px,4.4vh,48px)!important;min-height:38px!important;max-height:48px!important;line-height:1!important;padding:0!important;transform:none!important;}
.lexibal-arcade .game-body.lp-word-game-mode #wordFeedback{display:block!important;flex:0 0 auto!important;height:auto!important;max-height:none!important;overflow:visible!important;line-height:1.35!important;white-space:normal!important;}
.lexibal-arcade .game-body.lp-word-game-mode .lp-word-controls{display:flex!important;flex:0 0 auto!important;flex-wrap:wrap!important;margin:8px 0 0!important;gap:8px!important;}
.lexibal-arcade .game-body.lp-word-game-mode .lp-word-controls button{flex:1 1 130px!important;min-height:42px!important;}
@media(max-width:560px){
 .lexibal-arcade .game-body.lp-word-game-mode .word-game-surface{padding:6px!important}
 .lexibal-arcade .game-body.lp-word-game-mode .word-prompt{padding:8px!important}
 .lexibal-arcade .game-body.lp-word-game-mode .lp-word-row{gap:4px!important;height:32px!important;min-height:32px!important;max-height:32px!important;flex-basis:32px!important}
 .lexibal-arcade .game-body.lp-word-game-mode .lp-word-attempt{flex-basis:36px!important;width:36px!important;min-width:36px!important;max-width:36px!important;font-size:9px!important}
 .lexibal-arcade .game-body.lp-word-game-mode .lp-word-tiles{gap:2px!important;max-width:calc(100% - 40px)!important;height:32px!important;min-height:32px!important}
 .lexibal-arcade .game-body.lp-word-game-mode .lp-word-tile{width:clamp(20px,calc((100vw - 110px)/8),30px)!important;flex-basis:clamp(20px,calc((100vw - 110px)/8),30px)!important;height:27px!important;min-height:27px!important;max-height:27px!important;font-size:13px!important}
 .lexibal-arcade .game-body.lp-word-game-mode .lp-word-keyboard{gap:3px!important;margin:6px auto!important}
 .lexibal-arcade .game-body.lp-word-game-mode .lp-word-key{height:clamp(38px,4.4vh,48px)!important;min-height:38px!important}
}
/* Theme is inherited from the plugin root's data-theme variable; never hard-code a white word-game panel. */
.lexibal-arcade[data-theme="dark"] .game-body.lp-word-game-mode .lp-word-tile{color:var(--text);}
.lexibal-arcade[data-theme="light"] .game-body.lp-word-game-mode .lp-word-tile{color:var(--text);}

/* v3.0.5: Explicitly bind the word-game surfaces to the detected Lexibal theme. */
.lexibal-arcade[data-theme="light"] .game-body.lp-word-game-mode,
.lexibal-arcade[data-theme="light"] .game-body.lp-word-game-mode .word-game-surface,
.lexibal-arcade[data-theme="light"] .game-body.lp-word-game-mode .word-prompt{background:var(--bg)!important;color:var(--text)!important}
.lexibal-arcade[data-theme="light"] .game-body.lp-word-game-mode .lp-word-tile,
.lexibal-arcade[data-theme="light"] .game-body.lp-word-game-mode .lp-word-key{background:var(--panel)!important;color:var(--text)!important;border-color:var(--border)!important}
.lexibal-arcade[data-theme="dark"] .game-body.lp-word-game-mode,
.lexibal-arcade[data-theme="dark"] .game-body.lp-word-game-mode .word-game-surface,
.lexibal-arcade[data-theme="dark"] .game-body.lp-word-game-mode .word-prompt{background:var(--bg)!important;color:var(--text)!important}
.lexibal-arcade[data-theme="dark"] .game-body.lp-word-game-mode .lp-word-tile,
.lexibal-arcade[data-theme="dark"] .game-body.lp-word-game-mode .lp-word-key{background:var(--panel)!important;color:var(--text)!important;border-color:var(--border)!important}
