@import "https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Sans:ital,wght@0,400;0,500;0,600;1,400&family=Libre+Baskerville:ital@1&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f4f1ec;--surface:#fdfaf5;--zone:#e9e4d9;--fg:#1a1714;--muted:#7a7168;--border:#d6d0c4;--visible:#e8a83e;--visible-light:#fdf3dc;--visible-dark:#b07a1a;--strategic:#4a7c59;--strategic-light:#e0ede4;--strategic-dark:#2e5239;--hidden:#c4622d;--hidden-light:#fae8dc;--hidden-dark:#8b3a12;--encre:#1b3a5c;--encre-light:#d8e4f0;--font-display:"Syne", system-ui, sans-serif;--font-body:"DM Sans", system-ui, sans-serif;--font-accent:"Libre Baskerville", Georgia, serif;--radius:14px;--radius-sm:8px;--shadow-card:0 4px 24px #1b3a5c1a, 0 1px 4px #1b3a5c0f;--shadow-hover:0 12px 40px #1b3a5c29, 0 2px 8px #1b3a5c14}html,body,#root{width:100%;height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none}button:focus-visible{outline:2px solid var(--encre);outline-offset:2px}@keyframes fadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}@keyframes cardEntrance{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes shake{0%,to{transform:translate(0)rotate(0)}20%{transform:translate(-8px)rotate(-1.5deg)}40%{transform:translate(8px)rotate(1.5deg)}60%{transform:translate(-5px)rotate(-.8deg)}80%{transform:translate(5px)rotate(.8deg)}}@keyframes correctPop{0%{transform:scale(1)}40%{transform:scale(1.04)}70%{transform:scale(.97)}to{transform:scale(1)}}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes scoreRing{0%{stroke-dashoffset:314px}to{stroke-dashoffset:var(--target-offset)}}@keyframes stackFly{0%{opacity:1;transform:scale(1)translate(0)}to{opacity:0;transform:scale(.3) translate(var(--fly-x), var(--fly-y))}}@keyframes cardDealIn{0%{opacity:0;transform:translateY(-20px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes cardLeave{0%{opacity:1}to{opacity:0;transform:translate(-50%)translateY(-16px)scale(.93)}}
