.account-menu{min-width:0;position:relative}.account-menu__button{max-width:220px}.account-menu__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-menu__list{z-index:40;min-width:170px;box-shadow:var(--shadow-lg);flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.account-menu__item{align-items:center;gap:var(--space-2);padding:var(--space-2) 10px;border-radius:var(--radius-sm);color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;font-size:14px;text-decoration:none;display:flex}.account-menu__item:hover,.account-menu__item:focus-visible{background:var(--control-bg-hover)}@media (max-width:720px){.account-menu__button{max-width:8em}}.table-shell{min-height:100vh;flex-direction:column;min-height:100dvh;display:flex}.table-shell__bar{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-1) max(var(--space-3), env(safe-area-inset-right)) var(--space-1) max(var(--space-3), env(safe-area-inset-left));border-bottom:1px solid var(--border);background:var(--surface);display:flex}.table-shell__brand{align-items:center;gap:var(--space-2);min-width:0;font-weight:var(--weight-bold);display:inline-flex}.table-shell__main{flex-direction:column;flex:1;min-height:0;display:flex}.hero{align-items:center;gap:var(--space-8);padding:var(--space-10) var(--space-8);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--hero-bg);display:flex;position:relative;overflow:hidden}.hero__text{z-index:1;flex:1;min-width:0;position:relative}.hero__eyebrow{margin:0 0 var(--space-2);color:var(--accent);font-size:var(--text-sm);font-weight:var(--weight-bold);letter-spacing:.12em}.hero h1{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-black);letter-spacing:.02em;margin:0}.hero__lead{max-width:36em;margin:var(--space-4) 0 0;color:var(--text-dim);font-size:var(--text-lg);line-height:1.7}.hero__actions{gap:var(--space-3);margin-top:var(--space-6);flex-wrap:wrap;display:flex}.hero__art{filter:drop-shadow(0 18px 30px #2a214047);flex:none;transform:rotate(-6deg)}.hero__art svg{display:block}.pillars{gap:var(--space-4);margin:var(--space-6) 0 0;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;display:grid}.pillar{gap:var(--space-3);padding:var(--space-4);display:flex}.pillar h2{font-size:var(--text-md);margin:0}.pillar p{margin:var(--space-1) 0 0;color:var(--text-dim);font-size:var(--text-sm);line-height:1.65}.games{margin-top:var(--space-8);scroll-margin-top:80px}.games__head{align-items:baseline;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.games__head h2{font-family:var(--font-display);font-size:var(--text-2xl);margin:0}.games__nudge{color:var(--text-dim);margin:0;font-size:14px}.games__grid{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.game-card{--game-tint:var(--leaf-soft);--game-ink:var(--primary);gap:var(--space-3);padding:var(--space-6);border-top:4px solid var(--game-ink);flex-direction:column;display:flex}.game-card--holdem{--game-tint:var(--accent-soft);--game-ink:var(--accent)}.game-card__head{align-items:center;gap:var(--space-3);display:flex}.game-card__head h3{font-family:var(--font-display);font-size:var(--text-xl);margin:0 0 2px}.game-card__icon{background:var(--game-tint);width:52px;height:52px;color:var(--game-ink);border-radius:14px;flex:none;justify-content:center;align-items:center;display:inline-flex}.game-card__soon{margin-left:auto}.game-card__tagline{margin:0;line-height:1.65}.game-card__reveal{color:var(--text-faint);font-size:var(--text-sm);gap:6px;margin:0;display:flex}.game-card__reveal svg{flex:none;margin-top:3px}.game-card__rules{font-size:var(--text-sm);margin:0}.game-card__modes{gap:var(--space-3);padding-top:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:auto;display:grid}.mode{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);flex-direction:column;display:flex}.mode h4{font-size:var(--text-md);align-items:center;gap:6px;margin:0;display:flex}.mode p{color:var(--text-dim);font-size:var(--text-sm);flex:1;margin:0;line-height:1.6}.mode__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (max-width:960px){.games__grid{grid-template-columns:1fr}}@media (max-width:720px){.hero{padding:var(--space-6) var(--space-5)}.hero__art{opacity:.18;position:absolute;top:-18px;right:-26px}.hero__art svg{width:120px;height:120px}.pillars{gap:var(--space-2);grid-template-columns:1fr}.pillar{padding:var(--space-2) 0}.game-card{padding:var(--space-5) var(--space-4)}.game-card__rules{font-size:var(--text-sm);margin:0}.game-card__modes{grid-template-columns:1fr}}:root{--cream-50:#fcfaf3;--cream-100:#f6f1e3;--cream-200:#ebe2c8;--cream-300:#d9cca6;--leaf-300:#a9dc79;--leaf-400:#8ccb5a;--leaf-500:#4f9a4a;--leaf-600:#2f7d46;--leaf-700:#1f5f35;--violet-300:#c4adf5;--violet-400:#a585ea;--violet-500:#7d55d0;--violet-600:#6a3cb5;--violet-700:#522b92;--ink-900:#14111b;--ink-800:#1c1826;--ink-700:#262133;--ink-600:#342e44;--font-ui:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Source Han Sans SC", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:"Noto Serif SC", "Source Han Serif SC", "Songti SC", "STSong", "SimSun", serif;--font-mono:ui-monospace, "SFMono-Regular", "JetBrains Mono", Menlo, Consolas, monospace;--text-xs:12px;--text-sm:13.5px;--text-md:15px;--text-lg:17px;--text-xl:21px;--text-2xl:27px;--text-3xl:clamp(30px, 5vw, 44px);--weight-medium:500;--weight-bold:650;--weight-black:800;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-pill:999px;--page-width:1160px;--page-width-narrow:860px;--ease:cubic-bezier(.2, .7, .2, 1);--felt-0:#2b7d5c;--felt-1:#1d5c45;--felt-2:#0f3729;--on-felt:#f1f8f4;--on-felt-dim:#e1f2e9b8;--felt-panel:#051610c7;--font-tile:"Kaiti SC", "STKaiti", "KaiTi", "Noto Serif SC", "Source Han Serif SC", "Songti SC", "SimSun", serif;--surface-solid:var(--surface);--surface-3:var(--control-bg);--badge-bg:var(--control-bg);--ok-bg:var(--success-bg);--ok-border:var(--success-border);--bg-0:var(--bg);--bg-grad:var(--bg);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f4ea;--bg-pattern:radial-gradient(circle at 1px 1px, #1f5f3512 1px, transparent 0) 0 0 / 22px 22px;--surface:#fff;--surface-2:#fbf9f2;--surface-sunken:#f1ede0;--border:#e4ddc9;--border-strong:#cfc5a9;--text:#1d1b24;--text-dim:#4e4a5a;--text-faint:#625d6e;--primary:var(--leaf-600);--primary-hover:var(--leaf-700);--on-primary:#fff;--accent:var(--violet-600);--accent-soft:#6a3cb51a;--link:var(--violet-600);--focus:var(--violet-500);--leaf-soft:#2f7d461a;--control-bg:#f3efe3;--control-bg-hover:#e9e3d1;--input-bg:#fff;--success:#1d7a3e;--success-bg:#1d7a3e17;--success-border:#1d7a3e59;--warn:#8a5a00;--warn-bg:#c484001f;--warn-border:#c4840066;--danger:#b42318;--danger-bg:#b4231814;--danger-border:#b4231861;--info:#1f5fb4;--info-bg:#1f5fb417;--shadow-sm:0 1px 2px #28200a0f, 0 2px 8px #28200a0d;--shadow-lg:0 12px 36px #28200a1f;--hero-bg:linear-gradient(135deg, #e9f3dc 0%, #f6f1e3 55%, #eee5fb 100%);--gold:#a86a12}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--ink-900);--bg-pattern:radial-gradient(circle at 1px 1px, #f6f1e30d 1px, transparent 0) 0 0 / 22px 22px;--surface:var(--ink-800);--surface-2:#211c2c;--surface-sunken:#110e17;--border:#322b40;--border-strong:#463d58;--text:#f3efe4;--text-dim:#c3bccf;--text-faint:#a199b0;--primary:var(--leaf-300);--primary-hover:#bce690;--on-primary:#132010;--accent:var(--violet-300);--accent-soft:#c4adf521;--link:var(--violet-300);--focus:var(--violet-300);--leaf-soft:#a9dc791f;--control-bg:#2a2438;--control-bg-hover:#352e46;--input-bg:#15111d;--success:#86d993;--success-bg:#86d9931f;--success-border:#86d99366;--warn:#f2c35b;--warn-bg:#f2c35b1f;--warn-border:#f2c35b66;--danger:#ff8f84;--danger-bg:#ff8f841f;--danger-border:#ff8f846b;--info:#8fbcff;--info-bg:#8fbcff1f;--shadow-sm:0 1px 2px #0000004d, 0 2px 8px #0003;--shadow-lg:0 14px 40px #00000073;--hero-bg:linear-gradient(135deg, #1d2a1c 0%, #1c1826 50%, #2a1f40 100%);--gold:#f2c96b}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--ink-900);--bg-pattern:radial-gradient(circle at 1px 1px, #f6f1e30d 1px, transparent 0) 0 0 / 22px 22px;--surface:var(--ink-800);--surface-2:#211c2c;--surface-sunken:#110e17;--border:#322b40;--border-strong:#463d58;--text:#f3efe4;--text-dim:#c3bccf;--text-faint:#a199b0;--primary:var(--leaf-300);--primary-hover:#bce690;--on-primary:#132010;--accent:var(--violet-300);--accent-soft:#c4adf521;--link:var(--violet-300);--focus:var(--violet-300);--leaf-soft:#a9dc791f;--control-bg:#2a2438;--control-bg-hover:#352e46;--input-bg:#15111d;--success:#86d993;--success-bg:#86d9931f;--success-border:#86d99366;--warn:#f2c35b;--warn-bg:#f2c35b1f;--warn-border:#f2c35b66;--danger:#ff8f84;--danger-bg:#ff8f841f;--danger-border:#ff8f846b;--info:#8fbcff;--info-bg:#8fbcff1f;--shadow-sm:0 1px 2px #0000004d, 0 2px 8px #0003;--shadow-lg:0 14px 40px #00000073;--hero-bg:linear-gradient(135deg, #1d2a1c 0%, #1c1826 50%, #2a1f40 100%);--gold:#f2c96b}}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--bg-pattern), var(--bg);color:var(--text);font-family:var(--font-ui);font-size:var(--text-md);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;margin:0;line-height:1.55;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--link);text-underline-offset:2px}h1,h2,h3{line-height:1.25}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.btn{--btn-bg:var(--control-bg);--btn-bg-hover:var(--control-bg-hover);--btn-border:var(--border-strong);--btn-fg:var(--text);justify-content:center;align-items:center;gap:var(--space-2);min-height:40px;padding:var(--space-2) var(--space-4);border:1px solid var(--btn-border);border-radius:var(--radius-md);background:var(--btn-bg);color:var(--btn-fg);font-weight:var(--weight-bold);cursor:pointer;white-space:nowrap;font-size:14.5px;text-decoration:none;transition:background .15s,border-color .15s,transform 80ms;display:inline-flex}.btn:hover:not(:disabled){background:var(--btn-bg-hover)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{--btn-bg:var(--primary);--btn-bg-hover:var(--primary-hover);--btn-border:var(--primary);--btn-fg:var(--on-primary)}.btn--accent{--btn-bg:var(--accent-soft);--btn-bg-hover:var(--accent-soft);--btn-border:var(--accent);--btn-fg:var(--accent)}.btn--danger{--btn-bg:var(--danger-bg);--btn-bg-hover:var(--danger-bg);--btn-border:var(--danger-border);--btn-fg:var(--danger)}.btn--ghost{--btn-bg:transparent;--btn-border:transparent}.btn--sm{min-height:32px;padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);gap:6px}.btn--lg{min-height:48px;padding:var(--space-3) var(--space-6);font-size:var(--text-lg)}.btn--icon{width:38px;min-height:38px;padding:0}.btn--icon.btn--sm{width:32px;min-height:32px}.btn--block{width:100%}.form{gap:var(--space-4);flex-direction:column;display:flex}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field__label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-dim)}.field__hint{font-size:var(--text-xs);color:var(--text-faint)}.field__error{font-size:var(--text-xs);color:var(--danger)}.input{width:100%;min-width:0;min-height:42px;padding:9px var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--input-bg);color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--text-faint)}.input:focus{border-color:var(--focus);box-shadow:0 0 0 3px var(--accent-soft)}.input--invalid{border-color:var(--danger-border)}.form-row{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (max-width:520px){.form-row{grid-template-columns:1fr}}.form__error,.form__note{padding:10px var(--space-3);border:1px solid var(--danger-border);border-radius:var(--radius-md);background:var(--danger-bg);overflow-wrap:anywhere;margin:0;font-size:14px}.form__note{border-color:var(--success-border);background:var(--success-bg)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.callout{gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2);font-size:14px;display:flex}.callout>svg{flex:none;margin-top:2px}.callout p{margin:0}.callout--warn{border-color:var(--warn-border);background:var(--warn-bg)}.callout--danger{border-color:var(--danger-border);background:var(--danger-bg);color:var(--text)}.callout--danger>svg{color:var(--danger)}.callout--info{border-color:var(--border-strong);background:var(--info-bg)}.badge{align-items:center;gap:var(--space-1);padding:1px var(--space-2);border-radius:var(--radius-pill);background:var(--control-bg);color:var(--text-dim);font-size:var(--text-xs);font-weight:var(--weight-bold);white-space:nowrap;line-height:20px;display:inline-flex}.badge--green{background:var(--success-bg);color:var(--success)}.badge--amber{background:var(--warn-bg);color:var(--warn)}.badge--red{background:var(--danger-bg);color:var(--danger)}.badge--violet{background:var(--accent-soft);color:var(--accent)}.badge--gold{background:color-mix(in srgb, var(--gold) 18%, transparent);color:var(--gold)}.badge--blue{background:var(--info-bg);color:var(--info)}.mono{font-family:var(--font-mono)}.muted{color:var(--text-dim)}.faint{color:var(--text-faint)}.break{word-break:break-all;overflow-wrap:anywhere}.pos{color:var(--success)}.neg{color:var(--danger)}.spinner{border:3px solid var(--border-strong);border-top-color:var(--primary);border-radius:50%;flex:none;width:22px;height:22px;animation:.8s linear infinite spin}.spinner--sm{border-width:2px;width:16px;height:16px}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{z-index:50;padding:var(--space-4);animation:fade-in .2s var(--ease);background:#0a080e8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{width:min(100%,500px);max-height:100%;padding:var(--space-6);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:pop-in .22s var(--ease);overflow:auto}.modal__title{margin:0 0 var(--space-2);font-size:var(--text-xl)}.modal p{margin:0 0 var(--space-3)}.modal__actions{margin-top:var(--space-5);flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.shell{flex-direction:column;min-height:100vh;display:flex}.skip-link{top:-100px;left:var(--space-4);z-index:100;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);background:var(--primary);color:var(--on-primary);font-weight:var(--weight-bold);position:absolute}.skip-link:focus{top:var(--space-2)}.page{width:100%;max-width:var(--page-width);padding:var(--space-6) var(--space-4) var(--space-12);flex:1;margin:0 auto}.page--narrow{max-width:var(--page-width-narrow)}.page:focus{outline:none}.topbar{z-index:30;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(12px);position:sticky;top:0}.topbar__inner{align-items:center;gap:var(--space-3);max-width:var(--page-width);min-height:60px;padding:var(--space-2) max(var(--space-4), env(safe-area-inset-right)) var(--space-2) max(var(--space-4), env(safe-area-inset-left));margin:0 auto;display:flex}.topbar__nav{align-items:center;gap:var(--space-1);min-width:0;margin-left:var(--space-3);display:flex}.topbar__link{min-height:38px;padding:6px var(--space-3);border-radius:var(--radius-sm);color:var(--text-dim);font-size:14px;font-weight:var(--weight-bold);white-space:nowrap;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.topbar__link:hover{background:var(--control-bg-hover);color:var(--text)}.topbar__link.is-active{background:var(--leaf-soft);color:var(--text);box-shadow:inset 0 -2px 0 var(--primary)}.topbar__end{align-items:center;gap:var(--space-2);min-width:0;margin-left:auto;display:flex}.brand{border-radius:var(--radius-sm);color:var(--text);flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand__text{flex-direction:column;line-height:1.1;display:flex}.brand__name{font-family:var(--font-display);font-size:19px;font-weight:var(--weight-black);letter-spacing:.08em;white-space:nowrap}.brand__sub{font-size:10.5px;font-weight:var(--weight-bold);letter-spacing:.22em;text-transform:uppercase;color:var(--text-faint)}.page-head{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.page-head h1{font-family:var(--font-display);font-size:var(--text-2xl);letter-spacing:.02em;margin:0}.page-head p{margin:var(--space-1) 0 0;color:var(--text-dim)}.page-head__end{gap:var(--space-2);margin-left:auto;display:flex}.stack{gap:var(--space-4);flex-direction:column;display:flex}.panel{padding:var(--space-5)}.panel__head{margin-bottom:var(--space-3);align-items:center;gap:10px;display:flex}.panel__head h2{font-size:var(--text-lg);margin:0}.panel__end{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.panel__icon{background:var(--leaf-soft);width:32px;height:32px;color:var(--primary);border-radius:9px;flex:none;justify-content:center;align-items:center;display:inline-flex}.panel>p{margin:0 0 var(--space-3);font-size:14px}.tabs{gap:var(--space-1);border-bottom:1px solid var(--border);display:flex;overflow-x:auto}.tabs__tab{color:var(--text-dim);font-size:14.5px;font-weight:var(--weight-bold);white-space:nowrap;border-bottom:2px solid #0000;padding:10px 14px;text-decoration:none}.tabs__tab:hover{color:var(--text)}.tabs__tab.is-active{border-bottom-color:var(--primary);color:var(--text)}.chips{gap:var(--space-2);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.chip{min-height:32px;padding:var(--space-1) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--text-dim);font-size:var(--text-sm);font-weight:var(--weight-bold);cursor:pointer;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.chip:hover{color:var(--text)}.chip[aria-current=true],.chip[aria-pressed=true]{border-color:var(--primary);background:var(--leaf-soft);color:var(--text)}.empty{align-items:center;gap:var(--space-3);padding:var(--space-10) var(--space-4);color:var(--text-dim);text-align:center;flex-direction:column;display:flex}.empty p{max-width:34em;margin:0;line-height:1.7}.empty__actions{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.center-page{min-height:60vh;padding:var(--space-6) var(--space-4);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:14px;display:flex}.center-card{align-items:center;gap:var(--space-3);max-width:460px;padding:var(--space-8) var(--space-6);text-align:center;flex-direction:column;display:flex}.center-card h1{font-size:var(--text-xl);margin:0}.center-card p{overflow-wrap:anywhere;margin:0}.footer{border-top:1px solid var(--border);color:var(--text-faint);font-size:var(--text-xs)}.footer__inner{gap:var(--space-2) var(--space-5);max-width:var(--page-width);padding:var(--space-5) var(--space-4);flex-wrap:wrap;margin:0 auto;display:flex}.footer a{color:inherit}@media (max-width:720px){.topbar__inner{gap:var(--space-2)}.topbar__nav{margin-left:0}.topbar__link{padding:6px 9px}.topbar__link span,.brand__text{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page{padding:var(--space-4) var(--space-4) var(--space-10)}.panel{padding:var(--space-4)}}
