@font-face{font-family:Prata;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/prata-cyrillic-ext-400-normal-Bx7zt7J5.woff2)format("woff2"),url(/assets/prata-cyrillic-ext-400-normal-CZKl2ISA.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Prata;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/prata-cyrillic-400-normal-CW5LVkdR.woff2)format("woff2"),url(/assets/prata-cyrillic-400-normal-DdkJ869o.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Prata;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/prata-vietnamese-400-normal-BloiTr7W.woff2)format("woff2"),url(/assets/prata-vietnamese-400-normal-cdHED1vq.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Prata;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/prata-latin-400-normal-DtyCfkTi.woff2)format("woff2"),url(/assets/prata-latin-400-normal-C4yJuFIr.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-ext-wght-normal-DOFToQv1.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-cyrillic-wght-normal-DayYxulF.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-math-wght-normal-Bl4ZGkZl.woff2)format("woff2-variations");unicode-range:U+302-303,U+305,U+307-308,U+310,U+312,U+315,U+31A,U+326-327,U+32C,U+32F-330,U+332-333,U+338,U+33A,U+346,U+34D,U+391-3A1,U+3A3-3A9,U+3B1-3C9,U+3D1,U+3D5-3D6,U+3F0-3F1,U+3F4-3F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE??}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-symbols-wght-normal-DxQzqQfC.woff2)format("woff2-variations");unicode-range:U+1-C,U+E-1F,U+7F-9F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+28??,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B??,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F0??,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F7??,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB??}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-vietnamese-wght-normal-BBxOatbv.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-ext-wght-normal-QAhDxQuo.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Onest Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/onest-latin-wght-normal-Dun_Rd-l.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.admin{max-width:1080px;margin:0 auto;padding:20px 16px 48px;position:relative}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.admin-title{align-items:baseline;gap:12px;margin:0;font-size:22px;display:flex}.admin-title-sub{opacity:.7;font-size:14px;font-weight:500}.admin-header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.admin-body{flex-direction:column;gap:16px;display:flex}.admin-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px;display:flex;overflow-x:auto}.admin-tabs::-webkit-scrollbar{display:none}.admin-tab{white-space:nowrap;flex:none;text-decoration:none}.admin-main{flex-direction:column;gap:14px;min-width:0;display:flex}.admin-card h3{margin:0 0 12px}.card-head,.card-foot,.inline-form,.log-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.card-head{margin-bottom:14px}.card-foot{justify-content:space-between;margin-top:14px}.inline-form{align-items:flex-end;margin-top:12px}.log-filters{margin-bottom:14px}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:13px}.admin-table th,.admin-table td{text-align:left;vertical-align:middle;padding:8px 10px}.admin-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.admin-table .row-toggle{text-align:right;white-space:nowrap;width:1%}.player-email{overflow-wrap:anywhere;margin-right:8px}.pill{margin-right:4px}.player-panel{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;padding:6px 0 4px;display:grid}.panel-block{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.panel-block h4{text-transform:uppercase;letter-spacing:.06em;margin:0;font-size:12px}.panel-block .field{width:100%}.panel-note{margin:0;font-size:12.5px}.secret{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.secret-value{letter-spacing:.04em;-webkit-user-select:all;user-select:all;font-size:15px}.invite-list,.log-list{margin:0;padding:0;list-style:none}.invite-list li{flex-wrap:wrap;align-items:center;gap:8px 12px;padding:9px 0;display:flex}.invite-list code{min-width:9em;font-size:14px}.invite-list li.used code{opacity:.5;text-decoration:line-through}.metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px;display:grid}.metric{flex-direction:column;gap:4px;padding:12px 14px;display:flex}.metric-label{text-transform:uppercase;letter-spacing:.08em;font-size:11px}.metric-value{font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.log-entry{gap:12px;padding:10px 0;display:flex}.log-dot{border-radius:50%;flex:none;width:8px;height:8px;margin-top:7px}.log-body{min-width:0}.log-text{overflow-wrap:anywhere;margin:0;font-size:13.5px;line-height:1.55}.log-meta{font-size:11.5px}.segmented{flex-wrap:wrap;gap:2px;padding:2px;display:inline-flex}.segmented-item{flex:none}.field{min-height:36px;font:inherit;padding:0 12px;font-size:13px}.field-sm{min-height:32px}.field-num{text-align:right;width:6em}.field-label{flex-direction:column;gap:4px;font-size:12px;display:flex}select.field{padding-right:8px}.admin-loading{margin:0}.meta{font-size:12.5px}.empty-state{text-align:center;margin:0;padding:22px;font-size:13px}@media (width<=640px){.admin-title{font-size:19px}.admin-table th,.admin-table td{padding:7px 6px}.player-panel{grid-template-columns:1fr}.admin-tabs{flex-wrap:wrap;overflow-x:visible}}.admin{color:var(--text)}.admin .admin-header{margin-bottom:18px}.admin .admin-title{font:400 26px var(--display);color:var(--gilt-pale)}.admin .admin-title-sub{font:600 11px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gilt);opacity:.8}.admin .admin-header-actions{gap:6px}.admin .admin-tabs{background:linear-gradient(180deg, var(--leather-bottom), #1a0c06);border:1px solid var(--gilt-line);border-radius:14px;gap:2px;width:fit-content;max-width:100%;padding:4px;box-shadow:inset 0 2px 6px #00000080}.admin .admin-tab{font:600 13.5px var(--sans);color:var(--muted);border-radius:10px;padding:8px 16px;transition:color .15s,background .15s}.admin .admin-tab:hover{color:var(--text)}.admin .admin-tab-active,.admin .admin-tab-active:hover{background:linear-gradient(180deg, var(--gilt-pale), var(--gilt) 60%, var(--gilt-deep));color:#2a1d05;box-shadow:inset 0 1px #ffffff59}.admin .admin-card{border:1px solid var(--gilt-line);background:linear-gradient(#2b160dd1,#180b06d1);border-radius:16px;margin:0;padding:18px 20px;box-shadow:inset 0 1px #ffffff0f,0 14px 30px #00000059}.admin .admin-card h3{font:400 19px var(--display);color:var(--gilt-pale);margin:0 0 12px}.admin .btn,.admin .btn-accent,.admin .btn-danger,.admin .btn-dashed{font:600 13.5px var(--sans);color:var(--text);border-radius:10px;padding:8px 14px;transition:border-color .15s,filter .15s,transform 80ms}.admin .btn{background:linear-gradient(180deg, var(--leather-top), var(--leather-bottom));border:1px solid var(--gilt-line);box-shadow:inset 0 1px #ffffff1a}.admin .btn-accent{background:linear-gradient(180deg, var(--gilt-pale), var(--gilt) 60%, var(--gilt-deep));color:#2a1d05;border:1px solid #f7e7b4;box-shadow:inset 0 1px #ffffff59}.admin .btn-danger{background:linear-gradient(#8e1a2c,#5c0f1b);border:1px solid #ff9a9a73}.admin .btn-dashed{color:var(--muted);background:0 0;border:1px dashed #d4ae5580}.admin .btn:hover:not(:disabled),.admin .btn-danger:hover:not(:disabled),.admin .btn-dashed:hover:not(:disabled){border-color:var(--gilt-pale);color:var(--text)}.admin .btn-accent:hover:not(:disabled){filter:brightness(1.06)}.admin :is(.btn,.btn-accent,.btn-danger,.btn-dashed):active:not(:disabled){transform:translateY(1px)}.admin :is(.btn,.btn-accent,.btn-danger,.btn-dashed):disabled{opacity:.4}.admin .btn-sm{border-radius:8px;padding:5px 10px;font-size:12.5px}.admin .segmented{background:linear-gradient(180deg, var(--leather-bottom), #1a0c06);border:1px solid var(--gilt-line);border-radius:12px;padding:4px;box-shadow:inset 0 2px 6px #00000080}.admin .segmented-item{color:var(--muted);font:600 13px var(--sans);background:0 0;border:0;border-radius:9px;padding:7px 14px}.admin .segmented-item:hover:not(:disabled){color:var(--text)}.admin .segmented-item-active,.admin .segmented-item-active:hover:not(:disabled){background:linear-gradient(180deg, var(--gilt-pale), var(--gilt) 60%, var(--gilt-deep));color:#2a1d05}.admin .admin-table{font-size:13.5px}.admin .admin-table th{font:600 10.5px var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#f1dc9c99;border-bottom:1px solid var(--gilt-line)}.admin .admin-table td{border-bottom:1px solid #d4ae551a}.admin .admin-table tbody tr:hover td{background:#ffffff06}.admin .row-open td,.admin .row-open:hover td{background:#d4ae5512;border-bottom-color:#0000}.admin .row-panel td,.admin .row-panel:hover td{background:#d4ae5512}.admin .player-panel{padding:8px 4px 10px}.admin .panel-block h4{font:600 10.5px var(--sans);letter-spacing:.16em;color:var(--gilt)}.admin .field{color:var(--text);font-family:var(--sans);background:#00000059;border:1px solid #d4ae554d;border-radius:10px;transition:border-color .15s,box-shadow .15s}.admin .field:focus{border-color:var(--gilt);outline:none;box-shadow:0 0 0 3px #d4ae552e}.admin .field::placeholder{color:var(--faint)}.admin select.field option{background:var(--leather-bottom)}.admin .pill{font:600 11px var(--sans);border:1px solid #0000;border-radius:999px;padding:1px 9px;display:inline-block}.admin .pill-eye{border-color:var(--gilt-line);color:var(--gilt-pale);background:#d4ae5524}.admin .pill-good{color:var(--win);background:#8fe0a61f;border-color:#8fe0a64d}.admin .pill-muted{color:var(--muted);background:#ffffff0f;border-color:#ffffff1a}.admin .secret-value,.admin .invite-list code{color:var(--gilt-pale);font-family:ui-monospace,Cascadia Mono,Consolas,monospace}.admin .meta,.admin .panel-note,.admin .log-meta,.admin .field-label,.admin .admin-loading{color:var(--muted)}.admin .invite-list li{border-bottom:1px solid #d4ae551a}.admin .metric{background:#00000047;border:1px solid #d4ae552e;border-radius:12px}.admin .metric-label{font:600 10.5px var(--sans);letter-spacing:.16em;color:var(--muted)}.admin .metric-value{font:400 26px var(--display);color:var(--gilt-pale)}.admin .empty-state{color:var(--muted);border:1px dashed #d4ae5559;border-radius:12px}.admin .log-entry{border-bottom:1px solid #d4ae551a}.admin .log-text b{color:var(--gilt-pale);font-weight:600}.admin .log-dot{box-shadow:0 0 0 3px #0000004d}.admin .kind-rig .log-dot{background:var(--gilt)}.admin .kind-money .log-dot{background:var(--win)}.admin .kind-access .log-dot{background:#8fb8ff}.admin .kind-invite .log-dot{background:var(--muted)}.admin .kind-danger .log-dot{background:var(--loss)}.admin .admin-error{color:#ffc9c9;background:#8c0a1959;border:1px solid #ff9a9a40;border-radius:10px;margin:0;padding:8px 12px}@media (width<=640px){.admin .admin-title{font-size:21px}.admin .admin-tabs{grid-template-columns:repeat(5,minmax(0,1fr));width:100%;display:grid}.admin .admin-tab{text-align:center;padding:8px 2px;font-size:12px}.admin .admin-card{padding:14px 12px}.admin .metric-value{font-size:22px}}.admin .stats-auto{color:var(--muted);margin:0 0 14px;font-size:13px}.hilo-handle{z-index:31;border:1px solid var(--gilt-line);background:linear-gradient(90deg, var(--leather-top), var(--leather-bottom));color:var(--gilt-pale);font:600 12px var(--sans);letter-spacing:.08em;writing-mode:vertical-rl;cursor:pointer;border-right:0;border-radius:12px 0 0 12px;flex-direction:column;align-items:center;gap:4px;padding:14px 8px;transition:right .3s cubic-bezier(.3,.7,.3,1);display:flex;position:fixed;top:50%;right:0;transform:translateY(-50%);box-shadow:-4px 0 14px #0006}.hilo-handle span{writing-mode:horizontal-tb;font-size:16px}.hilo-handle.is-open{right:340px}.hilo-panel{z-index:30;background:linear-gradient(180deg, var(--leather-top), var(--leather-bottom));border-left:1px solid var(--gilt-line);width:340px;color:var(--text);font:14px var(--sans);padding:16px 16px 24px;transition:transform .3s cubic-bezier(.3,.7,.3,1);position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(100%);box-shadow:-10px 0 30px #00000080}.hilo-panel.is-open{transform:none}.hilo-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.hilo-head h2{font:400 20px var(--display);color:var(--gilt-pale);margin:0}.hilo-x{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:24px}.hilo-counts{grid-template-columns:1fr 1fr;gap:8px;display:grid}.hilo-counts div{border:1px solid var(--gilt-line);background:#0003;border-radius:10px;padding:8px 10px}.hilo-counts span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px;display:block}.hilo-counts b{font:400 22px var(--display);font-variant-numeric:tabular-nums}.up{color:var(--win)}.down{color:var(--loss)}.hilo-block{border-top:1px solid var(--gilt-line);margin-top:14px;padding-top:12px}.hilo-block h3{color:var(--muted);font:600 11px var(--sans);text-transform:uppercase;letter-spacing:.08em;margin:0 0 6px}.hilo-block small{color:var(--muted)}.hilo-move{font:400 24px var(--display);color:var(--gilt-pale);margin:0}.hilo-dev{color:var(--gilt)!important}.hilo-wide{width:100%;margin-top:10px}.hilo-note{color:var(--muted);margin:10px 0 0;font-size:12px}.hilo-warn{color:var(--loss);background:#8e1a2c4d;border:1px solid #ff9a9a80;border-radius:10px;margin:10px 0 0;padding:8px 10px;font-size:12px}.hilo-speed{gap:6px;margin-bottom:8px;display:flex}.hilo-speed button{border:1px solid var(--gilt-line);color:var(--text);cursor:pointer;background:#0003;border-radius:8px;flex:1;padding:6px}.hilo-speed button.is-on{background:var(--gilt-deep);color:var(--ink)}.hilo-speed button:disabled{opacity:.5;cursor:default}.hilo-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.hilo-field{min-width:0;color:var(--muted);flex-direction:column;gap:3px;font-size:11px;display:flex}.hilo-field input,.hilo-field select{border:1px solid var(--gilt-line);min-width:0;color:var(--text);font:14px var(--sans);background:#00000040;border-radius:8px;padding:6px 8px}.hilo-stats{grid-template-columns:auto 1fr;gap:3px 10px;margin:10px 0 0;font-size:13px;display:grid}.hilo-stats dt{color:var(--muted)}.hilo-stats dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.act.act-hint{box-shadow:0 0 0 2px var(--gilt-pale), 0 0 16px #f1dc9c8c}@media (width<=640px){.hilo-panel{width:100%}.hilo-handle.is-open{border:1px solid var(--gilt-line);border-left:0;border-radius:0 12px 12px 0;left:0;right:auto}}.game-screen{--spd:1;--card-w:88px;--card-h:124px;--overlap:40px;--chip:52px;--title-top:222px}.table{background:radial-gradient(ellipse 80% 70% at 50% 25%, var(--felt-lit), var(--felt) 45%, var(--felt-shade) 100%);min-height:560px;box-shadow:0 0 0 14px var(--rail), 0 0 0 15px var(--rail-hi), 0 0 0 16px var(--rail-lo), inset 0 0 80px #0000008c, 0 30px 60px #0009;border-radius:24px 24px 50% 50%/24px 24px 30% 30%;margin:22px auto 0;padding:24px 20px 46px;position:relative}.table:after{content:"";border-radius:inherit;pointer-events:none;border:1.5px solid #d4ae5559;position:absolute;inset:12px}.table-title{left:50%;top:var(--title-top);pointer-events:none;width:min(520px,88%);transition:opacity .3s;position:absolute;transform:translate(-50%)}.table:has(.result-banner,.felt-note) .table-title{opacity:.12}.table-title text{font-family:var(--display);fill:var(--gilt);letter-spacing:.32em;opacity:.85;font-size:40px}.table-round{flex-direction:column;align-items:center;display:flex;position:relative}.table-empty{padding-top:calc(var(--title-top) + 100px)}.shoe{z-index:1;width:78px;height:58px;position:absolute;top:26px;right:34px;rotate:-10deg}.shoe-cards{border:3px solid var(--ivory);width:52px;height:40px;box-shadow:4px 0 0 -1px var(--ivory), 8px 0 0 -2px #e8e2d2;background:repeating-linear-gradient(45deg,#7b1324 0 4px,#8e1a2c 4px 8px);border-radius:4px;position:absolute;top:0;left:12px}.back-night .shoe-cards{background:repeating-linear-gradient(45deg,#d4ae5552 0 1px,#0000 1px 7px),repeating-linear-gradient(-45deg,#d4ae5552 0 1px,#0000 1px 7px),#10223f}.back-leather .shoe-cards{background:radial-gradient(at 50% 40%,#5a321f,#2d170d 80%)}.back-deco .shoe-cards{background:repeating-conic-gradient(from 0deg at 50% 100%, #151515 0 6deg, #2a2418 6deg 12deg)}.shoe-mouth{border:1px solid var(--gilt-line);background:linear-gradient(#2a160d,#120804);border-radius:8px 8px 12px 12px;position:absolute;inset:18px 0 0;box-shadow:inset 0 1px #ffffff1f,0 8px 16px #00000080}.seats{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:18px;display:flex}.felt-middle{z-index:2;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:118px;display:flex;position:relative}.seat{border:1px solid #0000;border-radius:18px;flex-direction:column;align-items:center;gap:8px;padding:8px 12px 30px;transition:border-color .2s,background .2s;display:flex}.seat-dealer{padding-bottom:8px}.seat-active{background:#0000001f;border-color:#f1dc9c8c;animation:1.8s ease-in-out infinite seat-glow}@keyframes seat-glow{0%,to{box-shadow:0 0 0 3px #d4ae551f}50%{box-shadow:0 0 0 6px #d4ae5547}}.seat-name{font:600 11px var(--sans);letter-spacing:.22em;text-transform:uppercase;color:#f1dc9cb3}.seat-active .seat-name{color:var(--gilt-pale)}.total{min-width:38px;height:28px;font:600 15px var(--sans);color:var(--gilt-pale);font-variant-numeric:tabular-nums;white-space:nowrap;background:#00000073;border:1px solid #d4ae5580;border-radius:999px;place-items:center;padding:0 10px;display:inline-grid}.total:empty{visibility:hidden}.total-reveal{animation:total-in calc(.3s / var(--spd)) ease-out both;animation-delay:var(--reveal)}@keyframes total-in{0%{opacity:0;transform:scale(.8)}}.seat-outcome{font:600 12px var(--sans);background:#0006;border-radius:999px;padding:3px 10px}.o-win,.o-blackjack{color:var(--win)}.o-lose,.o-bust,.o-surrender{color:var(--loss)}.o-push{color:var(--muted)}.hand{padding-left:var(--overlap);min-height:var(--card-h);justify-content:center;display:flex}.pcard-slot{width:var(--card-w);height:var(--card-h);perspective:900px;flex:none;position:relative}.hand .pcard-slot{margin-left:calc(-1 * var(--overlap))}.hand .pcard-slot:nth-child(2){translate:0 2px;rotate:3deg}.hand .pcard-slot:nth-child(3){translate:0 5px;rotate:5deg}.hand .pcard-slot:nth-child(4){translate:0 10px;rotate:7deg}.hand .pcard-slot:nth-child(n+5){translate:0 15px;rotate:9deg}.pcard-dealt{animation:deal-from-shoe calc(.48s / var(--spd)) cubic-bezier(.2, .8, .25, 1) both}@keyframes deal-from-shoe{0%{transform:translate(var(--dx), var(--dy)) rotate(-35deg) scale(.7);opacity:0}12%{opacity:1}to{opacity:1;transform:none}}.pcard{width:100%;height:100%;transform-style:preserve-3d;transition:transform calc(.55s / var(--spd)) cubic-bezier(.3, .7, .3, 1);position:relative;transform:rotateY(180deg)}.pcard.up{transform:none}.pcard-face{backface-visibility:hidden;border-radius:9px;position:absolute;inset:0}.pcard-front{background:var(--ivory);color:var(--ink);font-family:var(--display);box-shadow:inset 0 1px #fff9,0 0 0 1px #00000014,0 10px 18px #00000073}.pcard.red .pcard-front{color:var(--card-red)}.pcard-ix-b{inset:auto 8px 7px auto;transform:rotate(180deg)}.pcard-pip{place-items:center;font-size:46px;display:grid;position:absolute;inset:0}.pcard-court{background:repeating-linear-gradient(45deg,#0000 0 6px,#b0172b0f 6px 7px);border:1px solid;border-radius:4px;place-items:center;font-size:32px;display:grid;position:absolute;inset:28px 20px}.pcard-back{transform:rotateY(180deg)}.cb{border-radius:8px;width:62px;height:88px;display:block;position:relative}.pcard-back,.cb{border:5px solid var(--ivory);background:repeating-linear-gradient(45deg,#7b1324 0 5px,#8e1a2c 5px 10px);box-shadow:0 10px 18px #00000073}.pcard-back:after,.cb:after{content:"P";font:400 34px var(--display);color:var(--gilt-pale);text-shadow:0 1px #0006;place-items:center;display:grid;position:absolute;inset:0}.back-night .pcard-back,.cb-night{background:repeating-linear-gradient(45deg,#d4ae5552 0 1px,#0000 1px 9px),repeating-linear-gradient(-45deg,#d4ae5552 0 1px,#0000 1px 9px),#10223f}.back-night .pcard-back:before,.cb-night:before{content:"";border:1.5px solid var(--gilt);background:#10223f;border-radius:50%;position:absolute;inset:22% 18%;box-shadow:0 0 0 3px #10223f,0 0 0 4px #d4ae5599}.back-night .pcard-back:after,.cb-night:after{font-size:26px}.back-leather .pcard-back,.cb-leather{background:radial-gradient(at 50% 40%,#5a321f,#2d170d 80%)}.back-leather .pcard-back:before,.cb-leather:before{content:"";border:1px solid var(--gilt);border-radius:3px;position:absolute;inset:5px;box-shadow:inset 0 0 0 3px #3e2215,inset 0 0 0 4px #d4ae558c}.back-leather .pcard-back:after,.cb-leather:after{aspect-ratio:1;color:#3d2a00;width:40%;text-shadow:none;background:radial-gradient(circle, var(--gilt) 0 52%, transparent 53%), repeating-conic-gradient(var(--gilt) 0 15deg, #f6f1e4 15deg 30deg);border-radius:50%;font-size:18px;inset:50% auto auto 50%;translate:-50% -50%;box-shadow:0 2px 4px #00000080}.back-deco .pcard-back,.cb-deco{background:repeating-conic-gradient(from 0deg at 50% 50%, #151515 0 6deg, #2a2418 6deg 12deg);outline-offset:-11px;outline:1px solid #d4ae55b3}.back-deco .pcard-back:before,.cb-deco:before{content:"";aspect-ratio:1;border:1.5px solid var(--gilt);background:#151515;width:44%;position:absolute;top:50%;left:50%;translate:-50% -50%;rotate:45deg}.back-deco .pcard-back:after,.cb-deco:after{font-size:22px}.pcard-slot.pcard-mini{perspective:none;width:24px;height:33px}.pcard-mini .pcard-face{border-radius:4px;box-shadow:0 1px 2px #0006}.pcard-mini .pcard-front{justify-content:center;display:flex}.pcard-mini .pcard-ix{padding-top:3px;font-size:11px;position:static}.pcard-mini .pcard-ix i{margin-top:1px;font-size:9px}.pcard-mini .pcard-ix-b,.pcard-mini .pcard-pip,.pcard-mini .pcard-court{display:none}.pcard-mini .pcard-back{border-width:2px;outline:none}.pcard-mini .pcard-back:before{display:none}.pcard-mini .pcard-back:after{width:auto;box-shadow:none;color:var(--gilt-pale);background:0 0;border-radius:0;font-size:11px;inset:0;translate:none}.chip{--c:#b3182c;width:var(--chip);height:var(--chip);font:700 12px var(--sans);color:#fff;background:radial-gradient(circle, var(--c) 0 52%, transparent 53%), repeating-conic-gradient(var(--c) 0 15deg, #f6f1e4 15deg 30deg);box-shadow:0 0 0 1.5px #0000004d, 0 3px 6px #00000073, inset 0 0 0 4px var(--c);border-radius:50%;place-items:center;display:grid;position:relative}.chip-face{border:1.5px dashed #ffffff8c;border-radius:50%;place-items:center;width:66%;height:66%;display:grid}.chip-25{--c:#2f8a4f}.chip-50{--c:#d9d4c7;color:#2a2a2a}.chip-50 .chip-face{border-color:#0000004d}.chip-100{--c:#b3182c}.chip-500{--c:#5b2a9e}.chip-1000{--c:#1b1b1b}.chip-5000{--c:#c99a32;color:#3d2a00}.chip-5000 .chip-face{border-color:#3d2a0066}.chip-stack{width:var(--chip);display:inline-block;position:relative}.chip-stack .chip{position:absolute;left:0}.spot{border:2px solid #d4ae5599;border-radius:50%;place-items:center;width:96px;height:96px;margin-top:4px;display:grid;position:relative;box-shadow:inset 0 0 0 6px #0000001f}.spot>small{font:600 13px var(--sans);color:var(--gilt-pale);position:absolute;bottom:-24px}.spot-chips{align-items:flex-end;display:flex;position:relative}.payout{position:absolute;bottom:0;left:calc(100% + 6px)}.settle-win .payout{animation:pay-in calc(.5s / var(--spd)) cubic-bezier(.2, .8, .25, 1) both;animation-delay:calc(var(--reveal) + .2s / var(--spd))}.settle-win{animation:collect-down calc(.6s / var(--spd)) ease-in forwards;animation-delay:calc(var(--reveal) + 1s / var(--spd))}.settle-lose{animation:collect-up calc(.6s / var(--spd)) ease-in forwards;animation-delay:calc(var(--reveal) + .7s / var(--spd))}@keyframes pay-in{0%{opacity:0;transform:translateY(-200px)scale(.85)}}@keyframes collect-down{to{opacity:0;transform:translateY(160px)}}@keyframes collect-up{to{opacity:0;transform:translateY(-280px)}}.spot-main{border-width:2.5px;width:124px;height:124px}.spot-hint{text-align:center;max-width:90px;font:600 10px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:#f1dc9c99}.bet-amount{color:var(--muted);margin-top:6px;font-size:14px}.bet-amount b{font:400 20px var(--display);color:var(--gilt-pale);margin-left:4px}.flight-layer{z-index:40;pointer-events:none;--chip:52px;position:fixed;inset:0}.chip-flight{margin:calc(var(--chip) / -2) 0 0 calc(var(--chip) / -2);scale:var(--s0,1);position:fixed}.chip-flight.flying{animation:chip-fly calc(.42s / var(--spd,1)) cubic-bezier(.3, .7, .3, 1) forwards}@keyframes chip-fly{0%{scale:var(--s0,1)}50%{scale:calc((var(--s0,1) + var(--s1,1)) / 2 * 1.12)}to{transform:translate(var(--dx), var(--dy));scale:var(--s1,1)}}.result-banner{border:1px solid var(--gilt-line);min-width:220px;animation:banner-in calc(.5s / var(--spd)) cubic-bezier(.2, 1.3, .4, 1) both;animation-delay:var(--reveal);background:linear-gradient(#1f0f09f0,#120804f0);border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:12px 28px 10px;display:flex;box-shadow:inset 0 1px #ffffff14,0 16px 30px #00000080}.result-banner b{font:400 30px/1.15 var(--display)}.result-banner small{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:12px}.rb-net{font:600 15px var(--sans);color:var(--muted);font-variant-numeric:tabular-nums}.rb-win b,.rb-win .rb-net{color:var(--win)}.rb-lose b,.rb-bust b,.rb-surrender b,.rb-lose .rb-net,.rb-bust .rb-net,.rb-surrender .rb-net{color:var(--loss)}.rb-push b{color:var(--text)}.rb-blackjack{border-color:var(--gilt-pale);box-shadow:0 0 0 1px #f1dc9c59,0 0 40px #d4ae5559,0 16px 30px #00000080}.rb-blackjack b{background:linear-gradient(100deg, var(--gilt-deep) 20%, #fff6d6 45%, var(--gilt-pale) 55%, var(--gilt-deep) 80%);color:#0000;background-size:250% 100%;-webkit-background-clip:text;background-clip:text;font-size:38px;animation:2.4s linear infinite gilt-sheen}.rb-blackjack .rb-net{color:var(--gilt-pale)}@keyframes banner-in{0%{opacity:0;transform:translateY(10px)scale(.85)}}@keyframes gilt-sheen{0%{background-position:100% 0}to{background-position:-150% 0}}.felt-note{border:1px solid var(--gilt-line);color:var(--gilt-pale);background:#00000073;border-radius:999px;margin:0;padding:7px 16px;font-size:14px}.rail{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:40px;display:flex}.rail-betting{flex-direction:column;align-items:center;gap:18px}.chip-tray{--chip:58px;background:linear-gradient(180deg, var(--leather-bottom), #1a0c06);border:1px solid var(--gilt-line);border-radius:999px;gap:12px;padding:12px 18px;display:flex;box-shadow:inset 0 4px 10px #0009,inset 0 -1px #ffffff0f,0 6px 14px #00000059}.tray-chip{background:0 0;border:0;border-radius:50%;padding:0;transition:transform .12s}.tray-chip:hover:not(:disabled){transform:translateY(-5px)}.tray-chip:active:not(:disabled){transform:translateY(-1px)scale(.95)}.tray-chip:disabled{opacity:.3;filter:grayscale(.6)}.bet-controls{gap:10px;display:flex}.cashier{background:linear-gradient(#1f0f09d9,#120804d9);border:1px solid #c9a24a8c;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px 14px;width:fit-content;max-width:100%;margin:14px 0 0 auto;padding:7px 8px 7px 16px;font-size:13px;display:flex;box-shadow:inset 0 1px #ffffff0f}.cashier-title{font:400 15px var(--display);letter-spacing:.18em;text-transform:uppercase;color:#d9b25c}.cashier-debt{color:var(--muted)}.cashier-debt b{color:var(--gilt-pale);font-weight:600}.cashier-actions{gap:6px;display:flex}.btn-brass{color:#2a1d05;font:600 12.5px var(--sans);background:linear-gradient(#e2c27a,#b38a3a);border:1px solid #e9cf8a;border-radius:8px;padding:6px 12px;box-shadow:inset 0 1px #fff6}.btn-brass:hover:not(:disabled){filter:brightness(1.08)}.btn-brass:disabled{opacity:.4}.cashier-blocked{border-color:#ff9a9a80}.cashier-error{flex-basis:100%;margin:0 8px 2px 0;padding:5px 10px;font-size:12px}.history{margin-top:30px;font-size:13px}.history summary{width:fit-content;color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:12px}.history summary:hover{color:var(--text)}.history ul{margin:10px 0 0;padding:0;list-style:none}.history li{border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:8px 12px;display:flex}.history li:nth-child(odd){background:#00000029}.history-time{min-width:44px;color:var(--faint);font-variant-numeric:tabular-nums}.history-hands{flex-wrap:wrap;flex:260px;align-items:center;gap:6px 10px;display:flex}.history-hand{align-items:center;gap:2px;display:inline-flex}.history-hand em{color:var(--muted);margin-left:5px;font-style:normal}.history-vs{color:var(--faint);text-transform:uppercase;font-size:11px}.history-note{color:var(--faint);font-style:italic}.history-auto{border:1px solid var(--gilt-line);color:var(--gilt-pale);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:1px 6px;font-size:10px}.history-money{color:var(--faint);align-items:baseline;gap:10px;display:flex}.history-money b{text-align:right;font-variant-numeric:tabular-nums;min-width:56px;font-size:14px}.history-empty{color:var(--faint)}@media (width<=640px){.game-screen{--card-w:66px;--card-h:94px;--overlap:30px;--chip:44px;--title-top:176px}.table{min-height:470px;box-shadow:0 0 0 8px var(--rail), 0 0 0 9px var(--rail-hi), inset 0 0 60px #0000008c;border-radius:18px 18px 50% 50%/18px 18px 22% 22%;padding:20px 6px 30px}.shoe{top:16px;right:14px;scale:.75}.pcard-ix{font-size:17px}.pcard-ix i{font-size:13px}.pcard-pip{font-size:34px}.pcard-court{font-size:26px;inset:22px 14px}.pcard-back:after{font-size:26px}.pcard-back{border-width:4px}.seats{gap:6px}.seat{padding:6px 6px 28px}.spot{width:78px;height:78px}.spot-main{width:108px;height:108px}.felt-middle{min-height:100px}.result-banner{min-width:180px;padding:10px 18px 8px}.result-banner b{font-size:25px}.rb-blackjack b{font-size:30px}.rail{z-index:5;padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(#0000,#03140deb 28%);gap:8px;margin:26px -16px 0;position:sticky;bottom:0}.rail>.act{flex:40%;min-width:0;padding:15px 8px}.rail>.act-double,.rail>.act-split,.rail>.act-surrender{flex:28%;padding:13px 4px;font-size:14px}.chip-tray{--chip:50px;gap:6px;padding:10px 12px}.bet-controls{width:100%}.bet-controls .act{white-space:nowrap;flex:1;min-width:0;padding:15px 8px;font-size:14px}.flight-layer{--chip:44px}.cashier{margin-left:0}}:root{--felt:#0d5a3c;--felt-lit:#12704b;--felt-deep:#073624;--felt-shade:#08402a;--rail:#3a1f14;--rail-hi:#6a3b24;--rail-lo:#1f0f09;--leather-top:#4b2a1b;--leather-bottom:#2b160d;--gilt:#d4ae55;--gilt-pale:#f1dc9c;--gilt-deep:#b48d36;--gilt-line:#d4ae5573;--ivory:#fbf7ee;--ink:#1b1a16;--card-red:#b0172b;--text:#f4efe2;--muted:#f4efe29e;--faint:#f4efe261;--win:#8fe0a6;--loss:#ff9a9a;--display:"Prata", Georgia, serif;--sans:"Onest Variable", "Segoe UI", system-ui, sans-serif}.felt-green{--felt:#0d5a3c;--felt-lit:#12704b;--felt-deep:#073624;--felt-shade:#08402a}:root.felt-blue,.felt-blue{--felt:#123f6a;--felt-lit:#1a5489;--felt-deep:#08223d;--felt-shade:#0b2c4e}:root.felt-burgundy,.felt-burgundy{--felt:#5c1522;--felt-lit:#741d2d;--felt-deep:#340a12;--felt-shade:#430e19}:root.felt-graphite,.felt-graphite{--felt:#2c3135;--felt-lit:#3b4147;--felt-deep:#15181b;--felt-shade:#1e2226}*{box-sizing:border-box}body{min-height:100vh;color:var(--text);font-family:var(--sans);background:radial-gradient(ellipse 70% 55% at 50% 22%, #ffffff12, transparent 70%), radial-gradient(ellipse at 50% 125%, #000 0%, transparent 60%), var(--felt-deep);background-attachment:fixed;margin:0}body:before{content:"";z-index:-1;pointer-events:none;opacity:.22;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}button{cursor:pointer;font-family:inherit}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--gilt-pale);outline-offset:2px}.app{max-width:960px;margin:0 auto;padding:18px 16px 40px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.topbar-nav{gap:6px;display:flex}.topbar-center{align-items:center;gap:18px;display:flex}.logo{align-items:center;gap:.32em;display:inline-flex}.logo-mark{flex:none;width:1.25em;height:1.25em}.logo-word{letter-spacing:.02em}.app .logo{font:400 26px var(--display);color:var(--gilt-pale)}.plaque{border:1px solid var(--gilt-line);background:linear-gradient(#00000059,#0003);border-radius:999px;align-items:baseline;gap:10px;padding:8px 18px;display:inline-flex;box-shadow:inset 0 1px #ffffff14}.plaque span{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:11px}.plaque b{min-width:4ch;font:400 22px var(--display);color:var(--gilt-pale);font-variant-numeric:tabular-nums;display:inline-block}.plaque b.flash-up{animation:.9s ease-out balance-up}.plaque b.flash-down{animation:.9s ease-out balance-down}@keyframes balance-up{0%{color:var(--gilt-pale);transform:scale(1)}30%{color:var(--win);text-shadow:0 0 18px #8fe0a699;transform:scale(1.12)}to{color:var(--gilt-pale);transform:scale(1)}}@keyframes balance-down{0%{color:var(--gilt-pale)}30%{color:var(--loss)}to{color:var(--gilt-pale)}}.btn-ghost{color:var(--muted);background:0 0;border:1px solid #ffffff29;border-radius:10px;padding:8px 12px;font-size:13px;font-weight:500;transition:color .15s,border-color .15s}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--gilt)}.btn-ghost:disabled{opacity:.4}.btn-icon{place-items:center;padding:6px 9px;display:inline-grid}.btn-ghost.on{color:var(--text);border-color:var(--gilt)}.btn-stand{color:var(--text);border-color:var(--gilt-line);background:linear-gradient(180deg, var(--leather-top), var(--leather-bottom));align-items:center;gap:4px;padding-left:8px;display:inline-flex}.site-menu{position:relative}.site-menu-list{z-index:30;border:1px solid var(--gilt-line);background:linear-gradient(180deg, var(--leather-top), var(--leather-bottom));border-radius:12px;width:230px;padding:6px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 40px #0009}.site-menu-list>button{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.site-menu-list>button svg{color:var(--gilt);flex:none}.site-menu-list>button:hover,.site-menu-list>button:focus-visible{background:#d4ae5524}.site-menu-list>button.current{color:var(--gilt-pale)}.site-menu-list hr{border:0;border-top:1px solid var(--gilt-line);margin:6px 4px}.site-menu-lang{justify-content:space-between;align-items:center;padding:6px 12px;font-size:14px;display:flex}.seg{border:1px solid var(--gilt-line);border-radius:8px;display:inline-flex;overflow:hidden}.seg button{color:var(--muted);font:600 12px var(--sans);background:0 0;border:0;padding:4px 10px}.seg button.on{background:var(--gilt);color:#2a1d05}.drawer-layer{z-index:50;position:fixed;inset:0}.drawer-dim{background:#00000073;animation:.2s ease-out both dim-in;position:absolute;inset:0}.drawer{border-left:1px solid var(--gilt-line);background:linear-gradient(#2f1a10,#1a0d07);outline:none;width:min(420px,100%);padding:18px 20px 28px;animation:.25s cubic-bezier(.2,.8,.25,1) both drawer-in;position:absolute;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-20px 0 50px #0009}.drawer-grab{display:none}.drawer-head{justify-content:space-between;align-items:center;display:flex}.drawer-head h2{font:400 26px var(--display);color:var(--gilt-pale);margin:0}.drawer .settings-section h3{font:400 18px var(--display);color:var(--gilt);margin:0 0 10px}.drawer .settings-options{gap:8px}.drawer .settings-option{gap:6px;padding:6px 5px 8px}.drawer .tile-table{border-width:6px;height:88px;padding-top:6px}.drawer .tile-face,.drawer .tile-table .cb{width:28px;height:40px}.drawer .tile-table{gap:4px}.drawer .tile-face{padding:3px 0 0 4px;font-size:11px}.drawer .tile-face:after{font-size:16px}.drawer .tile-table .cb:after{font-size:14px}.drawer .tile-table .cb.cb-big{width:44px;height:62px}.drawer .tile-table .cb.cb-big:after{font-size:20px}.drawer .tile-table .cb.cb-leather:after{font-size:9px}.drawer .settings-label{font-size:12px}@keyframes dim-in{0%{opacity:0}}@keyframes drawer-in{0%{transform:translate(100%)}}@keyframes sheet-in{0%{transform:translateY(100%)}}@media (width<=640px){.drawer{border-left:0;border-top:1px solid var(--gilt-line);border-radius:20px 20px 0 0;width:auto;max-height:86vh;padding:8px 16px 24px;animation-name:sheet-in;top:auto;left:0}.drawer-grab{background:#ffffff40;border-radius:3px;width:44px;height:5px;margin:0 auto 10px;display:block}}@media (prefers-reduced-motion:reduce){.drawer,.drawer-dim{animation:none}}.act{min-width:120px;font:600 15px var(--sans);letter-spacing:.02em;color:var(--text);background:linear-gradient(180deg, var(--leather-top), var(--leather-bottom));border:1px solid var(--gilt-line);border-radius:14px;padding:14px 18px;transition:transform 80ms,border-color .15s,filter .15s;box-shadow:inset 0 1px #ffffff1f,0 6px 14px #0006}.act:hover:not(:disabled){border-color:var(--gilt-pale);transform:translateY(-1px)}.act:active:not(:disabled){filter:brightness(.95);transform:translateY(1px)}.act:disabled{opacity:.35}.act-gold{background:linear-gradient(180deg, var(--gilt-pale), var(--gilt) 60%, var(--gilt-deep));color:#2a1d05;border-color:#f7e7b4}.act-danger{background:linear-gradient(#8e1a2c,#5c0f1b);border-color:#ff9a9a80}.link-button{color:var(--muted);text-underline-offset:3px;background:0 0;border:0;padding:4px;font-size:13px;text-decoration:underline}.link-button:hover:not(:disabled){color:var(--text)}.error{color:#ffc9c9;background:#8c0a1959;border:1px solid #ff9a9a40;border-radius:10px;padding:8px 12px;font-size:14px}.net-up{color:#7fd18b}.net-down{color:#e07a7a}.version-footer{text-align:center;color:var(--faint);margin-top:36px;font-size:12px}.hero{text-align:center;padding:36px 0 6px}.hero h1{font:400 72px/1 var(--display);color:var(--gilt-pale);letter-spacing:.02em;text-shadow:0 2px #00000059,0 0 40px #f1dc9c26;margin:0}.hero p{color:var(--muted);letter-spacing:.2em;text-transform:uppercase;margin:12px 0 0;font-size:13px}.menu-grid{flex-wrap:wrap;justify-content:center;gap:22px;margin-top:34px;display:flex}.game-card{background:var(--ivory);width:190px;height:268px;color:var(--ink);font-family:var(--display);text-align:left;border:0;border-radius:14px;padding:0;transition:transform .2s,box-shadow .2s;position:relative;box-shadow:0 0 0 1px #0000001a,0 16px 30px #00000080}.game-card.red{color:var(--card-red)}button.game-card:hover{transform:translateY(-6px)rotate(-1.5deg);box-shadow:0 0 0 1px #0000001a,0 24px 40px #0000008c}.game-card.disabled{filter:saturate(.3)brightness(.75)}.game-card .pcard-ix{font-size:26px;top:12px;left:12px}.game-card .pcard-ix i{font-size:18px}.game-card-art{border:1px solid #0000001f;border-radius:8px;place-items:center;font-size:84px;display:grid;position:absolute;inset:44px 24px 64px}.joker-ix{font:400 14px/1.02 var(--display);flex-direction:column;align-items:center;display:flex;position:absolute;top:12px;left:13px}.joker-ix-b{inset:auto 13px 12px auto;rotate:180deg}.game-card.joker .game-card-art{border:0;inset:36px 30px 66px}.game-card.joker .game-card-art svg{width:100%;height:100%}.game-card-title{text-align:center;font-size:22px;position:absolute;bottom:24px;left:0;right:0}.game-card-note{text-align:center;font:500 10px var(--sans);letter-spacing:.18em;text-transform:uppercase;opacity:.55;position:absolute;bottom:9px;left:0;right:0}.game-card-ribbon{background:var(--gilt);color:#2a1d05;font:700 10px var(--sans);letter-spacing:.14em;text-transform:uppercase;border-radius:3px 0 0 3px;padding:5px 10px;position:absolute;top:16px;right:-6px}.pcard-ix{flex-direction:column;align-items:center;font-size:21px;line-height:1;display:flex;position:absolute;top:7px;left:8px}.pcard-ix i{margin-top:2px;font-size:15px;font-style:normal}.auth-screen{flex-direction:column;align-items:center;padding-top:56px;display:flex}.auth-screen h1{margin:0 0 26px}.auth-screen .logo{font-size:46px}.auth-form{border:1px solid var(--gilt-line);background:linear-gradient(#2b160deb,#1f0f09eb);border-radius:18px;flex-direction:column;gap:14px;width:min(340px,100%);padding:26px 24px;display:flex;box-shadow:inset 0 1px #ffffff14,0 24px 50px #0000008c}.auth-form h2{font:400 22px var(--display);color:var(--gilt-pale);margin:0 0 2px}.auth-form label{color:var(--muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.auth-form input{color:var(--text);font:400 15px var(--sans);background:#00000059;border:1px solid #d4ae554d;border-radius:10px;outline:none;padding:11px 12px;transition:border-color .15s,box-shadow .15s}.auth-form input:focus{border-color:var(--gilt);box-shadow:0 0 0 3px #d4ae552e}.auth-form .act{width:100%;margin-top:4px}.auth-note{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.modal-veil{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#03140db3;place-items:center;padding:16px;animation:.18s ease-out both veil-in;display:grid;position:fixed;inset:0}.modal{background:linear-gradient(180deg, var(--leather-top), var(--leather-bottom));border:1px solid var(--gilt-line);border-radius:18px;width:min(400px,100%);padding:24px;animation:.24s cubic-bezier(.22,1,.36,1) both modal-in;box-shadow:inset 0 1px #ffffff1a,0 30px 60px #0009}.modal h2{font:400 22px var(--display);color:var(--gilt-pale);margin:0 0 8px}.modal p{color:var(--muted);margin:0 0 20px;line-height:1.5}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.modal-actions .act{min-width:110px}@keyframes veil-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)scale(.97)}}.loader{width:70px;height:84px;margin:120px auto;position:relative}.loader-card{border:3px solid var(--ivory);background:repeating-linear-gradient(45deg,#7b1324 0 4px,#8e1a2c 4px 8px);border-radius:6px;width:44px;height:62px;animation:1.2s ease-in-out infinite shuffle;position:absolute;top:6px;left:13px;box-shadow:0 6px 12px #00000073}.loader-card:nth-child(2){animation-delay:.4s}.loader-card:nth-child(3){animation-delay:.8s}@keyframes shuffle{0%,to{z-index:1;transform:translate(0)rotate(0)}25%{transform:translate(-26px)rotate(-12deg)}50%{z-index:3;transform:translate(0)rotate(0)}75%{transform:translate(26px)rotate(12deg)}}@media (width<=640px){.app .logo{font-size:22px}.plaque{padding:6px 14px}.plaque b{font-size:19px}.topbar-game{flex-wrap:nowrap;gap:8px}.topbar-game .logo{display:none}.topbar-game .topbar-center{flex:1;justify-content:center;min-width:0}.topbar-game .plaque{gap:6px;padding:5px 10px}.topbar-game .plaque span{letter-spacing:.12em;font-size:9px}.topbar-game .btn-stand,.topbar-game .btn-icon{padding:7px 8px}.hero h1{font-size:52px}.menu-grid{gap:14px}.game-card{width:150px;height:212px}.game-card-art{font-size:60px;inset:40px 18px 58px}.game-card-title{font-size:19px}}@media (prefers-reduced-motion:reduce){.app *,.app :before,.app :after,.modal-veil,.modal{transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.settings-section{margin-top:22px}.settings-section h3{font:400 22px var(--display);color:var(--gilt-pale);margin:0 0 12px}.settings-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.settings-option{border:1px solid var(--gilt-line);color:var(--text);background:#0000002e;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:10px 8px 12px;display:flex}.settings-option.selected{border-color:var(--gilt-pale);box-shadow:0 0 0 1px var(--gilt-pale), 0 0 18px #d4ae554d}.tile-table{border:8px solid var(--rail);width:100%;height:128px;box-shadow:inset 0 0 0 1px var(--rail-hi), 0 8px 18px #00000080;background:radial-gradient(ellipse 80% 70% at 50% 25%, var(--felt-lit), var(--felt) 45%, var(--felt-shade) 100%);border-radius:70px 70px 12px 12px;justify-content:center;align-items:center;gap:6px;padding-top:8px;display:flex;position:relative;overflow:hidden}.tile-table:before{content:"";opacity:.22;mix-blend-mode:overlay;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;inset:0}.tile-face{background:var(--ivory);width:44px;height:62px;color:var(--card-red);font:400 14px/1 var(--display);border-radius:6px;padding:4px 0 0 6px;position:relative;box-shadow:0 6px 12px #00000073}.tile-face i{font-size:11px;font-style:normal;display:block}.tile-face:after{content:"♥";place-items:center;font-size:22px;display:grid;position:absolute;inset:0}.tile-table .cb{border-width:3px;border-radius:6px;width:44px;height:62px}.tile-table .cb:after{font-size:20px}.tile-table .cb.cb-big{border-width:4px;width:56px;height:80px}.tile-table .cb.cb-big:after{font-size:26px}.tile-table .cb.cb-leather:after{font-size:11px}.tile-table .cb-deco{outline-offset:-8px}.settings-label{font-size:14px}.settings-toggle{cursor:pointer;align-items:center;gap:10px;font-size:15px;display:inline-flex}.settings-toggle input{width:18px;height:18px;accent-color:var(--gilt)}.settings-volume{align-items:center;gap:12px;max-width:420px;margin-top:14px;font-size:15px;display:flex}.settings-volume input{accent-color:var(--gilt);flex:1}.settings-volume b{text-align:right;font-variant-numeric:tabular-nums;min-width:44px;color:var(--gilt-pale);font-weight:600}.settings-volume.is-off{opacity:.45}
