/* results.css — results page styles */ /* ════════════════════════════════════════ PAGE LAYOUT ════════════════════════════════════════ */ .results-page { min-height: calc(100vh - var(--hh)); display: grid; place-items: center; padding: 60px 0; } .results-inner { width: 100%; max-width: 680px; display: grid; gap: 24px; } /* ════════════════════════════════════════ HEADER ════════════════════════════════════════ */ .results-header { text-align: center; } .results-emoji { font-size: 3.5rem; margin-bottom: 16px; display: block; animation: pop-in 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both; } @keyframes pop-in { from { transform: scale(0); opacity: 0; } to { transform: scale(1); opacity: 1; } } .results-title { font-family: "Syne", sans-serif; font-weight: 800; font-size: clamp(2rem, 5vw, 3.4rem); letter-spacing: -0.03em; line-height: 1.05; margin-bottom: 8px; } .results-player { font-size: 1rem; color: var(--ink-soft); } .results-player strong { color: var(--ink); } /* ════════════════════════════════════════ TOTAL SCORE CARD ════════════════════════════════════════ */ .score-total-card { background: linear-gradient(135deg, var(--sea) 0%, #159fd4 50%, var(--leaf) 100%); border-radius: var(--r-xl); padding: 36px 40px; text-align: center; color: var(--white); box-shadow: 0 16px 40px rgba(26, 127, 196, 0.3); animation: slide-up 0.5s 0.1s cubic-bezier(0.34, 1.56, 0.64, 1) both; } @keyframes slide-up { from { transform: translateY(30px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } .score-total-label { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.78; margin-bottom: 8px; } .score-total-num { font-family: "Syne", sans-serif; font-weight: 800; font-size: clamp(4rem, 10vw, 6rem); line-height: 1; letter-spacing: -0.04em; } .score-total-max { font-size: 1.4rem; opacity: 0.6; font-weight: 400; } .score-grade { display: inline-block; margin-top: 12px; padding: 4px 18px; border-radius: 999px; background: rgba(255, 255, 255, 0.22); font-family: "Syne", sans-serif; font-weight: 800; font-size: 1.1rem; letter-spacing: 0.04em; } /* ════════════════════════════════════════ ROUND BREAKDOWN CARD ════════════════════════════════════════ */ .rounds-card { background: var(--white); border: 1px solid var(--line); border-radius: var(--r-xl); padding: 28px 32px; box-shadow: var(--shadow-sm); animation: slide-up 0.5s 0.2s cubic-bezier(0.34, 1.56, 0.64, 1) both; } .rounds-card-title { font-family: "Syne", sans-serif; font-weight: 700; font-size: 1rem; letter-spacing: -0.01em; margin-bottom: 20px; color: var(--ink-soft); } .round-rows { display: grid; gap: 14px; } .round-row { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px; } .round-row__label { font-size: 0.82rem; font-weight: 600; color: var(--ink-soft); white-space: nowrap; } .round-row__bar-wrap { height: 8px; background: var(--cream); border-radius: 999px; overflow: hidden; } .round-row__bar { height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--sea), var(--leaf)); transition: width 0.8s cubic-bezier(0.34, 1.56, 0.64, 1); } .round-row__score { font-family: "Syne", sans-serif; font-weight: 800; font-size: 0.9rem; color: var(--sea); min-width: 36px; text-align: right; } /* Country tags */ .countries-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; } .country-tag { padding: 5px 12px; border-radius: 999px; background: var(--sea-dim); color: var(--sea); font-size: 0.8rem; font-weight: 600; } /* ════════════════════════════════════════ ACTIONS ════════════════════════════════════════ */ .results-actions { display: flex; gap: 12px; flex-wrap: wrap; animation: slide-up 0.5s 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) both; } .results-actions .btn { flex: 1 1 180px; } /* ════════════════════════════════════════ RESPONSIVE ════════════════════════════════════════ */ @media (max-width: 600px) { .results-page { padding: 40px 0; } .score-total-card { padding: 28px 24px; } .rounds-card { padding: 22px 20px; } .results-actions .btn { flex-basis: 100%; } } @media (max-width: 360px) { .score-total-num { font-size: 3.4rem; } }