:root{color-scheme:dark;--bg: #0d1117;--surface: #171b24;--surface-2: #202633;--surface-3: #29313f;--line: rgba(255, 255, 255, .12);--line-strong: rgba(255, 255, 255, .22);--text: #f4f5f1;--muted: #b9c0bd;--soft: #8e9897;--felt: #15543d;--felt-2: #0f3f31;--amber: #f0bd57;--amber-dark: #8d5a14;--green: #62d27f;--red: #ef6a61;--blue: #71a8ff}*,*:before,*:after{box-sizing:border-box;user-select:none!important;-webkit-user-select:none!important;-webkit-touch-callout:none}img,svg{-webkit-user-drag:none;user-drag:none}html,body,#root{height:100%;margin:0}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:radial-gradient(circle at 20% 0%,rgba(29,96,69,.55),transparent 34%),radial-gradient(circle at 92% 18%,rgba(86,49,24,.42),transparent 30%),linear-gradient(145deg,#0b0f15,#10151b 48%,#0c1512);color:var(--text);overflow:hidden}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}@keyframes sjFadeIn{0%{opacity:0}to{opacity:1}}@keyframes sjPopIn{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes sjCardFramePulse{0%,to{stroke:#f0bd57d6;stroke-opacity:.72}50%{stroke:#ffe7ac;stroke-opacity:1}}@keyframes sjCardFrameSelected{0%,to{stroke-opacity:.82}50%{stroke-opacity:1}}@keyframes sjActionRingPulse{0%,to{opacity:.08}50%{opacity:.2}}@keyframes sjSelectedCardEmphasis{0%,to{opacity:.12}50%{opacity:.28}}@keyframes sjGreenPulse{0%,to{box-shadow:0 0 #62d27f7a}50%{box-shadow:0 0 0 6px #62d27f00}}@keyframes sjOpponentTurnPulse{0%,to{border-color:#71a8ffb8;box-shadow:var(--board-shadow),inset 0 0 0 2px #71a8ff80}50%{border-color:#c3d8ff;box-shadow:var(--board-shadow),inset 0 0 0 3px #71a8ffdb}}@keyframes sjFlipIn{0%{transform:rotateY(90deg) scale(.92);opacity:.35}to{transform:rotateY(0) scale(1);opacity:1}}@keyframes sjCardRevealIn{0%{opacity:.72;transform:scale(.985)}58%{opacity:1;transform:scale(1.006)}to{opacity:1;transform:scale(1)}}@keyframes sjCardRevealFrame{0%{stroke:#ffe8a4;stroke-width:2.25;stroke-opacity:1}to{stroke:var(--sj-card-frame-color);stroke-width:var(--sj-card-frame-width);stroke-opacity:var(--sj-card-frame-opacity)}}@keyframes sjDrawFromDeck{0%{transform:translateY(0) rotateY(90deg) scale(.94);opacity:.2}55%{transform:translateY(-8px) rotateY(0) scale(1.04);opacity:1}to{transform:translateY(-6px) rotateY(0) scale(1.03);opacity:1}}@keyframes sjLiftFromDiscard{0%{transform:translateY(0) scale(.98);opacity:.75}to{transform:translateY(-7px) scale(1.03);opacity:1}}@keyframes sjToastIn{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}.sj-fade-in{animation:sjFadeIn .24s ease both}.sj-pop-in{animation:sjPopIn .2s ease both}.sj-lobby{min-height:100dvh;display:grid;place-items:center;padding:18px}.sj-lobby-room{align-items:center;justify-content:center}.sj-lobby-card{width:min(440px,94vw);max-height:92dvh;overflow:auto;background:#171b24f5;border:1px solid var(--line);border-radius:12px;padding:clamp(18px,4vh,30px);display:flex;flex-direction:column;gap:12px;box-shadow:0 22px 70px #00000070}.sj-lobby-room .sj-lobby-card.sj-fade-in{gap:17px}.sj-brand-mark{font-size:clamp(30px,8vw,48px);line-height:.95;font-weight:900;letter-spacing:0;text-align:center}.sj-home-card{gap:13px}.sj-lobby-copy{margin:0 0 4px;color:var(--muted);text-align:center;font-size:14px}.sj-reconnect-card{align-items:center;text-align:center}.sj-reconnect-card h1{margin:0;font-size:clamp(22px,5vw,30px)}.sj-reconnect-spinner{width:46px;height:46px;border:4px solid rgba(255,255,255,.12);border-top-color:var(--amber);border-radius:999px;animation:sjReconnectSpin .8s linear infinite}@keyframes sjReconnectSpin{to{transform:rotate(360deg)}}.sj-lobby-card label{color:var(--muted);font-size:13px;font-weight:700}.sj-lobby-card label span{color:var(--amber)}.sj-field-hint{margin:-7px 0 0;color:#f4c762;font-size:12px;font-weight:800}input{width:100%;min-height:44px;border:1px solid var(--line-strong);border-radius:8px;background:#0f141b;color:var(--text);padding:10px 12px;font-size:16px}input:focus{outline:3px solid rgba(240,189,87,.28);border-color:var(--amber)}.sj-btn{min-height:44px;border:1px solid transparent;border-radius:8px;background:var(--surface-3);color:var(--text);padding:10px 16px;font-weight:600;cursor:pointer;transition:transform .12s ease,background .16s ease,border-color .16s ease}.sj-btn:hover:not(:disabled){transform:translateY(-1px);background:#354052}.sj-btn:active:not(:disabled){transform:translateY(0)}.sj-btn:disabled{cursor:not-allowed;opacity:.45}.sj-btn-primary{background:var(--amber);color:#211400}.sj-btn-primary:hover:not(:disabled){background:#ffd274}.sj-btn-danger{background:#c83f3a;color:#fff}.sj-btn-danger:hover:not(:disabled){background:#e0524c}.sj-divider{display:flex;align-items:center;gap:10px;color:var(--soft);font-size:12px;font-weight:800;text-transform:uppercase}.sj-divider:before,.sj-divider:after{content:"";height:1px;flex:1;background:var(--line)}.sj-connection,.sj-hint{margin:0;color:var(--soft);text-align:center;font-size:13px}.sj-connection:before{content:"";display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--red)}.sj-connection-ok:before{background:var(--green)}.sj-error{background:#741e1eeb;border:1px solid rgba(239,106,97,.65);color:#fff4f2;padding:8px 11px;border-radius:8px;font-size:13px;font-weight:700}.sj-toast{position:fixed;top:10px;left:50%;z-index:50;transform:translate(-50%);animation:sjToastIn .2s ease both}.sj-copy-toast{align-self:center;width:max-content;background:#183927;border:1px solid rgba(98,210,127,.46);border-radius:999px;color:#dff8e6;padding:6px 10px;font-size:12px;font-weight:800}.sj-room-head{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--muted);font-weight:800}.sj-room-copy{border:1px solid var(--line-strong);border-radius:8px;background:#ffffff0f;color:var(--text);padding:8px 12px;font-size:24px;font-weight:900;font-variant-numeric:tabular-nums;cursor:pointer}.sj-player-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px}.sj-player-list li{min-height:40px;display:flex;align-items:center;gap:8px;background:#ffffff0f;border:1px solid var(--line);border-radius:8px;padding:8px 10px}.sj-player-list li.sj-player-list-current{border-color:var(--blue);background:#71a8ff1a;box-shadow:0 0 0 2px #71a8ff33}.sj-mode-picker{display:grid;gap:8px}.sj-mode-picker-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.sj-mode-picker-head span{color:var(--soft);font-size:11px}.sj-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sj-mode-option{min-width:0;border:1px solid var(--line);border-radius:8px;background:#ffffff09;overflow:hidden}.sj-mode-option-active{border-color:var(--amber);box-shadow:inset 0 0 0 1px #f0bd5761}.sj-mode-option>button{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--text);padding:9px;text-align:center;cursor:pointer}.sj-mode-option>button:disabled{cursor:default;opacity:1}.sj-app-shell{height:var(--sj-app-height, 100dvh);width:100vw;overflow:hidden;display:flex;flex-direction:column;gap:clamp(6px,1.2vh,12px);padding:clamp(8px,1.5vh,16px);position:relative}.sj-app-shell.sj-layout-pending{visibility:hidden}.sj-exit-button{position:absolute;top:clamp(8px,1.5vh,16px);right:clamp(8px,1.5vh,16px);z-index:35;width:44px;height:44px;display:grid;place-content:center;border:1px solid rgba(239,106,97,.38);border-radius:8px;background:#45181be6;color:#ffd3cf;box-shadow:0 10px 28px #00000047;cursor:pointer;transition:background .16s ease,border-color .16s ease}.sj-exit-button:hover{border-color:#ef6a61b8;background:#742326f5}.sj-exit-button:focus-visible,.sj-room-copy:focus-visible{outline:3px solid rgba(239,106,97,.3);outline-offset:2px}.sj-chat-button{position:fixed;left:clamp(10px,2vw,18px);bottom:clamp(10px,2.2dvh,18px);z-index:45;width:46px;height:46px;display:grid;place-items:center;align-items:center;justify-content:center;border:1px solid rgba(113,168,255,.42);border-radius:999px;background:radial-gradient(circle at 20% 0%,rgba(113,168,255,.28),transparent 46%),#121d2df0;color:#d9e8ff;box-shadow:0 12px 32px #00000057;padding:0;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.sj-chat-button:hover,.sj-chat-button:focus-visible{transform:translateY(-2px);border-color:#71a8ffc7;background:radial-gradient(circle at 20% 0%,rgba(113,168,255,.38),transparent 48%),#162a42fa}.sj-chat-button:focus-visible{outline:3px solid rgba(113,168,255,.28);outline-offset:3px}.sj-chat-button span{display:none}.sj-chat-button-unread{border-color:#f0bd57d1;color:#fff0c2}.sj-chat-badge{position:absolute;top:-7px;right:-5px;min-width:22px;height:22px;display:grid;place-items:center;border:2px solid rgba(15,21,31,.98);border-radius:999px;background:linear-gradient(180deg,#f3c95d,#d98325);color:#261405;font-size:11px;font-weight:950;font-variant-numeric:tabular-nums;line-height:1}.sj-turn-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#697071}.sj-turn-dot-on{background:var(--green);animation:sjGreenPulse 1.6s ease-in-out infinite}.sj-board-area{--sj-play-gap: 8px;flex:1 1 0;height:100%;min-height:0;display:flex;flex-direction:column;justify-content:space-between;gap:var(--sj-play-gap)}.sj-opponents{flex:0 0 auto;display:flex;flex-wrap:nowrap;justify-content:center;align-content:flex-start;align-items:flex-start;gap:8px;overflow:visible;padding:1px}.sj-play-column{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:var(--sj-play-gap)}.sj-center{--pile-effect-space: 10px;--pile-card-height: calc(var(--sj-pile-card-width, 56px) * 1.386364);--pile-item-width: calc(var(--sj-pile-card-width, 56px) + var(--pile-effect-space) * 2);--pile-item-height: calc(var(--pile-card-height) + var(--pile-effect-space) * 2);flex:0 0 auto;min-width:0;min-height:0;display:grid;place-items:center;align-self:center;padding:0;overflow:visible}.sj-action-panel{width:min(calc(var(--pile-item-width) * 2 + clamp(4px,calc(var(--sj-pile-card-width, 56px) * .1),10px)),92vw);min-height:var(--pile-item-height);display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;overflow:visible}.sj-action-card,.sj-action-deck{--sj-action-card-width: clamp(88px, min(12vw, 20vh), 148px);width:var(--sj-action-card-width);min-width:var(--sj-action-card-width);height:calc(var(--sj-action-card-width) * 122 / 88);min-height:calc(var(--sj-action-card-width) * 122 / 88);aspect-ratio:88 / 122;display:flex;flex-direction:column;gap:0;border:2px solid rgba(255,231,177,.7);border-radius:11px;background:#24152f;color:#fff;padding:0;text-align:left;cursor:pointer;overflow:hidden;box-shadow:0 10px 22px #00000057,inset 0 0 0 1px #ffffff1f;transition:transform .14s ease,filter .16s ease,border-color .16s ease}.sj-action-deck{align-items:center;justify-content:center;background:linear-gradient(145deg,#7b2f78,#3c285d);text-align:center;padding:10px}.sj-action-deck span{font-size:9px;font-weight:800;text-transform:uppercase}.sj-action-deck strong{font-size:11px;line-height:1.15}.sj-action-card-art{width:100%;flex:1 1 auto;min-height:0;display:block;background-position:center;background-size:cover;background-repeat:no-repeat}.sj-action-card-copy{min-height:clamp(42px,calc(var(--sj-action-card-width) * .42),58px);display:grid;align-content:center;border-top:1px solid rgba(255,231,177,.36);background:linear-gradient(145deg,#702765,#321c49);padding:5px 6px 6px}.sj-action-card-copy strong{font-size:clamp(8px,calc(var(--sj-action-card-width) * .09),13px);line-height:1.12}.sj-action-card:not(:disabled):hover{transform:translateY(-3px);filter:brightness(1.08);border-color:#ffe4a0}.sj-action-card:disabled,.sj-action-deck:disabled{cursor:default;opacity:.52}.sj-action-card-compact{--sj-action-card-width: clamp(78px, min(10vw, 17vh), 118px)}.sj-pile-group{width:100%;display:grid;grid-template-columns:repeat(2,max-content);grid-template-rows:none;align-items:center;justify-items:center;gap:clamp(4px,calc(var(--sj-pile-card-width, 56px) * .1),10px);overflow:visible}.sj-pile-button{position:relative;width:var(--pile-item-width);height:var(--pile-item-height);min-width:0;min-height:0;display:grid;place-items:center;align-items:center;justify-content:center;border:0;background:transparent;color:var(--text);padding:0;appearance:none;-webkit-appearance:none;overflow:visible;cursor:pointer;transition:transform .12s ease,filter .16s ease}.sj-pile-button:disabled{cursor:default;opacity:.72}.sj-pile-has-drawn:disabled{opacity:1}.sj-pile-button:not(:disabled):hover{transform:translateY(-2px);filter:brightness(1.06)}.sj-pile-active{filter:drop-shadow(0 0 10px rgba(240,189,87,.24))}.sj-pile-danger.sj-pile-active{filter:drop-shadow(0 0 10px rgba(239,106,97,.28))}.sj-drawn-card-overlay{position:absolute;inset:var(--pile-effect-space);z-index:3;display:grid;place-items:center;overflow:visible;pointer-events:none}.sj-drawn-from-deck{animation:sjDrawFromDeck .42s ease-out both}.sj-drawn-from-discard{animation:sjLiftFromDiscard .24s ease-out both}.sj-me-wrap{flex:0 1 auto;align-items:center;min-height:0;min-width:0;display:flex;justify-content:center}.sj-board{--card-width: 42px;--card-height: calc(var(--card-width) * 122 / 88);--board-bg-start: rgba(246, 117, 103, .93);--board-bg-end: rgba(187, 34, 42, .94);--board-border: rgba(255, 255, 255, .34);--board-border-width: 1px;--board-shadow: 0 18px 38px rgba(0, 0, 0, .28);--board-grid-gap: clamp(2px, calc(var(--card-width) * .085), 8px);--board-pad: clamp(5px, calc(var(--card-width) * .16), 16px);--board-block-gap: clamp(4px, calc(var(--card-width) * .1), 8px);--board-header-height: clamp(26px, calc(var(--card-width) * .4), 34px);--score-badge-width: clamp(40px, calc(var(--card-width) * .58), 52px);--score-badge-height: clamp(24px, calc(var(--board-header-height) * .88), 30px);--board-flow-gap: clamp(6px, calc(var(--card-width) * .14), 14px);--board-score-reserve: clamp(44px, calc(var(--score-badge-width) + 6px), 58px);--board-radius: clamp(8px, calc(var(--card-width) * .16), 14px);--board-width: calc(var(--card-width) * 4 + var(--board-grid-gap) * 3 + var(--board-pad) * 2 + var(--board-border-width) * 2);--board-height: calc(var(--card-height) * 3 + var(--board-grid-gap) * 2 + var(--board-header-height) + var(--board-block-gap) + var(--board-pad) * 2 + var(--board-border-width) * 2);width:var(--board-width);height:var(--board-height);max-width:100%;display:inline-flex;flex-direction:column;gap:var(--board-block-gap);border:var(--board-border-width) solid var(--board-border);border-radius:var(--board-radius);background:linear-gradient(180deg,var(--board-bg-start),var(--board-bg-end)),#14181ffa;box-shadow:var(--board-shadow);padding:var(--board-pad);margin-block:0;overflow:visible;position:relative;contain:layout style;transform:translateZ(0);backface-visibility:hidden;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.sj-board-me{--card-width: var(--sj-me-card-width, clamp(48px, min(18.5vw, 10.8vh), 88px));--card-height: var(--sj-me-card-height, calc(var(--card-width) * 122 / 88));--board-grid-gap: var(--sj-me-grid-gap, clamp(2px, calc(var(--card-width) * .085), 8px));--board-pad: var(--sj-me-board-pad, clamp(5px, calc(var(--card-width) * .16), 16px));--board-block-gap: var(--sj-me-board-block-gap, clamp(4px, calc(var(--card-width) * .1), 8px));--board-header-height: var(--sj-me-board-header-height, clamp(26px, calc(var(--card-width) * .4), 34px));--board-bg-start: rgba(112, 78, 112, .94);--board-bg-end: rgba(55, 40, 70, .96);margin-top:0;margin-bottom:0}.sj-board-opp{--card-width: var(--sj-opp-card-width, clamp(20px, min(5vw, 4.6vh), 38px));--card-height: var(--sj-opp-card-height, calc(var(--card-width) * 122 / 88));--board-grid-gap: var(--sj-opp-grid-gap, clamp(2px, calc(var(--card-width) * .085), 8px));--board-pad: var(--sj-opp-board-pad, clamp(5px, calc(var(--card-width) * .16), 16px));--board-block-gap: var(--sj-opp-board-block-gap, clamp(4px, calc(var(--card-width) * .1), 8px));--board-bg-start: rgba(18, 116, 122, .88);--board-bg-end: rgba(9, 70, 88, .9);--board-header-height: var(--sj-opp-board-header-height, clamp(30px, calc(var(--card-width) * .62), 38px));--score-badge-width: clamp(34px, calc(var(--card-width) * .92), 44px);--score-badge-height: clamp(22px, calc(var(--board-header-height) * .78), 28px);--board-score-reserve: clamp(38px, calc(var(--score-badge-width) + 5px), 49px)}.sj-board-me .sj-board-header,.sj-board-opp .sj-board-header{padding-left:clamp(3px,calc(var(--card-width) * .12),6px)}.sj-board-me .sj-player-main,.sj-board-opp .sj-player-main{gap:clamp(5px,calc(var(--card-width) * .14),8px)}.sj-board-opp.sj-board-active{animation:sjOpponentTurnPulse 1.4s ease-in-out infinite}.sj-board-header{min-width:0;height:var(--board-header-height);flex:0 0 var(--board-header-height);display:flex;flex-direction:column;justify-content:center;gap:0;align-items:flex-start;padding:0 var(--board-score-reserve) 0 0;overflow:hidden}.sj-player-main{min-width:0;max-width:100%;height:100%;display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:clamp(3px,calc(var(--card-width) * .06),5px);overflow:hidden;line-height:1}.sj-player-name{flex:1 1 auto;min-width:0;max-width:22ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(11px,calc(var(--card-width) * .15),14px);font-weight:900}.sj-total-score-badge{position:absolute;top:var(--board-pad);right:var(--board-pad);z-index:2;width:var(--score-badge-width);height:var(--score-badge-height);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.82);border-radius:999px;background:linear-gradient(180deg,#68df3e,#18aa28);box-shadow:0 7px 14px #00000047,inset 0 -2px #00000024;color:#fff;padding:0 6px;text-align:center}.sj-total-score-badge strong{font-size:clamp(12px,calc(var(--score-badge-height) * .54),17px);font-weight:600;line-height:1;font-variant-numeric:tabular-nums;max-width:3ch;overflow:hidden}.sj-last-round-inline{min-height:16px;display:inline-flex;align-items:center;border-radius:999px;background:#62d27f26;color:#c7f5d1;padding:2px 5px;font-size:9px;font-weight:900;white-space:nowrap}.sj-player-dot{width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:#6e7474}.sj-player-dot-online{background:var(--green)}.sj-player-dot-offline{background:var(--red)}.sj-grid{position:relative;display:grid;grid-template-columns:repeat(4,var(--card-width));grid-template-rows:repeat(3,var(--card-height));gap:var(--board-grid-gap);align-items:start;justify-items:start;overflow:visible;isolation:isolate}.sj-card{--sj-card-frame-color: rgba(255, 255, 255, .52);--sj-card-frame-width: 1.2;--sj-card-frame-opacity: .92;width:var(--sj-card-width, 64px);height:var(--sj-card-height, calc(var(--sj-card-width, 64px) * 122 / 88));aspect-ratio:88 / 122;display:block;overflow:visible;border:0;border-radius:12.5%/9.0164%;-webkit-tap-highlight-color:transparent;touch-action:manipulation;outline:none;filter:drop-shadow(0 4px 5px rgba(0,0,0,.38));transition:none;shape-rendering:geometricPrecision;transform-box:fill-box;transform-origin:center;backface-visibility:hidden}.sj-card-size-table{--sj-card-width: var(--card-width, 76px);--sj-card-height: var(--card-height, calc(var(--card-width, 76px) * 122 / 88))}.sj-card-size-pile{--sj-card-width: var(--sj-pile-card-width, clamp(48px, min(9vw, 12vh), 78px));--sj-card-height: calc(var(--sj-card-width) * 122 / 88)}.sj-board .sj-card[role=button]{cursor:pointer}.sj-card-removed{--sj-card-frame-color: rgba(255, 255, 255, .3);--sj-card-frame-width: 1.35;filter:none;box-shadow:none}.sj-card-removed-fill{fill:#ffffff0a}.sj-card-frame{fill:none;stroke:var(--sj-card-frame-color);stroke-width:var(--sj-card-frame-width);stroke-opacity:var(--sj-card-frame-opacity);stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.sj-card-frame-removed{stroke-dasharray:2.2 3}.sj-card-back{--sj-card-frame-color: rgba(255, 255, 255, .34);--sj-card-frame-width: 1.25}.sj-card-highlighted{--sj-card-frame-color: rgba(240, 189, 87, .96);--sj-card-frame-width: 2.05;--sj-card-frame-opacity: .96}.sj-card-selected{--sj-card-frame-color: rgba(255, 225, 157, .98);--sj-card-frame-width: 2.25;--sj-card-frame-opacity: 1}.sj-card-highlighted .sj-card-frame,.sj-card-pulse .sj-card-frame{animation:sjCardFramePulse 1.18s ease-in-out infinite}.sj-card-selected .sj-card-frame{animation:sjCardFrameSelected 1.25s ease-in-out infinite}.sj-card-pulse{--sj-card-frame-color: rgba(240, 189, 87, .9);--sj-card-frame-width: 1.9;--sj-card-frame-opacity: .9}.sj-card-danger{--sj-card-frame-color: rgba(239, 106, 97, .96);--sj-card-frame-width: 2.05;--sj-card-frame-opacity: 1}.sj-card-flip{animation:sjFlipIn .32s ease both;transform-box:fill-box;transform-origin:center;transform-style:preserve-3d}.sj-card-reveal{animation:sjCardRevealIn .3s ease-out both;will-change:transform,opacity,filter}.sj-card-reveal .sj-card-frame{animation:sjCardRevealFrame .36s ease-out both}.sj-card-dim{opacity:.55}.sj-overlay{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:18px;background:#05080cc7;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.sj-modal-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px;background:#05080cd1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.sj-confirm-modal{width:min(380px,100%);border:1px solid var(--line-strong);border-radius:10px;background:#171b24;box-shadow:0 24px 70px #00000085;padding:22px}.sj-confirm-modal h2{margin:0;font-size:21px}.sj-confirm-modal p{margin:10px 0 20px;color:var(--muted);font-size:14px;line-height:1.45}.sj-chat-modal{width:min(540px,100%);height:min(88dvh,720px);max-height:min(88dvh,720px);min-height:420px;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(113,168,255,.38);border-radius:16px;background:radial-gradient(circle at 0% 0%,rgba(113,168,255,.18),transparent 38%),radial-gradient(circle at 100% 0%,rgba(222,105,177,.14),transparent 42%),#111722fa;box-shadow:0 28px 80px #0009}.sj-chat-modal:focus{outline:none}.sj-chat-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(255,255,255,.09);padding:18px 18px 14px}.sj-chat-head span{color:#80b6ff;font-size:10px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.sj-chat-head h2{margin:2px 0 0;font-size:clamp(24px,5vw,34px);line-height:1}.sj-chat-close{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:#ffffff0f;color:var(--text);cursor:pointer}.sj-chat-close:hover,.sj-chat-close:focus-visible{border-color:#71a8ff94;background:#71a8ff1f}.sj-chat-close:focus-visible{outline:3px solid rgba(113,168,255,.28);outline-offset:2px}.sj-chat-messages{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:12px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;padding:18px}.sj-chat-messages::-webkit-scrollbar{display:none}.sj-chat-empty{flex:1;min-height:220px;display:grid;place-content:center;gap:6px;border:1px dashed rgba(113,168,255,.22);border-radius:14px;background:#ffffff09;color:var(--muted);text-align:center}.sj-chat-empty strong{color:var(--text);font-size:17px}.sj-chat-empty span{font-size:13px}.sj-chat-message{display:flex;align-items:flex-end;gap:9px}.sj-chat-message-grouped{margin-top:-7px}.sj-chat-message-grouped:not(.sj-chat-message-me){padding-left:37px}.sj-chat-message-me{justify-content:flex-end}.sj-chat-avatar{width:28px;height:28px;flex:0 0 auto;display:grid;place-items:center;border-radius:999px;background:linear-gradient(145deg,#3d71ac,#1c3c61);color:#eaf3ff;font-size:12px;font-weight:950}.sj-chat-bubble{max-width:min(78%,390px);border:1px solid rgba(255,255,255,.1);border-radius:15px 15px 15px 5px;background:#ffffff13;padding:9px 11px 10px}.sj-chat-message-me .sj-chat-bubble{border-color:#f0bd5747;border-radius:15px 15px 5px;background:linear-gradient(145deg,#7f4a8b73,#5c307a9e),#ffffff0f}.sj-chat-message-grouped .sj-chat-bubble{border-top-left-radius:8px}.sj-chat-message-me.sj-chat-message-grouped .sj-chat-bubble{border-top-left-radius:15px;border-top-right-radius:8px}.sj-chat-meta{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:4px}.sj-chat-meta strong{min-width:0;overflow:hidden;color:#f5f7ff;font-size:12px;font-weight:950;text-overflow:ellipsis;white-space:nowrap}.sj-chat-meta time{flex:0 0 auto;color:#ffffff73;font-size:10px;font-weight:800;font-variant-numeric:tabular-nums}.sj-chat-bubble p{margin:0;color:#f4f5f1;font-size:14px;line-height:1.32;overflow-wrap:anywhere;white-space:pre-wrap}.sj-chat-form{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:10px;border-top:1px solid rgba(255,255,255,.09);padding:14px;background:#080c1359}.sj-chat-form input{min-width:0;height:44px;border:1px solid rgba(255,255,255,.14);border-radius:999px;background:#ffffff12;color:var(--text);padding:0 15px;outline:none}.sj-chat-form input:focus{border-color:#71a8ffad;box-shadow:0 0 0 3px #71a8ff29}.sj-chat-form input::placeholder{color:#f4f5f16b}.sj-chat-send{width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(240,189,87,.38);border-radius:999px;background:linear-gradient(145deg,#f0bd57,#c77926);color:#241404;padding:0;line-height:1;cursor:pointer}.sj-chat-send svg{display:block}.sj-chat-send:disabled{cursor:default;filter:grayscale(.75);opacity:.42}.sj-defense-prompt-modal{align-items:center;text-align:center}.sj-defense-countdown{width:88px;height:88px;display:grid;place-items:center;align-content:center;justify-self:center;border:2px solid rgba(240,189,87,.78);border-radius:999px;background:#f0bd571f;color:#ffe8a8;margin:2px auto 18px;box-shadow:0 0 22px #f0bd572e}.sj-defense-countdown strong{font-size:34px;line-height:.95;font-variant-numeric:tabular-nums}.sj-defense-countdown span{font-size:11px;font-weight:900;text-transform:uppercase}.sj-action-draw-modal{width:min(920px,100%);max-height:min(88dvh,720px);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(222,105,177,.5);border-radius:12px;background:radial-gradient(circle at 100% 0%,rgba(128,45,114,.28),transparent 36%),#171b24;box-shadow:0 24px 70px #0000008f;padding:clamp(16px,3vw,24px)}.sj-action-draw-modal:focus{outline:none}.sj-action-draw-modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.sj-action-draw-modal h2{margin:0;font-size:clamp(20px,4vw,28px)}.sj-action-hand-dock{position:fixed;top:clamp(82px,11dvh,104px);right:0;z-index:32;width:30px;height:calc(72px + var(--sj-action-tab-stack));border:0;background:transparent;padding:0;cursor:pointer}.sj-action-hand-tab{position:absolute;top:var(--sj-action-tab-top);right:-58px;width:76px;height:72px;border:2px solid rgba(255,255,255,.6);border-right:0;border-radius:9px 0 0 9px;background:linear-gradient(145deg,#d64a92,#702765);box-shadow:5px 8px 18px #00000047;transition:right .16s ease,filter .16s ease}.sj-action-hand-dock:hover .sj-action-hand-tab,.sj-action-hand-dock:focus-visible .sj-action-hand-tab{right:-52px;filter:brightness(1.08)}.sj-action-hand-dock:focus-visible{outline:3px solid rgba(240,189,87,.42);outline-offset:3px}.sj-action-hand-count{position:absolute;top:-10px;right:8px;z-index:10;min-width:28px;height:26px;display:grid;place-items:center;border:2px solid #fff1c4;border-radius:999px;background:var(--amber);color:#211400;padding:0 5px;font-size:12px;font-variant-numeric:tabular-nums;box-shadow:0 5px 15px #00000057;transition:transform .16s ease}.sj-action-hand-dock:hover .sj-action-hand-count,.sj-action-hand-dock:focus-visible .sj-action-hand-count{transform:translate(-2px)}.sj-action-hand-modal{position:relative;width:min(920px,100%);max-height:min(88dvh,720px);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(222,105,177,.5);border-radius:12px;background:radial-gradient(circle at 0% 0%,rgba(214,74,146,.2),transparent 38%),#171b24;box-shadow:0 24px 70px #0000008f;padding:clamp(16px,3vw,24px)}.sj-action-hand-modal:focus{outline:none}.sj-action-hand-modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.sj-action-hand-modal-head span{color:#e889c2;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.sj-action-hand-modal h2{margin:0;font-size:clamp(20px,4vw,28px)}.sj-action-hand-modal-close{width:38px;height:38px;flex:0 0 auto;border:1px solid var(--line-strong);border-radius:8px;background:#ffffff0f;color:var(--text);font-size:26px;line-height:1;cursor:pointer}.sj-action-hand-modal-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;margin-top:18px;padding-bottom:4px}.sj-action-hand-modal-scroll::-webkit-scrollbar{display:none}.sj-action-hand-modal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,max-content));justify-content:center;gap:clamp(12px,2vw,22px)}.sj-action-hand-modal-item{width:max-content;min-width:0;display:grid;gap:7px;padding:3px}.sj-action-hand-modal-item .sj-action-card,.sj-action-hand-modal-item .sj-action-deck{--sj-action-card-width: clamp(106px, min(15vw, 24vh), 176px)}.sj-action-hand-modal-item-playable{filter:drop-shadow(0 0 10px rgba(240,189,87,.2))}.sj-action-hand-scroll-indicator{position:absolute;right:0;bottom:0;left:0;z-index:3;min-height:58px;display:flex;align-items:flex-end;justify-content:center;gap:7px;padding:26px 16px 10px;background:linear-gradient(transparent,#171b24fa 62%);color:#f4c762;font-size:12px;font-weight:800;letter-spacing:.02em;pointer-events:none}.sj-action-hand-scroll-indicator strong{font-size:18px;line-height:.8;animation:sj-scroll-indicator 1.1s ease-in-out infinite}@keyframes sj-scroll-indicator{50%{transform:translateY(4px)}}.sj-action-hand-modal-close:focus-visible,.sj-action-hand-modal-item .sj-action-card:focus-visible,.sj-action-hand-modal-item .sj-action-deck:focus-visible{outline:3px solid rgba(240,189,87,.42);outline-offset:2px}.sj-action-steal-modal{width:min(760px,100%)}.sj-action-hand-modal h2 .sj-action-modal-title-name{color:#e889c2;font-size:inherit;font-weight:900;letter-spacing:normal;line-height:inherit;text-transform:none}.sj-action-steal-player-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-top:18px}.sj-action-steal-player{min-height:86px;display:grid;align-content:center;gap:6px;border:1px solid rgba(240,189,87,.44);border-radius:12px;background:radial-gradient(circle at 20% 0%,rgba(240,189,87,.18),transparent 42%),#ffffff0e;color:var(--text);padding:14px;text-align:left;cursor:pointer;transition:transform .14s ease,border-color .16s ease,background .16s ease}.sj-action-steal-player:not(:disabled):hover{transform:translateY(-2px);border-color:#f0bd57d1;background:radial-gradient(circle at 20% 0%,rgba(240,189,87,.26),transparent 42%),#ffffff14}.sj-action-steal-player:disabled{cursor:default;opacity:.48}.sj-action-steal-player strong{font-size:17px}.sj-action-steal-player span{color:var(--muted);font-size:12px;font-weight:800}.sj-action-steal-card-grid{grid-template-columns:repeat(auto-fit,minmax(106px,max-content))}.sj-action-play-discard-modal{width:min(760px,100%)}.sj-action-play-discard-empty{margin:18px 0 0;color:var(--muted);font-size:14px;font-weight:800}.sj-action-draw-three-modal{width:min(720px,100%)}.sj-action-draw-three-grid{display:grid;grid-template-columns:repeat(3,max-content);justify-content:center;gap:clamp(12px,3vw,22px);margin-top:18px}.sj-action-draw-three-choice{--sj-pile-card-width: clamp(82px, min(16vw, 22vh), 122px);width:var(--sj-pile-card-width);height:calc(var(--sj-pile-card-width) * 122 / 88);border:0;background:transparent;padding:0;cursor:pointer;transition:transform .14s ease,filter .16s ease}.sj-action-draw-three-choice{display:grid;place-items:center}.sj-action-draw-three-choice .sj-card{width:100%}.sj-action-draw-three-none{align-self:center;margin:18px auto 0}.sj-action-draw-three-choice:hover{transform:translateY(-3px);filter:brightness(1.08)}.sj-action-draw-three-choice:focus-visible{outline:3px solid rgba(240,189,87,.42);outline-offset:2px;border-radius:12px}@media(max-width:520px){.sj-action-draw-three-grid{gap:clamp(8px,2vw,12px)}.sj-action-draw-three-choice{--sj-pile-card-width: clamp(76px, 26vw, 106px)}}.sj-modal-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sj-round-countdown{min-height:68px;display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;border:1px solid rgba(240,189,87,.34);border-radius:8px;background:#f0bd571a;padding:9px 12px;color:#ffe1a0}.sj-round-countdown strong{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--amber);color:#211400;font-size:24px;font-variant-numeric:tabular-nums}.sj-round-countdown span{font-size:14px;font-weight:900}.sj-score-table{width:100%;border-collapse:collapse;overflow:hidden;border-radius:8px}.sj-score-table th,.sj-score-table td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:center;font-size:14px}.sj-score-table th{color:var(--muted);font-size:12px;text-transform:uppercase}.sj-score-table td:first-child,.sj-score-table th:first-child{text-align:left}@media(max-height:720px){.sj-app-shell{gap:6px;padding:7px}.sj-exit-button{width:40px;height:40px}.sj-action-hand-dock{top:74px}.sj-opponents{gap:8px}.sj-action-panel{width:min(calc(var(--pile-item-width) * 2 + 6px),92vw)}.sj-total-score-badge strong{font-size:clamp(11px,calc(var(--score-badge-height) * .52),15px)}.sj-last-round-inline{min-height:14px;padding:1px 4px;font-size:8px}}@media(max-width:899px){.sj-pile-button{transition:none}.sj-pile-button:not(:disabled):hover{transform:none;filter:none}.sj-pile-active,.sj-pile-danger.sj-pile-active{filter:none}.sj-play-column{flex:1 1 0;min-height:0;display:grid;grid-template-rows:max-content minmax(0,1fr);align-content:stretch;justify-content:initial;justify-items:center;row-gap:var(--sj-play-gap)}.sj-play-column .sj-center{grid-row:1;width:100%;align-self:center}.sj-play-column .sj-me-wrap{grid-row:2;width:100%;height:auto;min-height:0;align-self:stretch;display:grid;place-items:start center}}@media(max-width:640px){.sj-chat-button{left:10px;bottom:10px;width:42px;height:42px;padding:0}.sj-chat-modal{width:100%;height:min(88dvh,720px);max-height:min(88dvh,720px);min-height:360px;border-radius:14px}.sj-chat-head{padding:15px 15px 12px}.sj-chat-messages{gap:10px;padding:14px}.sj-chat-bubble{max-width:84%}.sj-chat-form{grid-template-columns:minmax(0,1fr) 42px;gap:8px;padding:12px}.sj-chat-form input,.sj-chat-send{height:42px}.sj-chat-send{width:42px;padding:0}.sj-app-shell:not(.sj-lobby-room)>.sj-exit-button{position:relative;top:auto;right:auto;flex:0 0 auto;align-self:flex-end}.sj-app-shell.sj-two-player-game>.sj-exit-button{position:absolute;top:7px;right:7px}.sj-board-me{--card-width: var(--sj-me-card-width, clamp(28px, min(19vw, 11vh), 88px))}.sj-opponents{flex:0 0 auto;flex-wrap:nowrap;width:100%;justify-content:flex-start;align-content:flex-start;align-items:flex-start;gap:10px;overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:7px clamp(8px,3vw,14px) 10px}.sj-opponents::-webkit-scrollbar{display:none}.sj-opponents-count-1{justify-content:center;overflow-x:visible;padding-inline:0}.sj-board-opp{flex:0 0 auto;scroll-snap-align:center;--card-width: var(--sj-opp-card-width, clamp(24px, min(9.5vw, 5.8vh), 42px));--card-height: var(--sj-opp-card-height, calc(var(--card-width) * 122 / 88));--board-grid-gap: var(--sj-opp-grid-gap, clamp(2px, calc(var(--card-width) * .085), 8px));--board-header-height: var(--sj-opp-board-header-height, clamp(24px, calc(var(--card-width) * .5), 32px));--score-badge-width: clamp(31px, calc(var(--card-width) * .78), 42px);--score-badge-height: clamp(21px, calc(var(--board-header-height) * .82), 28px);--board-score-reserve: clamp(36px, calc(var(--score-badge-width) + 5px), 48px);--board-pad: var(--sj-opp-board-pad, clamp(5px, calc(var(--card-width) * .15), 9px));--board-block-gap: var(--sj-opp-board-block-gap, clamp(4px, calc(var(--card-width) * .09), 7px))}.sj-board-opp .sj-player-name{font-size:clamp(10px,calc(var(--card-width) * .28),13px);max-width:14ch}.sj-board-opp .sj-player-dot{width:clamp(6px,calc(var(--card-width) * .18),8px);height:clamp(6px,calc(var(--card-width) * .18),8px)}.sj-board-opp .sj-total-score-badge{border-width:clamp(1px,calc(var(--card-width) * .04),2px);padding-inline:4px}.sj-board-area{flex:1 1 0;height:auto;justify-content:flex-start;gap:var(--sj-play-gap)}.sj-action-panel{width:min(calc(var(--pile-item-width) * 2 + 6px),92vw)}.sj-action-hand-dock{top:82px;width:28px}.sj-action-hand-tab{right:-62px;width:76px;height:64px}.sj-action-hand-dock:hover .sj-action-hand-tab,.sj-action-hand-dock:focus-visible .sj-action-hand-tab{right:-56px}.sj-action-hand-modal-grid{grid-template-columns:repeat(auto-fit,minmax(122px,max-content));gap:12px}.sj-action-hand-modal-item .sj-action-card,.sj-action-hand-modal-item .sj-action-deck{--sj-action-card-width: clamp(122px, 38vw, 156px)}.sj-pile-group{width:100%;grid-template-columns:repeat(2,var(--pile-item-width));justify-content:center;gap:6px}.sj-player-name{max-width:16ch}}@media(min-width:980px)and (min-height:760px){.sj-app-shell{padding:18px;gap:14px}.sj-opponents{gap:8px}}@media(min-width:900px)and (min-height:620px){.sj-action-hand-modal,.sj-action-draw-modal{width:min(760px,92vw)}.sj-action-hand-modal-grid{grid-template-columns:repeat(3,max-content);align-items:start;gap:clamp(18px,3vw,30px)}.sj-action-hand-dock{top:auto;right:0;bottom:clamp(18px,3vh,32px)}.sj-action-hand-tab{right:-64px}.sj-action-hand-dock:hover .sj-action-hand-tab,.sj-action-hand-dock:focus-visible .sj-action-hand-tab{right:-58px}.sj-play-column{width:100%;height:100%;display:grid;grid-template-columns:minmax(0,1fr) max-content minmax(112px,1fr);grid-template-rows:minmax(0,1fr);align-items:stretch;justify-items:center;gap:clamp(16px,3vw,42px)}.sj-me-wrap{grid-column:2;grid-row:1;width:100%;height:100%;justify-self:center;align-self:stretch;display:grid;place-items:end center}.sj-center{position:fixed;top:50%;right:clamp(12px,3vw,36px);z-index:12;transform:translateY(-50%)}.sj-action-panel{width:var(--pile-item-width)}.sj-pile-group{grid-template-columns:1fr;width:100%;gap:clamp(12px,calc(var(--sj-pile-card-width, 72px) * .2),18px)}.sj-card-size-pile{--sj-card-width: var(--sj-pile-card-width, clamp(62px, min(7.2vw, 12.5vh), 96px))}}
