*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--body);color:#1a1a1a;-webkit-font-smoothing:antialiased;background:#17111f;overflow:hidden}.app-frame{background:radial-gradient(circle at 50% 0,#2a1b5e 0%,#12080f 70%);justify-content:center;align-items:center;height:100%;display:flex}.phone{background:#000;border-radius:34px;width:min(100vw,56dvh,640px);height:min(100dvh,1140px);position:relative;overflow:hidden;box-shadow:0 24px 60px #0000008c}@media (width<=430px),(height<=860px){.phone{box-sizing:border-box;width:100vw;height:100dvh;max-height:none;padding-top:env(safe-area-inset-top,0px);padding-bottom:max(env(safe-area-inset-bottom,0px), var(--safe-bottom,0px));border-radius:0}.app-frame{background:#000}}.screen{-webkit-overflow-scrolling:touch;position:absolute;inset:0;overflow:hidden auto}.screen::-webkit-scrollbar{width:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.screen-anim{animation:.28s both fade}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}button{cursor:pointer;color:inherit;background:0 0;border:none;padding:0;font-family:inherit}.display{font-family:var(--display);letter-spacing:.04em;font-weight:800}.pill{background:linear-gradient(120deg, var(--indigo-grad-a), var(--indigo-grad-b));color:var(--yellow);border-radius:30px;align-items:center;gap:12px;padding:0 10px;display:flex;box-shadow:0 3px 8px #2a1b5e59}.yellow-pill{background:var(--yellow);color:var(--indigo);border-radius:30px;justify-content:center;align-items:center;font-weight:700;display:flex;box-shadow:0 3px 8px #2a1b5e40}.tap{transition:transform 80ms,filter .12s}.tap:active{filter:brightness(1.05);transform:scale(.94)}.spinner{border:4px solid #2a1b5e40;border-top-color:var(--indigo);border-radius:50%;width:30px;height:30px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.busy-veil{z-index:60;cursor:wait;opacity:0;background:#14081459;flex-direction:column;justify-content:center;align-items:center;gap:12px;animation:.2s ease-out .2s forwards busy-in;display:flex;position:absolute;inset:0}.busy-spinner{border-color:#ffffff40;border-top-color:var(--yellow);width:36px;height:36px}@keyframes busy-in{to{opacity:1}}.rotate-guard{display:none}@media (orientation:landscape) and (height<=560px){.rotate-guard{z-index:999;text-align:center;background:linear-gradient(150deg, var(--indigo-grad-b), var(--indigo-deep));color:var(--yellow);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex;position:fixed;inset:0}}:root{--indigo:#2a1b5e;--indigo-deep:#241454;--indigo-rack:#2a1547;--indigo-grad-a:#2a1547;--indigo-grad-b:#3d2166;--yellow:#f2ec86;--yellow-dot:#e8df6d;--gold:#e8b45a;--yellow-rgb:242, 236, 134;--panel:linear-gradient(150deg, #f8ea6c 0%, #f3a97c 55%, #ee7d87 100%);--warm:linear-gradient(160deg, #f8e96e 0%, #f2968a 48%, #e9608c 100%);--loading:linear-gradient(150deg, #f8ea6c 0%, #f5b37a 45%, #ee7d87 75%, #e9608c 100%);--home-bg:linear-gradient(150deg, #a45fb0 0%, #9b7fc4 45%, #9bd8dc 100%);--board-dark:radial-gradient(circle at 35% 28%, #86a0bd 0%, #5a7595 62%, #475f7b 100%);--board-light:radial-gradient(circle at 35% 28%, #f4d8ac 0%, #e9b87e 62%, #d99c60 100%);--cell-dark:radial-gradient(circle at 35% 28%, #7a5e97 0%, #4a3268 62%, #392352 100%);--cell-light:none;--grid-dark:#f2ec8680;--grid-light:#2a1b5e66;--display:"League Spartan", system-ui, sans-serif;--body:"Poppins", system-ui, sans-serif}
