@font-face{font-family:Estedad Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/estedad-arabic-wght-normal-D6DQIq1q.woff2)format("woff2-variations");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Estedad Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/estedad-vietnamese-wght-normal-D7SXJ-q_.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:Estedad Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/estedad-latin-ext-wght-normal-F3E_gUl2.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:Estedad Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/estedad-latin-wght-normal-B5vzQVCp.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}:root{--font-fa:"Estedad Variable", "Estedad", Tahoma, sans-serif;--cream:#f6ecd8;--cream-2:#ead7b8;--ink:#2a1c12;--muted:#7a634c;--line:#5c3a2424;--panel:#fff8ebe6;--black:#2a1c12;--accent:#d4a017;--green:#2f6b4f;--danger:#b54a3a;--miniapp-width:430px;font-family:var(--font-fa);color:var(--ink);background:var(--cream);-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}#root{justify-content:center;width:100%;min-height:100svh;display:flex}body{background-color:#0000;background-image:radial-gradient(80% 50% at 50% 0,#ffe6aa8c 0%,#0000 55%),radial-gradient(60% 45% at 10% 90%,#2f6b4f38,#0000 55%),radial-gradient(50% 40% at 95% 70%,#5c3a242e,#0000 50%),linear-gradient(165deg,#1a120c 0%,#2a1c14 28%,#3d2a1c 55%,#2a1c14 100%);background-position:0 0,0 0,0 0,0 0;background-repeat:repeat,repeat,repeat,repeat;background-size:auto,auto,auto,auto;background-attachment:fixed;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;min-height:100dvh}button,input{font:inherit}.shell{width:100%;max-width:var(--miniapp-width);min-height:100svh;padding:max(6px, env(safe-area-inset-top,0px)) max(8px, env(safe-area-inset-right,0px)) max(8px, env(safe-area-inset-bottom,0px)) max(8px, env(safe-area-inset-left,0px));isolation:isolate;flex-direction:column;margin:0 auto;display:flex;position:relative}@media (width>=431px){.shell{box-shadow:0 0 0 1px #ffffff12,0 12px 48px #00000073}}.shell--lobby{height:100svh;min-height:0;max-height:100svh;padding:0;position:relative;overflow:hidden}.shell--game{background:radial-gradient(70% 40% at 50% 30%,#ffdc8c14,#0000 60%);gap:6px;height:100svh;max-height:100svh;overflow:hidden}.player-bar{--bar-pad:8px;background:linear-gradient(#fffcf5f5,#f6ecd8eb);border:1px solid #5c3a241f;border-radius:14px;flex:none;align-items:center;gap:10px;padding:8px 10px 8px 12px;transition:box-shadow .25s,border-color .25s,opacity .25s,filter .25s,background .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 14px #2a1c120f}.player-bar-accent{inset-inline-start:0;border-radius:14px 0 0 14px;width:4px;position:absolute;top:0;bottom:0}.player-bar--white .player-bar-accent{background:linear-gradient(#fff6e8,#d4b896)}.player-bar--black .player-bar-accent{background:linear-gradient(#4a3f36,#1c1714)}.player-bar.is-idle{opacity:.58;filter:saturate(.7)brightness(.98);box-shadow:none}.player-bar.is-active{opacity:1;filter:none;background:linear-gradient(#fffceb 0%,#ffe7a8 100%);border-color:#d4a017d9;transform:translateZ(0);box-shadow:0 0 0 2px #d4a01759,0 10px 26px #d4a01747}.player-bar.is-active.is-you{box-shadow:0 0 0 3px #d4a01773,0 12px 28px #d4a01752}.player-bar.is-active .player-bar-accent{background:linear-gradient(#f0c14d,#d4a017);width:6px;box-shadow:0 0 14px #d4a017a6}.player-bar.is-active:after{content:"";inset-inline-end:0;opacity:.9;background:linear-gradient(#f0c14d,#d4a017);width:3px;position:absolute;top:0;bottom:0}.avatar{border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid;position:relative}.avatar-letter{z-index:1;font-size:.95rem;font-weight:800;line-height:1}.avatar.has-photo{padding:0;overflow:hidden}.avatar-photo{object-fit:cover;z-index:1;width:100%;height:100%;display:block}.avatar-pulse{pointer-events:none;border:2px solid #d4a017e6;border-radius:50%;animation:1.5s ease-out infinite turn-ring;position:absolute;inset:-3px}@keyframes turn-ring{0%{opacity:.95;transform:scale(.94)}to{opacity:0;transform:scale(1.32)}}.avatar--white{color:#2a1c12;background:radial-gradient(circle at 32% 28%,#fff,#fff6e8 45%,#e8d4b0);box-shadow:inset 0 0 0 2px #d4b896,0 2px 6px #2a1c121f}.avatar--black{color:#fff6e8;background:radial-gradient(circle at 32% 28%,#3a322c,#1c1714 60%);box-shadow:inset 0 0 0 2px #5a4f44,0 2px 6px #2a1c1233}.player-meta{flex-direction:column;flex:auto;gap:4px;min-width:0;display:flex}.player-name-row{align-items:center;gap:6px;min-width:0;display:flex}.player-name{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;color:var(--ink);font-size:.92rem;font-weight:800;overflow:hidden}.you-tag{color:var(--green);background:#2f6b4f24;border-radius:999px;flex:none;padding:2px 6px;font-size:.6rem;font-weight:800}.color-pill{letter-spacing:.02em;border-radius:999px;flex:none;padding:2px 6px;font-size:.58rem;font-weight:800}.color-pill--white{color:#6a5538;background:#fff6e8;border:1px solid #d4b896b3}.color-pill--black{color:#f0e6d6;background:#1c1714;border:1px solid #4a3f36}.player-sub{min-width:0;color:var(--muted);align-items:center;gap:6px;font-size:.72rem;display:flex}.player-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.status-chip{border-radius:999px;flex:none;align-items:center;padding:3px 8px;font-size:.64rem;font-weight:800;line-height:1;display:inline-flex}.status-chip--wait{color:var(--muted);background:#7a634c1a}.status-chip--roll,.status-chip--move{color:#2a1c12;background:linear-gradient(#f0c14d,#d4a017);padding:4px 10px;font-size:.7rem;animation:1.4s ease-in-out infinite badge-pulse}.status-chip--done{color:var(--green);background:#2f6b4f24}@keyframes badge-pulse{0%,to{box-shadow:0 0 #d4a01766}50%{box-shadow:0 0 0 4px #d4a01700}}.borne-tray{background:#2a1c120d;border:1px solid #5c3a241a;border-radius:11px;flex-direction:column;flex:none;align-items:stretch;gap:5px;min-width:64px;padding:6px 8px;transition:transform .35s cubic-bezier(.34,1.4,.64,1),box-shadow .35s,border-color .35s;display:flex}.borne-tray--land{border-color:#d4a017a6;transform:scale(1.06);box-shadow:0 0 0 3px #e8b84a59,0 6px 18px #d4a01740}.borne-tray--land .borne-chip:last-child{animation:.55s cubic-bezier(.34,1.5,.64,1) borne-chip-pop}@keyframes borne-chip-pop{0%{opacity:.4;transform:translateY(6px)scale(.6)}60%{opacity:1;transform:translateY(-2px)scale(1.08)}to{opacity:1;transform:translateY(0)scale(1)}}.borne-top{justify-content:space-between;align-items:center;gap:6px;display:flex}.borne-stack{flex-direction:row;align-items:center;min-width:14px;height:14px;display:flex}.borne-chip{border-radius:50%;width:13px;height:13px;margin-inline-start:-6px;box-shadow:0 1px 2px #00000038}.borne-stack .borne-chip:first-child{margin-inline-start:0}.borne-empty{background:0 0;border:1px dashed #7a634c59;border-radius:50%;width:13px;height:13px}.borne-tray--white .borne-chip{background:linear-gradient(145deg,#fffdf8,#e8d4b0);border:1px solid #d4b896}.borne-tray--black .borne-chip{background:linear-gradient(145deg,#3a322c,#1c1714);border:1px solid #5a4f44}.player-borne{font-variant-numeric:tabular-nums;white-space:nowrap;line-height:1}.player-borne strong{color:var(--ink);font-size:.88rem;font-weight:800}.player-borne span{color:var(--muted);font-size:.68rem;font-weight:600}.borne-track{background:#5c3a241a;border-radius:999px;height:3px;overflow:hidden}.borne-fill{border-radius:inherit;background:linear-gradient(90deg,#c9a45a,#d4a017);height:100%;transition:width .35s}.borne-tray--black .borne-fill{background:linear-gradient(90deg,#5a4f44,#2a221c)}.fly-checker{z-index:9999;pointer-events:none;border-radius:50%;position:fixed;box-shadow:0 4px 14px #00000059,inset 0 2px 4px #ffffff40}.fly-checker--white{background:radial-gradient(circle at 35% 30%,#f7f0e4,#c4ae8e 70%,#a89070);border:2px solid #a89070}.fly-checker--black{background:radial-gradient(circle at 35% 30%,#4a4540,#1a1614 65%,#0d0b0a);border:2px solid #5a524a}.leave-btn{width:32px;height:32px;color:var(--danger);cursor:pointer;background:#b54a3a14;border:0;border-radius:10px;flex:none;place-items:center;padding:0;transition:background .15s,transform .12s;display:grid}.leave-x{font-size:1.25rem;font-weight:600;line-height:1}.leave-btn:active{background:#b54a3a29;transform:scale(.94)}.game-toast{text-align:center;color:var(--muted);margin:0;font-size:.8rem}.home-menu{width:100%;height:100%;min-height:0;padding:max(10px, env(safe-area-inset-top,0px)) max(14px, env(safe-area-inset-right,0px)) max(14px, env(safe-area-inset-bottom,0px)) max(14px, env(safe-area-inset-left,0px));-webkit-overflow-scrolling:touch;color:#fff8ec;flex-direction:column;flex:1;gap:14px;display:flex;position:relative;overflow-y:auto}.home-menu-bg{z-index:0;background:#1a120c;position:absolute;inset:0;overflow:hidden}.home-menu-bg-img{object-fit:cover;object-position:center 42%;width:100%;height:100%;display:block;transform:scale(1.03)}@media (aspect-ratio<=9/16){.home-menu-bg-img{object-position:center 52%}}@media (orientation:landscape) and (height<=520px){.home-menu-bg-img{object-position:center 35%}}@media (width>=768px){.home-menu-bg-img{object-position:center 40%}}.home-menu-shade{z-index:0;pointer-events:none;background:linear-gradient(#080604b8 0%,#0a16106b 42%,#080604d1 100%),radial-gradient(100% 75% at 50% 38%,#163a2859,#0000 65%);position:absolute;inset:0}.home-menu>:not(.home-menu-bg):not(.home-menu-shade){z-index:1;position:relative}.home-topbar{justify-content:space-between;align-items:center;gap:12px;padding:4px 2px 8px;display:flex}.home-profile{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.home-profile-avatar{color:#3d2808;background:#fff6e8e6;border:2px solid #ffffff59;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-weight:800;display:grid;overflow:hidden}.home-profile-photo{object-fit:cover;width:100%;height:100%}.home-profile-name{color:#fff8ec;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.9rem;font-weight:700;overflow:hidden}.home-title{color:#fff4d4;text-shadow:0 1px 8px #0006;letter-spacing:-.02em;flex:none;font-size:1.15rem;font-weight:800}.home-welcome{text-align:center;color:#fff4d4;text-shadow:0 2px 14px #0000008c;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:4px 0 0;font-size:clamp(1.35rem,5.5vw,1.65rem);font-weight:800;display:flex}.home-welcome-ico{filter:drop-shadow(0 2px 4px #0006);font-size:1.1rem}.home-resume-row{align-items:stretch;gap:8px;width:100%;display:flex}.home-resume{color:#fff8ec;cursor:pointer;text-align:start;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#f0c14d24;border:1px solid #f0c14d73;border-radius:14px;flex:1;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex}.home-resume:disabled{opacity:.7;cursor:wait}.home-resume-dismiss{color:#ffe8e0;cursor:pointer;background:#78281e8c;border:1px solid #ffb4a059;border-radius:14px;flex:none;width:44px;font-size:1.35rem;line-height:1}.home-resume-dismiss:active{transform:scale(.96)}.home-resume span:first-child{font-size:1.1rem}.home-resume strong{font-size:.82rem;display:block}.home-resume small{opacity:.75;font-size:.68rem}.home-actions{gap:12px;margin-top:2px;display:grid}.home-btn{cursor:pointer;text-align:center;color:#fff;direction:rtl;border:2px solid #ffffff47;border-radius:18px;align-items:center;gap:10px;width:100%;min-height:78px;padding:12px 14px;transition:transform .14s,box-shadow .14s,filter .14s;display:flex;box-shadow:inset 0 1px #ffffff59,0 6px #00000047,0 10px 22px #00000059}.home-btn:active:not(:disabled){transform:translateY(4px);box-shadow:inset 0 1px #fff3,0 2px #00000047,0 4px 12px #0000004d}.home-btn:disabled{opacity:.55;cursor:not-allowed}.home-btn--wide{margin-top:4px}.home-btn--ai{background:linear-gradient(165deg,#5eb8ff 0%,#3498db 38%,#2471a3 100%);gap:10px}.home-btn--ai .home-btn-art:not(.home-btn-art--hero){width:56px;height:56px}.home-btn--ai .home-btn-art:not(.home-btn-art--hero) img{object-fit:contain;filter:drop-shadow(0 4px 8px #00000059);mix-blend-mode:lighten;width:100%;height:100%}.home-btn--ai .home-btn-art--hero{width:52px;height:52px}.home-btn--ai .home-btn-art--hero img{filter:drop-shadow(0 3px 6px #0000004d)}.home-btn--friend{background:linear-gradient(165deg,#6ee7a0 0%,#2ecc71 40%,#1e8449 100%);gap:10px}.home-btn--friend .home-btn-art:not(.home-btn-art--hero){width:52px;height:52px}.home-btn--friend .home-btn-art:not(.home-btn-art--hero) img{filter:drop-shadow(0 3px 6px #0000004d)}.home-btn--friend .home-btn-art--hero{width:52px;height:52px}.home-btn--friend .home-btn-art--hero img{filter:drop-shadow(0 3px 6px #0000004d)}.home-btn-body{flex:1;gap:4px;min-width:0;display:grid}.home-btn-body strong{text-shadow:0 1px 3px #00000059;font-size:clamp(.88rem,3.8vw,.98rem);font-weight:800;line-height:1.35}.home-btn-body small{opacity:.88;font-size:.68rem;line-height:1.4}.home-btn-art{width:52px;height:52px;box-shadow:none;background:0 0;border:0;flex:none;place-items:center;display:grid;overflow:visible}.home-btn-art--wide{width:72px;height:52px}.home-btn-art--hero{width:58px;height:58px}.home-btn-art img{object-fit:contain;filter:drop-shadow(0 3px 6px #00000047);width:100%;height:100%;display:block}.home-join-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0c0805c7;border:2px solid #ffe6b438;border-radius:18px;margin-top:auto;padding:14px;box-shadow:0 10px 28px #00000073,inset 0 1px #ffffff14}.home-join-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.home-join-thumb{border:2px solid #e0b24a73;border-radius:14px;flex:none;width:56px;height:56px;overflow:hidden;box-shadow:0 4px 14px #00000059}.home-join-thumb img{object-fit:cover;width:100%;height:100%;display:block}.home-join-intro h2{color:#fff4d4;margin:0 0 4px;font-size:.95rem;font-weight:800}.home-join-intro p{color:#fff0d2c7;margin:0;font-size:.72rem;line-height:1.55}.home-join-tabs{background:#ffffff0f;border-radius:12px;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;padding:4px;display:grid}.home-join-tab{color:#fff0d29e;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:10px 8px;font-size:.78rem;font-weight:800;transition:background .15s,color .15s,box-shadow .15s}.home-join-tab.is-active{color:#2a1c12;background:linear-gradient(#ffe9a0,#d4a017);box-shadow:0 3px 10px #d4a01759}.home-join-label{color:#fff0d2d9;letter-spacing:.04em;margin-bottom:6px;font-size:.72rem;font-weight:800;display:block}.home-join-row{gap:8px;display:flex}.home-join-input{color:#ffe9a0;letter-spacing:.28em;text-align:center;background:#00000059;border:2px solid #ffe6b433;border-radius:12px;flex:1;min-width:0;padding:14px 12px;font-family:ui-monospace,Cascadia Code,monospace;font-size:1.15rem;font-weight:800}.home-join-input::placeholder{color:#fff0d252;letter-spacing:.12em;font-size:.82rem;font-weight:600}.home-join-input:focus{border-color:#d4a017a6;outline:none;box-shadow:0 0 0 3px #d4a01733}.home-join-submit{color:#fff;cursor:pointer;background:linear-gradient(#3d9b6e,#2d6a4e);border:0;border-radius:12px;flex:none;min-width:76px;padding:0 16px;font-size:.88rem;font-weight:800;transition:transform .12s,filter .12s;box-shadow:0 4px #1e4a36}.home-join-submit:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px #1e4a36}.home-join-submit:disabled{opacity:.45;cursor:not-allowed}.home-join-hint{color:#fff0d28c;text-align:center;margin:10px 0 0;font-size:.68rem;font-weight:600;line-height:1.45}.home-error{text-align:center;color:#ffb4a8;background:#b54a3a40;border:1px solid #b54a3a66;border-radius:12px;margin:0;padding:10px 12px;font-size:.78rem;font-weight:700}.home-status{text-align:center;color:#fff0d2b3;margin:0;font-size:.76rem}.home-wait{text-align:center;flex-direction:column;flex:1;align-items:center;gap:10px;padding:20px 8px 8px;display:flex}.home-wait h2{color:#fff4d4;margin:0;font-size:1.35rem;font-weight:800}.home-wait p{color:#fff0d2b8;max-width:28ch;margin:0;font-size:.78rem;line-height:1.5}.home-wait-spinner{border:3px solid #ffe6b426;border-top-color:#e0b24a;border-radius:50%;width:52px;height:52px;animation:1s linear infinite home-spin}@keyframes home-spin{to{transform:rotate(360deg)}}.home-wait-code{background:#0c0806a6;border:1px dashed #f0c14d73;border-radius:16px;gap:6px;width:100%;padding:14px;display:grid}.home-wait-code span{color:#fff0d299;font-size:.68rem}.home-wait-code strong{letter-spacing:.22em;color:#ffe9a0;font-family:ui-monospace,monospace;font-size:1.75rem}.home-wait-code button{color:#ffe9a0;cursor:pointer;background:#f0c14d2e;border:0;border-radius:10px;margin-top:4px;padding:8px;font-size:.76rem;font-weight:800}.home-wait-meta{color:#fff0d299;font-size:.74rem}.home-wait-cancel{color:#fff0d28c;cursor:pointer;background:0 0;border:0;margin-top:auto;padding:8px;font-size:.82rem;font-weight:700}@media (height<=700px){.home-menu{gap:10px}.home-welcome{font-size:1.25rem}.home-btn{min-height:68px;padding:10px 12px}.home-btn-art{width:46px;height:46px}.home-btn-art--wide{width:64px;height:46px}.home-btn-art--hero{width:52px;height:52px}}@media (height<=580px){.home-welcome-ico,.home-btn-body small{display:none}.home-btn{min-height:58px}}.fj-overlay{z-index:40;padding:max(10px, env(safe-area-inset-bottom,0px)) 12px 12px;justify-content:center;align-items:flex-end;animation:.2s fj-fade;display:flex;position:absolute;inset:0}.fj-overlay-dim{cursor:pointer;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0604029e;border:0;margin:0;padding:0;position:absolute;inset:0}.fj-sheet{z-index:1;-webkit-overflow-scrolling:touch;color:#fff8ec;background:linear-gradient(165deg,#161e1af5,#0c0e0cfa);border:1px solid #fff8ec29;border-radius:22px 22px 18px 18px;gap:12px;width:min(100%,420px);max-height:min(78dvh,640px);padding:16px 16px 14px;animation:.24s fj-up;display:grid;position:relative;overflow-y:auto;box-shadow:0 -8px 40px #00000073}.fj-sheet-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.fj-kicker{opacity:.7;margin:0 0 4px;font-size:.72rem;font-weight:700}.fj-sheet-head h2{margin:0;font-size:1.15rem;font-weight:800}.fj-close{color:#fff8ec;cursor:pointer;background:#ffffff14;border:1px solid #ffffff2e;border-radius:50%;flex:none;width:36px;height:36px;font-size:1.35rem;line-height:1}.fj-lead{color:#fff8ece0;white-space:pre-wrap;margin:0;font-size:.88rem;line-height:1.65}.fj-hint,.fj-progress,.fj-feedback,.fj-foot{text-align:center;color:#fff8ecb8;margin:0;font-size:.78rem;line-height:1.5}.fj-feedback{color:#ffd0c4;font-weight:700}.fj-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.fj-btn{color:#fff;cursor:pointer;text-align:right;direction:rtl;border:1px solid #ffffff38;border-radius:16px;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 14px;transition:transform .14s,filter .14s,opacity .14s;display:flex;box-shadow:inset 0 1px #ffffff47,0 6px #00000038,0 10px 18px #00000047}.fj-btn:active:not(:disabled){transform:translateY(3px)}.fj-btn:disabled,.fj-btn.is-joined{cursor:default;opacity:.78;filter:saturate(.85)}.fj-btn--primary{background:linear-gradient(165deg,#5eb8ff 0%,#2f80ed 45%,#1b4f9c 100%)}.fj-btn--success{background:linear-gradient(165deg,#6ee7a0 0%,#27ae60 45%,#1a6b3c 100%)}.fj-btn--danger{background:linear-gradient(165deg,#ff8f7a 0%,#e74c3c 45%,#922b21 100%)}.fj-btn--default{background:linear-gradient(165deg,#f0c56b 0%,#d4a017 42%,#8a6410 100%)}.fj-btn-mark{background:#00000038;border:1px solid #ffffff40;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-weight:800;display:grid}.fj-btn-text{flex:1;gap:3px;min-width:0;display:grid}.fj-btn-text strong{font-size:.95rem;font-weight:800}.fj-btn-text small{opacity:.88;font-size:.7rem}.fj-check{cursor:pointer;color:#1a120c;background:linear-gradient(#fff4df 0%,#f0d7a4 100%);border:0;border-radius:14px;width:100%;min-height:52px;margin-top:2px;font-size:.95rem;font-weight:800;box-shadow:0 8px 20px #00000047}.fj-check:disabled{opacity:.65;cursor:wait}@keyframes fj-fade{0%{opacity:0}to{opacity:1}}@keyframes fj-up{0%{opacity:.6;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.spectate-banner{color:#5a3e10;background:linear-gradient(90deg,#ffe7a0,#ffd56a);border:1px solid #d4a01780;border-radius:999px;flex:none;justify-content:center;align-items:center;gap:8px;margin:0 8px;padding:6px 12px;font-size:.78rem;font-weight:700;display:flex}.spectate-dot{background:#e53935;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite spectate-blink}@keyframes spectate-blink{0%,to{opacity:1}50%{opacity:.35}}.share-fab{display:none}.game-share-bar{top:8px;z-index:14;pointer-events:none;align-items:center;gap:6px;display:flex;position:absolute;inset-inline-end:8px}.game-share-hint{pointer-events:none;color:#fff4d4;white-space:nowrap;background:#0c0804d1;border-radius:8px;padding:4px 8px;font-size:.68rem;font-weight:700}.game-share-btn{pointer-events:auto;cursor:pointer;color:#3d2a10;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffebbeeb;border:0;border-radius:10px;place-items:center;width:32px;height:32px;display:grid;box-shadow:0 2px 10px #00000038}.game-share-btn--spectate{color:#1a2838;background:#d2e6ffeb}.game-share-btn:active{transform:scale(.94)}.shell--spectate .board-stage{opacity:.98}.eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.7rem;font-weight:600}.field{color:var(--muted);gap:6px;margin-bottom:14px;font-size:.85rem;display:grid}.field input,.join-row input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fffaf0;border-radius:12px;outline:none;padding:12px 14px}.field input:focus,.join-row input:focus{border-color:#d4a0178c}.block{width:100%}button.primary,button.secondary,button.ghost{cursor:pointer;border:0;border-radius:12px;padding:12px 16px;transition:transform .12s,opacity .12s}button.primary:active,button.secondary:active,button.ghost:active{transform:scale(.98)}button.primary{background:linear-gradient(180deg, #3d8b66, var(--green));color:#f7fff9;font-weight:700;box-shadow:0 8px 18px #2f6b4f47}button.secondary{color:var(--ink);border:1px solid var(--line);background:#fffaf0}button.ghost{color:var(--muted);background:0 0;padding:8px 12px}button:disabled{opacity:.45;cursor:not-allowed}.divider{color:var(--muted);grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:18px 0 12px;font-size:.8rem;display:grid}.divider:before,.divider:after{content:"";background:var(--line);height:1px}.join-row{grid-template-columns:1fr auto;gap:8px;margin-top:10px;display:grid}.error{color:var(--danger);margin:12px 0 0;font-size:.9rem}.status{color:var(--muted);margin:6px 0 0;font-size:.82rem}.board-stage{flex:auto;min-height:0;padding:0;display:flex}.board-wrap{flex:auto;width:100%;min-width:0;min-height:180px;position:relative}.bear-off-bar{z-index:12;pointer-events:none;justify-content:center;display:flex;position:absolute;left:12px;right:12px}.bear-off-bar--bottom{bottom:14px}.bear-off-bar--top{top:14px}.bear-off-hint{color:#fff4d4;text-align:center;pointer-events:none;background:#0c0804d1;border:1.5px solid #e8b84a73;border-radius:14px;max-width:100%;margin:0;padding:10px 14px;font-size:.78rem;font-weight:600;line-height:1.45;box-shadow:0 8px 24px #00000059}.bear-off-hint strong{color:#ffd56a;font-weight:800}.bear-off-hint-icon{color:#ffd56a;margin-left:4px}.bear-off-btn{pointer-events:auto;cursor:pointer;color:#2a1c08;width:min(100%,280px);font-family:var(--font-fa);touch-action:manipulation;background:linear-gradient(165deg,#ffe07a 0%,#e8b84a 38%,#c9922a 100%);border:0;border-radius:16px;justify-content:center;align-items:center;gap:10px;padding:10px 16px;transition:transform .12s,box-shadow .12s,filter .12s;display:flex;box-shadow:inset 0 1px #ffffff8c,0 6px #8a6420,0 10px 28px #00000061}.bear-off-btn:active{transform:translateY(4px);box-shadow:inset 0 1px #ffffff59,0 2px #8a6420,0 4px 14px #00000052}.bear-off-btn-icon{background:#ffffff59;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:1.25rem;font-weight:800;line-height:1;display:grid}.bear-off-btn-text{text-align:right;gap:2px;display:grid}.bear-off-btn-text strong{font-size:.88rem;font-weight:800;line-height:1.3}.bear-off-btn-text small{opacity:.82;font-size:.72rem;font-weight:700}.board-frame{isolation:isolate;width:100%;min-width:0;min-height:0;box-shadow:none;background:#2a221c;border-radius:14px;flex-direction:column;flex:auto;padding:4px;display:flex;position:relative;overflow:hidden}.board-frame:before,.board-frame:after{content:none}.board-host{z-index:2;width:100%;height:100%;min-height:0;box-shadow:none;touch-action:none;background:0 0;border:0;border-radius:12px;justify-content:center;align-items:center;display:flex;position:relative;overflow:visible;transform:none}.board-host canvas{border-radius:10px;width:100%;max-width:100%;height:auto;max-height:100%;display:block;box-shadow:0 6px 18px #00000059}.dice-rack{z-index:8;pointer-events:none;flex-direction:column;align-items:center;gap:8px;max-width:120px;display:flex;position:absolute;top:50%;left:75%;right:auto;transform:translate(-50%,-50%)}.dice-rack .dice-roll-btn{pointer-events:auto;flex-shrink:0}.dice-rack-inner{pointer-events:none;-webkit-backdrop-filter:blur(8px);background:linear-gradient(165deg,#1c3024b8,#0c1812d1);border:1px solid #f0d9a847;border-radius:16px;flex-direction:row;justify-content:center;align-items:center;gap:7px;padding:9px 10px;display:flex;box-shadow:0 10px 24px #00000059,inset 0 1px #ffffff24}.dice-rack .rack-die,.dice-rack .dice-roll-btn{pointer-events:auto}.dice-rack-inner.is-quad{flex-direction:column;gap:6px;padding:8px}.dice-row{flex-direction:row;justify-content:center;align-items:center;gap:6px;display:flex}.dice-rack--idle .dice-rack-inner{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-color:#0000;padding:6px}.dice-rack--roll .dice-rack-inner,.dice-rack.is-quad .dice-rack-inner{animation:.35s both dice-pod-in}@keyframes dice-pod-in{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}.dice-wait-dot{background:#fff8e740;border:1px solid #fff8e733;border-radius:50%;width:10px;height:10px}.dice-rack.is-quad .rack-die{border-radius:9px;width:36px;height:36px}.dice-rack.is-quad .rack-pip{width:7px;height:7px;margin:-3.5px 0 0 -3.5px}.rack-die{background:linear-gradient(145deg,#fffdf8 0%,#f3e6cf 55%,#e8d4b0 100%);border:1px solid #5c3a2447;border-radius:10px;flex:none;width:42px;height:42px;transition:box-shadow .25s;position:relative;transform:scale(1);box-shadow:0 3px #c9a874,0 8px 16px #00000047,inset 0 1px #ffffffd9}.rack-die.is-dim{opacity:1;filter:none;box-shadow:0 2px #c9a874,0 4px 10px #0000002e,inset 0 1px #ffffffd9}.rack-die.is-dim .rack-pip{box-shadow:none;opacity:.45;background:radial-gradient(circle at 35% 30%,#c4b49a,#a89880 70%)}.rack-die.is-dim:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#0000 46%,#7a634c73 49% 51%,#0000 54%);position:absolute;inset:0}.dice-rack.is-dropping .rack-die:not(.is-drop){animation:80ms ease-in-out infinite alternate die-tumble}.rack-die.is-drop{animation:.58s cubic-bezier(.22,1.15,.36,1) both die-drop}@keyframes die-drop{0%{opacity:.25;transform:translateY(-12px)rotate(-10deg)scale(.94)}60%{opacity:1;transform:translateY(2px)rotate(4deg)scale(1.02)}80%{transform:translateY(-1px)rotate(-1deg)scale(1)}to{opacity:1;transform:translateY(0)rotate(0)scale(1)}}@keyframes die-tumble{0%{transform:rotate(-9deg)}to{transform:rotate(9deg)}}.rack-pip{background:radial-gradient(circle at 35% 30%,#4a3424,#1a120c 70%);border-radius:50%;width:8px;height:8px;margin:-4px 0 0 -4px;position:absolute;box-shadow:0 1px 1px #00000040}.dice-roll-btn{cursor:pointer;color:#2a1c12;background:linear-gradient(#f5cd5a,#d4a017);border:0;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;width:50px;height:50px;padding:0;font-weight:800;transition:transform .12s,opacity .12s,box-shadow .12s;display:flex;overflow:visible;box-shadow:0 4px #a67c0a,0 10px 22px #00000059,inset 0 1px #ffffff73}.dice-roll-btn:hover:not(:disabled){filter:brightness(1.04)}.dice-roll-icon{font-size:1.2rem;font-weight:700;line-height:1}.dice-roll-label{font-size:.62rem;font-weight:800;line-height:1}.dice-roll-btn:active:not(:disabled){transform:translateY(2px)scale(.97);box-shadow:0 2px #a67c0a,0 6px 14px #0000004d}.dice-roll-btn:disabled{opacity:.75;cursor:wait}.dice-remain{pointer-events:none;color:#fff6e8;font-variant-numeric:tabular-nums;letter-spacing:.02em;background:#141e188c;border:1px solid #f0c14d47;border-radius:999px;padding:3px 9px;font-size:.68rem;font-weight:700}@media (height<=700px){.rack-die{border-radius:8px;width:36px;height:36px}.rack-pip{width:7px;height:7px;margin:-3.5px 0 0 -3.5px}.dice-roll-btn{width:46px;height:46px}.dice-rack-inner{gap:6px;padding:6px 8px}.dice-rack-inner.is-quad{gap:5px;padding:6px}.dice-row{gap:5px}.player-bar{border-radius:12px;gap:8px;padding:6px 8px 6px 10px}.avatar{width:36px;height:36px}.avatar-letter{font-size:.88rem}.player-name{font-size:.86rem}.borne-tray{min-width:56px;padding:5px 6px}}
