:root{--color-jade: #0f6b4f;--color-jade-dark: #0a4d38;--color-red: #8a1c1c;--color-red-dark: #6b1414;--color-gold: #d8a13e;--color-cream: #f5ead0;--color-ink: #1c1c1c;--color-table: #123c2e;--font-display: "Ma Shan Zheng", "Noto Serif SC", cursive;--font-cjk: "Noto Serif SC", serif;color-scheme:light}@keyframes mahjong-glimmer{0%,to{opacity:.1}50%{opacity:.34}}@keyframes mahjong-drift{0%,to{margin-left:0;margin-top:0}50%{margin-left:var(--drift);margin-top:calc(var(--drift) * -.6)}}@keyframes mahjong-twinkle{0%,to{opacity:0;transform:scale(.6)}50%{opacity:1;transform:scale(1.4)}}@keyframes mahjong-lantern-glow{0%,to{filter:drop-shadow(0 0 3px rgba(138,28,28,.6));opacity:.75}50%{filter:drop-shadow(0 0 12px rgba(255,120,90,.9));opacity:1}}@keyframes mahjong-shine{0%{background-position:-200% center}to{background-position:200% center}}@keyframes mahjong-fall{0%{transform:translateY(-10vh)}to{transform:translateY(110vh)}}@keyframes mahjong-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes mahjong-turn-flash{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(1.06)}}@keyframes mahjong-discard-flash{0%{transform:scale(1.4);filter:drop-shadow(0 0 14px rgba(216,161,62,1)) drop-shadow(0 0 26px rgba(255,200,120,.85))}12%{transform:scale(1.18);filter:drop-shadow(0 0 12px rgba(216,161,62,.95)) drop-shadow(0 0 22px rgba(255,200,120,.7))}30%{transform:scale(1.05);filter:drop-shadow(0 0 8px rgba(216,161,62,.7))}70%{filter:drop-shadow(0 0 6px rgba(216,161,62,.4))}to{transform:scale(1);filter:drop-shadow(0 0 0 rgba(216,161,62,0))}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;background:var(--color-table);color:var(--color-cream);touch-action:manipulation;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}#root{display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);min-height:100dvh}button{font-family:inherit;cursor:pointer;touch-action:manipulation;min-height:44px;min-width:44px}input{font-family:inherit;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.5}.btn{border:none;border-radius:10px;padding:.7rem 1.2rem;font-size:1rem;font-weight:600;background:var(--color-gold);color:var(--color-ink)}.btn:active{filter:brightness(.92)}.btn-primary{background:var(--color-red);color:var(--color-cream)}.btn-secondary{background:transparent;color:var(--color-cream);border:2px solid var(--color-gold)}.btn-small{padding:.4rem .7rem;font-size:.85rem}
