.bulls-area { max-width:520px; }
.status-line { display:flex; justify-content:space-between; align-items:center; color:var(--muted); font-size:14px; margin-bottom:14px; }
.status-line b { color:var(--ink); font-size:16px; }
.msg { color:var(--orange); font-weight:700; }
.slots { display:flex; gap:10px; justify-content:center; margin-bottom:18px; }
.slot { width:52px; height:62px; border:1px solid var(--rule); background:var(--panel); display:flex; align-items:center; justify-content:center; font-size:30px; font-weight:800; }
.slot.filled { border-color:var(--blue); color:var(--blue); }
.keypad { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; max-width:340px; margin:0 auto 16px; }
.keypad button { height:46px; border:1px solid var(--rule); background:var(--panel); color:var(--ink); font-size:18px; font-weight:700; }
.keypad button:hover { border-color:var(--blue); color:var(--blue); }
.keypad button:disabled { opacity:.35; pointer-events:none; }
.actions { display:flex; justify-content:center; gap:8px; flex-wrap:wrap; margin-bottom:20px; }
.history-wrap { padding:18px; }
.history-wrap h3 { margin:0 0 10px; font-size:14px; color:var(--muted); }
.history .empty { color:var(--muted); font-size:13px; margin:0; }
.row { display:grid; grid-template-columns:52px 1fr 96px; gap:10px; align-items:center; padding:7px 0; border-bottom:1px solid var(--rule); font-size:14px; }
.row .guess { font-weight:800; letter-spacing:.1em; }
.row .fb { font:700 13px ui-monospace,monospace; text-align:right; }
.row .fb .a { color:var(--blue); }
.row .fb .b { color:var(--orange); }
.stats-panel { max-width:360px; margin:14px auto 0; padding:20px; text-align:center; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-bottom:14px; }
.stats-grid b { display:block; font-size:22px; }
.stats-grid span { color:var(--muted); font-size:11px; }
.a { color:var(--blue); }
.b { color:var(--orange); }
@media (max-width:780px) { .slot { width:46px; height:54px; font-size:26px; } }