@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.hidden{display:none}.table{display:table}.rounded{border-radius:.25rem}}:root{--mahogany-950:#100704;--mahogany-900:#160b08;--mahogany-800:#24110c;--mahogany-700:#3c1c14;--mahogany-600:#54271b;--felt-950:#032119;--felt-900:#07372a;--felt-800:#0a4938;--gold-700:#9e752e;--gold-500:#c39a4a;--gold-300:#efd58b;--ivory:#fff7e7;--muted:#cbbfa9;--red:#9d2f31;--danger:#7c2530;--black:#17120e;--shadow:0 18px 60px #0000006b}*{box-sizing:border-box}html{background:var(--mahogany-950);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;min-width:320px}body{background:radial-gradient(circle at 50% 8%, #efd58b14, transparent 30rem), repeating-linear-gradient(90deg, #ffffff04 0 1px, transparent 1px 9px), linear-gradient(135deg, var(--mahogany-950), var(--mahogany-800) 48%, #090402);min-width:320px;min-height:100vh;color:var(--ivory);margin:0;font-family:Segoe UI Variable,Segoe UI,Arial,sans-serif;overflow-x:hidden}button,input,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--gold-300);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.48}.app-shell{min-height:100vh}.topbar{z-index:20;background:linear-gradient(#1c0b07f7,#0f0604eb);border-bottom:1px solid #c39a4a73;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;min-height:82px;padding:12px clamp(18px,4vw,64px);display:grid;position:relative;box-shadow:0 6px 22px #0000004d}.topbar:after{content:"";background:linear-gradient(90deg, transparent, var(--gold-700), transparent);height:1px;position:absolute;bottom:4px;left:2%;right:2%}.brand{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:13px;width:max-content;padding:0;display:flex}.brand>span:last-child{display:grid}.brand b{letter-spacing:.02em;color:var(--gold-300);font:700 clamp(17px,2vw,25px)/1.1 Georgia,serif}.brand small,.topbar-deal small{color:var(--muted);letter-spacing:.18em;text-transform:uppercase;margin-top:4px;font-size:10px}.crown-mark{border:1px solid var(--gold-500);width:78px;height:78px;color:var(--gold-300);background:radial-gradient(circle,#4b241a,#160b08 70%);border-radius:50%;flex:none;place-items:center;display:inline-grid;position:relative;box-shadow:inset 0 0 0 5px #c39a4a17,0 8px 24px #00000059}.crown-mark span{font-size:21px;position:absolute;top:3px}.crown-mark b{margin-top:15px;font:700 23px Georgia,serif}.crown-mark--compact{width:52px;height:52px}.crown-mark--compact span{font-size:14px}.crown-mark--compact b{font-size:17px}.topbar-deal{justify-items:center;min-width:240px;display:grid}.topbar-deal b{color:var(--ivory);font:700 20px Georgia,serif}.topbar-motto{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:12px}.topbar-actions{justify-self:end;gap:10px;display:flex}.topbar-actions button{cursor:pointer;width:40px;height:40px;color:var(--gold-300);background:#ffffff08;border:1px solid #c39a4a6b;border-radius:50%}.splash-screen{background:radial-gradient(circle,#153d2f 0,#0b1d17 24%,#170b08 64%,#080302 100%);place-items:center;min-height:100vh;display:grid;overflow:hidden}.splash-glow{place-items:center;width:min(88vw,560px);display:grid;position:relative}.splash-glow:before,.splash-glow:after{content:"";border:1px solid #c39a4a1f;width:420px;height:420px;position:absolute;transform:rotate(45deg)}.splash-glow:after{width:330px;height:330px}.splash-glow>*{z-index:1;position:relative}.splash-glow h1{color:var(--gold-300);text-align:center;margin:24px 0 6px;font:700 clamp(38px,7vw,68px) Georgia,serif}.splash-glow p{text-transform:uppercase;letter-spacing:.28em;color:var(--muted);margin:0;font-size:12px}.loading-line{background:#ffffff14;width:230px;height:2px;margin-top:44px;overflow:hidden}.loading-line:after{content:"";background:var(--gold-300);width:45%;height:100%;animation:.85s ease-in-out infinite alternate loading;display:block}.menu-stage{grid-template-columns:minmax(320px,560px) minmax(460px,1fr);align-items:center;gap:clamp(28px,5vw,80px);min-height:calc(100vh - 82px);padding:clamp(42px,6vw,90px) clamp(24px,7vw,110px) 92px;display:grid;position:relative}.menu-copy{z-index:2;position:relative}.eyebrow{color:var(--gold-300);text-transform:uppercase;letter-spacing:.24em;margin:0 0 14px;font-size:11px;font-weight:700}.menu-copy h1,.form-panel h1,.static-stage h1,.lobby-card h1,.result-card h1{letter-spacing:-.025em;text-shadow:0 5px 24px #0000006b;margin:0;font:700 clamp(42px,6vw,78px)/.98 Georgia,serif}.menu-copy h1 span,.lobby-card h1 span{color:var(--gold-300)}.menu-copy>p:not(.eyebrow){color:#e1d6c3;max-width:540px;margin:24px 0 32px;font:19px/1.65 Georgia,serif}.menu-actions{grid-template-columns:1fr 1fr;gap:12px;max-width:560px;display:grid}.gold-button,.wood-button,.danger-button{border:1px solid var(--gold-500);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border-radius:8px;min-height:54px;padding:13px 22px;font-weight:800;transition:transform .16s,filter .16s,box-shadow .16s}.gold-button{color:#23130c;background:linear-gradient(#efd58b,#c69539);box-shadow:inset 0 1px #fff,0 8px 28px #c39a4a2e}.wood-button{color:var(--ivory);background:linear-gradient(#4a2319,#28110c);border-color:#c39a4a75}.danger-button{background:var(--danger);border-color:#b05b61}.gold-button:hover:not(:disabled),.wood-button:hover:not(:disabled),.danger-button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-2px)}.text-button,.back-button{color:var(--gold-300);cursor:pointer;text-align:left;background:0 0;border:0;padding:10px 0}.text-button{grid-column:1/-1;justify-self:start}.text-button span{margin-left:6px}.trust-strip{color:var(--muted);border-top:1px solid #c39a4a40;flex-wrap:wrap;gap:16px 28px;margin-top:36px;padding-top:24px;font-size:12px;display:flex}.trust-strip b{color:var(--gold-300);margin-right:4px;font:700 17px Georgia,serif}.hero-table{aspect-ratio:1.35;background:linear-gradient(145deg,#120806,#54271b 46%,#120806 82%);border-radius:50%;place-items:center;width:min(100%,740px);padding:5%;display:grid;transform:perspective(900px)rotateX(7deg);box-shadow:0 35px 90px #000,inset 0 0 0 4px #1b0b07,inset 0 0 0 7px #a56f31}.hero-felt{background:radial-gradient(circle at 50% 30%,#0d5b44,#07372a 62%,#031c16);border-radius:50%;align-content:center;justify-items:center;width:100%;height:100%;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 80px #0000008c}.hero-felt:before{content:"";border:1px solid #efd58b1f;border-radius:50%;position:absolute;inset:12%}.hero-label{color:#efd58b24;letter-spacing:.15em;font:700 clamp(36px,5vw,80px) Georgia,serif;position:absolute}.hero-cards{z-index:2;align-items:center;display:flex;position:relative}.hero-card{aspect-ratio:.7;color:#17120e;background:linear-gradient(145deg,#fff,#eee5d4);border:1px solid #bba98a;border-radius:9px;align-content:start;width:clamp(80px,8vw,112px);padding:10px;font:700 clamp(25px,3vw,42px) Georgia,serif;display:grid;box-shadow:0 14px 25px #00000061}.hero-card span{color:var(--red);font-size:.8em}.hero-card b{color:var(--gold-700);justify-self:center;font-size:1.15em}.hero-card--one{transform:rotate(-10deg)translate(15px)}.hero-card--two{z-index:2;transform:translateY(-16px)}.hero-card--three{transform:rotate(10deg)translate(-15px)}.hero-felt p{z-index:2;color:var(--gold-300);text-transform:uppercase;letter-spacing:.16em;margin:25px 0 0;font-size:10px;position:relative}.ornament{opacity:.16;border:1px solid var(--gold-500);width:170px;height:170px;position:absolute;transform:rotate(45deg)}.ornament:before,.ornament:after{content:"";border:1px solid var(--gold-500);position:absolute;inset:20px}.ornament:after{inset:42px}.ornament--left{top:28%;left:-105px}.ornament--right{bottom:22%;right:-105px}.footer-links{color:#9e927e;align-items:center;gap:18px;font-size:11px;display:flex;position:absolute;bottom:22px;left:clamp(24px,7vw,110px);right:clamp(24px,7vw,110px)}.footer-links button{color:inherit;cursor:pointer;background:0 0;border:0;padding:4px 0}.footer-links span{margin-left:auto}.form-stage{grid-template-columns:minmax(0,720px) minmax(280px,390px);justify-content:center;align-items:center;gap:44px;min-height:calc(100vh - 82px);padding:42px 24px;display:grid}.form-panel,.rule-card,.lobby-card,.result-card,.static-stage article{box-shadow:var(--shadow), inset 0 0 0 5px #c39a4a08;background:linear-gradient(145deg,#31160ff0,#110805f5);border:1px solid #c39a4a61;border-radius:14px}.form-panel{padding:clamp(28px,5vw,54px)}.form-panel h1{font-size:clamp(34px,5vw,54px)}.form-intro,.static-intro{color:var(--muted);line-height:1.7}.form-grid{grid-template-columns:1fr 1fr;gap:18px;margin-top:28px;display:grid}.form-grid label{gap:8px;display:grid}.form-grid label>span{color:var(--gold-300);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:800}.form-grid small{color:var(--muted);margin-left:5px;font-weight:400}.form-grid input,.form-grid select,.chat-drawer input{min-height:48px;color:var(--ivory);background:#160b08;border:1px solid #c39a4a57;border-radius:7px;padding:10px 13px}.span-two{grid-column:1/-1}.switch-list{gap:10px;margin:24px 0;display:grid}.switch-list label,.settings-list label{background:#00000024;border:1px solid #c39a4a2e;border-radius:8px;align-items:center;gap:13px;padding:13px;display:flex}.switch-list input,.settings-list input{width:20px;height:20px;accent-color:var(--gold-500)}.switch-list span,.settings-list span{gap:2px;display:grid}.switch-list small,.settings-list small{color:var(--muted)}.submit-button{width:100%;margin-top:8px}.form-note{color:#a89b86;text-align:center;font-size:11px}.rule-card{background:radial-gradient(circle at 50% 15%,#0d4b39,#072a21 55%,#031610);padding:38px}.rule-card .crown-mark{margin-inline:auto;display:grid}.rule-card h2{text-align:center;color:var(--gold-300);font:700 29px Georgia,serif}.rule-card ul{color:#e5dac7;padding-left:20px;line-height:2}.rule-card li::marker{color:var(--gold-500)}.lobby-stage,.result-stage{place-items:center;min-height:calc(100vh - 82px);padding:42px 24px;display:grid}.lobby-card,.result-card{text-align:center;width:min(100%,1050px);padding:clamp(28px,5vw,56px)}.lobby-card h1{font-size:clamp(38px,6vw,64px)}.lobby-card>p,.result-card>p{color:var(--muted)}.invite-code{border:1px solid var(--gold-500);cursor:pointer;background:#0c2d23;border-radius:9px;gap:5px;min-width:260px;margin:24px auto;padding:15px 28px;display:grid}.invite-code b{letter-spacing:.22em;color:var(--gold-300);font:700 30px Georgia,serif}.invite-code span{color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font-size:10px}.lobby-settings{border-block:1px solid #c39a4a33;grid-template-columns:repeat(4,1fr);margin:25px 0;display:grid}.lobby-settings span{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;padding:16px;font-size:11px;display:grid}.lobby-settings b{color:var(--gold-300);font:700 22px Georgia,serif}.seat-grid{text-align:left;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0;display:grid}.seat-badge,.empty-seat{background:linear-gradient(#14362bf5,#061b15f5);border:1px solid #c39a4a47;border-radius:999px;align-items:center;gap:10px;min-height:72px;padding:8px 14px 8px 8px;display:flex;box-shadow:0 8px 25px #0000003d}.seat-badge--active{border-color:var(--gold-300);box-shadow:0 0 0 3px #efd58b21,0 8px 25px #000}.avatar{border:1px solid var(--gold-500);width:48px;height:48px;color:var(--gold-300);background:radial-gradient(circle,#6c3323,#25100c);border-radius:50%;flex:none;place-items:center;font:700 14px Georgia,serif;display:grid}.seat-badge>span:nth-child(2){min-width:0;display:grid}.seat-badge b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.seat-badge small{color:#adbea9;text-transform:uppercase;letter-spacing:.1em;font-size:9px}.seat-badge strong{color:var(--gold-300);margin-left:auto}.empty-seat{opacity:.65;border-style:dashed;border-radius:12px;grid-template-columns:auto 1fr;display:grid}.empty-seat span{color:var(--gold-500);grid-row:1/3;font-size:28px}.empty-seat small{color:var(--muted)}.waiting-message{justify-content:center;align-items:center;gap:8px;display:flex}.waiting-message span,.thinking-dot{background:var(--gold-300);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite pulse}.game-stage{background:radial-gradient(circle at 50% 20%,#562b1c2e,#0000 40rem);min-height:calc(100vh - 82px);padding:18px clamp(12px,3vw,48px) 94px;position:relative}.score-rail{border-block:1px solid #c39a4a2e;grid-auto-columns:1fr;grid-auto-flow:column;max-width:1050px;margin:0 auto 10px;display:grid}.score-rail span{border-right:1px solid #c39a4a21;justify-content:center;gap:7px;padding:7px 10px;display:flex}.score-rail small{color:var(--muted);text-transform:uppercase;letter-spacing:.1em}.score-rail b{color:var(--gold-300)}.royal-table{width:min(100%,1240px);height:clamp(430px,55vw,610px);max-height:610px;box-shadow:0 0 0 2px var(--gold-700), 0 0 0 15px #4c2418, 0 0 0 18px #120806, 0 35px 70px #00000094, inset 0 0 90px #00000073;background:radial-gradient(circle at 50% 42%,#0c5d46,#07372a 66%,#04241c);border:9px solid #2d120d;border-radius:50%;margin:auto;animation:.42s cubic-bezier(.2,.8,.2,1) both table-arrive;position:relative}.felt-pattern{background:repeating-radial-gradient(circle,#0000 0 31px,#ffffff03 32px 33px);border:1px solid #efd58b12;border-radius:50%;position:absolute;inset:8%}.royal-table:after{content:"ROYAL 21";color:#efd58b12;letter-spacing:.16em;white-space:nowrap;font:700 clamp(40px,7vw,96px) Georgia,serif;position:absolute;top:56%;left:50%;transform:translate(-50%,-50%)}.opponent{z-index:3;animation:.36s ease-out 90ms both seat-arrive;position:absolute}.opponent--top-left{top:5%;left:16%}.opponent--top-right{top:5%;right:16%}.opponent--side-left{top:46%;left:-4%;transform:translateY(-50%)}.opponent--side-right{top:46%;right:-4%;transform:translateY(-50%)}.opponent--top-center{top:-3%;left:50%;transform:translate(-50%)}.opponent .seat-badge{min-width:178px;min-height:58px}.opponent .avatar{width:40px;height:40px}.hidden-hand{justify-content:center;margin-top:-2px;display:flex}.hidden-hand .card-back{width:38px;height:55px;margin-left:-24px;transform:rotate(-6deg)}.hidden-hand .card-back:first-child{margin-left:0}.joker-register{z-index:4;background:#031913db;border:1px solid #c39a4a52;border-radius:9px;animation:.38s ease-out .16s both joker-reveal;display:flex;position:absolute;top:15%;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 9px 25px #0000004d}.joker-register span{border-right:1px solid #c39a4a2e;justify-items:center;min-width:72px;padding:8px 11px;display:grid}.joker-register span:last-child{border:0}.joker-register__main{background:#c39a4a17}.joker-register small,.joker-register em{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:8px;font-style:normal}.joker-register b{color:var(--ivory);font:700 19px Georgia,serif}.table-centre{z-index:4;align-items:end;gap:clamp(15px,3vw,38px);display:flex;position:absolute;top:52%;left:50%;transform:translate(-50%,-50%)}.pile-button{color:var(--muted);cursor:pointer;text-transform:uppercase;letter-spacing:.1em;background:0 0;border:0;justify-items:center;gap:7px;font-size:9px;display:grid}.pile-button:disabled{opacity:1;cursor:default}.card-back,.playing-card{border-radius:7px;flex:none;width:66px;height:96px;display:inline-block;position:relative}.card-back{background:repeating-linear-gradient(45deg,#421d22 0 5px,#6a2b31 5px 8px,#b38645 8px 9px);border:3px solid #e6d7bd;box-shadow:0 7px 18px #00000059}.card-back:before{content:"";border:1px solid var(--gold-300);border-radius:3px;position:absolute;inset:5px}.card-back__mesh{color:var(--gold-300);place-items:center;font-size:24px;display:grid;position:absolute;inset:0}.card-back>b{background:var(--gold-300);width:29px;height:29px;color:var(--black);border:2px solid var(--mahogany-900);border-radius:50%;place-items:center;font-size:11px;display:grid;position:absolute;bottom:-9px;right:-9px}.playing-card{color:var(--black);background:linear-gradient(145deg,#fff,#efe5d3);border:1px solid #c8b99d;padding:0;overflow:hidden;box-shadow:0 8px 18px #00000057}.playing-card.red{color:#a2222d}.playing-card.black{color:#17120e}.playing-card--compact{width:66px;height:96px;transform:rotate(5deg)}.card-button{cursor:pointer;appearance:none;touch-action:manipulation;will-change:transform;transition:transform 70ms cubic-bezier(.2,.9,.2,1),box-shadow 70ms}.card-button:active{transform:translateY(-11px)scale(.98)}.card-button.is-selected{box-shadow:0 0 0 3px var(--gold-300), 0 16px 25px #000;transform:translateY(-15px)}@media (hover:hover){.card-button:hover:not(.is-selected){transform:translateY(-7px)}}.card-corner{justify-items:center;font:700 13px/.85 Georgia,serif;display:grid;position:absolute}.card-corner span{font-size:12px}.card-corner--top{top:6px;left:7px}.card-corner--bottom{bottom:6px;right:7px;transform:rotate(180deg)}.card-suit{opacity:.84;place-items:center;font-size:30px;display:grid;position:absolute;inset:0}.deck-copy{color:#6b6358;font-size:6px;position:absolute;bottom:3px;left:4px}.wild-ribbon{background:var(--gold-500);color:#21140b;letter-spacing:.08em;padding:2px 17px;font-size:6px;font-weight:900;position:absolute;top:32px;right:-18px;transform:rotate(90deg)}.point-badge{color:#2a160c;background:#e9d07e;border:1px solid #8b642c;border-radius:50%;place-items:center;width:20px;height:20px;font-size:8px;font-weight:900;display:grid;position:absolute;top:3px;right:3px}.turn-timer{border:5px solid var(--gold-300);background:#06271e;border-radius:50%;place-content:center;justify-items:center;width:86px;height:86px;display:grid;box-shadow:0 0 0 6px #00000040}.turn-timer b{font:700 28px Georgia,serif}.turn-timer small{color:var(--gold-300);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;font-size:7px}.turn-timer--warning{border-color:#d95c50;animation:.7s ease-in-out infinite alternate pulse}.turn-message{z-index:4;white-space:nowrap;background:#031b14d1;border:1px solid #c39a4a4d;border-radius:999px;align-items:center;gap:8px;padding:9px 16px;font-size:11px;display:flex;position:absolute;bottom:19%;left:50%;transform:translate(-50%)}.online-dot{background:#54c69b;border-radius:50%;width:8px;height:8px;box-shadow:0 0 10px #54c69b}.viewer-plaque{z-index:5;border:1px solid var(--gold-500);background:linear-gradient(#572619,#2a100b);border-radius:999px;justify-content:center;align-items:center;gap:9px;min-width:230px;height:48px;display:flex;position:absolute;bottom:-17px;left:50%;transform:translate(-50%);box-shadow:0 8px 22px #000}.viewer-plaque span,.viewer-plaque small{color:var(--gold-300);text-transform:uppercase;letter-spacing:.09em;font-size:9px}.viewer-plaque b{font:700 16px Georgia,serif}.hand-deck{border-top:1px solid #c39a4a47;max-width:1390px;margin:38px auto 0}.hand-toolbar{color:var(--muted);text-transform:uppercase;letter-spacing:.12em;justify-content:space-between;align-items:center;gap:20px;padding:9px 2px;font-size:10px;display:flex}.hand-toolbar button{color:var(--gold-300);cursor:pointer;text-transform:uppercase;background:0 0;border:0;margin-left:16px;font-size:9px}.hand-groups{scrollbar-color:var(--gold-700) transparent;align-items:end;gap:14px;padding:16px 9px 22px;display:flex;overflow:auto hidden}.hand-group{border-bottom:2px solid #c39a4a4d;flex:none;min-width:92px;padding-bottom:6px}.group-cards{gap:4px;display:flex}.group-cards .playing-card{margin-right:0}.hand-group>span{color:var(--muted);text-align:center;letter-spacing:.12em;margin-top:8px;font-size:7px;font-weight:800;display:block}.hand-group--pure_sequence{border-color:#54c69b}.hand-group--impure_sequence{border-color:#5b9ac6}.hand-group--set{border-color:var(--gold-500)}.hand-group--invalid,.hand-group--invalid_group{border-color:#b64c54}.hand-group--drawn{border-color:var(--gold-300);background:#efd58b12;border-radius:8px;padding:7px 8px 6px;box-shadow:0 0 0 1px #efd58b29,0 9px 24px #0000003d}.hand-group--drawn>span{color:var(--gold-300)}.hand-group--drawn .playing-card{animation:.42s cubic-bezier(.16,.84,.32,1.2) both drawn-card-arrive}.action-dock{z-index:18;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#150805f0;border:1px solid #c39a4a6b;border-radius:10px;grid-auto-columns:minmax(112px,1fr);grid-auto-flow:column;gap:8px;width:min(100% - 24px,760px);padding:7px;display:grid;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 18px 50px #000}.action{cursor:pointer;text-transform:uppercase;letter-spacing:.06em;background:#25110c;border:1px solid #c39a4a47;border-radius:6px;min-height:48px;font-size:11px;font-weight:800}.action span{color:var(--gold-300);margin-right:7px}.action--primary{color:#21130c;background:linear-gradient(#efd58b,#c49339)}.action--primary span{color:inherit}.action--danger{border-color:#9d2f3199}.action--declare{border-color:var(--gold-500);background:linear-gradient(#5b2a1b,#37160f)}.action--no-joker{border-color:var(--gold-300);background:linear-gradient(#0e6a50,#07432f);width:210px;position:absolute;bottom:66px;left:50%;transform:translate(-50%)}.action:not(:disabled):active{transform:translateY(1px)scale(.98)}.card-motion{z-index:45;pointer-events:none;filter:drop-shadow(0 18px 22px #0000008c);position:fixed;top:46%;left:50%}.card-motion--draw-closed,.card-motion--draw-open{animation:.52s cubic-bezier(.18,.82,.28,1) both draw-card-flight}.card-motion--discard{animation:.52s cubic-bezier(.3,.1,.7,.9) both discard-card-flight}.card-motion--group,.card-motion--declare{animation:.52s ease-out both motion-banner-pop;top:54%}.motion-banner{border:1px solid var(--gold-300);color:var(--gold-300);letter-spacing:.04em;white-space:nowrap;background:#150805f0;border-radius:999px;padding:11px 19px;font:700 14px Georgia,serif;display:block;transform:translate(-50%);box-shadow:0 12px 34px #000}@keyframes table-arrive{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:none}}@keyframes seat-arrive{0%{opacity:0;filter:blur(3px)}to{opacity:1;filter:none}}@keyframes joker-reveal{0%{opacity:0;transform:translate(-50%,-8px)scale(.92)}to{opacity:1;transform:translate(-50%)}}@keyframes drawn-card-arrive{0%{opacity:0;transform:translateY(-42px)rotate(8deg)scale(.9)}to{opacity:1;transform:none}}@keyframes draw-card-flight{0%{opacity:0;transform:translate(-50%,-30px)rotate(8deg)scale(.72)}22%{opacity:1}to{opacity:0;transform:translate(calc(42vw - 50%),42vh)rotate(-5deg)scale(1.03)}}@keyframes discard-card-flight{0%{opacity:1;transform:translate(calc(36vw - 50%),42vh)rotate(-4deg)}to{opacity:0;transform:translate(-50%,-15px)rotate(10deg)scale(.82)}}@keyframes motion-banner-pop{0%{opacity:0;transform:translateY(18px)scale(.9)}25%{opacity:1;transform:none}80%{opacity:1}to{opacity:0;transform:translateY(-10px)}}.chat-drawer{z-index:30;border:1px solid var(--gold-500);background:#160b08;border-radius:12px;grid-template-rows:auto 1fr auto auto auto;width:min(100vw - 36px,350px);height:480px;display:grid;position:fixed;bottom:84px;right:18px;overflow:hidden;box-shadow:0 24px 70px #000}.chat-header{color:var(--gold-300);border-bottom:1px solid #c39a4a3d;justify-content:space-between;align-items:center;padding:14px;display:flex}.chat-header button{cursor:pointer;background:0 0;border:0;font-size:22px}.chat-messages{padding:12px;overflow-y:auto}.chat-messages p{margin:0 0 10px;display:grid}.chat-messages b{color:var(--gold-300);font-size:10px}.chat-messages span{color:#e1d6c3;font-size:13px}.chat-system{opacity:.7}.quick-phrases,.reaction-row{gap:5px;padding:7px 10px;display:flex;overflow-x:auto}.quick-phrases button,.reaction-row button{cursor:pointer;background:#2a140e;border:1px solid #c39a4a40;border-radius:999px;flex:none;padding:6px 9px;font-size:10px}.reaction-row button{font-size:17px}.chat-drawer form{border-top:1px solid #c39a4a33;padding:9px;display:flex}.chat-drawer input{border-radius:7px 0 0 7px;flex:1;min-width:0}.chat-drawer form button{background:var(--gold-500);color:var(--black);border:0;border-radius:0 7px 7px 0;padding:0 13px;font-weight:800}.result-card>.crown-mark{margin-inline:auto}.result-card h1{margin-top:12px;font-size:clamp(34px,5vw,58px)}.result-card h1 span{color:var(--gold-300)}.match-standings{gap:8px;width:min(100%,640px);margin:26px auto;display:grid}.match-standings>div{text-align:left;background:#062a2094;border:1px solid #c39a4a33;border-radius:999px;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;padding:11px 15px;display:grid}.match-standings span{width:32px;height:32px;color:var(--gold-300);background:#27120c;border-radius:50%;place-items:center;font:700 15px Georgia,serif;display:grid}.match-standings strong{color:var(--gold-300)}.match-standings__winner{border-color:var(--gold-500)!important;background:#c39a4a17!important}.result-table-wrap{border:1px solid #c39a4a38;margin:28px 0;overflow-x:auto}.result-table{border-collapse:collapse;text-align:left;width:100%;min-width:760px}.result-table th,.result-table td{border-bottom:1px solid #c39a4a24;padding:12px 14px}.result-table th{color:var(--gold-300);text-transform:uppercase;letter-spacing:.1em;font-size:9px}.result-table td{color:#d9cebb;font-size:12px}.result-table strong{color:var(--gold-300)}.winner-row{background:#c39a4a14}.calculation{text-align:left;border:1px solid #c39a4a33;border-radius:8px;margin:20px 0;padding:13px 16px}.calculation summary{cursor:pointer;color:var(--gold-300);font-weight:800}.calculation p{color:var(--muted);line-height:1.7}.static-stage{min-height:calc(100vh - 82px);padding:44px 20px}.static-stage article{width:min(100%,920px);margin:auto;padding:clamp(28px,5vw,58px)}.static-stage h1{font-size:clamp(38px,5vw,60px)}.static-stage article>section{border-top:1px solid #c39a4a2e;padding:22px 0}.static-stage h2{color:var(--gold-300);margin:0 0 8px;font:700 24px Georgia,serif}.static-stage section p{color:#d7cbb7;margin:0;line-height:1.75}.settings-list{gap:10px;margin-top:28px;display:grid}.settings-list label{justify-content:space-between}.settings-list input{width:42px}.toast{z-index:60;border:1px solid var(--gold-500);max-width:min(90vw,620px);box-shadow:var(--shadow);background:#092b21;border-radius:9px;align-items:center;gap:10px;padding:12px 14px;display:flex;position:fixed;top:96px;left:50%;transform:translate(-50%)}.toast--error{background:#3c1118;border-color:#bd5d65}.toast>span{background:var(--gold-300);width:24px;height:24px;color:var(--black);border-radius:50%;place-items:center;font-weight:900;display:grid}.toast button{cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:20px}.modal-backdrop{z-index:70;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-modal{border:1px solid var(--gold-500);width:min(100%,480px);box-shadow:var(--shadow);text-align:center;background:linear-gradient(145deg,#3b1a12,#130805);border-radius:13px;padding:34px}.confirm-modal .crown-mark{margin:auto}.confirm-modal h2{color:var(--gold-300);font:700 31px Georgia,serif}.confirm-modal p{color:var(--muted);line-height:1.65}.confirm-modal>div{grid-template-columns:1fr 1fr;gap:10px;margin-top:24px;display:grid}@keyframes loading{to{transform:translate(125%)}}@keyframes pulse{50%{opacity:.5}}@media (max-width:1050px){.menu-stage{text-align:center;grid-template-columns:1fr}.menu-copy{max-width:680px;margin:auto}.menu-copy>p:not(.eyebrow),.menu-actions{margin-inline:auto}.trust-strip{justify-content:center}.hero-table{width:min(90vw,700px);margin:auto}.form-stage{grid-template-columns:minmax(0,720px)}.rule-card{display:none}.royal-table{height:520px}.opponent--top-left{left:10%}.opponent--top-right{right:10%}.opponent .seat-badge{min-width:155px}}@media (max-width:760px){.topbar{grid-template-columns:1fr auto;min-height:66px;padding:8px 14px}.brand b{font-size:17px}.brand small,.topbar-motto{display:none}.crown-mark--compact{width:42px;height:42px}.topbar-deal{background:#140805;border-bottom:1px solid #c39a4a33;min-width:0;padding:7px;position:absolute;top:67px;left:0;right:0}.topbar-deal b{font-size:14px}.topbar-deal small{margin:0;font-size:7px}.menu-stage{gap:38px;min-height:calc(100vh - 66px);padding:45px 18px 105px}.menu-copy h1{font-size:clamp(44px,15vw,68px)}.menu-copy>p:not(.eyebrow){font-size:16px}.menu-actions{grid-template-columns:1fr}.text-button{grid-column:auto;justify-self:center}.hero-table{width:95vw}.footer-links{flex-wrap:wrap;justify-content:center;left:16px;right:16px}.footer-links span{text-align:center;flex-basis:100%;margin:0}.form-stage,.lobby-stage,.result-stage{min-height:calc(100vh - 66px);padding:24px 12px}.form-panel{padding:24px 18px}.form-grid{grid-template-columns:1fr}.span-two{grid-column:auto}.lobby-settings{grid-template-columns:1fr 1fr}.seat-grid{grid-template-columns:1fr}.game-stage{padding:55px 7px 84px}.score-rail{grid-auto-columns:112px;justify-content:start;overflow-x:auto}.royal-table{width:calc(100% - 12px);height:410px;box-shadow:0 0 0 2px var(--gold-700), 0 0 0 8px #4c2418, 0 18px 40px #000, inset 0 0 60px #000;border-width:6px}.opponent .seat-badge{width:126px;min-width:0;min-height:48px;padding:5px}.opponent .avatar{width:34px;height:34px}.opponent .seat-badge strong{display:none}.opponent--top-left{top:4%;left:3%}.opponent--top-right{top:4%;right:3%}.opponent--side-left{top:50%;left:-2%}.opponent--side-right{top:50%;right:-2%}.opponent--top-center{top:-7%}.hidden-hand{display:none}.joker-register{top:23%}.joker-register span{min-width:60px;padding:6px}.joker-register b{font-size:15px}.table-centre{gap:14px;top:57%}.card-back,.playing-card--compact{width:53px;height:77px}.turn-timer{border-width:4px;width:68px;height:68px}.turn-timer b{font-size:22px}.turn-message{bottom:10%}.viewer-plaque{min-width:190px;bottom:-15px}.hand-deck{margin-top:30px}.hand-toolbar{padding-inline:7px}.hand-toolbar button{margin-left:8px}.playing-card{width:58px;height:84px}.group-cards{gap:3px}.action-dock{grid-auto-columns:1fr;gap:3px;width:calc(100% - 12px);padding:4px;bottom:7px}.action{min-width:0;min-height:50px;padding:5px 2px;font-size:8px}.action span{margin:0 0 2px;display:block}.action--no-joker{width:180px;bottom:61px}.static-stage{min-height:calc(100vh - 66px);padding:24px 12px}.static-stage article{padding:25px 18px}.confirm-modal>div{grid-template-columns:1fr}}@media (max-width:420px){.hero-card{width:72px}.trust-strip{grid-template-columns:1fr 1fr 1fr;gap:8px;display:grid}.trust-strip span{display:grid}.royal-table{height:390px}.opponent .seat-badge{width:110px}.opponent .seat-badge small{display:none}.joker-register{top:24%}.table-centre{top:57%}.turn-message{font-size:9px}.hand-toolbar{align-items:start}.hand-toolbar>div{text-align:right;display:grid}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}html[data-reduce-motion=true] *,html[data-reduce-motion=true] :before,html[data-reduce-motion=true] :after{transition:none!important;animation:none!important}
