*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}:root{--bg:#f7f5f0;--surface:#fff;--fixed-bg:#edeae3;--fixed-text:#4a4035;--text-primary:#1a1714;--text-secondary:#7c6f64;--text-muted:#b5a99a;--accent:oklch(55% .18 145);--accent-light:oklch(93% .08 145);--ok-bg:oklch(93% .08 145);--ok-border:oklch(75% .14 145);--ok-text:oklch(38% .14 145);--err-bg:oklch(95% .07 25);--err-border:oklch(75% .16 25);--err-text:oklch(42% .18 25);--error:oklch(55% .2 25);--selected:oklch(52% .18 250);--selected-light:oklch(94% .07 250);--border:#e8e3dc;--card-shadow:0 2px 8px #00000014,0 1px 2px #0000000a;--card-hover:0 6px 20px #00000021,0 2px 6px #00000012}body{background:var(--bg);justify-content:center;align-items:center;min-height:100dvh;font-family:Sora,sans-serif;display:flex;overflow-x:hidden}@keyframes fall{0%{opacity:1;transform:translateY(-20px)rotate(0)}to{opacity:.1;transform:translateY(108vh)rotate(720deg)}}@keyframes shake{0%,to{transform:translate(0)}15%{transform:translate(-7px)}30%{transform:translate(7px)}50%{transform:translate(-5px)}70%{transform:translate(4px)}90%{transform:translate(-2px)}}@keyframes popIn{0%{opacity:0;transform:scale(.6)translateY(8px)}65%{opacity:1;transform:scale(1.05)translateY(-1px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes placePop{0%{transform:scale(1.2)}60%{transform:scale(.94)}to{transform:scale(1)}}@keyframes winPulse{0%,to{box-shadow:var(--card-shadow)}50%{box-shadow:0 0 0 3px var(--accent),0 0 20px oklch(55% .18 145/.4)}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes sheetIn{0%{opacity:0;transform:translateY(36px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes splashFloat{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-12px)scale(1.03)}}@keyframes splashPulse{0%,to{opacity:.4}50%{opacity:1}}@keyframes splashFadeOut{0%{opacity:1}to{opacity:0;pointer-events:none}}
