:root{--bg:#f6efe4;--panel:#fffaf2;--panel-strong:#fff4dd;--ink:#1d2a2e;--muted:#627174;--line:#ddcfb7;--accent:#d76633;--accent-2:#2e7d6b;--shadow:0 18px 45px #2c251c1f;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at top left, #d766332e, transparent 30%), linear-gradient(180deg, #f9f2e8 0%, var(--bg) 100%);min-height:100vh;color:var(--ink);margin:0}button,input,select{font:inherit}.app-shell{width:min(1100px,100% - 32px);margin:0 auto;padding:24px 0 40px}.hero,.scoreboard,.controls,.status-panel,.command-panel,.voice-settings{margin-bottom:20px}.hero,.team-card,.status-panel,.command-panel,.controls,.voice-settings{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px}.hero{justify-content:space-between;align-items:center;gap:16px;padding:24px;display:flex}.eyebrow,.panel-label,.score-label,.name-label{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 8px;font-size:.8rem}h1,h2,.subtitle,.panel-value,.team-name,.score-value,.action-button,.voice-button{margin:0}h1{margin-bottom:12px;font-size:clamp(2rem,4vw,3.4rem);line-height:1}.subtitle{max-width:60ch;color:var(--muted);line-height:1.5}.subtitle.small{margin-bottom:16px;font-size:.95rem}.voice-button,.action-button,.team-name{border:1px solid #0000;border-radius:16px}.voice-button,.action-button,.record-button{cursor:pointer;font-size:1rem;font-weight:700}.voice-button{background:var(--ink);color:#fff;justify-content:center;align-items:center;gap:10px;min-width:150px;padding:16px 22px;display:inline-flex}.voice-button.listening{background:var(--accent)}.voice-dot{opacity:.7;background:currentColor;border-radius:999px;width:12px;height:12px}.voice-settings{grid-template-columns:280px 1fr;gap:16px;padding:20px;display:grid}.setting-group{min-width:0}.toggle-row{color:var(--ink);align-items:center;gap:10px;font-weight:600;display:inline-flex}.toggle-row input{width:18px;height:18px}.scoreboard{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.team-card{padding:20px}.team-a{background:linear-gradient(180deg, var(--panel) 0%, #fff7ec 100%)}.team-b{background:linear-gradient(180deg, var(--panel) 0%, #f5fbf8 100%)}.team-name{border-color:var(--line);width:100%;color:var(--ink);background:#ffffffd9;margin-bottom:16px;padding:12px 14px;font-size:1.05rem}.score-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px;display:grid}.score-grid>div{background:var(--panel-strong);border:1px solid var(--line);border-radius:18px;padding:14px}.score-value{font-size:clamp(2rem,5vw,3.4rem);line-height:1;display:block}.accent{color:var(--accent)}.controls{grid-template-columns:repeat(4,1fr);gap:12px;padding:16px;display:grid}.action-button{width:100%;color:var(--ink);border-color:var(--line);background:#fff;padding:16px}.action-button.primary{background:var(--accent);color:#fff}.action-button.secondary{background:var(--accent-2);color:#fff}.status-panel{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;padding:20px;display:grid}.panel-value{font-size:1.05rem;line-height:1.4}.command-panel{padding:20px}.command-panel h2{margin-bottom:12px}.custom-commands{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.command-field{display:block}.history-list{gap:12px;display:grid}.history-card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:14px 16px}.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.start-match-button{width:100%}.match-mode{gap:20px;display:grid}.match-mode .panel-label{margin-bottom:10px}.match-topbar,.match-announcement,.match-controls,.match-scoreboard{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px}.match-topbar{justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.match-status{flex-wrap:wrap;gap:12px;display:flex}.match-chip{border:1px solid var(--line);min-height:42px;color:var(--muted);background:#fff;border-radius:999px;justify-content:center;align-items:center;padding:10px 14px;font-weight:800;display:inline-flex}.match-chip.live{background:var(--accent);border-color:var(--accent);color:#fff}.back-button{width:auto;min-width:140px}.match-scoreboard{background:radial-gradient(circle at top, #d7663314, transparent 35%), var(--panel);grid-template-columns:1fr 72px 1fr;align-items:stretch;gap:18px;padding:18px;display:grid}.match-team{text-align:center;border-radius:22px;align-content:start;padding:24px 20px;display:grid}.match-team-a{background:linear-gradient(#fff7ec 0%,#fff1dd 100%)}.match-team-b{background:linear-gradient(#f5fbf8 0%,#eaf7f2 100%)}.match-team-name{margin:0 0 12px;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800}.match-points{letter-spacing:-.04em;margin:0;font-size:clamp(5.5rem,14vw,9rem);font-weight:900;line-height:.92}.match-meta{color:var(--muted);justify-content:center;gap:18px;margin:18px 0;font-weight:700;display:flex}.match-action{min-height:76px;margin-top:auto;font-size:1.3rem}.match-divider{text-align:center;align-self:center}.match-divider span{border:1px solid var(--line);width:64px;height:64px;color:var(--muted);background:#fff;border-radius:999px;justify-content:center;align-items:center;font-size:1.1rem;font-weight:900;display:inline-flex}.match-announcement{padding:18px 20px}.match-announcement-text{margin:0;font-size:clamp(1.3rem,3vw,1.9rem);font-weight:700;line-height:1.25}.match-controls{grid-template-columns:repeat(3,1fr);gap:12px;padding:16px;display:grid}.match-controls .action-button{min-height:64px;font-size:1.08rem}.command-input-row{grid-template-columns:1fr 110px;align-items:center;gap:10px;display:grid}.record-button{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:16px;padding:14px 12px}.record-button.recording{background:var(--accent);border-color:var(--accent);color:#fff}@media (width<=760px){.hero,.scoreboard,.status-panel,.controls,.voice-settings,.settings-grid,.match-scoreboard,.match-controls,.custom-commands,.command-input-row{grid-template-columns:1fr;display:grid}.hero{justify-content:stretch}.match-topbar{flex-direction:column;align-items:stretch}.back-button,.voice-button{width:100%}}
