:root{--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Space Grotesk", "Plus Jakarta Sans", system-ui, sans-serif;--bg-app:#f6f7f9;--bg-surface:#fff;--bg-surface-elevated:#fff;--bg-subtle:#f0f2f5;--border-subtle:#e2e5eb;--border-strong:#cbd2dc;--text-main:#191f28;--text-muted:#596579;--text-light:#8592a6;--accent-primary:#005ea7;--accent-primary-hover:#004d8a;--accent-light:#e8f2fa;--success-bg:#ecfdf5;--success-border:#86efac;--success-text:#15803d;--error-bg:#fef2f2;--error-border:#fca5a5;--error-text:#b91c1c;--shadow-sm:0 1px 3px #0000000d, 0 1px 2px #00000008;--shadow-md:0 4px 12px #00000012, 0 1px 3px #0000000a;--shadow-lg:0 12px 24px -4px #00000014, 0 4px 8px -2px #0000000a;--shadow-poster:0 16px 32px #0f172a14, 0 4px 8px #0f172a0a;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-full:9999px;font-family:var(--font-sans);color:var(--text-main);background-color:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}@media (prefers-color-scheme:dark){:root{--bg-app:#0f141c;--bg-surface:#171f2c;--bg-surface-elevated:#1e2838;--bg-subtle:#212c3d;--border-subtle:#2b384d;--border-strong:#3b4d68;--text-main:#f1f5f9;--text-muted:#94a3b8;--text-light:#64748b;--accent-primary:#2563eb;--accent-primary-hover:#1d4ed8;--accent-light:#1e293b;--success-bg:#064e3b33;--success-border:#059669;--success-text:#34d399;--error-bg:#7f1d1d33;--error-border:#dc2626;--error-text:#f87171;--shadow-sm:0 1px 3px #0000004d;--shadow-md:0 4px 12px #0006;--shadow-lg:0 12px 24px #00000080;--shadow-poster:0 16px 36px #0009}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-app);min-height:100vh;color:var(--text-main);flex-direction:column;margin:0;display:flex}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}button{cursor:pointer;background:0 0;border:none;font-family:inherit}button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.app-wrapper{box-sizing:border-box;flex-direction:column;justify-content:center;width:100%;max-width:680px;min-height:100dvh;margin:0 auto;padding:24px 16px 32px;display:flex}@media (width<=480px){.app-wrapper{justify-content:flex-start;padding:16px 12px 24px}}.splash-container{text-align:center;flex-direction:column;align-items:center;gap:20px;width:100%;margin:auto 0;animation:.25s ease-out fadeIn;display:flex}.poster-stamp{letter-spacing:1.5px;text-transform:uppercase;color:var(--accent-primary);background-color:var(--accent-light);border-radius:var(--radius-full);margin-bottom:8px;padding:4px 12px;font-size:11px;font-weight:700;display:inline-block}.splash-title{font-family:var(--font-display);letter-spacing:-1px;color:var(--text-main);margin-bottom:8px;font-size:clamp(28px,7vw,42px);font-weight:700;line-height:1.15}.splash-subtitle{color:var(--text-muted);max-width:480px;margin:0 auto;font-size:clamp(14px,3.5vw,16px);line-height:1.55}.splash-preview-poster{background:var(--bg-surface);border:2px solid var(--border-strong);border-radius:var(--radius-md);width:100%;max-width:440px;box-shadow:var(--shadow-poster);padding:22px 18px;position:relative;overflow:hidden}.splash-preview-poster:after{content:"";background:linear-gradient(90deg,#da291c,#e8112d,#3b9338,#00693e,#006ab3,#005ea7,#003c6c,#1e3a8a);height:4px;position:absolute;top:0;left:0;right:0}.poster-top-bar{justify-content:center;align-items:center;gap:8px;margin-bottom:12px;display:flex}.poster-dot{background-color:var(--text-light);border-radius:50%;width:5px;height:5px}.poster-category{letter-spacing:2px;color:var(--text-light);font-size:10px;font-weight:800}.poster-preview-quote{font-family:var(--font-display);letter-spacing:-.4px;color:var(--text-main);margin:0 0 12px;font-size:clamp(20px,5vw,26px);font-weight:700;line-height:1.25}.poster-preview-meta{color:var(--text-muted);font-size:13px;font-weight:500}.party-badges-row{flex-wrap:wrap;justify-content:center;gap:6px;max-width:440px;display:flex}.party-badge-chip{border-radius:var(--radius-sm);background-color:var(--bg-surface);border:1.5px solid var(--party-color);min-width:36px;height:28px;color:var(--party-color);box-shadow:var(--shadow-sm);justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex}.splash-actions{width:100%;max-width:320px;margin-top:6px}.start-button{background-color:var(--accent-primary);color:#fff;border-radius:var(--radius-md);width:100%;box-shadow:var(--shadow-md);-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:10px;padding:15px 24px;font-size:17px;font-weight:700;transition:all .18s;display:inline-flex}.start-button:hover{background-color:var(--accent-primary-hover);box-shadow:var(--shadow-lg);transform:translateY(-1px)}.start-button:active{transform:translateY(1px)}.arrow-icon{width:18px;height:18px;transition:transform .18s}.start-button:hover .arrow-icon{transform:translate(4px)}.splash-footer-note{color:var(--text-light);font-size:12px;line-height:1.4}.quiz-container{flex-direction:column;gap:16px;width:100%;margin:auto 0;animation:.2s ease-out fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.quiz-status-header{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);align-items:center;gap:12px;padding:10px 14px;display:flex}.status-item{white-space:nowrap;align-items:baseline;gap:4px;display:flex}.status-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);font-size:11px;font-weight:600}.status-value{color:var(--text-main);font-size:14px;font-weight:700}.score-highlight{color:var(--accent-primary)}.progress-track{background-color:var(--bg-subtle);border-radius:var(--radius-full);flex:1;height:6px;overflow:hidden}.progress-bar-fill{background-color:var(--accent-primary);border-radius:var(--radius-full);height:100%;transition:width .3s}.election-poster{background:var(--bg-surface);border:2px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-poster);text-align:center;padding:26px 18px 22px;position:relative}@media (width>=600px){.election-poster{border-radius:var(--radius-lg);padding:34px 26px 28px}}.poster-pin{background:#94a3b8;border:2px solid #64748b;border-radius:50%;width:12px;height:12px;position:absolute;top:10px;left:50%;transform:translate(-50%);box-shadow:0 1px 3px #0003}.poster-tag{letter-spacing:2px;color:var(--text-light);margin-bottom:12px;font-size:10px;font-weight:800;display:inline-block}.poster-quote-text{font-family:var(--font-display);letter-spacing:-.5px;color:var(--text-main);margin-bottom:10px;font-size:clamp(20px,5.2vw,30px);font-weight:700;line-height:1.25}.poster-subtext{color:var(--text-muted);font-size:13px;font-weight:500}.options-section{width:100%}.options-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}@media (width<=580px){.options-grid{grid-template-columns:repeat(2,1fr);gap:8px}}.party-option-btn{background-color:var(--bg-surface);border:2px solid var(--border-subtle);border-radius:var(--radius-md);min-height:58px;box-shadow:var(--shadow-sm);-webkit-tap-highlight-color:transparent;touch-action:manipulation;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:12px 6px;transition:all .15s;display:flex;position:relative}@media (hover:hover){.party-option-btn:hover:not(:disabled){border-color:var(--party-accent);background-color:var(--bg-subtle);box-shadow:var(--shadow-md);transform:translateY(-2px)}}.party-option-btn:active:not(:disabled){border-color:var(--party-accent);background-color:var(--bg-subtle);transform:scale(.98)}.party-short-tag{font-family:var(--font-display);color:var(--party-accent);font-size:18px;font-weight:700;line-height:1.1}.party-full-name{color:var(--text-muted);text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;padding:0 4px;font-size:11px;font-weight:500;overflow:hidden}.party-option-btn.is-correct-answer{box-shadow:0 0 0 2px #16a34a33;background-color:var(--success-bg)!important;border-color:#16a34a!important}.party-option-btn.is-correct-answer .party-short-tag,.party-option-btn.is-correct-answer .party-full-name{font-weight:700;color:#15803d!important}.party-option-btn.is-wrong-answer{opacity:.9;background-color:var(--error-bg)!important;border-color:#dc2626!important}.party-option-btn.is-wrong-answer .party-short-tag,.party-option-btn.is-wrong-answer .party-full-name{color:#b91c1c!important}.party-option-btn.is-dimmed{opacity:.4;cursor:default}.answer-status-icon{font-size:11px;font-weight:800;position:absolute;top:4px;right:6px}.answer-status-icon.correct-icon{color:#16a34a}.answer-status-icon.wrong-icon{color:#dc2626}.feedback-card{border-radius:var(--radius-md);flex-direction:column;gap:12px;padding:16px 18px;animation:.2s ease-out slideUp;display:flex}@keyframes slideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.feedback-success{background-color:var(--success-bg);border:1.5px solid var(--success-border)}.feedback-error{background-color:var(--error-bg);border:1.5px solid var(--error-border)}.feedback-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.feedback-badge{font-size:14px;font-weight:700}.feedback-success .feedback-badge{color:var(--success-text)}.feedback-error .feedback-badge{color:var(--error-text)}.feedback-answer-info{color:var(--text-main);font-size:13px}.feedback-action{justify-content:flex-end;display:flex}.next-button{background-color:var(--accent-primary);color:#fff;border-radius:var(--radius-sm);width:100%;box-shadow:var(--shadow-sm);-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:8px;padding:13px 20px;font-size:15px;font-weight:700;transition:all .15s;display:inline-flex}@media (width>=480px){.next-button{width:auto}}.next-button:hover{background-color:var(--accent-primary-hover)}.next-button:active{transform:translateY(1px)}.result-container{flex-direction:column;gap:20px;width:100%;margin:auto 0;animation:.25s ease-out fadeIn;display:flex}.result-header{text-align:center;padding:8px 0}.result-badge-top{letter-spacing:2px;color:var(--accent-primary);background-color:var(--accent-light);border-radius:var(--radius-full);margin-bottom:8px;padding:3px 10px;font-size:10px;font-weight:700;display:inline-block}.result-title{font-family:var(--font-display);letter-spacing:-.6px;color:var(--text-main);margin-bottom:6px;font-size:clamp(22px,5.5vw,32px);font-weight:700}.result-desc{color:var(--text-muted);max-width:440px;margin:0 auto 16px;font-size:14px}.score-summary-card{background:var(--bg-surface);border:2px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-md);flex-direction:column;align-items:center;gap:4px;padding:14px 28px;display:inline-flex}.score-circle{align-items:baseline;gap:3px;display:flex}.score-big{font-family:var(--font-display);color:var(--accent-primary);font-size:40px;font-weight:800;line-height:1}.score-total{color:var(--text-muted);font-size:18px;font-weight:600}.score-percentage-tag{color:var(--text-muted);background:var(--bg-subtle);border-radius:var(--radius-full);padding:2px 8px;font-size:12px;font-weight:700}.answers-review-section{flex-direction:column;gap:12px;display:flex}.review-title{font-family:var(--font-display);color:var(--text-main);font-size:16px;font-weight:700}.review-list{flex-direction:column;gap:8px;display:flex}.review-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;padding:12px 14px;display:flex}.review-card.is-correct{border-left:4px solid #16a34a}.review-card.is-wrong{border-left:4px solid #dc2626}.review-card-header{justify-content:space-between;align-items:center;display:flex}.review-index{color:var(--text-light);letter-spacing:.5px;font-size:11px;font-weight:700}.review-verdict-pill{border-radius:var(--radius-full);padding:2px 7px;font-size:11px;font-weight:700}.pill-correct{background-color:var(--success-bg);color:var(--success-text)}.pill-wrong{background-color:var(--error-bg);color:var(--error-text)}.review-quote{font-family:var(--font-display);color:var(--text-main);font-size:15px;font-weight:700;line-height:1.3}.review-parties-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.party-comparison-item{align-items:center;gap:4px;display:flex}.comparison-label{color:var(--text-muted);font-size:11px;font-weight:500}.party-chip-small{border-radius:var(--radius-sm);color:var(--party-color);background-color:color-mix(in srgb, var(--party-color) 8%, var(--bg-subtle));border:1px solid color-mix(in srgb, var(--party-color) 25%, var(--border-subtle));padding:3px 8px;font-size:11px;font-weight:700}.result-actions{justify-content:center;margin-top:4px;display:flex}.restart-button{background-color:var(--accent-primary);color:#fff;border-radius:var(--radius-md);width:100%;max-width:320px;box-shadow:var(--shadow-md);-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:8px;padding:14px 28px;font-size:16px;font-weight:700;transition:all .18s;display:inline-flex}.restart-button:hover{background-color:var(--accent-primary-hover)}.restart-button:active{transform:translateY(1px)}.refresh-icon{width:18px;height:18px}
