:root{color-scheme:dark;--bg: #0b2116;--surface: #1e293b;--text: #f1f5f9;--muted: #94a3b8;--accent: #22c55e;--gold-text: #f5e6b8;--error: #f87171}*{box-sizing:border-box}html,body{height:100%}#root{min-height:100%}body{margin:0;background-color:var(--bg);background-image:url(/field.svg);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:fixed;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;overflow-y:auto}.home,.state-screen{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem 1.25rem;text-align:center}h1{font-size:1.5rem;margin:0}.intro-panel{background:#0f2116b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:1rem;padding:1.75rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem;max-width:360px;flex-shrink:0}.brand-lockup{display:flex;align-items:center;gap:.55rem;max-width:100%}.brand-lockup-mark{height:clamp(64px,20vw,84px);width:auto;display:block;flex-shrink:0}.brand-lockup-word{display:flex;flex-direction:column;font-family:Georgia,Times New Roman,serif;line-height:1.05}.brand-lockup-line1,.brand-lockup-line2{font-weight:700;color:var(--gold-text);font-size:clamp(1.15rem,6vw,1.6rem);white-space:nowrap}.brand-lockup-line1{letter-spacing:.03em}.brand-lockup-line2{letter-spacing:.22em}.brand-lockup-tagline{font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-weight:400;font-size:clamp(.62rem,3vw,.78rem);letter-spacing:.01em;color:var(--muted);margin-top:.3rem;white-space:nowrap}h2{font-size:1.25rem;margin:0}.error{color:var(--error)}.auth-form{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:320px}#phone-input{text-align:center}.field-hint{margin:-.35rem 0 0;font-size:.8rem;color:var(--muted)}.how-to-play{display:flex;flex-direction:column;align-items:center;gap:.75rem;width:100%;max-width:320px}.how-to-play ol{background:#0f2116b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:1rem;align-self:stretch;margin:0;padding:1.25rem 1.25rem 1.25rem 2.25rem;text-align:left;color:var(--text);font-size:.9rem;line-height:1.5;display:flex;flex-direction:column;gap:.5rem}.how-to-play button{width:100%}input{padding:.75rem;border-radius:.5rem;border:1px solid #334155;background:var(--surface);color:var(--text);font-size:1rem}button{padding:.75rem;border-radius:.5rem;border:none;background:var(--accent);color:#05220f;font-weight:600;font-size:1rem;cursor:pointer}button.link{background:transparent;color:var(--muted);font-weight:400;text-decoration:underline}.game-options{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:320px}.participation-card{background:var(--surface);border-radius:1rem;padding:1.5rem;width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;gap:.5rem;margin:.5rem}.venue-line{color:var(--muted);font-size:.875rem}.eligibility-note{color:var(--muted);font-size:.8rem;text-align:center}.tier-progress{width:100%;display:flex;flex-direction:column;gap:.35rem;align-items:center}.tier-progress-track{width:100%;height:.5rem;border-radius:999px;background:#ffffff1f;overflow:hidden}.tier-progress-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .4s ease}.tier-progress-label{color:var(--muted);font-size:.8rem}.assignment{font-size:1.125rem;font-weight:600}.live-line{display:flex;align-items:baseline;justify-content:center;gap:.55rem;font-size:clamp(1.7rem,7vw,2rem);font-weight:700;line-height:1.1}.live-line-points{color:var(--accent);font-variant-numeric:tabular-nums}.reward-banner{background:var(--accent);color:#05220f;border-radius:.5rem;padding:.75rem;font-size:.9rem;line-height:1.4;white-space:normal;text-align:left}.reward-code{font-size:2rem;font-weight:800;letter-spacing:.15em;color:var(--accent);font-variant-numeric:tabular-nums}.reward-description{color:var(--text);font-size:.9rem;margin:0;text-align:center}.reward-hint{color:var(--muted);font-size:.8rem;margin:0}.current-reward{width:100%;display:flex;flex-direction:column;align-items:center;gap:.6rem}.current-reward-name{font-size:.9rem;color:var(--muted)}.current-reward-name strong{color:var(--text)}.success{color:var(--accent);font-weight:600;margin:0}.redeem-now-button{width:100%}.staff-pin-form{width:100%;display:flex;flex-direction:column;align-items:center;gap:.5rem}.staff-pin-form input{width:100%;text-align:center;font-size:1.5rem;letter-spacing:.3em}.staff-pin-actions{display:flex;gap:.75rem;width:100%}.staff-pin-actions button{flex:1}.redeem-warning{color:var(--error);font-size:.8rem;margin:0;text-align:center}.tier-list{width:100%;display:flex;flex-direction:column;gap:.6rem}.tier-list-row{width:100%;text-align:left;border:1px solid #334155;border-radius:.5rem;padding:.6rem .75rem}.tier-list-row.reached{border-color:var(--accent)}.tier-list-row-header{font-size:.9rem;font-weight:600}.tier-list-row .reward-hint{margin:.15rem 0 0}.card-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.35rem 1.25rem}.scoring-guide{width:100%;display:flex;flex-direction:column;gap:.75rem;text-align:left}.scoring-guide>.reward-hint{margin:0;text-align:center}.scoring-guide-group{border:1px solid #334155;border-radius:.5rem;padding:.4rem .75rem .5rem}.scoring-guide-row{display:flex;justify-content:space-between;gap:1rem;font-size:.85rem;padding:.12rem 0}.scoring-guide-row span:last-child{font-variant-numeric:tabular-nums;color:var(--muted)}.scoring-guide-row .scoring-guide-neg{color:var(--error)}.text-link{color:var(--muted);font-size:.875rem;text-decoration:underline}.footer-links{display:flex;gap:1.25rem;background:var(--surface);border-radius:1rem;padding:.85rem 1.5rem}.intro-panel .footer-links{background:transparent;padding:0}.footer-links .text-link{font-size:1.225rem}.badge{margin-left:.4rem;font-size:.75rem;color:var(--muted);border:1px solid #334155;border-radius:999px;padding:.1rem .5rem;text-transform:capitalize}
