/* Mini-fotbal 3D (28.10) — doar pe /ro/mini-fotbal și /en/mini-football. Culori din tokens.css; pe umplere --accent text --bg. */
.m3-page{max-width:var(--page-max,1800px)}
.m3{display:grid;gap:12px;margin:10px 0 4px}
.m3-stage{position:relative;container-type:inline-size;width:100%;aspect-ratio:16/9;max-height:calc(100vh - 120px);min-height:300px;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius,14px);overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}
.m3-stage canvas{display:block;width:100%;height:100%}
.m3-stage:fullscreen{max-height:none;border-radius:0;border:0;aspect-ratio:auto}
@media (max-width:700px) and (orientation:portrait){.m3-stage{aspect-ratio:3/4}}
/* tabela de marcaj */
.m3-hud{position:absolute;left:0;right:0;top:10px;display:flex;justify-content:center;pointer-events:none}
.m3-sb{display:flex;align-items:stretch;background:color-mix(in srgb,var(--bg) 82%,transparent);border:1px solid var(--line);border-radius:12px;overflow:hidden;font-variant-numeric:tabular-nums}
.m3-sb span{display:flex;align-items:center;padding:6px 10px;font-weight:700;font-size:.92rem;color:var(--text)}
.m3-sb .sc{font:800 1.25rem var(--mono);min-width:34px;justify-content:center}
.m3-sb .sc.me{background:var(--accent);color:var(--bg)}
.m3-sb .sc.bot{background:var(--surface-2)}
.m3-sb .clk{font:700 1rem var(--mono);color:var(--text-2)}
.m3-lv{position:absolute;top:56px;left:0;right:0;text-align:center;font-size:.78rem;color:var(--text-2);pointer-events:none;text-shadow:0 1px 3px #000}
.m3-tools{position:absolute;top:10px;right:10px;display:flex;gap:6px}
.m3-ib{background:color-mix(in srgb,var(--bg) 82%,transparent);border:1px solid var(--line);color:var(--text);border-radius:10px;min-width:38px;height:38px;font:700 .82rem var(--font);cursor:pointer;padding:0 10px}
.m3-ib:focus-visible,.m3-go:focus-visible,.m3-seg button:focus-visible,.m3-chip:focus-visible,.m3-ladder button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
/* bara de forță */
.m3-charge{position:absolute;left:50%;bottom:16px;width:min(260px,50%);height:10px;transform:translateX(-50%);background:color-mix(in srgb,var(--bg) 80%,transparent);border:1px solid var(--line);border-radius:999px;overflow:hidden;opacity:0;transition:opacity .12s}
.m3-charge.on{opacity:1}
.m3-charge i{display:block;height:100%;width:0;background:var(--amber)}
.m3-charge.lob i{background:var(--blue)}
.m3-charge.over i{background:var(--loss)}
.m3-stam{position:absolute;left:50%;bottom:32px;width:min(160px,34%);height:6px;transform:translateX(-50%);background:color-mix(in srgb,var(--bg) 80%,transparent);border:1px solid var(--line);border-radius:999px;overflow:hidden;opacity:0;transition:opacity .2s}
.m3-stam.on{opacity:1}
.m3-stam i{display:block;height:100%;width:100%;background:var(--accent)}
.m3-stam.low i{background:var(--loss)}
.m3-pv{position:absolute;left:50%;top:86px;transform:translateX(-50%);max-width:calc(100% - 24px);width:max-content;text-align:center;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--bg) 75%,transparent);border:1px solid var(--amber);color:var(--text);font:600 .74rem var(--font)}
.m3-tb.lob{background:var(--blue);color:var(--bg)}
/* mesaje pe teren */
.m3-msg{position:absolute;left:0;right:0;top:38%;text-align:center;font:900 clamp(2rem,7vw,4.4rem)/1 var(--font);letter-spacing:.04em;color:var(--text);text-shadow:0 3px 18px rgba(0,0,0,.8);pointer-events:none;opacity:0;transform:scale(.8);transition:opacity .18s,transform .18s}
.m3-msg.on{opacity:1;transform:scale(1)}
.m3-rp{position:absolute;left:14px;top:58px;padding:4px 10px;border-radius:6px;background:rgba(220,38,38,.92);color:#fff;font:800 .82rem/1.2 var(--font);letter-spacing:.08em;text-transform:uppercase;opacity:0;transition:opacity .2s;pointer-events:none}
.m3-rp.on{opacity:1}
.m3-msg.me{color:var(--accent)} .m3-msg.bot{color:var(--loss)} .m3-msg.small{font-size:clamp(1.2rem,4vw,2rem)}
/* ecranul de deasupra terenului (meniu / start / final) */
.m3-over{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:14px;background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 25%,transparent),color-mix(in srgb,var(--bg) 78%,transparent))}
.m3-over[hidden]{display:none}
@container (min-width:900px){.m3-over.menu{justify-content:flex-end;padding-right:4%}}
.m3-card{width:min(520px,100%);max-height:100%;overflow:auto;background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--line);border-radius:16px;padding:16px clamp(14px,2.5vw,22px);display:grid;gap:10px;color:var(--text)}
.m3-card h2,.m3-card h3{margin:0}
.m3-k{font:700 .78rem var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--sage)}
.m3-fomo{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.86rem;color:var(--text-2)}
.m3-fomo b{color:var(--amber);font-family:var(--mono)}
.m3-seg{display:flex;gap:6px}
.m3-seg button{flex:1;background:var(--surface-2);border:1px solid var(--line);color:var(--text-2);border-radius:999px;padding:8px 12px;font:600 .9rem var(--font);cursor:pointer}
.m3-seg button[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--bg);font-weight:800}
.m3-next{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.m3-next .lvn{grid-row:span 2;font:900 2rem var(--mono);color:var(--amber);line-height:1}
.m3-next b{font-size:1.02rem}
.m3-next small{color:var(--text-2);font-size:.82rem}
.m3-go{background:var(--accent);color:var(--bg);border:0;border-radius:12px;padding:13px 18px;font:800 1.08rem var(--font);cursor:pointer;width:100%}
.m3-go.alt{background:var(--surface-2);color:var(--text);border:1px solid var(--line)}
.m3-row{display:flex;gap:8px}
.m3-row>*{flex:1}
.m3-note{margin:0;font-size:.84rem;color:var(--text-2);line-height:1.45}
.m3-note a{color:var(--blue)}
.m3-res{font:900 2.4rem var(--mono);text-align:center;margin:0}
.m3-res.win{color:var(--accent)} .m3-res.loss{color:var(--loss)} .m3-res.draw{color:var(--amber)}
.m3-pts-got{text-align:center;font-weight:800;font-size:1.1rem;margin:0}
.m3-cd{font:900 clamp(3rem,10vw,6rem)/1 var(--mono);color:var(--text);text-shadow:0 4px 20px rgba(0,0,0,.7)}
/* comenzile pe ecranul tactil */
.m3-touch{position:absolute;inset:0;pointer-events:none}
.m3-touch[hidden]{display:none}
.m3-joy{position:absolute;left:0;bottom:0;width:45%;height:70%;pointer-events:auto}
.m3-joy i{position:absolute;width:110px;height:110px;margin:-55px 0 0 -55px;border-radius:50%;border:2px solid rgba(255,255,255,.28);background:rgba(255,255,255,.06);display:none}
.m3-joy i b{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:rgba(255,255,255,.4)}
.m3-joy.on i{display:block}
.m3-btns{position:absolute;right:12px;bottom:14px;display:grid;grid-template-columns:auto auto;gap:10px;pointer-events:auto}
.m3-tb{width:68px;height:68px;border-radius:50%;border:2px solid rgba(255,255,255,.35);background:color-mix(in srgb,var(--bg) 60%,transparent);color:var(--text);font:800 .8rem var(--font);touch-action:none}
.m3-tb.shoot{width:84px;height:84px;grid-row:span 2;align-self:center;background:color-mix(in srgb,var(--accent) 45%,transparent);border-color:var(--accent)}
.m3-tb.on{background:var(--accent);color:var(--bg)}
/* secțiunile de sub teren */
.m3-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:14px}
.m3-sec{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius,14px);padding:14px clamp(12px,2vw,20px);margin:14px 0 0}
.m3-sec h2{margin:0 0 4px}
.m3-tw{overflow-x:auto}
.m3-pts,.m3-bt{width:100%;border-collapse:collapse;font-size:.92rem}
.m3-pts th,.m3-bt th{text-align:right;color:var(--sage);font-weight:600;font-size:.8rem;padding:6px 8px;border-bottom:1px solid var(--line)}
.m3-pts td,.m3-bt td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:right;font-family:var(--mono)}
.m3-pts th:first-child,.m3-pts td:first-child,.m3-bt th:nth-child(2),.m3-bt td:nth-child(2){text-align:left}
.m3-bt td:nth-child(2){font-family:var(--font);font-weight:600;overflow-wrap:anywhere}
.m3-bt tr.you td{background:var(--accent-soft);font-weight:800}
.m3-bt tr.gap td{color:var(--text-3);text-align:center;border-bottom:0}
.m3-empty{color:var(--text-2);margin:8px 0 0}
.m3-ladder{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}
.m3-ladder button{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:4px 10px;align-items:center;text-align:left;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:8px 10px;color:var(--text);font:inherit;cursor:pointer}
.m3-ladder button[disabled]{cursor:not-allowed;color:var(--text-3);border-style:dashed;background:transparent}
.m3-ladder button[aria-pressed="true"]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.m3-ladder .n{font:800 1.1rem var(--mono);color:var(--amber)}
.m3-ladder button[disabled] .n{color:var(--text-3)}
.m3-ladder small{display:block;color:var(--text-2);font-size:.8rem}
.m3-ladder .st{font-size:.8rem;font-weight:700;color:var(--text-2);white-space:nowrap}
.m3-ladder .st.ok{color:var(--accent)}
.m3-player{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px 16px;margin-top:8px}
.m3-f{display:grid;gap:6px}
.m3-f>span{font-size:.82rem;font-weight:700;color:var(--text-2)}
.m3-chips{display:flex;flex-wrap:wrap;gap:6px}
.m3-chip{min-width:38px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font:600 .84rem var(--font);cursor:pointer;padding:0 10px}
.m3-chip.sw{width:36px;min-width:36px;padding:0}
.m3-chip[aria-pressed="true"]{outline:2px solid var(--accent);outline-offset:1px;font-weight:800}
.m3-num{width:90px;font:700 1rem var(--mono);padding:7px 10px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);color:var(--text)}
@media (max-width:480px){.m3-sb span{padding:5px 7px;font-size:.8rem}.m3-sb .sc{font-size:1.05rem;min-width:28px}.m3-card{padding:12px}.m3-tb{width:60px;height:60px}.m3-tb.shoot{width:74px;height:74px}}
