:root{--felt: #143d2e;--felt-2: #0c2a1f;--felt-edge: #0a1f17;--accent: #caa45a;--accent-bright: #ecd9a4;--accent-deep: #7c632f;--ink: #f3ece0;--ink-dim: #cfc9bb;--ink-faint: #a8a394;--line: rgba(255, 255, 255, .1);--danger: #c4452f;--win-green: #3fae5a;--win-green-bright: #6fd98a;--win: #f2d98c;--lose: #ff8a70;--tie: #a8bccd;--cash-yellow: #f5c518;--cash-yellow-deep: #b8930f;--font-display: "Playfair Display", Georgia, serif;--font-ui: "Hanken Grotesk", system-ui, sans-serif;--font-mono: "Space Mono", ui-monospace, monospace}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-ui);color:var(--ink);background:var(--felt-edge);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}#root{height:100dvh}@supports not (height: 100dvh){#root{height:100vh}}.stage{position:relative;height:100%;width:100%;display:flex;align-items:stretch;justify-content:center;background:radial-gradient(120% 90% at 50% 8%,color-mix(in oklab,var(--felt) 88%,#fff 6%) 0%,var(--felt) 30%,var(--felt-2) 66%,var(--felt-edge) 100%);isolation:isolate}.stage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-1;background-image:radial-gradient(rgba(255,255,255,.045) 1px,transparent 1.4px);background-size:7px 7px;opacity:.5;mix-blend-mode:overlay}.vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:50;box-shadow:inset 0 0 200px 40px #0000006b,inset 0 0 50px #00000038}@media (max-width: 767px){.vignette{box-shadow:inset 0 0 80px 8px #00000038}}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--accent);opacity:.85}@media (min-width: 768px){.phone-frame{width:420px;margin:auto;height:min(920px,96dvh);border:1px solid var(--line);border-radius:26px;overflow:hidden;box-shadow:0 40px 120px -40px #000000e6;background:radial-gradient(120% 90% at 50% 8%,color-mix(in oklab,var(--felt) 88%,#fff 6%) 0%,var(--felt) 30%,var(--felt-2) 66%,var(--felt-edge) 100%)}}@media (max-width: 767px){.phone-frame{width:100%;height:100%}}.phone-frame{position:relative;z-index:1}.stage.gfx-on{background:transparent}.stage.gfx-on:before{display:none}.stage.gfx-on .phone-frame{background:transparent}@keyframes rise{0%{transform:translateY(16px)}to{transform:translateY(0)}}@keyframes pop{0%{transform:scale(.55)}60%{transform:scale(1.04)}to{transform:scale(1)}}@keyframes pump{0%{transform:translateY(0) rotate(0)}32%{transform:translateY(13px) rotate(3deg)}62%{transform:translateY(-16px) rotate(-3deg)}to{transform:translateY(0) rotate(0)}}@keyframes snap{0%{transform:scale(.45) rotate(-10deg)}55%{transform:scale(1.2) rotate(5deg)}to{transform:scale(1) rotate(0)}}@keyframes chantIn{0%{transform:translateY(14px) scale(.8);opacity:.2}to{transform:translateY(0) scale(1);opacity:1}}@keyframes tableShake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}@keyframes spark{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--tx),var(--ty)) scale(.2)}}@keyframes dropIn{0%{opacity:0;transform:translateY(-46px) scale(.6)}55%{opacity:1}78%{transform:translateY(8px) scale(1.05)}to{opacity:0;transform:translateY(2px) scale(.9)}}@keyframes winpulse{0%,to{box-shadow:0 0 40px -8px color-mix(in oklab,var(--accent) 50%,transparent)}50%{box-shadow:0 0 64px -4px color-mix(in oklab,var(--accent) 75%,transparent)}}@keyframes flipCard{0%{transform:rotateY(0)}to{transform:rotateY(180deg)}}@keyframes greenPulse{0%,to{box-shadow:0 0 24px -6px color-mix(in oklab,var(--win-green) 60%,transparent);border-color:var(--win-green)}50%{box-shadow:0 0 40px -2px color-mix(in oklab,var(--win-green-bright) 80%,transparent);border-color:var(--win-green-bright)}}@keyframes cashoutGlow{0%,to{box-shadow:0 0 22px -4px color-mix(in oklab,var(--cash-yellow) 55%,transparent)}50%{box-shadow:0 0 38px color-mix(in oklab,var(--cash-yellow) 80%,transparent)}}@keyframes redFlash{0%{opacity:0}30%{opacity:1}to{opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}.game-screen{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-template-columns:minmax(0,1fr);padding-top:env(safe-area-inset-top)}.game-screen>.row-ladder{padding:clamp(8px,2.5vw,14px) 0 0}.game-screen>.row-table{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(12px,3vh,28px);min-height:0;padding:clamp(6px,2vw,12px)}.game-screen>.row-betbar{padding-bottom:max(env(safe-area-inset-bottom),8px)}.rotate-overlay{display:none}@media (orientation: landscape) and (max-height: 500px){.rotate-overlay{display:grid;position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;place-items:center;background:var(--felt-edge);text-align:center;padding:24px}}.fullscreen-message{height:100dvh;display:grid;place-items:center;text-align:center;padding:32px;background:radial-gradient(120% 90% at 50% 8%,var(--felt) 0%,var(--felt-2) 66%,var(--felt-edge) 100%);color:var(--ink);font-family:var(--font-ui)}.fullscreen-message h1{font-family:var(--font-display);font-size:28px;margin-bottom:10px}.fullscreen-message p{color:var(--ink-dim);max-width:40ch;line-height:1.5}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:#00000080}.drawer{position:absolute;left:0;right:0;bottom:0;max-height:70dvh;overflow-y:auto;background:linear-gradient(180deg,#123327,var(--felt-2));border-top:1px solid var(--line);border-radius:18px 18px 0 0;padding:10px 16px calc(env(safe-area-inset-bottom) + 16px);animation:rise .28s cubic-bezier(.2,.8,.2,1)}.drawer-grip{width:40px;height:4px;border-radius:4px;background:var(--line);margin:0 auto 10px}.drawer-title{font-family:var(--font-display);font-size:18px;margin-bottom:10px}.drawer-empty{color:var(--ink-faint);padding:20px 0;text-align:center}.history-list{list-style:none;display:flex;flex-direction:column;gap:6px}.history-row{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#00000038}.history-row.won{border-color:color-mix(in oklab,var(--win-green) 50%,var(--line))}.hr-main{display:flex;align-items:baseline;gap:10px}.hr-mult{font-family:var(--font-mono);font-weight:700;font-size:14px}.hr-steps{font-size:11px;color:var(--ink-faint)}.hr-amounts{display:flex;gap:12px;font-family:var(--font-mono);font-size:12px}.hr-bet{color:var(--ink-faint)}.hr-payout{color:var(--ink-dim)}.hr-payout.won{color:var(--win-green-bright);font-weight:700}.fairness-modal{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(440px,92vw);max-height:80dvh;overflow-y:auto;background:linear-gradient(180deg,#123327,var(--felt-2));border:1px solid var(--line);border-radius:18px;padding:18px;animation:pop .25s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;gap:14px}.fairness-explainer{font-size:12.5px;line-height:1.55;color:var(--ink-dim)}.fair-field{display:flex;flex-direction:column;gap:6px}.fair-k{font-family:var(--font-mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-faint)}.fair-v{font-family:var(--font-mono);font-size:11px;word-break:break-all;color:var(--accent-bright);background:#0000004d;border:1px solid var(--line);border-radius:8px;padding:8px 10px;-webkit-user-select:text;user-select:text}.fair-edit{display:flex;gap:8px}.fair-input{flex:1;font-family:var(--font-mono);font-size:12px;color:var(--ink);background:#0000004d;border:1px solid var(--line);border-radius:8px;padding:8px 10px}.fair-input:focus{outline:none;border-color:var(--accent)}.fair-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;font-family:var(--font-ui);font-weight:600;font-size:12px;color:var(--ink);background:#ffffff0f;border:1px solid var(--line);border-radius:8px;padding:8px 14px;align-self:flex-start;transition:border-color .15s,background .15s}.fair-btn:not(:disabled):hover{border-color:var(--accent);background:#ffffff1a}.fair-btn:disabled{opacity:.4;cursor:not-allowed}.fair-result{font-size:12px;font-weight:700}.fair-result.verified{color:var(--win-green-bright)}.fair-result.mismatch{color:var(--danger)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:24px}.win-overlay{background:#0000008c;animation:chantIn .4s cubic-bezier(.2,1.2,.4,1);cursor:pointer}.win-amount{font-family:var(--font-display);font-weight:800;font-size:clamp(44px,12vw,72px);color:var(--accent-bright);text-shadow:0 0 50px color-mix(in oklab,var(--accent) 60%,transparent)}.expired-overlay{background:#0a1f17f5;z-index:300}.error-toast{position:fixed;top:calc(env(safe-area-inset-top) + 12px);left:50%;transform:translate(-50%);z-index:250;background:color-mix(in oklab,var(--danger) 80%,black);color:#fff;font-size:13px;font-weight:600;border-radius:10px;padding:10px 16px;box-shadow:0 10px 30px -8px #000000b3;animation:rise .25s cubic-bezier(.2,.8,.2,1);cursor:pointer;max-width:90vw}.demo-badge{font-family:var(--font-mono);font-size:11px;letter-spacing:.24em;color:#241c08;background:linear-gradient(180deg,var(--accent-bright),var(--accent));border-radius:6px;padding:4px 8px;font-weight:700}.error-toast.hint{background:linear-gradient(180deg,var(--accent-bright),var(--accent));color:#241c08}
