:root{color-scheme:dark}.flag-snap-app{--bg:radial-gradient(circle at 20% 20%,#1f3b8f 0%,#0b1220 55%,#05060b 100%);--card-bg:rgba(15,23,42,0.85);--card-border:rgba(148,163,184,0.2);--text-primary:#f8fafc;--text-muted:rgba(226,232,240,0.8);--accent:#3b82f6;--accent-strong:#2563eb;--danger:#f97316;--success:#22c55e;--shadow:0 24px 48px rgba(15,23,42,0.35);min-height:100%;display:flex;flex-direction:column;gap:16px;padding:24px;border-radius:24px;background:var(--bg);color:var(--text-primary);box-shadow:var(--shadow);position:relative;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.flag-snap-app[data-theme=light]{--bg:radial-gradient(circle at 20% 20%,#f8fafc 0%,#e2e8f0 50%,#d0d7e4 100%);--card-bg:rgba(255,255,255,0.92);--card-border:rgba(100,116,139,0.24);--text-primary:#0f172a;--text-muted:rgba(15,23,42,0.7);--accent:#2563eb;--accent-strong:#1d4ed8;--danger:#ea580c;--success:#16a34a;--shadow:0 20px 40px rgba(15,23,42,0.16)}.flag-snap-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}.flag-snap-header h1{margin:0;font-size:2rem}.flag-snap-header .tagline{margin:4px 0 0;color:var(--text-muted);font-size:.95rem}.flag-snap-header .locale-picker{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-size:.85rem;color:var(--text-muted)}.flag-snap-header select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--card-bg);color:var(--text-primary);border:1px solid var(--card-border);border-radius:999px;padding:6px 20px 6px 12px;font-size:.95rem;box-shadow:inset 0 0 0 1px rgba(148,163,184,.08)}.flag-snap-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:20px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.flag-snap-card.intro p{margin:0;font-size:1rem;color:var(--text-muted)}.flag-snap-card .primary{align-self:flex-start}.primary{background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff;border:none;padding:12px 24px;border-radius:16px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 12px 24px rgba(37,99,235,.35)}.primary:hover{transform:translateY(-2px)}.flag-snap-card button:not(.primary){background:transparent;border:1px solid var(--card-border);color:var(--text-primary);padding:10px 20px;border-radius:14px;font-size:.95rem;cursor:pointer;transition:background .15s ease,color .15s ease,border .15s ease}.flag-snap-card button:not(.primary):hover{background:rgba(148,163,184,.12)}.scoreboard{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:16px;gap:16px;align-items:center}.scoreboard .label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:2px}.scoreboard strong{font-size:1.4rem}.scoreboard .lives{display:flex;flex-direction:column;gap:6px}.hearts{display:flex;gap:4px}.life{font-size:1.2rem;transition:transform .15s ease,opacity .15s ease}.life.full{color:var(--accent);transform:scale(1.05)}.life.empty{color:var(--text-muted);opacity:.4}.timer{width:100%;height:10px;background:rgba(148,163,184,.18);border-radius:999px;overflow:hidden}.timer .bar{height:100%;background:linear-gradient(90deg,var(--accent),#fca311);transition:width .1s linear}.prompt{margin:0;font-size:1.4rem;text-align:center}.options{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:16px;gap:16px}.flag-option{background:rgba(15,23,42,.55);border:1px solid rgba(148,163,184,.24);color:var(--text-primary);border-radius:16px;padding:16px 12px;display:flex;flex-direction:column;gap:12px;align-items:center;justify-content:center;cursor:pointer;transition:transform .18s ease,border .18s ease,box-shadow .18s ease,background .18s ease,opacity .18s ease;min-height:140px}.flag-option .fi{font-size:64px;box-shadow:0 12px 18px rgba(15,23,42,.35);border-radius:12px}.flag-option .label{font-size:.95rem;font-weight:600;text-align:center}.flag-option:hover:not(:disabled){transform:translateY(-4px);border-color:var(--accent);box-shadow:0 16px 32px rgba(37,99,235,.35)}.flag-option:disabled{cursor:default}.flag-option.correct{border-color:var(--success);background:rgba(34,197,94,.1);box-shadow:0 16px 36px rgba(34,197,94,.2)}.flag-option.wrong{border-color:var(--danger);background:rgba(249,115,22,.12);box-shadow:0 16px 30px rgba(249,115,22,.2)}.flag-option.inactive{opacity:.55;transform:scale(.98)}.flag-snap-app[data-theme=light] .flag-option{background:rgba(248,250,252,.92);border-color:rgba(100,116,139,.35);box-shadow:0 12px 24px rgba(15,23,42,.12)}.flag-snap-app[data-theme=light] .feedback{background:rgba(248,250,252,.86)}.feedback{background:rgba(15,23,42,.7);border-radius:16px;padding:16px 18px;display:flex;flex-direction:column;gap:6px;font-size:.95rem;box-shadow:inset 0 0 0 1px rgba(148,163,184,.2)}.feedback.correct{border-left:4px solid var(--success)}.feedback.incorrect{border-left:4px solid var(--danger)}.summary ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px;color:var(--text-muted)}.summary-line{font-size:1.3rem;margin:0}.encouragement{margin:0;color:var(--text-muted)}.actions{display:flex;flex-wrap:wrap;gap:12px}@media (max-width:720px){.flag-snap-app{padding:20px}.flag-snap-header{flex-direction:column;align-items:flex-start}.flag-snap-header h1{font-size:1.75rem}.options{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}