/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@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}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}}:root{--ink:#18251f;--ivory:#f5edda;--paper:#fffaf0;--green:#123d31;--green-dark:#092a22;--turquoise:#3f9e91;--gold:#d6a641;--red:#a52b35;--muted:#857861}*{box-sizing:border-box}html,body{background:var(--ivory);min-height:100%;color:var(--ink);margin:0}body{font-family:Tahoma,Segoe UI,Arial,sans-serif}button,input{font:inherit}button{cursor:pointer}.landing{background:radial-gradient(circle at 12% 18%,#3f9e911f,#0000 24%),radial-gradient(circle at 84% 74%,#d6a64124,#0000 22%),linear-gradient(105deg,#f8f0df 0%,#efe3ca 100%);min-height:100svh;padding:28px clamp(22px,5vw,74px) 24px;position:relative;overflow:hidden}.landing:before{content:"";opacity:.16;pointer-events:none;background-image:repeating-linear-gradient(45deg,#0000 0 18px,#123d3114 18px 19px);position:absolute;inset:0}.tile-frame{pointer-events:none;border:1px solid #123d3147;position:absolute;inset:12px}.tile-frame:before,.tile-frame:after{content:"✦ ◆ ✦ ◆ ✦ ◆ ✦ ◆ ✦";color:var(--turquoise);letter-spacing:13px;font-size:11px;position:absolute}.tile-frame:before{top:-8px;right:8%}.tile-frame:after{bottom:-8px;left:8%}.brand,.mini-brand{z-index:2;align-items:center;gap:12px;display:flex;position:relative}.brand-mark{border:1px solid var(--gold);width:44px;height:44px;color:var(--ivory);background:var(--green);place-items:center;font-family:Georgia,serif;font-size:26px;display:grid;transform:rotate(45deg)}.brand-mark:first-letter{transform:rotate(-45deg)}.brand .brand-mark,.mini-brand .brand-mark{position:relative}.brand .brand-mark{color:#0000}.brand .brand-mark:after,.mini-brand .brand-mark:after{content:"ح";color:inherit;position:absolute;transform:rotate(-45deg)}.brand .brand-mark:after{color:var(--ivory)}.brand strong{color:var(--green);font-family:Georgia,Tahoma,serif;font-size:22px;display:block}.brand span{color:var(--muted);font-size:11px}.welcome-card{z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffaf0b8;border:1px solid #123d312e;grid-template-columns:1.1fr .9fr;width:min(1060px,100%);min-height:640px;margin:5vh auto 2vh;display:grid;position:relative;box-shadow:0 34px 90px #3b2d1924}.intro-copy{color:var(--ivory);background:linear-gradient(145deg,#092a22f7,#123d31f0);padding:clamp(55px,8vw,100px) clamp(42px,8vw,90px);position:relative;overflow:hidden}.intro-copy:before{content:"";border:1px solid #d6a64147;border-radius:50%;width:430px;height:430px;position:absolute;bottom:-150px;left:-170px;box-shadow:0 0 0 35px #d6a64109,0 0 0 70px #d6a64106}.intro-copy:after{content:"◆";opacity:.035;font-size:290px;position:absolute;top:15px;left:18px}.eyebrow{color:var(--gold);letter-spacing:.12em;margin-bottom:18px;font-size:12px;font-weight:700;display:block}.intro-copy h1{margin:0;font-family:Georgia,Tahoma,serif;font-size:clamp(56px,7vw,92px);font-weight:700;line-height:.98;position:relative}.intro-copy h1 em{color:var(--gold);font-size:.72em;font-style:normal}.intro-copy p{color:#f5eddabd;max-width:390px;margin:30px 0;font-size:15px;line-height:2}.suit-row{color:#f5edda80;direction:ltr;gap:19px;font-size:28px;display:flex}.suit-row span:nth-child(2),.suit-row span:nth-child(3){color:#d7666d}.setup-panel{align-self:center;padding:clamp(38px,6vw,72px)}.setup-panel h2{color:var(--green);margin:0 0 8px;font-family:Georgia,Tahoma,serif;font-size:28px}.setup-panel>p{color:var(--muted);margin:0 0 30px;font-size:13px}.mode-tabs{background:#ffffff73;border:1px solid #d9ceb8;grid-template-columns:1fr 1fr;margin:24px 0 28px;display:grid}.mode-tabs button{color:var(--muted);background:0 0;border:0;padding:15px 10px}.mode-tabs button+button{border-right:1px solid #d9ceb8}.mode-tabs button.selected{background:var(--green);color:var(--ivory);box-shadow:inset 0 -3px var(--gold)}.mode-tabs b,.mode-tabs small{display:block}.mode-tabs b{font-size:14px}.mode-tabs small{opacity:.7;margin-top:4px;font-size:10px}.setup-panel label{color:var(--green);margin:18px 0;font-size:12px;font-weight:700;display:block}.setup-panel input{width:100%;color:var(--ink);background:#ffffff59;border:0;border-bottom:1px solid #b9aa8e;outline:none;margin-top:8px;padding:13px 12px;transition:all .2s}.setup-panel input:focus{border-color:var(--turquoise);box-shadow:0 2px var(--turquoise)}.room-code-input{text-align:center;letter-spacing:.35em;text-transform:uppercase;font-size:19px;font-weight:800}fieldset{border:0;margin:20px 0;padding:0}legend{color:var(--green);margin-bottom:9px;font-size:12px;font-weight:700}.fair-play-note{color:var(--green);border-right:3px solid var(--turquoise);background:#3f9e9114;margin:15px 0;padding:10px 12px;font-size:11px;line-height:1.8}.game-picker{grid-template-columns:repeat(2,1fr);gap:9px;margin:13px 0 11px;display:grid}.game-tile{--game-image:none;isolation:isolate;text-align:right;min-height:105px;color:var(--ivory);background:#0a372d;border:1px solid #a98a4d;padding:0;transition:transform .18s,box-shadow .18s,border-color .18s;position:relative;overflow:hidden;box-shadow:0 7px 15px #2c1f1126}.game-tile:last-child{grid-column:1/-1;min-height:92px}.game-tile:hover{transform:translateY(-2px);box-shadow:0 10px 22px #2c1f113b}.game-tile.selected{border-color:#ffe092;box-shadow:0 0 0 3px #d6a64140,0 11px 23px #2c1f1138}.game-tile-art{z-index:-2;background-image:var(--game-image);background-position:50%;background-size:cover;transition:transform .4s;position:absolute;inset:0;transform:scale(1.02)}.game-tile:hover .game-tile-art{transform:scale(1.07)}.game-tile:after{content:"";z-index:-1;background:linear-gradient(#031b160f 0%,#031b166b 42%,#031b16f5 100%);position:absolute;inset:0}.game-tile-copy{grid-template-columns:31px 1fr;align-items:center;column-gap:7px;display:grid;position:absolute;inset:auto 10px 8px}.game-tile-copy i{color:#ffe092;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#083329c7;border:1px solid #ffe092b3;border-radius:50%;grid-row:1/3;place-items:center;width:30px;height:30px;font-family:Georgia,serif;font-size:11px;font-style:normal;display:grid}.game-tile-copy b,.game-tile-copy small{text-shadow:0 2px 8px #000;display:block}.game-tile-copy b{color:#fff4d5;font-family:Noto Nastaliq Urdu,IranNastaliq,B Nazanin,Tahoma,serif;font-size:18px;line-height:1.1}.game-tile-copy small{color:#fff4d5b3;margin-top:3px;font-size:7px}.rules-entry{color:var(--green);background:linear-gradient(90deg,#3f9e911a,#d6a6411f);border:1px solid #123d312e;justify-content:space-between;align-items:center;gap:10px;margin:5px 0 14px;padding:10px 12px;font-size:9px;text-decoration:none;display:flex}.rules-entry b{font-size:10px}.rules-entry span{color:var(--muted)}.setup-question{color:var(--green);margin:0 0 9px;font-size:13px}.setup-question small{color:var(--muted);font-size:8px;font-weight:400}.player-count-picker{grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:12px;display:grid}.player-count-picker button{color:var(--muted);background:#ffffff4d;border:1px solid #d8cdb7;padding:8px 3px}.player-count-picker button b,.player-count-picker button small{display:block}.player-count-picker button b{font-family:Georgia,serif;font-size:18px}.player-count-picker button small{margin-top:2px;font-size:7px}.player-count-picker button.selected{color:var(--green);border-color:var(--gold);background:#d6a64124;box-shadow:inset 0 0 0 1px #d6a64133}.primary-btn{width:100%;color:var(--ivory);background:var(--red);border:0;padding:15px 18px;font-weight:700;transition:transform .15s,box-shadow .15s;box-shadow:0 7px #79202a}.primary-btn:hover{transform:translateY(-1px);box-shadow:0 8px #79202a}.primary-btn:active{transform:translateY(5px);box-shadow:0 2px #79202a}.primary-btn:disabled{opacity:.58;cursor:wait}.join-link,.back-link{width:100%;color:var(--green);text-underline-offset:4px;background:0 0;border:0;margin-top:18px;font-size:11px;text-decoration:underline}.back-link{text-align:right;margin:0 0 25px}.error-note{color:var(--red);border-right:3px solid var(--red);background:#a52b3514;margin:12px 0;padding:9px 12px;font-size:12px}.landing footer{z-index:1;color:var(--muted);justify-content:center;gap:12px;font-size:10px;display:flex;position:relative}.landing footer a{color:var(--green);text-underline-offset:3px}.landing footer i{background:var(--gold);width:4px;height:4px;margin-top:4px;transform:rotate(45deg)}.game-shell{background:#ede4d0;min-height:100svh;overflow:hidden}.game-topbar{z-index:20;background:#f6efdf;border-bottom:1px solid #d2c5aa;grid-template-columns:1fr auto 1fr;align-items:center;height:64px;padding:0 clamp(14px,3vw,38px);display:grid;position:relative}.mini-brand{direction:rtl;justify-self:start;gap:10px}.mini-brand .brand-mark{width:30px;height:30px;color:var(--ivory);font-size:18px}.mini-brand strong{color:var(--green);font-size:14px}.round-info{color:var(--muted);align-items:center;gap:15px;font-size:11px;display:flex}.round-info b{color:var(--green)}.round-info em{color:var(--gold)}.topbar-actions{justify-self:end;align-items:center;gap:7px;display:flex}.sound-button{width:34px;height:34px;color:var(--green);background:0 0;border:1px solid #cdbf9f;border-radius:50%}.exit-button{border:1px solid var(--green);height:34px;color:var(--ivory);background:var(--green);border-radius:999px;align-items:center;gap:5px;padding:0 11px;font-size:10px;display:flex}.chat-button{height:34px;color:var(--green);background:#fff8e8;border:1px solid #b99a54;border-radius:999px;align-items:center;gap:6px;padding:0 11px;font-size:9px;font-weight:800;display:flex;position:relative;box-shadow:0 3px 9px #36261214}.chat-button>i{border:1.5px solid var(--green);background:0 0;border-radius:7px;width:17px;height:13px;position:relative}.chat-button>i:after{content:"";border-right:1.5px solid var(--green);background:#fff8e8;width:5px;height:5px;position:absolute;bottom:-4px;right:2px;transform:skewY(36deg)}.chat-button>b{background:var(--red);color:#fff;border:2px solid #f6efdf;border-radius:999px;place-items:center;min-width:16px;height:16px;padding:0 3px;font-size:7px;line-height:1;display:grid;position:absolute;top:-5px;left:-3px}.chat-backdrop{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0319146b;position:fixed;inset:0}.chat-panel{width:min(390px,100% - 28px);height:min(590px,100svh - 90px);color:var(--ink);background:#f8f0df;border:1px solid #c79b42;border-radius:20px;grid-template-rows:auto minmax(0,1fr) auto auto;animation:.24s ease-out both chatPanelIn;display:grid;position:absolute;top:74px;left:clamp(14px,3vw,38px);overflow:hidden;box-shadow:0 24px 70px #00000061}.chat-panel>header{color:var(--ivory);background:linear-gradient(125deg,var(--green-dark),var(--green));border-bottom:2px solid var(--gold);justify-content:space-between;align-items:center;gap:12px;padding:16px 17px;display:flex}.chat-panel>header span,.chat-panel>header b{display:block}.chat-panel>header span{font-family:Georgia,Tahoma,serif;font-size:15px;font-weight:800}.chat-panel>header b{color:#f5edda9e;margin-top:4px;font-size:8px;font-weight:400}.chat-panel>header button{color:#fff1c9;background:#ffffff0f;border:1px solid #ffecbc73;border-radius:50%;flex:none;width:30px;height:30px;font-size:21px;line-height:1}.chat-messages{overscroll-behavior:contain;scrollbar-color:#b98e3c transparent;padding:16px 14px 9px;overflow-y:auto}.chat-message{background:#fffaf0;border:1px solid #dfd1b6;border-radius:13px 13px 4px;width:fit-content;max-width:86%;margin:0 0 11px auto;padding:9px 11px 8px;box-shadow:0 4px 10px #3d2d1812}.chat-message.mine{background:#e8f2ec;border-color:#3f9e9166;border-radius:13px 13px 13px 4px;margin-left:0;margin-right:auto}.chat-message b{color:#9b742d;margin-bottom:4px;font-size:8px;display:block}.chat-message p{color:#273b33;overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:11px;line-height:1.7}.chat-empty{text-align:center;color:#94866e;align-content:center;place-items:center;height:100%;display:grid}.chat-empty i{width:47px;height:38px;color:var(--gold);border:1px solid #c7a45e;border-radius:18px;place-items:center;font-size:20px;font-style:normal;display:grid}.chat-empty p{font-size:10px;line-height:1.9}.chat-end{height:1px}.chat-panel>form{background:#fff9ed;border-top:1px solid #dfd1b7;grid-template-columns:minmax(0,1fr) auto;gap:7px;padding:10px 12px;display:grid}.chat-panel>form input{min-width:0;color:var(--ink);background:#fff;border:1px solid #cfc0a4;border-radius:10px;outline:none;padding:11px 12px;font-size:11px}.chat-panel>form input:focus{border-color:var(--turquoise);box-shadow:0 0 0 2px #3f9e9126}.chat-panel>form button{background:var(--red);color:#fff;border:0;border-radius:10px;padding:0 16px;font-size:10px;font-weight:800}.chat-panel>form button:disabled{opacity:.45;cursor:default}.chat-panel>small{color:#94866e;text-align:center;background:#fff9ed;padding:0 15px 12px;font-size:7px;line-height:1.7;display:block}.player-speech{z-index:24;text-align:right;overflow-wrap:anywhere;border:1px solid #d4ad5a;width:max-content;max-width:min(190px,48vw);top:calc(100% + 8px);left:50%;transform:translate(-50%);color:#173b31!important;white-space:normal!important;background:#fff8e8!important;border-radius:13px!important;padding:8px 10px!important;font-size:9px!important;font-weight:700!important;line-height:1.65!important;animation:.28s cubic-bezier(.2,.85,.25,1.15) both speechAppear!important;position:absolute!important;box-shadow:0 8px 22px #00000047!important}.player-speech:after{content:"";background:#fff8e8;border-top:1px solid #d4ad5a;border-left:1px solid #d4ad5a;width:10px;height:10px;position:absolute;top:-6px;left:50%;transform:translate(-50%)rotate(45deg)}.opponent.left .player-speech,.arcade-side.left .player-speech{left:0;transform:none;animation-name:speechAppearSide!important}.opponent.left .player-speech:after,.arcade-side.left .player-speech:after{left:18px}.opponent.right .player-speech,.arcade-side.right .player-speech{left:auto;right:0;transform:none;animation-name:speechAppearSide!important}.opponent.right .player-speech:after,.arcade-side.right .player-speech:after{left:auto;right:18px;transform:rotate(45deg)}.self-player .player-speech,.arcade-self .player-speech{top:auto;bottom:calc(100% + 9px)}.self-player .player-speech:after,.arcade-self .player-speech:after{border:1px solid #d4ad5a;border-top:0;border-left:0;top:auto;bottom:-6px}@keyframes chatPanelIn{0%{opacity:0;transform:translateY(-8px)scale(.97)}to{opacity:1;transform:none}}@keyframes speechAppear{0%{opacity:0;transform:translate(-50%)translateY(7px)scale(.88)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes speechAppearSide{0%{opacity:0;transform:translateY(7px)scale(.88)}to{opacity:1;transform:none}}.game-stage{background:radial-gradient(circle at 50% 48%, #f5eddaf2, #cbbc9deb), repeating-conic-gradient(from 45deg, #123d3114 0 12.5%, transparent 0 25%);background-size:auto,48px 48px;height:calc(100svh - 64px);padding:clamp(8px,1.5vw,18px);position:relative}.felt-table{isolation:isolate;background:radial-gradient(#2f7e63c7 0%,#155241f5 54%,#082e25 100%);border:clamp(10px,1.35vw,17px) solid #4f2d1f;border-radius:44%/18%;width:min(1120px,100%);height:100%;margin:auto;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #d5a34a,inset 0 0 0 7px #6c4126,inset 0 0 95px #0000006b,0 20px 42px #3423174d,0 3px #2f1a13}.felt-table:before{content:"";border-radius:inherit;z-index:-1;border:1px solid #d6a6414d;position:absolute;inset:24px;box-shadow:inset 0 0 0 1px #3f9e9124}.felt-table:after{content:"";opacity:.16;z-index:-2;pointer-events:none;mix-blend-mode:soft-light;background-image:radial-gradient(#ffffff1f .5px,#0000 .7px),linear-gradient(125deg,#0000 20%,#ffffff12 48%,#0000 70%);background-size:4px 4px,100% 100%;position:absolute;inset:0}.table-medallion{z-index:0;border:1px solid #d6a64114;width:260px;height:260px;position:absolute;top:51%;left:50%;transform:translate(-50%,-50%)rotate(45deg);box-shadow:0 0 0 18px #d6a64105,0 0 0 36px #d6a64103}.table-medallion:before,.table-medallion:after{content:"";border:1px solid #3f9e9114;border-radius:50%;position:absolute;inset:28px}.table-medallion:after{border-color:#d6a64114;inset:66px}.table-medallion span{color:#d6a64113;place-items:center;font-family:Georgia,Tahoma,serif;font-size:42px;display:grid;position:absolute;inset:0;transform:rotate(-45deg)}.persian-corner{opacity:.21;border:2px solid var(--gold);width:70px;height:70px;position:absolute;transform:rotate(45deg)}.c1{top:-38px;left:-38px}.c2{top:-38px;right:-38px}.c3{bottom:-38px;left:-38px}.c4{bottom:-38px;right:-38px}.opponent{color:var(--ivory);z-index:7;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#041e1842;border:1px solid #f5edda14;border-radius:999px;align-items:center;gap:9px;padding:6px 9px;transition:filter .25s,transform .25s;display:flex;position:absolute}.opponent.top{top:4%;left:50%;transform:translate(-50%)}.opponent.left{top:45%;left:2.5%}.opponent.right{flex-direction:row-reverse;top:45%;right:2.5%}.avatar{width:40px;height:40px;color:var(--green);background:radial-gradient(circle at 35% 28%,#fffdf5,#ead9b7);border:2px solid #d6a641eb;border-radius:50%;place-items:center;font-weight:800;display:grid;box-shadow:inset 0 0 0 2px #ffffffb3,0 5px 12px #00000040}.active .avatar{animation:1.35s ease-in-out infinite turnGlow}.trick-winner .avatar{transform:scale(1.08);box-shadow:0 0 0 5px #d6a64152,0 0 34px #ffcd5df2}@keyframes turnGlow{0%,to{box-shadow:0 0 0 3px #d6a64133,0 0 12px #d6a64173}50%{box-shadow:0 0 0 6px #d6a64157,0 0 30px #d6a641e6}}.player-meta span,.player-meta small{white-space:nowrap;display:block}.player-meta span{font-size:12px;font-weight:700}.player-meta small{color:#f5edda99;margin-top:3px;font-size:9px}.mini-cards{direction:ltr;margin-left:8px;display:flex}.mini-cards i{background:repeating-linear-gradient(45deg,#9e2c38 0 2px,#7c202a 2px 4px);border:1px solid #ffffff59;border-radius:2px;width:18px;height:27px;margin-left:-10px;transform:rotate(-7deg)}.mini-cards i:nth-child(2){transform:rotate(0)}.mini-cards i:nth-child(3){transform:rotate(7deg)}.table-status{z-index:4;text-align:center;min-width:190px;color:var(--ivory);position:absolute;top:16%;left:50%;transform:translate(-50%)}.table-status>span{text-shadow:0 2px 8px #00000059;justify-content:center;align-items:center;gap:6px;font-size:27px;display:flex}.table-status span.red-suit{color:#ff858b}.table-status small{letter-spacing:.08em;color:var(--gold);font-size:8px}.seal{border:1px solid var(--gold);width:35px;height:35px;color:var(--gold);border-radius:50%;margin:auto;font-family:Georgia,serif}.table-status p{color:#f5eddab8;margin:7px 0 3px;font-size:9px}.table-status>b{color:var(--gold);font-size:12px}.trick-progress{direction:ltr;justify-content:center;align-items:center;gap:4px;margin-top:8px;display:flex}.trick-progress i{background:#f5edda1f;border:1px solid #d6a64173;border-radius:50%;width:6px;height:6px;transition:all .2s}.trick-progress i.filled{background:var(--gold);box-shadow:0 0 7px #d6a641b3}.trick-progress small{color:#f5edda7a;margin-left:4px;font-size:7px}.trick-area{z-index:6;pointer-events:none;width:270px;height:225px;position:absolute;top:49%;left:50%;transform:translate(-50%,-50%)}.trick-card{z-index:2;transition:filter .25s;position:absolute}.trick-card .playing-card{animation:.42s cubic-bezier(.2,.85,.25,1.08) both cardThrow;animation-delay:var(--throw-delay,0s)}.trick-card.pos-0{--throw-x:0px;--throw-y:180px;bottom:0;left:50%;transform:translate(-50%)rotate(-2deg)}.trick-card.pos-1{--throw-x:210px;--throw-y:0px;top:50%;right:0;transform:translateY(-50%)rotate(8deg)}.trick-card.pos-2{--throw-x:0px;--throw-y:-180px;top:0;left:50%;transform:translate(-50%)rotate(3deg)}.trick-card.pos-3{--throw-x:-210px;--throw-y:0px;top:50%;left:0;transform:translateY(-50%)rotate(-8deg)}@keyframes cardThrow{0%{opacity:0;transform:translate(var(--throw-x),var(--throw-y)) rotate(18deg) scale(.68);filter:blur(1px)}70%{opacity:1}to{filter:none;transform:translate(0)rotate(0)scale(1)}}.trick-order{z-index:3;border:1px solid var(--gold);width:20px;height:20px;color:var(--ivory);background:#173f33;border-radius:50%;place-items:center;font-size:9px;font-weight:800;display:grid;position:absolute;top:-7px;left:-7px;box-shadow:0 3px 8px #0000004d}.winner-ribbon{z-index:6;white-space:nowrap;color:#173d31;background:linear-gradient(90deg,#e5bd64,#ffe8a3,#e0af4e);border:1px solid #fff0b8;padding:8px 18px;font-size:10px;font-weight:800;animation:.28s .4s both ribbonIn;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 7px 22px #0000004d}.winner-ribbon:before,.winner-ribbon:after{content:"◆";color:#966b20;margin:0 7px}.trick-area.collecting .winner-ribbon{opacity:0;transition:opacity .18s}@keyframes ribbonIn{0%{opacity:0;transform:translate(-50%,-43%)scale(.85)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.trick-area.collecting.winner-0 .trick-card{animation:.68s cubic-bezier(.65,0,.8,.35) forwards collectBottom}.trick-area.collecting.winner-1 .trick-card{animation:.68s cubic-bezier(.65,0,.8,.35) forwards collectRight}.trick-area.collecting.winner-2 .trick-card{animation:.68s cubic-bezier(.65,0,.8,.35) forwards collectTop}.trick-area.collecting.winner-3 .trick-card{animation:.68s cubic-bezier(.65,0,.8,.35) forwards collectLeft}@keyframes collectBottom{to{opacity:0;transform:translateY(240px)rotate(18deg)scale(.25)}}@keyframes collectRight{to{opacity:0;transform:translate(300px)rotate(18deg)scale(.25)}}@keyframes collectTop{to{opacity:0;transform:translateY(-240px)rotate(18deg)scale(.25)}}@keyframes collectLeft{to{opacity:0;transform:translate(-300px)rotate(-18deg)scale(.25)}}.self-player{color:var(--ivory);z-index:8;background:#041e1840;border:1px solid #f5edda12;border-radius:999px;flex-direction:column;align-items:center;gap:4px;padding:5px 12px;display:flex;position:absolute;bottom:20%;left:50%;transform:translate(-50%)}.self-player .avatar{width:36px;height:36px}.self-player span{font-size:10px;font-weight:700}.self-player>small{color:var(--gold);font-size:8px;animation:1s ease-in-out infinite pulseText}.self-player.active .avatar{animation:1.35s ease-in-out infinite turnGlow}@keyframes pulseText{50%{opacity:.55}}.hand{z-index:10;perspective:900px;direction:ltr;justify-content:center;align-items:flex-end;width:min(94%,760px);height:125px;padding:0 18px;display:flex;position:absolute;bottom:-21px;left:50%;transform:translate(-50%)}.hand-card{transform-origin:50% 145%;transform:rotate(calc(var(--fan) * 1.15deg)) translateY(calc(var(--fan-lift) * 1px));flex:none;margin-left:clamp(-25px,-2.8vw,-13px);transition:transform .2s cubic-bezier(.2,.8,.2,1),filter .18s}.hand-card:last-child{margin-left:0}.hand-card:has(.playable):hover{transform:rotate(calc(var(--fan) * .45deg)) translateY(-18px);z-index:12}.hand-card.selected-card{transform:rotate(calc(var(--fan) * .25deg)) translateY(-23px);z-index:20}.hand-card .playing-card{margin-left:0}.playing-card{text-align:left;color:#14211c;background:linear-gradient(145deg,#fffef9 0%,#f4ecd9 70%,#e3d7bd 100%);border:1px solid #bcae8d;border-radius:7px;flex:none;width:clamp(46px,6vw,67px);height:clamp(70px,9vw,102px);margin-left:clamp(-24px,-2.7vw,-13px);padding:6px;font-family:Georgia,serif;transition:transform .18s,box-shadow .18s,filter .18s;position:relative;box-shadow:inset 0 0 0 2px #ffffffbd,inset 0 0 0 3px #8c6f4121,0 5px 12px #0000004f}.playing-card:last-child{margin-left:0}.playing-card.red{color:#a62331}.playing-card:disabled{cursor:default}.playing-card:not(.playable){filter:saturate(.78)brightness(.94)}.playing-card.preview{filter:none;opacity:1;cursor:default}.playing-card.selected{outline:3px solid var(--gold);outline-offset:2px;box-shadow:inset 0 0 0 2px #fffc,0 16px 28px #0000006b,0 0 24px #d6a641a6}.playing-card.playable:hover,.playing-card.playable:focus-visible{outline:2px solid var(--gold);transform:translateY(-7px);box-shadow:0 15px 22px #00000057}.playing-card.selected:hover,.playing-card.selected:focus-visible{outline:3px solid var(--gold);transform:none}.card-rank,.card-suit{font-weight:700;line-height:1;display:block}.card-rank{font-size:clamp(13px,1.7vw,20px)}.card-suit{font-size:clamp(12px,1.5vw,18px)}.card-center{opacity:.9;text-shadow:0 1px #fffc;font-size:clamp(20px,3vw,38px);position:absolute;top:54%;left:50%;transform:translate(-50%,-50%)}.playing-card.compact{width:57px;height:86px;margin:0}.compact .card-rank{font-size:15px}.compact .card-suit{font-size:14px}.compact .card-center{font-size:27px}.lobby-overlay{z-index:30;text-align:center;color:var(--ivory);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#092a22e0;align-content:center;justify-items:center;padding:24px;display:grid;position:absolute;inset:0}.lobby-overlay h2{margin:0 0 25px;font-family:Georgia,Tahoma,serif;font-size:clamp(36px,6vw,65px);line-height:1.18}.lobby-overlay p{color:#f5eddaa6;max-width:430px;font-size:12px;line-height:1.9}.lobby-overlay>small{color:#f5edda59;text-overflow:ellipsis;white-space:nowrap;direction:ltr;max-width:80vw;overflow:hidden}.invite-box{background:var(--ivory);border:2px solid var(--gold);direction:ltr;padding:5px;display:flex}.invite-box code{color:var(--green);letter-spacing:.3em;padding:11px 18px 8px 24px;font-size:23px;font-weight:900}.invite-box button{color:var(--ivory);background:var(--red);border:0;padding:0 18px;font-size:11px;font-weight:700}.waiting-dots{gap:8px;margin-top:22px;display:flex}.waiting-dots i{background:var(--gold);border-radius:50%;width:7px;height:7px;animation:1.2s infinite pulse}.waiting-dots i:nth-child(2){animation-delay:.2s}.waiting-dots i:nth-child(3){animation-delay:.4s}.lobby-sync-button{color:var(--ivory);background:#f5edda14;border:1px solid #d6a641a6;margin-top:3px;padding:8px 17px;font-size:10px}.seat-progress{color:var(--gold);margin:4px 0 9px;font-size:10px}@keyframes pulse{50%{opacity:.5}}.modal-backdrop{z-index:40;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#041914a8;place-items:center;padding:12px;display:grid;position:absolute;inset:0}.game-modal{background:var(--paper);border:1px solid var(--gold);text-align:center;width:min(540px,100%);max-height:calc(100svh - 84px);padding:clamp(28px,4vw,44px);position:relative;overflow-y:auto;box-shadow:0 28px 70px #00000059}.game-modal:before{content:"◆ ✦ ◆ ✦ ◆";color:var(--turquoise);letter-spacing:8px;font-size:8px;position:absolute;top:11px;left:0;right:0}.game-modal h2{color:var(--green);margin:4px 0 10px;font-family:Georgia,Tahoma,serif;font-size:28px}.game-modal p{color:var(--muted);font-size:12px}.hakem-five{direction:ltr;background:linear-gradient(145deg,#3f9e9114,#d6a64114);border:1px solid #123d3124;justify-content:center;align-items:center;gap:7px;margin:22px auto 17px;padding:14px;display:flex}.hakem-five .playing-card{width:62px;height:92px;margin:0}.trump-picker{direction:ltr;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:18px;display:grid}.trump-picker button{color:var(--ink);background:#faf4e7;border:1px solid #d6c7a9;padding:13px 4px;transition:all .18s}.trump-picker button.red{color:var(--red)}.trump-picker button:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 6px #d6a64133}.trump-picker b,.trump-picker span{display:block}.trump-picker b{font-family:Georgia,serif;font-size:30px}.trump-picker span{margin-top:5px;font-size:9px}.result-seal{border:2px solid var(--red);outline:1px solid var(--red);outline-offset:5px;width:80px;height:80px;color:var(--red);border-radius:50%;place-items:center;margin:4px auto 15px;font-size:22px;font-weight:900;display:grid;transform:rotate(-5deg)}.big-score{color:var(--green);justify-content:center;align-items:center;gap:15px;margin:23px 0;display:flex}.big-score b{font-family:Georgia,serif;font-size:34px}.big-score span{color:var(--muted);font-size:10px}.toast{z-index:100;background:var(--red);color:#fff;padding:11px 18px;font-size:12px;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0000003d}@media (width<=760px){.landing{padding:18px;overflow:auto}.brand{margin:6px 10px 22px}.welcome-card{min-height:0;margin:0 auto 20px;display:block}.intro-copy{padding:38px 30px 40px}.intro-copy h1{font-size:52px}.intro-copy p{margin:20px 0;font-size:12px}.setup-panel{padding:30px 25px 34px}.landing footer{margin-bottom:8px}.game-topbar{grid-template-columns:auto 1fr auto;height:52px;padding:0 8px}.mini-brand strong{display:none}.mini-brand .brand-mark{width:27px;height:27px}.round-info{justify-self:center;gap:7px;font-size:9px}.round-info>span{display:none}.topbar-actions{gap:4px}.sound-button{width:30px;height:30px}.exit-button{height:30px;padding:0 8px;font-size:8px}.game-stage{height:calc(100svh - 52px);padding:5px}.felt-table{border-width:7px;border-radius:33%/12%}.opponent{padding:4px 6px}.opponent.top{top:2.5%}.opponent.left{flex-direction:column;top:39%;left:1%}.opponent.right{flex-direction:column;top:39%;right:1%}.opponent.left .player-meta,.opponent.right .player-meta{text-align:center}.opponent .avatar{width:31px;height:31px;font-size:11px}.mini-cards{display:none}.player-meta span{font-size:9px}.player-meta small{font-size:7px}.table-medallion{width:180px;height:180px}.table-status{min-width:165px;top:15%}.table-status p{white-space:nowrap;text-overflow:ellipsis;max-width:165px;overflow:hidden}.trick-area{width:210px;height:176px;top:47%}.self-player{max-width:84%;bottom:18%}.self-player>small{white-space:nowrap}.hand{grid-template-columns:repeat(var(--hand-count), minmax(0, 1fr));place-items:end center;width:100%;height:96px;padding:0 25px;display:grid;bottom:5px;overflow:visible}.hand-card{width:100%;min-width:0;transform:rotate(calc(var(--fan) * .55deg)) translateY(calc(var(--fan-lift) * .35px));justify-content:center;margin:0;display:flex}.hand-card:has(.playable):hover{transform:rotate(calc(var(--fan) * .25deg)) translateY(-10px)}.hand-card.selected-card{transform:rotate(calc(var(--fan) * .12deg)) translateY(-18px)}.playing-card{border-radius:5px;width:clamp(40px,11.2vw,46px);height:clamp(64px,17.5vw,76px);margin-left:0;padding:4px}.playing-card.playable:hover,.playing-card.playable:focus-visible{transform:none}.playing-card.compact{width:49px;height:73px}.compact .card-center{font-size:22px}.trick-card.pos-1{right:8px}.trick-card.pos-3{left:8px}.winner-ribbon{padding:7px 11px;font-size:9px}.lobby-overlay h2{font-size:39px}.invite-box code{padding:10px 11px 8px 16px;font-size:19px}.invite-box button{padding:0 12px;font-size:9px}.game-modal{max-height:calc(100svh - 66px);padding:31px 15px 22px}.game-modal h2{font-size:23px}.hakem-five{gap:3px;margin:15px auto 12px;padding:10px 7px}.hakem-five .playing-card{width:clamp(43px,12vw,52px);height:74px;padding:4px}.hakem-five .card-center{font-size:24px}.trump-picker{gap:5px;margin-top:12px}.trump-picker button{padding:9px 3px}.trump-picker b{font-size:25px}}@media (height<=620px) and (orientation:landscape){.game-topbar{height:44px}.game-stage{height:calc(100svh - 44px)}.felt-table{border-radius:25%/16%}.opponent.top{top:2%}.opponent.left,.opponent.right{top:38%}.self-player{bottom:23%}.hand{bottom:2px}.playing-card{width:48px;height:72px;margin-left:-20px}.hand-card .playing-card{margin-left:0}.trick-area{height:150px;top:47%}.table-status{top:17%}.game-modal{padding:24px}.result-seal{width:56px;height:56px;font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.rules-page{min-height:100svh;color:var(--ink);background:#f3ead7}.rules-hero{min-height:620px;color:var(--ivory);background:radial-gradient(circle at 18% 22%,#3f9e9142,#0000 26%),linear-gradient(135deg,#05261ef7,#0e4637f0),url(/games/hokm.png) 50%/cover;padding:28px clamp(22px,6vw,88px) 70px;position:relative;overflow:hidden}.rules-hero:after{content:"";pointer-events:none;border:1px solid #d6a6416b;position:absolute;inset:14px}.rules-nav{z-index:2;justify-content:space-between;align-items:center;display:flex;position:relative}.rules-brand{color:var(--ivory);align-items:center;gap:12px;text-decoration:none;display:flex}.rules-brand i{background:var(--gold);width:42px;height:42px;color:var(--green-dark);place-items:center;font-family:Georgia,serif;font-style:normal;display:grid;transform:rotate(45deg)}.rules-brand span,.rules-brand b,.rules-brand small{display:block}.rules-brand b{font-size:18px}.rules-brand small{color:#f5edda94;margin-top:3px;font-size:8px}.rules-home{color:#ffe1a0;border:1px solid #ffe1a06b;padding:10px 15px;font-size:10px;text-decoration:none}.rules-hero-copy{z-index:1;text-align:center;width:min(710px,100%);margin:105px auto 0;position:relative}.rules-hero-copy h1{margin:0;font-family:Noto Nastaliq Urdu,IranNastaliq,B Nazanin,Georgia,Tahoma,serif;font-size:clamp(58px,9vw,105px);line-height:.95}.rules-hero-copy h1 em{color:#f2c462;font-size:.64em;font-style:normal}.rules-hero-copy p{color:#f5eddab8;width:min(540px,100%);margin:27px auto;font-size:13px;line-height:2}.rules-suits{direction:ltr;justify-content:center;gap:13px;display:flex}.rules-suits span{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#041f1973;border:1px solid #d6a64157;place-items:center;width:62px;height:62px;font-size:8px;display:grid}.rules-suits b{font-family:Georgia,serif;font-size:25px;display:block}.rules-suits span:nth-child(2),.rules-suits span:nth-child(3){color:#ff8d94}.rules-index{z-index:3;background:#fff9ec;border:1px solid #d7c6a5;grid-template-columns:repeat(5,1fr);width:min(1080px,100% - 32px);margin:-35px auto 70px;display:grid;position:relative;box-shadow:0 18px 45px #3a2a1724}.rules-index a{min-height:86px;color:var(--green);border-left:1px solid #e2d5bd;align-items:center;gap:10px;padding:14px;text-decoration:none;transition:all .18s;display:flex}.rules-index a:first-child{border-left:0}.rules-index a:hover{background:#3f9e9114;transform:translateY(-3px)}.rules-index a>b{background:var(--green);width:28px;height:28px;color:var(--gold);border-radius:50%;flex:none;place-items:center;font-family:Georgia,serif;display:grid}.rules-index span,.rules-index small{display:block}.rules-index span{font-size:12px;font-weight:800}.rules-index small{color:var(--muted);margin-top:4px;font-size:7px;font-weight:400}.rules-content{width:min(1080px,100% - 32px);margin:auto}.rule-chapter{background:#fffaf0;border:1px solid #d8c7a7;margin:0 0 70px;scroll-margin-top:20px;overflow:hidden;box-shadow:0 18px 44px #3727141a}.rule-chapter>header{color:var(--ivory);background:linear-gradient(112deg,var(--green-dark),var(--green));padding:44px clamp(26px,5vw,64px) 36px;position:relative;overflow:hidden}.rule-chapter>header:after{content:"◆";color:#d6a6410e;font-size:240px;position:absolute;top:-48%;left:4%}.rule-chapter>header span{color:var(--gold);letter-spacing:.15em;font-size:9px}.rule-chapter>header h2{margin:5px 0;font-family:Noto Nastaliq Urdu,IranNastaliq,B Nazanin,Georgia,Tahoma,serif;font-size:51px;line-height:1}.rule-chapter>header p{color:#f5eddaa1;margin:9px 0 0;font-size:11px}.rule-grid{grid-template-columns:repeat(2,1fr);gap:0;padding:15px clamp(18px,4vw,46px);display:grid}.rule-grid section{border-bottom:1px solid #eadfca;padding:25px 22px}.rule-grid section:nth-child(odd){border-left:1px solid #eadfca}.rule-grid section:nth-last-child(-n+2){border-bottom:0}.rule-grid h3{color:var(--green);margin:0 0 9px;font-family:Georgia,Tahoma,serif;font-size:15px}.rule-grid h3:before{content:"✦";color:var(--gold);margin-left:7px}.rule-grid p{color:#6f644f;margin:0;font-size:11px;line-height:2.05}.rule-note{border-right:4px solid var(--gold);background:linear-gradient(90deg,#d6a6411f,#3f9e9112);margin:0 clamp(27px,6vw,72px) 38px;padding:17px 21px}.rule-note span{color:var(--green);font-size:9px;font-weight:800}.rule-note p{color:var(--muted);margin:5px 0 0;font-size:10px;line-height:1.9}.rule-example{background:var(--green);border:1px solid var(--gold);width:min(430px,82%);color:var(--ivory);justify-content:center;align-items:center;gap:11px;margin:4px auto 28px;padding:18px;display:flex}.rule-example span{width:46px;height:62px;color:var(--red);background:#fffaf0;border-radius:4px;place-items:center;font-family:Georgia,serif;font-size:20px;display:grid;box-shadow:0 5px 10px #00000040}.rule-example i{color:var(--gold);font-size:20px;font-style:normal}.rule-example b{color:#ffe092;font-family:Georgia,serif;font-size:20px}.rules-footer{text-align:center;color:var(--ivory);background:var(--green-dark);padding:65px 20px 85px}.rules-footer p{color:#f5eddaa6;font-size:12px}.rules-footer a{background:var(--red);color:#fff;margin-top:12px;padding:13px 25px;font-size:11px;font-weight:800;text-decoration:none;display:inline-block;box-shadow:0 6px #6f1d26}@media (width<=760px){.rules-hero{min-height:560px;padding:20px 20px 55px}.rules-home{padding:8px 10px;font-size:8px}.rules-brand small{display:none}.rules-hero-copy{margin-top:90px}.rules-hero-copy h1{font-size:58px}.rules-hero-copy p{font-size:11px}.rules-suits span{width:50px;height:50px}.rules-index{grid-template-columns:repeat(2,1fr);margin-bottom:45px}.rules-index a{border-bottom:1px solid #e2d5bd;min-height:70px}.rules-index a:last-child{grid-column:1/-1}.rules-index a:nth-child(2n){border-left:0}.rule-chapter{margin-bottom:38px}.rule-chapter>header{padding:34px 24px 28px}.rule-chapter>header h2{font-size:43px}.rule-grid{grid-template-columns:1fr;padding:10px 20px}.rule-grid section,.rule-grid section:nth-child(odd){border-bottom:1px solid #eadfca;border-left:0;padding:20px 6px}.rule-grid section:last-child{border-bottom:0}.rule-grid section:nth-last-child(2){border-bottom:1px solid #eadfca}.rule-note{margin:0 20px 27px}}.arcade-stage{background:radial-gradient(circle,#eadfc7,#c9b48d);height:calc(100svh - 64px);padding:clamp(7px,1.5vw,16px);position:relative}.arcade-felt{width:min(100%,1000px);height:100%;color:var(--ivory);background:radial-gradient(circle at 50% 48%,#1d735a,#0b4538 65%,#062e26);border:11px solid #4c2a1d;border-radius:90px 90px 55px 55px;margin:auto;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #cf9d45,inset 0 0 60px #0000007a,0 16px 35px #3622144d}.arcade-felt:before{content:"";border-radius:inherit;pointer-events:none;border:1px solid #d6a64147;position:absolute;inset:18px}.arcade-title{text-align:center;color:var(--gold);position:absolute;top:2.4%;left:50%;transform:translate(-50%)}.arcade-title small{letter-spacing:.2em;font-size:7px}.arcade-title h1{margin:2px 0 0;font-family:Georgia,Tahoma,serif;font-size:19px}.arcade-opponent{align-items:center;gap:7px;font-size:9px;display:flex;position:absolute;top:9%;left:50%;transform:translate(-50%)}.arcade-opponent i,.arcade-self i{width:34px;height:34px;color:var(--green);border:2px solid var(--gold);background:#f5edda;border-radius:50%;place-items:center;font-style:normal;font-weight:800;display:grid}.arcade-opponent span{color:#f5edda8c}.arcade-side{text-align:center;font-size:9px;position:absolute;top:40%}.arcade-side.left{left:2.5%}.arcade-side.right{right:2.5%}.arcade-side small{color:#f5edda80;margin-top:4px;display:block}.arcade-status{text-align:center;min-width:240px;position:absolute;top:18%;left:50%;transform:translate(-50%)}.arcade-status p{color:#f5eddab8;margin:0 0 5px;font-size:9px}.arcade-status b{color:var(--gold);font-size:10px}.arcade-center{justify-content:center;align-items:center;gap:8px;width:min(74%,520px);min-height:115px;display:flex;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.arcade-center .arcade-card{margin-left:-25px}.arcade-center .arcade-card:first-child{margin-left:0}.arcade-center.pasur-pool{background:#03261e3d;border:1px solid #d6a6413b;border-radius:26px;grid-template-columns:repeat(auto-fit,minmax(54px,1fr));gap:10px;width:min(72%,560px);padding:25px 14px 10px;display:grid}.arcade-center.pasur-pool .arcade-card{justify-self:center;margin:0}.pool-label{color:#f5edda94;font-size:8px;position:absolute;top:6px;right:18px}.arcade-actions{z-index:8;flex-wrap:wrap;justify-content:center;gap:7px;width:85%;display:flex;position:absolute;top:61%;left:50%;transform:translate(-50%)}.arcade-actions button,.arcade-modal button{border:1px solid var(--gold);color:var(--green);background:#f5edda;padding:8px 13px;font-size:9px;font-weight:700}.arcade-actions .danger{background:var(--red);color:#fff;border-color:#d65b63}.arcade-self{align-items:center;gap:7px;font-size:9px;display:flex;position:absolute;bottom:18%;left:50%;transform:translate(-50%)}.arcade-self span{color:var(--gold)}.arcade-hand{grid-template-columns:repeat(var(--count),minmax(0,1fr));z-index:10;direction:ltr;place-items:end center;width:min(96%,820px);height:105px;padding:0 28px;display:grid;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.arcade-hand .arcade-card{transform-origin:50% 140%;width:clamp(42px,7vw,58px)}.arcade-hand .arcade-card.selected{z-index:15;outline:3px solid var(--gold);transform:translateY(-18px)}.arcade-card{color:#15241d;text-align:left;background:linear-gradient(145deg,#fffef9,#eadfc8);border:1px solid #ba8;border-radius:6px;flex:none;width:58px;height:88px;padding:5px;font-family:Georgia,serif;position:relative;box-shadow:0 5px 12px #00000047}.arcade-card.red{color:#a62331}.arcade-card b,.arcade-card span{line-height:1;display:block}.arcade-card em{font-size:27px;font-style:normal;position:absolute;top:55%;left:50%;transform:translate(-50%,-50%)}.arcade-card.active{cursor:pointer;box-shadow:0 6px 15px #0000004d,0 0 0 1px #d6a64166}.arcade-card:disabled{opacity:1}.arcade-card.highlighted{filter:brightness(1.08);outline:3px solid #ffd76a;animation:.75s ease-in-out infinite alternate capturePulse}.haft-center{direction:ltr;align-items:center;gap:25px;display:flex;transform:translate(10px)}.arcade-center .haft-center>.arcade-card{margin:0}.current-suit{z-index:3;border:1px solid var(--gold);color:#f8efda;background:#03231cc2;border-radius:12px;flex:0 0 72px;align-content:center;place-items:center;width:72px;min-height:82px;display:grid;position:relative;box-shadow:inset 0 0 22px #d6a64114}.current-suit.red{color:#ff8c94}.current-suit span{font-family:Georgia,serif;font-size:30px;line-height:1}.current-suit b,.current-suit small{display:block}.current-suit b{color:var(--gold);margin-top:6px;font-size:7px}.current-suit small{margin-top:2px;font-size:8px}.action-replay{--origin-x:0px;--origin-y:160px;pointer-events:none;z-index:35;background:radial-gradient(circle,#0a4a39f0,#03261ef7);border:1px solid #d6a641b8;border-radius:24px;flex-direction:column;justify-content:center;align-items:center;width:min(78%,460px);min-height:185px;padding:16px 20px;animation:.25s ease-out both replayAppear;display:flex;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 55px #0000008c,inset 0 0 35px #d6a64114}.action-replay.from-1{--origin-x:210px;--origin-y:0px}.action-replay.from-2{--origin-x:0px;--origin-y:-160px}.action-replay.from-3{--origin-x:-210px;--origin-y:0px}.replay-player{color:var(--gold);align-items:center;gap:8px;margin-bottom:8px;font-size:10px;display:flex}.replay-player i{width:28px;height:28px;color:var(--green);border:2px solid var(--gold);background:#f5edda;border-radius:50%;place-items:center;font-style:normal;display:grid}.replay-motion{direction:ltr;justify-content:center;align-items:center;gap:8px;min-height:92px;display:flex}.replay-motion>.arcade-card{animation:.62s cubic-bezier(.2,.85,.24,1.15) both cardArrive}.replay-motion .arcade-card{width:58px;height:88px}.replay-capture .replay-motion>.arcade-card{animation:.55s cubic-bezier(.2,.85,.24,1.15) both cardArrive,.65s ease-in 1s both captureToOwner}.replay-card-back{--card-index:0;width:58px;height:88px;transform:translateX(calc((var(--card-index) - 2) * 6px)) rotate(calc((var(--card-index) - 2) * 4deg));background:repeating-linear-gradient(45deg,#0c5b4b 0 5px,#d3a63e 5px 7px,#8c2634 7px 11px);border:3px solid #e8d7ab;border-radius:7px;margin-left:-39px;animation:.7s cubic-bezier(.2,.8,.25,1) both cardBackArrive;display:block;box-shadow:0 8px 15px #00000059}.replay-card-back:first-child{margin-left:0}.captured-fan{direction:ltr;display:flex}.captured-fan .arcade-card{margin-left:-38px;animation:.95s ease-in-out .45s both capturedGather}.captured-fan .arcade-card:first-child{margin-left:0}.capture-plus{color:var(--gold);font-size:25px;font-weight:800}.action-replay p{color:#fff8e9;text-align:center;margin:7px 0 3px;font-size:10px}.action-replay strong{color:var(--gold);font-size:12px}.action-replay .lie{color:#ff8c96}.action-replay .truth{color:#8ee0c0}.replay-seal{color:var(--gold);font-size:18px;animation:1s ease-in-out infinite sealTurn}.special-effect{background:#7b1e2ae0;border:1px solid #ffe29ba6;border-radius:999px;align-items:center;gap:8px;padding:7px 10px;animation:.55s cubic-bezier(.2,.9,.25,1.25) .35s both specialPop;display:flex;position:absolute;top:18px;left:18px;box-shadow:0 7px 18px #00000047}.special-effect span{min-width:27px;height:27px;color:var(--red);direction:ltr;background:#fff2cf;border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:17px;font-weight:900;display:grid}.special-effect b{color:#fff2cf;white-space:nowrap;font-size:8px}.effect-extra{background:#176c50eb}.effect-reverse{background:#2b4a7eeb}.effect-skip{background:#6d3e7beb}.effect-suit{background:#885b19f0}@keyframes replayAppear{0%{opacity:0;transform:translate(-50%,-46%)scale(.94)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes cardArrive{0%{opacity:0;transform:translate(var(--origin-x),var(--origin-y)) rotate(-12deg) scale(.72)}to{opacity:1;transform:translate(0)rotate(0)scale(1)}}@keyframes cardBackArrive{0%{opacity:0;transform:translate(var(--origin-x),var(--origin-y)) rotate(-18deg)}}@keyframes capturedGather{0%,58%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--origin-x),var(--origin-y)) scale(.25);opacity:0}}@keyframes captureToOwner{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--origin-x),var(--origin-y)) scale(.25);opacity:0}}@keyframes capturePulse{to{box-shadow:0 0 22px #ffd76a}}@keyframes sealTurn{50%{transform:rotate(45deg)scale(1.2)}}@keyframes specialPop{0%{opacity:0;transform:translate(-15px)scale(.75)}to{opacity:1;transform:translate(0)scale(1)}}.bluff-pile{border:2px solid var(--gold);background:repeating-linear-gradient(45deg,#922c37 0 4px,#6e1d28 4px 8px);place-items:center;width:74px;height:98px;display:grid;box-shadow:5px 5px #ffffff29}.bluff-pile span{font-size:36px}.bluff-pile b{color:var(--gold);background:var(--green);border-radius:50%;padding:4px 7px;position:absolute}.arcade-modal{z-index:30;text-align:center;width:min(90%,440px);color:var(--green);border:2px solid var(--gold);background:#f5edda;padding:27px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 25px 60px #00000073}.arcade-modal h2{margin:0 0 8px;font-family:Georgia,Tahoma,serif}.arcade-modal p{color:var(--muted);font-size:10px}.bid-row,.suit-choice{justify-content:center;gap:7px;margin:15px 0;display:flex}.arcade-modal .secondary{background:0 0}.suit-choice button{font-size:24px}.suit-choice small{margin-top:4px;font-size:7px;display:block}.result-mark{color:var(--gold);font-size:24px}.arcade-lobby{position:absolute}.arcade-lobby h2{font-size:clamp(32px,6vw,60px)}@media (width<=760px){.game-picker{grid-template-columns:1fr 1fr;gap:7px}.game-tile{min-height:100px}.game-tile:last-child{min-height:88px}.game-tile-copy{grid-template-columns:27px 1fr;column-gap:5px;inset:auto 7px 7px}.game-tile-copy i{width:27px;height:27px;font-size:9px}.game-tile-copy b{font-size:16px}.game-tile-copy small{font-size:6px}.arcade-stage{height:calc(100svh - 52px);padding:4px}.arcade-felt{border-width:7px;border-radius:48px 48px 34px 34px}.arcade-title{top:1.5%}.arcade-opponent{top:8%}.arcade-status{min-width:210px;top:17%}.arcade-center{gap:5px;width:76%;top:44%}.arcade-center:not(.pasur-pool) .arcade-card{margin-left:-33px}.arcade-center.pasur-pool{grid-template-columns:repeat(4,minmax(38px,1fr));gap:6px;width:78%;max-height:245px;padding:23px 8px 8px;top:43%;overflow-y:auto}.arcade-center.pasur-pool .arcade-card{width:43px;height:67px}.arcade-center.pasur-pool .arcade-card em{font-size:19px}.action-replay{width:82%;min-height:170px;padding:12px;top:44%}.replay-motion .arcade-card,.replay-card-back{width:48px;height:73px}.captured-fan .arcade-card{margin-left:-34px}.action-replay p{font-size:9px}.chat-button{justify-content:center;width:31px;height:30px;padding:0}.chat-button>span{display:none}.chat-button>i{width:16px;height:12px}.chat-panel{border-radius:20px 20px 15px 15px;width:auto;height:min(74svh,570px);inset:auto 6px 6px}.chat-panel>header{padding:13px 14px}.chat-panel>small{font-size:6px}.player-speech{max-width:42vw;padding:7px 8px!important;font-size:8px!important}.haft-center{gap:18px;transform:translate(7px)}.arcade-center:not(.pasur-pool) .haft-center>.arcade-card{margin:0}.current-suit{flex-basis:60px;width:60px;min-height:73px}.current-suit span{font-size:25px}.special-effect{padding:5px 7px;top:8px;left:8px}.special-effect span{min-width:23px;height:23px;font-size:14px}.special-effect b{font-size:7px}.arcade-side{top:38%}.arcade-actions{top:58%}.arcade-self{bottom:18%}.arcade-hand{width:100%;height:93px;padding:0 24px}.arcade-hand .arcade-card{width:clamp(38px,11vw,45px);height:72px;padding:4px}.arcade-card em{font-size:22px}.arcade-card b,.arcade-card span{font-size:11px}.arcade-modal{padding:23px 14px}.arcade-lobby{inset:0}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
