/* Retrò · Televideo (teletext pages) and Retrò · Tabellone (stadium scoreboard):
   Mate Live, Lega → Classifica, Lega → Calendario, Indice 100. */

/* ---------- Televideo ---------- */
.ttx{font-family:"VT323",monospace;background:#000;color:#fff;width:100%;max-width:560px;margin:0 auto;font-size:26px;line-height:1.08em;text-shadow:.03em 0 currentColor;-webkit-font-smoothing:none;user-select:none}
.ttx-r{display:flex;height:1.08em;white-space:pre;overflow:hidden}
.ttx-r span{display:block;height:1.08em;flex:none}
.ttx .ttx-r>span,.ttx .ttx-tok,.ttx .ttx-tok span{font-size:inherit!important;letter-spacing:0!important;font-family:"VT323",monospace!important;font-weight:400!important;line-height:inherit!important;text-transform:none!important}
.ttx-r [data-ttx-go],.ttx-r [data-ttx-act]{cursor:pointer}
.ttx-r [data-ttx-go]:focus-visible,.ttx-r [data-ttx-act]:focus-visible{outline:2px solid #fff;outline-offset:-2px}
.ttx-blink{animation:ttxBlink 1s steps(1) infinite}
@keyframes ttxBlink{50%{visibility:hidden}}
.ttx-mos{position:relative;height:3.24em}
.ttx-mos i{position:absolute;display:block}
.ttx-mos-right{position:absolute;right:0;top:0;width:calc(var(--c,.4em)*16)}
.ttx-nav{display:flex;align-items:center;gap:5px;padding:8px 8px;background:#000;max-width:560px;margin:0 auto;width:100%;position:relative;font-family:"VT323",monospace}
.ttx-nav button{min-width:34px;height:36px;padding:0 6px;border:1px solid #333;border-radius:4px;background:#111;color:#0f0;font:22px/1 "VT323",monospace;display:grid;place-items:center}
.ttx-nav [data-ttx-nav="home"]{color:#fff}
.ttx-nav .ttx-num{width:56px;height:34px;border:1px solid #0f0;border-radius:0;background:#000;color:#fff;font:22px/1 "VT323",monospace;text-align:center;padding:0}
.ttx-nav .ttx-vai{background:#444;color:#fff;border-color:#444;font-size:18px}
.ttx-nav .ttx-x{margin-left:auto;color:#fff}
.ttx-msg{position:absolute;left:8px;right:8px;top:100%;z-index:3;color:#ff0;background:#00f;font:20px/1.2 "VT323",monospace;padding:0 6px}
.ttx-msg:empty{display:none}
.ttx-fast{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;padding:8px;background:#000;max-width:560px;margin:0 auto;width:100%}
.ttx-fast button{height:46px;border:0;border-radius:0;font:20px/1 "VT323",monospace;padding:0 2px;min-width:0;overflow:hidden;white-space:nowrap}
.ttx-inline{background:#000;border-radius:6px;overflow:hidden;margin:0 auto 16px;max-width:576px}
.ttx-inline .ttx{padding:0 8px;box-sizing:border-box}
/* full screen: live and indice */
.ttx-overlay,.live.live-ttx{position:fixed;inset:0;z-index:210;display:flex;flex-direction:column;background:#000;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
.ttx-scroll{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;padding:0 8px 8px}
.live.live-ttx .live-top{display:none}
.ttx-pitch{position:relative;height:21.6em;margin:.2em 0;background:repeating-linear-gradient(90deg,#000 0 .05em,transparent .05em .4em),repeating-linear-gradient(0deg,#000 0 .05em,transparent .05em .54em),#0a0}
.ttx-pitch .ttx-pl{position:absolute;background:#fff}
.ttx-pitch .ttx-pb{position:absolute;left:30%;right:30%;height:2.6em;border:.1em solid #fff}
.ttx-tok{position:absolute;transform:translate(-50%,-50%);background:#000;padding:0 .2em;text-align:center;white-space:pre;line-height:1.05em}
.live-goal.live-goal-ttx{background:#000;justify-content:flex-start;padding:env(safe-area-inset-top) 8px 0;animation:none;opacity:1}
.live-goal.live-goal-ttx .ttx{width:100%}

/* ---------- Tabellone ---------- */
.brd-inline{max-width:640px;margin:0 auto 16px;display:grid;gap:12px}
.brd-board{position:relative;border:3px solid #3a2a0c;border-radius:6px;background:#0b0905;box-shadow:inset 0 0 0 2px #000,0 0 0 1px #5a400f;padding:12px 12px 14px;color:#ffb21a}
.brd-bolt{position:absolute;width:6px;height:6px;border-radius:50%;background:#5a4a2a}
.brd-bolt:nth-of-type(1){left:5px;top:5px}.brd-bolt:nth-of-type(2){right:5px;top:5px}.brd-bolt:nth-of-type(3){left:5px;bottom:5px}.brd-bolt:nth-of-type(4){right:5px;bottom:5px}
.brd-lbl{display:flex;justify-content:space-between;gap:8px;font:700 12px/1.3 "Barlow",sans-serif;letter-spacing:.18em;color:#ffd585;margin:0 2px 8px;text-transform:uppercase}
.brd-lbl-sub{margin-top:12px}
.brd-flaps{display:grid;gap:4px;font-size:14px}
.brd-row{display:grid;grid-template-columns:repeat(var(--n),1fr);gap:2px}
.brd-f{height:1.65em;border-radius:2px;display:grid;place-items:center;font:700 1em/1 "DejaVu Sans",sans-serif;color:#fff3dc;background:linear-gradient(#262119 0 48%,#000 48% 53%,#1b1711 53%);box-shadow:inset 0 1px 0 #3a3226;min-width:0;overflow:hidden}
.brd-f.a{color:#ffb21a}.brd-f.r{color:#ff3b2f}.brd-f.g{color:#3cff6a}
.brd-sp{min-width:0}
.brd-led{color:#ffb21a;text-shadow:0 0 6px #ffb21a88}
.brd-dots{-webkit-mask-image:radial-gradient(circle,#000 58%,transparent 62%);mask-image:radial-gradient(circle,#000 58%,transparent 62%);-webkit-mask-size:6px 6px;mask-size:6px 6px}
.brd-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;text-align:center}
.brd-side .brd-flaps{max-width:120px;margin:0 auto}
.brd-fp{font:24px/1 "Anton",sans-serif;letter-spacing:.06em;margin-top:8px}
.brd-goals{font:92px/1 "Anton",sans-serif;display:flex;gap:10px;align-items:center;justify-content:center}
.brd-goals i{font-style:normal;font-size:56px}
.brd-meter{display:flex;gap:3px;margin:12px 0 8px}
.brd-meter i{flex:1;height:10px;border-radius:2px;background:#2a1d08}
.brd-meter i.on{background:#ffb21a;box-shadow:0 0 6px #ffb21a}
.brd-live{color:#ff3b2f;text-shadow:0 0 6px #ff3b2f99}
.brd-fin{color:#fff3dc}
.brd-blink{animation:brdBlink 1s steps(1) infinite}
@keyframes brdBlink{50%{opacity:.15}}
.brd-legend{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;margin:10px 2px 0;font:700 11px "Barlow",sans-serif;letter-spacing:.08em;color:#ffd585}
.brd-legend .a{color:#ffb21a}.brd-legend .g{color:#3cff6a}.brd-legend .r{color:#ff3b2f}
.brd-msg{font:700 14px/1.4 "Barlow",sans-serif;letter-spacing:.1em;color:#fff3dc;margin:6px 2px;text-transform:uppercase}
.brd-btn{display:block;width:100%;min-height:46px;margin-top:12px;border:2px solid #ffb21a;border-radius:4px;background:#ffb21a;color:#000;font:700 14px "Barlow",sans-serif;letter-spacing:.12em}
.brd-keys{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px}
.brd-keys button{min-height:46px;border:2px solid #ffb21a;border-radius:4px;background:transparent;color:#ffb21a;font:700 13px "Barlow",sans-serif;letter-spacing:.1em;padding:0 2px;white-space:nowrap}
.brd-keys button.on{background:#ffb21a;color:#000}
.brd-feed{list-style:none;margin:0;padding:0;display:grid;gap:8px;font:700 13px/1.35 "Barlow",sans-serif;letter-spacing:.06em;color:#fff3dc}
.brd-feed time{color:#ffb21a;margin-right:8px}
.brd-feed .goal-player,.brd-feed .goal-virtual.mine{color:#ffb21a}.brd-feed .goal-lost{color:#ff3b2f}
.live.live-board{background:radial-gradient(circle at 50% 0,#2a1d08 0,#070604 60%)}
.live.live-board .live-top{display:none}
.live.live-board .brd-top{display:flex;justify-content:space-between;align-items:center;padding:12px 12px 6px;font:700 13px "Barlow",sans-serif;letter-spacing:.18em;color:#ffd585}
.live.live-board .brd-top b{color:#ffb21a}
.brd-top-r{display:flex;align-items:center;gap:8px}
.brd-top-r button{width:40px;height:40px;border:2px solid #5a400f;border-radius:4px;background:#0b0905;color:#ffb21a;font-size:18px;display:grid;place-items:center;padding:0}
.live.live-board .brd-scroll{flex:1;overflow:auto;-webkit-overflow-scrolling:touch;padding:6px 8px 10px;display:grid;gap:12px;align-content:start;max-width:640px;margin:0 auto;width:100%}
.live.live-board .brd-keys{padding:8px 8px calc(10px + env(safe-area-inset-bottom));max-width:640px;margin:0 auto;width:100%}
.live-goal.live-goal-board{background:#070604ee;animation:none;opacity:1;padding:16px}
.brd-goalwrap{display:grid;gap:12px;width:100%;max-width:420px}
.brd-big{font:120px/1 "Anton",sans-serif;-webkit-mask-size:8px 8px;mask-size:8px 8px;text-align:center;margin-bottom:10px}
