:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#07111d;--bg-elevated:#0d1c2e;--panel:#0f1827eb;--panel-border:#94a3b833;--accent:#7dd3fc;--accent-strong:#38bdf8;--secondary:#c084fc;--text:#e2e8f0;--text-muted:#94a3b8;--success:#34d399;--warning:#fbbf24;--danger:#f87171;--card-front:#f8fafc;--card-back:linear-gradient(135deg, #12263d 0%, #21456d 100%);--shadow:0 20px 45px #0f172a73;--radius:20px;--surface:#101e30;--surface-2:#152843;--app-brightness:1;--app-background:radial-gradient(circle at top, #38bdf81f, transparent 35%), linear-gradient(180deg, #020817 0%, #07111d 100%)}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#e6edf7;--bg-elevated:#fff;--panel:#fffffff0;--panel-border:#1e293b33;--accent:#0369a1;--accent-strong:#0284c7;--secondary:#7e22ce;--text:#0f172a;--text-muted:#475569;--card-front:#fff;--card-back:linear-gradient(135deg, #bfdbfe 0%, #60a5fa 100%);--shadow:0 20px 45px #0f172a2e;--surface:#f8fafc;--surface-2:#e2e8f0;--home-glow:#0ea5e929;--hero-background:#ffffffd1;--mode-background:#ffffffc7;--mode-hover-background:#bae6fdb3;--modal-background:#fffffff7;--modal-overlay:#0f172a61;--control-background:#ffffffdb;--utility-background:#ffffffe6;--game-table-background:#ffffffb8;--pile-background:#e2e8f0d1;--seat-background:#fffc;--app-background:radial-gradient(circle at top, #0ea5e929, transparent 35%), linear-gradient(180deg, #f8fafc 0%, #e2e8f0 100%)}:root{--home-glow:#3b82f626;--hero-background:#0f172ac7;--mode-background:#0f172acc;--mode-hover-background:#1e4070b8;--modal-background:#0f172af5;--modal-overlay:#020817b8;--control-background:#0f172acc;--utility-background:#0f172ae0;--game-table-background:#0f172a99;--pile-background:#0f172a8c;--seat-background:#0f172ab3}*{box-sizing:border-box}html,body,#root{background:var(--app-background);height:100%;color:var(--text);margin:0;font-family:Inter,Segoe UI,sans-serif;overflow:hidden}body{overscroll-behavior:none;height:100dvh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #7dd3fccc}#root{width:100%;height:100%;filter:brightness(var(--app-brightness))}.screen{justify-content:center;align-items:center;height:100dvh;padding:1.25rem;display:flex;overflow:hidden}.screen--home{isolation:isolate;background:radial-gradient(circle at center, var(--home-glow), transparent 35%);position:relative;overflow:hidden}.falling-cards{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.falling-card{top:-150px;left:var(--fall-left);width:var(--fall-size);height:calc(var(--fall-size) * 1.42);object-fit:cover;opacity:.23;filter:saturate(.9)drop-shadow(0 10px 9px #0208178c);transform:rotate(var(--fall-rotation));animation:fall-card var(--fall-duration) linear var(--fall-delay) infinite;border-radius:10px;position:absolute}.hero-panel{z-index:1;background:var(--hero-background);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--panel-border);width:min(100%,560px);box-shadow:var(--shadow);text-align:center;border-radius:28px;padding:clamp(1.5rem,3vw,2.75rem);position:relative}.hero-panel--compact{border-radius:22px;width:min(100%,460px);padding:clamp(1.1rem,2.4vw,2rem)}.hero-panel--compact h1{font-size:clamp(2.1rem,6.4vw,3.6rem)}.hero-panel--compact p{font-size:.94rem}.hero-panel--compact .hero-panel__actions .button{padding-block:.65rem}.hero-panel--compact .mode-actions{gap:.5rem;margin-top:1rem}.hero-panel--compact .mode-button{border-radius:12px;min-height:60px;padding:.7rem .9rem}.hero-panel--compact .mode-button strong{font-size:.9rem}.hero-panel--compact .mode-button span{margin-top:.15rem;font-size:.76rem}.hero-panel--compact .beta-notice{margin-top:.75rem;padding:.6rem .75rem;font-size:.78rem}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--accent);margin:0 0 .75rem;font-size:.72rem;font-weight:700}.hero-panel h1{letter-spacing:.04em;margin:0;font-size:clamp(2.75rem,8vw,5rem)}.hero-panel p{color:var(--text-muted);margin:1rem 0 0;font-size:1.04rem;line-height:1.6}.hero-panel__actions,.topbar__actions{flex-wrap:wrap;gap:.75rem;margin-top:1.5rem;display:flex}.hero-panel__actions{width:100%}.hero-panel__actions .button{justify-content:center;width:100%}.mode-actions{gap:.75rem;margin-top:1.5rem;display:grid}.mode-button{width:100%;min-height:76px;color:var(--text);text-align:left;background:var(--mode-background);border:1px solid #94a3b840;border-radius:16px;padding:1rem 1.25rem;transition:transform .2s,border-color .2s,background .2s}.mode-button:hover,.mode-button:focus-visible{background:var(--mode-hover-background);border-color:#7dd3fcb3;transform:translateY(-2px)}.mode-button:disabled{cursor:not-allowed;opacity:.48}.mode-button:disabled:hover{background:var(--mode-background);border-color:#94a3b840;transform:none}.mode-button strong,.mode-button span{display:block}.mode-button strong{font-size:1rem}.mode-button span{color:var(--text-muted);margin-top:.3rem;font-size:.86rem}.online-notice{color:var(--warning);margin:1rem 0 0;font-size:.9rem}.beta-notice{color:#fef3c7;background:#92400e38;border:1px solid #fbbf2466;border-radius:14px;margin:1rem 0 0;padding:.85rem 1rem;font-size:.9rem;line-height:1.45}.language-switcher{background:var(--control-background);border:1px solid #94a3b840;border-radius:999px;align-items:center;gap:.5rem;padding:.35rem;display:inline-flex}.app-utilities{z-index:10;gap:.5rem;display:flex;position:fixed;top:1rem;left:1rem}.utility-button{width:50px;height:50px;color:var(--text);background:var(--utility-background);border:1px solid #94a3b84d;border-radius:50%;place-items:center;padding:0;transition:transform .15s,border-color .15s;display:grid;box-shadow:0 8px 20px #02081747}.utility-button:hover{border-color:#7dd3fccc;transform:translateY(-1px)}.utility-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5px;width:24px;height:24px}.utility-button svg.icon--wrench{fill:currentColor;stroke:none}.language-switcher__button{background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;transition:transform .15s,border-color .15s,background .15s;display:grid;overflow:hidden}.language-switcher__button img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.language-switcher__button.is-active{background:#7dd3fc1f;border-color:#7dd3fcb3;transform:scale(1.04);box-shadow:0 0 0 2px #7dd3fc42,0 0 18px #7dd3fc80}.language-switcher__button:hover:not(:disabled){transform:translateY(-1px)}@keyframes fall-card{0%{transform:translate3d(0, -150px, 0) rotate(var(--fall-rotation))}to{transform:translate3d(24px, calc(100vh + 180px), 0) rotate(calc(var(--fall-rotation) + 120deg))}}@media (prefers-reduced-motion:reduce){.falling-card{animation:none;top:12%}}.button{appearance:none;border:none;border-radius:999px;min-height:44px;padding:.8rem 1.2rem;font-weight:700;transition:transform .2s,opacity .2s,box-shadow .2s}.button:hover:not(:disabled){transform:translateY(-1px)}.button:active:not(:disabled){transform:translateY(0)}.button:disabled{opacity:.5;cursor:not-allowed}.button--primary{background:linear-gradient(135deg, var(--accent), var(--secondary));color:#07111d;box-shadow:0 18px 30px #38bdf852}.button--secondary{background:var(--control-background);color:var(--text);border:1px solid #94a3b840}.screen--game{flex-direction:column;height:100dvh;padding:clamp(1rem,3vw,2rem);display:flex;overflow:hidden}.topbar{justify-content:flex-end;align-items:center;gap:1rem;max-width:1200px;margin:0 auto 1rem;display:flex}.topbar--game{flex-direction:column;align-items:center;gap:.6rem;padding-top:3.75rem}.eyebrow--inline{letter-spacing:.08em;text-align:center;margin:0;font-size:clamp(.95rem,2.4vw,1.15rem)}.topbar--game .topbar__actions{flex-wrap:nowrap;justify-content:center;align-items:stretch;gap:.75rem;width:auto;margin-top:0;display:flex}.topbar--game .topbar__actions .utility-button,.topbar--game .topbar__actions .button{flex:none}.topbar h2{margin:0;font-size:clamp(1.1rem,3vw,1.8rem)}.game-table{background:var(--game-table-background);border:1px solid var(--panel-border);width:100%;max-width:1200px;box-shadow:var(--shadow);border-radius:32px;flex:1;min-height:0;margin:0 auto;padding:1rem;overflow-y:auto}.game-table--two-player{align-items:stretch;padding:clamp(.75rem,2vw,1.5rem);display:flex;overflow:hidden}.two-player-table{perspective:1200px;background:radial-gradient(circle,#34d39930,#0000 48%),linear-gradient(145deg,#0f766e33,#22c55e14);border:1px solid #34d39940;border-radius:24px;flex:1;width:100%;min-height:0;position:relative;overflow:hidden}.two-player-seat{z-index:1;width:min(78%,480px);transform-style:preserve-3d;justify-items:center;gap:.5rem;display:grid;position:absolute;left:50%}.two-player-seat h3{color:var(--text);text-shadow:0 2px 8px #02081799;margin:0;font-size:.9rem;font-weight:700}.two-player-seat--opponent{top:1.25rem;transform:translate(-50%)rotateX(28deg)}.two-player-seat--local{bottom:1.25rem;transform:translate(-50%)rotateX(-18deg)}.two-player-hand{justify-content:center;width:100%;display:flex}.two-player-hand .card{aspect-ratio:.69;width:clamp(58px,10vw,78px);height:auto;margin-left:clamp(4px,.8vw,10px);box-shadow:0 10px 18px #0208176b}.two-player-hand .card:first-child{margin-left:0}.two-player-seat--opponent .two-player-hand .card{transform:rotateX(12deg)}.two-player-seat--local .two-player-hand .card{transform:rotateX(-8deg)}.two-player-piles{z-index:2;align-items:center;gap:clamp(.8rem,3vw,1.75rem);display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.two-player-piles .table__pile{aspect-ratio:.69;background:#0f172a73;width:clamp(70px,13vw,100px);height:auto}.two-player-piles .card{aspect-ratio:auto;width:100%;height:100%}.game-table--three-player{align-items:stretch;padding:clamp(.75rem,2vw,1.5rem);display:flex;overflow:hidden}.three-player-table{background:radial-gradient(circle,#34d39930,#0000 48%),linear-gradient(145deg,#0f766e33,#22c55e14);border:1px solid #34d39940;border-radius:24px;flex:1;width:100%;min-height:0;position:relative;overflow:hidden}.three-player-seat{z-index:1;justify-items:center;gap:.5rem;display:grid;position:absolute}.three-player-seat h3{color:var(--text);text-shadow:0 2px 8px #02081799;margin:0;font-size:.85rem;font-weight:700}.three-player-seat--left{top:50%;left:.75rem;transform:translateY(-50%)}.three-player-seat--right{top:50%;right:.75rem;transform:translateY(-50%)}.three-player-seat--local{width:min(70%,420px);bottom:1.25rem;left:50%;transform:translate(-50%)}.three-player-hand{justify-content:center;width:100%;display:flex}.three-player-seat--left .three-player-hand,.three-player-seat--right .three-player-hand{flex-direction:column;align-items:center;width:auto}.three-player-hand .card{aspect-ratio:.69;width:min(clamp(50px,9vw,72px),11vh);height:auto;margin-left:clamp(4px,.7vw,8px);box-shadow:0 10px 18px #0208176b}.three-player-seat--left .three-player-hand .card,.three-player-seat--right .three-player-hand .card{--card-w:min(clamp(58px, 10vw, 78px), 12vh);width:var(--card-w);margin-left:0;margin-top:calc(clamp(4px, .7vw, 8px) - (var(--card-w) / .69 - var(--card-w)))}.three-player-seat--left .three-player-hand .card{transform:rotate(90deg)}.three-player-seat--right .three-player-hand .card{transform:rotate(-90deg)}.three-player-seat--left .three-player-hand .card:first-child,.three-player-seat--right .three-player-hand .card:first-child{margin-top:0}.three-player-hand .card:first-child{margin-left:0}.three-player-seat--local .three-player-hand .card{width:min(clamp(58px,10vw,78px),12vh)}.three-player-piles{z-index:2;align-items:center;gap:clamp(.8rem,3vw,1.75rem);display:flex;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%)}.three-player-piles .table__pile{aspect-ratio:.69;background:#0f172a73;width:clamp(70px,13vw,100px);height:auto}.three-player-piles .card{aspect-ratio:auto;width:100%;height:100%}.game-table--four-player{align-items:stretch;padding:clamp(.75rem,2vw,1.5rem);display:flex;overflow:hidden}.four-player-table{background:radial-gradient(circle,#34d39930,#0000 48%),linear-gradient(145deg,#0f766e33,#22c55e14);border:1px solid #34d39940;border-radius:24px;flex:1;width:100%;min-height:0;position:relative;overflow:hidden}.four-player-seat{z-index:1;justify-items:center;gap:.5rem;display:grid;position:absolute}.four-player-seat h3{color:var(--text);text-shadow:0 2px 8px #02081799;margin:0;font-size:.85rem;font-weight:700}.four-player-seat--top{width:min(70%,420px);top:clamp(.5rem,2vh,1.25rem);left:50%;transform:translate(-50%)}.four-player-seat--left{top:50%;left:.75rem;transform:translateY(-50%)}.four-player-seat--right{top:50%;right:.75rem;transform:translateY(-50%)}.four-player-seat--local{width:min(70%,420px);bottom:clamp(.5rem,2vh,1.25rem);left:50%;transform:translate(-50%)}.four-player-hand{justify-content:center;width:100%;display:flex}.four-player-seat--left .four-player-hand,.four-player-seat--right .four-player-hand{flex-direction:column;align-items:center;width:auto}.four-player-hand .card{aspect-ratio:.69;width:min(clamp(50px,9vw,72px),9vh);height:auto;margin-left:clamp(4px,.7vw,8px);box-shadow:0 10px 18px #0208176b}.four-player-hand .card:first-child{margin-left:0}.four-player-seat--left .four-player-hand .card,.four-player-seat--right .four-player-hand .card{--card-w:min(clamp(50px, 9vw, 72px), 9vh);width:var(--card-w);margin-left:0;margin-top:calc(clamp(4px, .7vw, 8px) - (var(--card-w) / .69 - var(--card-w)))}.four-player-seat--left .four-player-hand .card:first-child,.four-player-seat--right .four-player-hand .card:first-child{margin-top:0}.four-player-seat--left .four-player-hand .card{transform:rotate(90deg)}.four-player-seat--right .four-player-hand .card{transform:rotate(-90deg)}.four-player-piles{z-index:2;align-items:center;gap:clamp(.8rem,3vw,1.75rem);display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.four-player-piles .table__pile{aspect-ratio:.69;background:#0f172a73;width:clamp(70px,13vw,100px);height:auto}.four-player-piles .card{aspect-ratio:auto;width:100%;height:100%}.game-table__header{justify-content:space-between;margin-bottom:1rem;padding:.5rem .25rem;display:flex}.game-table__header h2{margin:0;font-size:clamp(1.2rem,3vw,2rem)}.game-table__label{text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin:0 0 .4rem;font-size:.72rem}.table{background:linear-gradient(135deg,#22c55e1f,#0f766e29);border:1px solid #34d39940;border-radius:22px;justify-content:center;align-items:center;min-height:220px;padding:1rem;display:flex}.table__center{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;display:flex}.table__pile{background:var(--pile-background);border:1px solid #94a3b833;border-radius:14px;place-items:center;width:90px;height:130px;display:grid}.pile-empty{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem}.players-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1.25rem;display:grid}.player-seat{background:var(--seat-background);border:1px solid #94a3b826;border-radius:20px;padding:.9rem}.player-seat--active{border-color:#7dd3fcb3;box-shadow:inset 0 0 0 1px #7dd3fc59}.player-seat__header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.8rem;display:flex}.player-seat__header h3{margin:0;font-size:1rem}.player-seat__header span{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:.7rem}.player-seat__hand{flex-wrap:wrap;gap:.5rem;min-height:84px;display:flex}.card{-webkit-user-select:none;user-select:none;border:1px solid #94a3b838;border-radius:12px;place-items:center;width:62px;height:90px;padding:.35rem;font-size:1.2rem;font-weight:800;transition:transform .18s,box-shadow .18s,border-color .18s;display:grid;position:relative}.card--face-up{background:var(--card-front);color:#111827;box-shadow:0 8px 24px #0f172a29}.card--face-down{background:var(--card-back);color:#e2e8f0}.card--selected{border-color:#38bdf8e6;box-shadow:0 0 0 3px #38bdf833}.card--animated{animation:.28s card-pop}.card--disabled{opacity:.6;cursor:default}.card__value{font-size:.8rem;line-height:1;position:absolute}.card__value--top{top:.45rem;left:.5rem}.card__value--bottom{bottom:.45rem;right:.5rem;transform:rotate(180deg)}.card__suit{font-size:1.6rem}@keyframes card-pop{0%{opacity:.7;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (width<=640px){.screen--game{padding:.75rem}.topbar--game{padding-top:3.5rem}.topbar__actions{width:100%}.topbar--game .topbar__actions{width:auto}.eyebrow--inline{width:100%;margin:0 0 .35rem}.hero-panel__actions .button{flex:100%}.hero-panel{padding:1.25rem}.three-player-seat--left{left:.35rem}.three-player-seat--right{right:.35rem}.three-player-seat h3{font-size:.75rem}.three-player-hand .card{width:clamp(38px,12vw,54px);margin-left:clamp(2px,1vw,6px)}.three-player-seat--left .three-player-hand .card,.three-player-seat--right .three-player-hand .card{--card-w:clamp(38px, 12vw, 54px);width:var(--card-w);margin-top:calc(clamp(2px, 1vw, 6px) - (var(--card-w) / .69 - var(--card-w)))}.three-player-piles{top:56%}.four-player-seat--left{left:.35rem}.four-player-seat--right{right:.35rem}.four-player-seat h3{font-size:.75rem}.four-player-hand .card{width:clamp(38px,12vw,54px);margin-left:clamp(2px,1vw,6px)}.four-player-seat--left .four-player-hand .card,.four-player-seat--right .four-player-hand .card{--card-w:clamp(38px, 12vw, 54px);width:var(--card-w);margin-top:calc(clamp(2px, 1vw, 6px) - (var(--card-w) / .69 - var(--card-w)))}.four-player-piles{top:50%}}@media (height<=480px){.screen--game{padding:.5rem}.topbar--game{gap:.35rem;padding-top:2.75rem}.three-player-hand .card,.four-player-hand .card{width:min(clamp(38px,8vw,54px),9vh)}.three-player-seat--left .three-player-hand .card,.three-player-seat--right .three-player-hand .card,.four-player-seat--left .four-player-hand .card,.four-player-seat--right .four-player-hand .card{--card-w:min(clamp(38px, 8vw, 54px), 9vh)}.three-player-seat--local .three-player-hand .card{width:min(clamp(44px,9vw,58px),10vh)}.four-player-seat--top{top:.35rem}.four-player-seat--local{bottom:.35rem}}.modal-overlay{z-index:50;background:var(--modal-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-panel{background:var(--modal-background);border:1px solid var(--panel-border);width:min(100%,440px);max-height:90vh;box-shadow:var(--shadow);color:var(--text);border-radius:20px;padding:1.5rem;overflow-y:auto}.modal-panel h2{margin:0 0 .5rem;font-size:1.3rem}.modal-panel>p{color:var(--text-muted);margin:0 0 1.1rem;line-height:1.5}.modal-section-title{color:var(--text);margin:0 0 .6rem;font-size:.95rem;font-weight:700}.modal-license-text{color:var(--text-muted);white-space:pre-line;margin:0 0 1.1rem;font-size:.82rem;line-height:1.55}.whats-new-list{color:var(--text-muted);gap:.4rem;margin:0 0 1.1rem;padding-left:1.2rem;line-height:1.55;display:grid}.modal-instructions{gap:.75rem;margin-bottom:1.25rem;display:grid}.modal-instructions__item{border:1px solid var(--panel-border);background:#94a3b814;border-radius:12px;flex-direction:column;gap:.2rem;padding:.75rem .9rem;display:flex}.modal-instructions__item strong{font-size:.92rem}.modal-instructions__item span{color:var(--text-muted);font-size:.86rem;line-height:1.45}.modal-actions{flex-wrap:wrap;gap:.75rem;display:flex}.modal-actions .button{flex:auto;justify-content:center}.settings-panel{gap:1rem;display:grid}.settings-control{gap:.5rem;display:grid}.settings-control label,.theme-selector legend{color:var(--text);justify-content:space-between;gap:1rem;font-size:.92rem;font-weight:700;display:flex}.settings-control output{color:var(--text-muted);font-variant-numeric:tabular-nums}.settings-control input[type=range]{width:100%;accent-color:var(--accent-strong)}.theme-selector{border:0;flex-wrap:wrap;gap:.75rem;margin:0;padding:0;display:flex}.theme-selector legend{width:100%}.theme-selector label{color:var(--text-muted);align-items:center;gap:.45rem;font-size:.9rem;display:inline-flex}.update-notice{z-index:40;max-width:min(420px,100vw - 2rem);color:var(--text);background:var(--bg-elevated);border:1px solid var(--accent);box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:.75rem;padding:.75rem;display:flex;position:fixed;bottom:1rem;right:1rem}.update-notice span{font-size:.84rem;line-height:1.35}.install-instructions{text-align:left;gap:1rem;margin-bottom:1.25rem;display:grid}.install-instructions__group{border:1px solid var(--panel-border);background:#94a3b814;border-radius:12px;padding:.85rem 1rem}.install-instructions__group h3{color:var(--accent);align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:.98rem;display:flex}.install-instructions__icon{fill:none;stroke:currentColor;stroke-width:1.6px;flex-shrink:0;width:20px;height:20px}.install-instructions__group ol{color:var(--text-muted);gap:.35rem;margin:0;padding-left:1.2rem;font-size:.88rem;line-height:1.5;display:grid}
