:root{color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--bg: #0f1419;--panel: #1a2332;--accent: #3dd68c;--text: #e7ecf3;--muted: #8b9cb3;--error: #ff6b6b}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text)}.app{max-width:42rem;margin:0 auto;padding:1.5rem}.site-nav{display:flex;gap:1rem;margin:0 0 1rem;font-size:.95rem}.site-nav a{color:var(--muted);text-decoration:none;font-weight:600}.site-nav a:hover,.site-nav a.active{color:var(--accent)}.hero .lede{font-size:1.1rem;color:var(--text);max-width:36rem}.eyebrow{margin:0 0 .35rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem}a.cta{display:inline-flex;align-items:center;justify-content:center;margin-top:.85rem;padding:1.1rem 2.25rem;min-height:3.75rem;min-width:min(100%,24rem);border-radius:10px;background:var(--accent);color:#0a0f12;font-size:1.45rem;font-weight:800;letter-spacing:.02em;text-decoration:none}a.cta:hover{filter:brightness(1.05);color:#0a0f12}.how-to,.notes{margin:0;padding-left:1.2rem;color:var(--text)}.how-to li,.notes li{margin:.45rem 0}.landing footer a,.app footer a{color:var(--accent)}header h1{margin:0 0 .25rem;font-size:1.75rem;color:var(--accent)}.tagline{margin:0;color:var(--muted);font-size:.95rem}.beta-banner{margin:0 0 1.25rem;padding:.65rem .9rem;border-radius:6px;background:#ffc10724;color:#f3d37a;font-size:.9rem}.api-status.ok{color:var(--accent)}.api-status.err{color:var(--error)}.panel{margin-top:1.25rem;padding:1rem 1.25rem;background:var(--panel);border-radius:8px}.panel h2{margin:0 0 .75rem;font-size:1rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}button{cursor:pointer;padding:.5rem 1rem;border:none;border-radius:6px;background:var(--accent);color:#0a0f12;font-weight:600}button:disabled{opacity:.5;cursor:not-allowed}.mono{font-family:ui-monospace,monospace;font-size:.85rem;word-break:break-all}.banner{margin-top:1rem;padding:.6rem .9rem;border-radius:6px;font-size:.9rem}.banner.error{background:#ff6b6b26;color:var(--error)}.banner.info{background:#3dd68c1f;color:var(--accent)}.banner.win{background:#3dd68c33;color:var(--accent);margin-bottom:.75rem}.seat-list{list-style:none;padding:0;margin:.75rem 0;font-size:.9rem}.seat-list li{padding:.2rem 0;color:var(--muted)}.players li{padding:.35rem 0}.cards{color:var(--accent)}.showdown-hands{list-style:none;padding:.4rem 0 0;margin:0}.showdown-hands li{padding:.15rem 0}.stack{color:var(--muted);font-size:.85rem}.actions button.primary-bet{background:var(--accent);color:#0a0f12}.bet-slider{flex:1 1 100%;margin:.25rem 0 .5rem;padding:.65rem .75rem;background:#0003;border-radius:6px}.bet-slider-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;font-size:.9rem}.bet-slider-header strong{color:var(--accent)}.bet-amount-field{display:inline-flex;align-items:center;gap:.35rem;background:#0f1419;border:1px solid #2d3a4f;border-radius:6px;padding:.15rem .45rem}.bet-amount-input{width:4.5rem;background:transparent;border:0;color:var(--accent);font:inherit;font-weight:700;text-align:right}.bet-amount-input:focus{outline:none}.bet-amount-ticker{color:var(--muted);font-size:.8rem}.bet-presets{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .55rem}.bet-preset{min-width:2.75rem;padding:.35rem .65rem;background:#2d3a4f;color:var(--text);font-weight:700}.bet-preset.active{background:var(--accent);color:#0a0f12}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.bet-slider-input{width:100%;accent-color:var(--accent);cursor:pointer}.bet-slider-input:disabled{cursor:not-allowed;opacity:.5}.bet-slider-bounds{display:flex;justify-content:space-between;margin-top:.25rem;font-size:.75rem;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.75rem}.actions button{background:#2d3a4f;color:var(--text)}footer{margin-top:2rem;font-size:.85rem;color:var(--muted)}code{font-size:.85em}.row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}button.secondary{background:#2d3a4f;color:var(--text)}.ok-text{color:var(--accent);margin:0 0 .5rem}.muted{color:var(--muted)}.small{font-size:.85rem;margin-top:.75rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal{background:var(--panel);border-radius:12px;padding:1.25rem;max-width:22rem;width:100%}.modal h3{margin:0 0 .5rem}.qr-canvas{display:block;margin:1rem auto;border-radius:8px}.wc-pending{display:flex;align-items:center;justify-content:center;gap:.6rem;min-height:8rem;color:var(--muted)}.wc-spinner{width:1.25rem;height:1.25rem;border:2px solid var(--muted);border-top-color:var(--accent);border-radius:50%;animation:wc-spin .8s linear infinite}@keyframes wc-spin{to{transform:rotate(360deg)}}.wc-uri{font-size:.65rem;max-height:4rem;overflow:auto;word-break:break-all}.feedback-form label{display:block;margin:.85rem 0 .35rem;font-weight:600}.feedback-form textarea,.feedback-form input[type=text],.feedback-form input[type=password],.feedback-form input[type=email]{width:100%;padding:.6rem .7rem;border:1px solid #2d3a4f;border-radius:6px;background:#0f1419;color:var(--text);font:inherit}.feedback-form textarea{resize:vertical}.feedback-form input[type=file]{color:var(--muted)}.lucky-irish{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;pointer-events:none;overflow:hidden}.lucky-irish-rainbow{position:absolute;left:8%;right:8%;top:18%;height:42%;border-radius:50% 50% 0 0/100% 100% 0 0;background:conic-gradient(from 180deg at 50% 100%,#e74c3c 0deg,#f39c12 40deg,#f1c40f 80deg,#27ae60 120deg,#3498db 160deg,#8e44ad 200deg,transparent 240deg);opacity:.35;-webkit-mask-image:radial-gradient(ellipse at 50% 100%,#000 42%,transparent 70%);mask-image:radial-gradient(ellipse at 50% 100%,#000 42%,transparent 70%);animation:lucky-rainbow 4.2s ease-out both}.lucky-irish-runner{position:absolute;bottom:12%;left:0;width:10rem;animation:lucky-run 4s cubic-bezier(.22,.7,.35,1) both}.lucky-irish-svg{width:10rem;height:auto;display:block;filter:drop-shadow(0 8px 10px rgba(0,0,0,.45))}.lucky-irish-stride{transform-origin:88px 118px;animation:lucky-stride .28s ease-in-out infinite alternate}.lucky-irish-pot-arm{transform-origin:100px 88px;animation:lucky-pour .7s ease-in-out infinite alternate}.lucky-irish-spill{position:absolute;right:.35rem;top:6.1rem;width:1px;height:1px}.lucky-coin{position:absolute;width:.7rem;height:.7rem;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff6b5,#ffd24a 45%,#c9a227);box-shadow:inset 0 -1px #8a6d12;animation-name:lucky-coin;animation-timing-function:cubic-bezier(.2,.7,.3,1);animation-fill-mode:forwards}@keyframes lucky-run{0%{transform:translate(-12rem) translateY(8px)}12%{transform:translate(8vw) translateY(-14px)}24%{transform:translate(22vw) translateY(4px)}40%{transform:translate(40vw) translateY(-16px)}56%{transform:translate(58vw) translateY(2px)}72%{transform:translate(78vw) translateY(-12px)}to{transform:translate(112vw) translateY(6px)}}@keyframes lucky-stride{0%{transform:rotate(-12deg)}to{transform:rotate(18deg)}}@keyframes lucky-pour{0%{transform:rotate(-8deg)}to{transform:rotate(18deg)}}@keyframes lucky-coin{0%{opacity:1;transform:translate(0) scale(1) rotate(0)}to{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.6) rotate(220deg)}}@keyframes lucky-rainbow{0%{opacity:0}20%{opacity:.4}to{opacity:0}}@media(prefers-reduced-motion:reduce){.lucky-irish-runner{animation:lucky-run-static 4.2s ease-out both}.lucky-irish-stride,.lucky-irish-pot-arm,.lucky-coin,.lucky-irish-rainbow{animation:none}.lucky-irish-rainbow{opacity:.25}}@keyframes lucky-run-static{0%{opacity:0;transform:translate(calc(50vw - 5rem))}12%{opacity:1;transform:translate(calc(50vw - 5rem))}88%{opacity:1;transform:translate(calc(50vw - 5rem))}to{opacity:0;transform:translate(calc(50vw - 5rem))}}
