:root{color:#11181c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f7f4ec;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}body{overflow:hidden}button{appearance:none;color:#11181c;cursor:pointer;font:inherit;letter-spacing:0;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-bottom:1px solid #11181c52;border-radius:0;padding:2px 0;font-size:13px;font-weight:650}button:disabled{cursor:not-allowed;opacity:.38}.appShell{background:#f7f4ec;width:100%;height:100svh;position:relative;overflow:hidden}.boardFrame{background:#f7f4ec;position:absolute;inset:0;overflow:hidden}.gameCanvas{touch-action:none;cursor:crosshair;width:100%;height:100%;display:block}.demoCanvas{cursor:default}.loadingBoard{color:#11181c94;place-items:center;width:100%;height:100%;font-size:13px;font-weight:650;display:grid}.topControls{top:max(14px, env(safe-area-inset-top));z-index:2;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px;max-width:calc(100vw - 32px);padding:8px 0;display:flex;position:fixed;right:16px}.statusLine{right:16px;bottom:max(14px, env(safe-area-inset-bottom));z-index:2;color:#11181cad;font-size:13px;font-weight:650;position:fixed}.turnCue{z-index:3;pointer-events:none;place-items:center;padding:22px;animation:1.9s cubic-bezier(.22,1,.36,1) forwards turnCueFade;display:grid;position:fixed;inset:0}.turnCueCard{color:#11181c;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffdf7e0;border:1px solid #11181c33;border-radius:8px;justify-items:center;gap:12px;min-width:210px;max-width:min(560px,100vw - 44px);padding:20px 30px 22px;display:grid;box-shadow:0 24px 80px #11181c3d}.turnCuePrimary{color:inherit;letter-spacing:0;font-size:82px;font-weight:820;line-height:.95}.turnCueMessage,.turnCueHint{max-width:420px;color:inherit;letter-spacing:0;font-size:14px;font-weight:680;line-height:1.24}.turnCueHint{opacity:.76;max-width:460px}.turnCue-wait .turnCueCard{color:#fffdf7;background:#11181cd1;border-color:#fffdf738}.errorLine{left:16px;bottom:max(14px, env(safe-area-inset-bottom));z-index:2;color:#9e3325;max-width:min(420px,100vw - 32px);font-size:13px;font-weight:650;position:fixed}.modalBackdrop{z-index:4;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#f7f4ec59;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.stopModal{background:#fffdf7f5;border:1px solid #11181c2e;border-radius:8px;width:min(360px,100%);padding:20px;box-shadow:0 18px 60px #11181c2e}.stopModal p{color:#11181c;margin:0 0 18px;font-size:17px;font-weight:720;line-height:1.25}.shareBackdrop{background:#f7f4ec2e}.shareModal{width:min(380px,100vw - 36px)}.modalActions{flex-wrap:wrap;justify-content:flex-end;gap:14px;display:flex}.primaryAction{border-bottom-color:#11181c9e}@media (width<=640px){.topControls{justify-content:flex-end;gap:10px;max-width:none;left:12px;right:12px}.turnCueCard{gap:10px;min-width:160px;padding:14px 22px 16px}.turnCuePrimary{font-size:46px}.turnCueMessage,.turnCueHint,button,.statusLine,.errorLine{font-size:12px}}@keyframes turnCueFade{0%{opacity:0;transform:scale(.96)}14%,62%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.98)}}
