:root {
    --bg: #0a0a0a; --card: #161616; --gold: #ffcc00; --blue: #00ccff;
    --text: #f0f0f0; --border: #2a2a2a; --input-bg: #000;
}
body { font-family: 'Inter', sans-serif; background: var(--bg); color: var(--text); margin: 0; padding: 0; }
.header { background: var(--card); border-bottom: 2px solid var(--gold); padding: 20px; text-align: center; position: sticky; top: 0; z-index: 1000; }
#totalPoints { font-size: 3.2rem; font-weight: 800; color: var(--gold); margin: 5px 0; }
.score-label { font-size: 0.7rem; color: #888; text-transform: uppercase; letter-spacing: 2px; }
.tabs-nav { display: flex; background: #111; border-bottom: 1px solid var(--border); justify-content: center; padding: 10px; gap: 5px; }
.tab-btn { padding: 10px 15px; border: 1px solid var(--border); background: #222; color: #888; cursor: pointer; border-radius: 4px; transition: 0.3s; }
.tab-btn.active { border-color: var(--gold); color: var(--gold); background: rgba(255, 204, 0, 0.1); }
.container { max-width: 800px; margin: 20px auto; padding: 0 15px 100px; }
.card { background: var(--card); border-radius: 12px; padding: 20px; border: 1px solid var(--border); margin-bottom: 20px; }
.grid-row { display: grid; grid-template-columns: 2fr 1fr 1.5fr; gap: 15px; align-items: center; padding: 12px 0; border-bottom: 1px solid #222; }
.grid-unit { display: grid; grid-template-columns: 1.5fr 0.6fr 0.6fr 1.3fr; gap: 8px; align-items: center; padding: 12px 0; border-bottom: 1px solid #222; }
input, select { background: var(--input-bg); border: 1px solid #333; color: white; padding: 10px; border-radius: 6px; width: 100%; text-align: center; }
label { font-size: 0.75rem; color: #888; display: block; margin-bottom: 5px; }
.prediction { background: #000; padding: 15px; border-radius: 8px; border: 1px dashed #444; margin-top: 15px; }
.btn-add { width: 100%; padding: 12px; background: var(--blue); color: #000; border: none; border-radius: 8px; font-weight: bold; cursor: pointer; margin-top: 10px; }