*{box-sizing:border-box}
.p360-sl-app{position:relative;width:100%;max-width:620px;margin:0 auto;overflow:hidden;background:radial-gradient(circle at 50% 0,#ffe9c2 0,#d86b34 24%,#68161c 62%,#25070b 100%);border-radius:24px;font-family:Arial,Helvetica,sans-serif;color:#fff;user-select:none;-webkit-user-select:none;padding:12px 10px 14px;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.p360-sl-main{position:relative;min-height:1000px;padding:0 4px;background:linear-gradient(180deg,rgba(255,255,255,.08),transparent 13%,rgba(0,0,0,.12));border-radius:20px}
.sl-top{height:72px;display:flex;align-items:center;justify-content:space-between;padding:5px 8px 10px;position:relative;z-index:20}
.sl-brand{font-family:Impact,"Arial Black",sans-serif;letter-spacing:.3px;font-size:clamp(25px,5vw,42px);line-height:.9;color:#fff;text-shadow:0 3px 0 #611010,0 5px 12px rgba(0,0,0,.5);display:flex;align-items:center;gap:5px;white-space:nowrap}.sl-brand em{color:#ffd329;font-style:normal}.sl-brand-snake,.sl-brand-ladder{font-size:.65em;filter:drop-shadow(0 2px 2px #000)}
.sl-top-badges{display:flex;gap:6px;align-items:center}.sl-status-pill,.sl-timer-pill{font-size:11px;font-weight:900;padding:7px 9px;border-radius:999px;border:2px solid rgba(255,255,255,.65);background:rgba(20,9,10,.75);box-shadow:0 3px 8px rgba(0,0,0,.35);white-space:nowrap}.sl-timer-pill{background:#ffd328;color:#3d1207;border-color:#fff2a5;min-width:42px;text-align:center}
.sl-board-shell{position:relative;width:100%;padding:7px;border-radius:18px;background:linear-gradient(145deg,#ffe987,#a86b14 35%,#4a180b 100%);box-shadow:0 8px 18px rgba(0,0,0,.48),inset 0 0 0 2px rgba(255,255,255,.55);z-index:5}.sl-board{position:relative;width:100%;aspect-ratio:704/750;display:grid;grid-template-columns:repeat(10,1fr);grid-template-rows:repeat(10,1fr);background:url("board-reference.png") center/100% 100% no-repeat;overflow:hidden;border:3px solid #15100e;border-radius:2px}.sl-board-shine{position:absolute;inset:7px;border-radius:12px;pointer-events:none;background:linear-gradient(125deg,rgba(255,255,255,.18),transparent 22%,transparent 70%,rgba(255,255,255,.08));mix-blend-mode:screen}
.sl-cell{position:relative;min-width:0;min-height:0;background:transparent}.sl-num{display:none}
.sl-token{position:absolute;z-index:10;left:50%;top:54%;width:30px;height:40px;transform:translate(-50%,-50%);border:0;background:transparent;border-radius:50%;filter:drop-shadow(0 4px 3px rgba(0,0,0,.65));animation:tokenIn .24s ease;display:block}.sl-token:before{content:"";position:absolute;left:2px;top:0;width:25px;height:25px;border-radius:50%;background:radial-gradient(circle at 35% 28%,#fff,#fff 18%,currentColor 23%,currentColor 100%);border:3px solid #fff;box-shadow:0 1px 0 #4a160d,0 2px 4px rgba(0,0,0,.55)}.sl-token:after{content:"";position:absolute;left:9px;top:22px;width:13px;height:18px;background:linear-gradient(90deg,currentColor,#fff 50%,currentColor);clip-path:polygon(12% 0,88% 0,100% 100%,0 100%);border-radius:3px}.token-red{color:#ed1824}.token-blue{color:#1266ff}
@keyframes tokenIn{from{opacity:.2;transform:translate(-50%,-50%) scale(.55) rotate(-8deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}
.sl-controls{position:relative;margin-top:12px;height:165px;display:grid;grid-template-columns:1fr 150px 1fr;gap:8px;align-items:end;padding:8px 3px 0;z-index:15}.sl-player{text-align:center;font-weight:900;z-index:4}.sl-player-name{font-size:14px;text-transform:uppercase;letter-spacing:.7px;text-shadow:0 2px 3px #000;margin-bottom:5px}.sl-online-dot{display:inline-block;width:8px;height:8px;background:#38e27c;border-radius:50%;box-shadow:0 0 7px #38e27c;margin-right:4px}.sl-player-card{height:76px;border-radius:15px;background:linear-gradient(135deg,#1165d9,#0c2f86);border:3px solid #ffd52d;box-shadow:0 5px 10px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.5);position:relative;display:flex;align-items:center;justify-content:center;gap:18px;overflow:hidden}.sl-player.comp .sl-player-card{background:linear-gradient(135deg,#c4202b,#6c1018)}.sl-player-card:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.18),transparent 40%)}.sl-player-card strong,.sl-player-card small{display:block;text-align:left;position:relative;z-index:2}.sl-player-card strong{font-size:12px}.sl-player-card small{font-size:9px;color:#ffe25a;margin-top:3px}.sl-mini-token{position:relative;width:32px;height:43px;display:block;z-index:2}.sl-mini-token:before{content:"";position:absolute;left:2px;top:0;width:27px;height:27px;border-radius:50%;background:#fff;border:4px solid currentColor;box-shadow:0 2px 3px #111}.sl-mini-token:after{content:"";position:absolute;left:10px;top:23px;width:13px;height:20px;background:currentColor;clip-path:polygon(0 0,100% 0,50% 100%)}.sl-mini-token.red{color:#ff2030}.sl-mini-token.blue{color:#19a5ff}
.sl-center-control{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}.sl-turn-label{font-size:11px;font-weight:900;color:#ffd52d;letter-spacing:1.3px;text-shadow:0 2px 2px #000;margin-bottom:4px}.sl-free{width:86px;text-align:center;color:#ffe04a;font-weight:900;text-shadow:0 2px 2px #000;font-size:12px}.sl-free-icon{width:56px;height:56px;margin:0 auto 3px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#9a6820,#3d1a0b);border:4px solid #ffd42e;box-shadow:0 0 0 3px rgba(0,0,0,.35),inset 0 0 12px rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:27px}
#sl-roll{position:absolute;left:50%;top:16px;transform:translateX(-50%);width:88px;height:88px;border:4px solid #fff1a1;border-radius:20px;background:linear-gradient(145deg,#ffdf35,#e48700);box-shadow:0 6px 0 #8d3c05,0 10px 18px rgba(0,0,0,.45),inset 0 2px 0 rgba(255,255,255,.75);padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:20}.sl-center-control #sl-roll{top:15px}.sl-center-control{position:relative}.sl-center-control #sl-roll{position:absolute}.#sl-roll:disabled{opacity:.92;cursor:default}.sl-center-control #sl-roll{font-size:0}#sl-roll.rolling .sl-die{animation:diceShake .6s linear}@keyframes diceShake{0%,100%{transform:rotate(0) scale(1)}25%{transform:rotate(-14deg) scale(1.08)}50%{transform:rotate(14deg) scale(.92)}75%{transform:rotate(-9deg) scale(1.04)}}
.sl-die{position:relative;width:58px;height:58px;background:linear-gradient(145deg,#fff,#e9e9e9);border:2px solid #9c9c9c;border-radius:13px;box-shadow:0 4px 5px rgba(0,0,0,.35),inset 0 2px 3px #fff;display:block}.sl-pip{position:absolute;width:11px;height:11px;border-radius:50%;background:#191919;box-shadow:inset 0 1px 1px #777;display:none}.sl-pip.p1{left:40%;top:40%}.sl-pip.p2{left:18%;top:18%}.sl-pip.p3{left:62%;top:62%}.sl-pip.p4{left:18%;top:62%}.sl-pip.p5{left:62%;top:18%}.sl-pip.p6{left:18%;top:40%}.sl-pip.p7{left:62%;top:40%}.sl-die[data-value="1"] .p1,.sl-die[data-value="2"] .p2,.sl-die[data-value="2"] .p3,.sl-die[data-value="3"] .p2,.sl-die[data-value="3"] .p1,.sl-die[data-value="3"] .p3,.sl-die[data-value="4"] .p2,.sl-die[data-value="4"] .p4,.sl-die[data-value="4"] .p5,.sl-die[data-value="4"] .p3,.sl-die[data-value="5"] .p2,.sl-die[data-value="5"] .p4,.sl-die[data-value="5"] .p1,.sl-die[data-value="5"] .p5,.sl-die[data-value="5"] .p3,.sl-die[data-value="6"] .p2,.sl-die[data-value="6"] .p4,.sl-die[data-value="6"] .p6,.sl-die[data-value="6"] .p5,.sl-die[data-value="6"] .p3,.sl-die[data-value="6"] .p7{display:block}
#sl-dice{display:none}#sl-message{position:absolute;left:50%;bottom:0;transform:translateX(-50%);min-width:180px;text-align:center;color:#fff;font-size:11px;font-weight:800;text-shadow:0 1px 2px #000}.sl-message-pill:empty{display:none}.sl-message-pill{background:rgba(0,0,0,.65);padding:6px 10px;border-radius:999px;border:1px solid rgba(255,215,60,.5)}
.sl-menu-btn{position:absolute;right:10px;bottom:12px;width:46px;height:46px;border-radius:14px;border:2px solid #ffd63c;background:linear-gradient(145deg,#2e91ff,#084eac);box-shadow:0 5px 10px rgba(0,0,0,.45);z-index:30;color:#fff;font-size:22px;cursor:pointer}.sl-menu-panel{position:absolute;left:10px;right:10px;bottom:68px;max-height:65%;overflow:auto;background:linear-gradient(180deg,#231c20,#110c0e);border:2px solid #e0ad2d;border-radius:18px;padding:14px;z-index:40;display:none;box-shadow:0 12px 30px rgba(0,0,0,.7)}.sl-menu-panel.open{display:block}.sl-menu-panel h3{margin:0 0 8px;font-size:17px;color:#ffd63c}.p360-sl-left,.p360-sl-right{background:transparent;padding:0}.sl-stakes{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0}.sl-stake,.sl-room,.sl-primary,.sl-secondary,#sl-challenge{border:0;border-radius:10px;padding:10px;cursor:pointer;font-weight:800}.sl-stake{background:#3b2a24;color:#fff;border:1px solid #76523a}.sl-stake.selected{outline:2px solid #35e27d;background:#174d34}.sl-primary{width:100%;background:linear-gradient(90deg,#16a05a,#2bd777);color:#fff}.sl-secondary{width:100%;background:linear-gradient(90deg,#1c72db,#55a8ff);color:#fff;margin-top:8px}.sl-room{display:block;width:100%;margin:7px 0;color:#fff;text-align:left}.sl-room-open{background:linear-gradient(135deg,#0f7b3e,#19b65e);border:1px solid #5dff9b;box-shadow:0 5px 14px rgba(0,0,0,.25);position:relative;overflow:hidden}.sl-room-open:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(255,255,255,.13),transparent 45%);pointer-events:none}.sl-room-open:hover{filter:brightness(1.08);transform:translateY(-1px)}.sl-room-open:disabled{opacity:.65;cursor:wait;transform:none}.sl-room-top,.sl-room-info,.sl-room-timer{display:flex;align-items:center;justify-content:space-between;gap:8px;position:relative;z-index:1}.sl-room-top{font-size:11px}.sl-room-live{font-size:9px;font-weight:900;background:#063c1e;padding:3px 6px;border-radius:999px;color:#8dffb9}.sl-room-info{margin-top:5px;font-size:12px}.sl-room-timer{margin-top:6px;font-size:10px;color:#eafff0}.sl-room-open.joining{animation:slRoomPulse .8s infinite alternate}@keyframes slRoomPulse{from{box-shadow:0 5px 14px rgba(0,0,0,.25)}to{box-shadow:0 0 0 4px rgba(63,255,143,.2),0 7px 18px rgba(0,0,0,.35)}}.sl-rule{font-size:11px;line-height:1.5;color:#d6cdd0}.sl-h{font-size:11px;padding:8px;border-bottom:1px solid #382c31}.sl-empty{font-size:11px;color:#a99da2;padding:8px}.sl-challenge{padding:8px 0;border-bottom:1px solid #382c31;font-size:11px}.sl-challenge button{margin-top:5px;background:#21a366;color:#fff;border:0;border-radius:6px;padding:6px 9px}#sl-challenges{margin-top:8px}#sl-challenge-user,#sl-challenge-stake{width:100%;box-sizing:border-box;padding:9px;margin-top:6px;background:#fff;border:0;border-radius:7px}.p360-sl-msg{max-width:620px;margin:0 auto;padding:20px;background:#181d27;color:#fff;border-radius:12px}@media(max-width:520px){.p360-sl-app{border-radius:16px;padding:8px}.p360-sl-main{min-height:850px}.sl-top{height:60px}.sl-brand{font-size:25px}.sl-top-badges{gap:3px}.sl-status-pill,.sl-timer-pill{font-size:9px;padding:5px 6px}.sl-controls{height:145px;grid-template-columns:1fr 105px 1fr}.sl-player-card{height:65px;gap:7px}.sl-player-card strong{font-size:9px}.sl-player-card small{font-size:7px}.sl-mini-token{transform:scale(.8)}#sl-roll{width:72px;height:72px}.sl-die{width:48px;height:48px}.sl-pip{width:9px;height:9px}}

.sl-wallet{display:flex;align-items:center;gap:7px;padding:6px 8px 6px 7px;border-radius:14px;background:linear-gradient(135deg,#211b08,#5b4308);border:1px solid rgba(255,215,80,.55);box-shadow:0 4px 15px rgba(0,0,0,.22);font-size:11px;color:#ffe69a}
.sl-wallet b{display:block;color:#fff;font-size:14px;line-height:1.05}
.sl-wallet-icon{width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#ffe77b,#d99c13);color:#392700;font-weight:900}
.sl-wallet button{border:0;border-radius:8px;padding:5px 7px;background:#fff;color:#1d1605;font-size:10px;font-weight:800;cursor:pointer}
.sl-wallet button:first-of-type{background:#19c66a;color:#fff}
.sl-wallet-notice{margin:10px 0;padding:9px 11px;border-radius:10px;background:linear-gradient(90deg,#fff4c2,#ffe69a);color:#503c00;font-weight:800;font-size:11px;text-align:center}

/* v1.3.4 lobby side panels */
.p360-sl-app{max-width:1480px;padding:14px;background:radial-gradient(circle at 50% 0,#ffe9c2 0,#d86b34 20%,#68161c 56%,#25070b 100%)}
.sl-layout{display:grid;grid-template-columns:minmax(230px,270px) minmax(560px,1fr) minmax(230px,270px);gap:12px;align-items:stretch}
.p360-sl-main{min-width:0;width:100%;}
.sl-side-panel{height:820px;min-height:620px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#e6b92f #241416;background:linear-gradient(180deg,rgba(32,18,20,.98),rgba(13,8,10,.98));border:2px solid #b97924;border-radius:20px;padding:12px;box-shadow:0 10px 30px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.15);position:relative}
.sl-side-panel::-webkit-scrollbar{width:7px}.sl-side-panel::-webkit-scrollbar-track{background:#241416;border-radius:10px}.sl-side-panel::-webkit-scrollbar-thumb{background:linear-gradient(#ffd43c,#a46b12);border-radius:10px}
.sl-side-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 2px 3px;color:#ffd83c;font-size:14px;letter-spacing:.7px;text-shadow:0 2px 3px #000}.sl-side-head>div{display:flex;align-items:center;gap:7px}.sl-side-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:linear-gradient(145deg,#ffdc4d,#a95b09);box-shadow:inset 0 1px 2px #fff6,0 3px 7px #0008;font-size:16px}.sl-count-pill,.sl-open-dot{font-size:9px;font-weight:900;border-radius:999px;padding:4px 7px}.sl-count-pill{background:#087a3d;color:#9bffc5;border:1px solid #45ef8a}.sl-open-dot{background:#123e27;color:#65ff9d;border:1px solid #35e67c}
.sl-side-sub{font-size:10px;color:#cbbec2;line-height:1.4;margin:2px 2px 10px}.sl-panel-section-title{font-size:10px;font-weight:900;color:#ffd33a;letter-spacing:1.1px;padding:10px 2px 6px;border-bottom:1px solid rgba(255,211,58,.18);margin-top:4px}.sl-challenge-tools{background:linear-gradient(135deg,#2a1d20,#171013);border:1px solid #5a3a2d;border-radius:12px;padding:9px;margin-bottom:8px}.sl-challenge-tools label{display:block;font-size:9px;color:#d6c4c7;margin-bottom:5px;text-transform:uppercase;letter-spacing:.6px}.sl-challenge-tools select{width:100%;border:1px solid #b78a35;border-radius:8px;background:#fff;color:#17100f;padding:8px;font-weight:800}
.sl-scroll-list{overflow-y:auto;min-height:40px}.sl-left-panel .sl-scroll-list{max-height:370px}.sl-room-list{max-height:510px;padding-right:2px}.sl-incoming{max-height:190px}.sl-active-user{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 7px;margin:6px 0;border-radius:12px;background:linear-gradient(135deg,#172a23,#102019);border:1px solid #265f43;box-shadow:0 4px 10px #0005}.sl-user-identity{display:flex;align-items:center;gap:7px;min-width:0}.sl-user-identity>div{min-width:0}.sl-user-identity strong{display:block;font-size:11px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:135px}.sl-user-identity small{display:block;font-size:8px;color:#9fcab1;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:135px}.sl-user-online{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:#2ee979;box-shadow:0 0 9px #2ee979}.sl-call-btn{border:1px solid #68ffad;border-radius:8px;background:linear-gradient(135deg,#0e9d51,#22d873);color:#fff;font-size:9px;font-weight:900;padding:7px 9px;cursor:pointer;box-shadow:0 3px 8px #0005}.sl-call-btn:disabled{opacity:.65;cursor:wait}.sl-create-box{margin-top:8px;padding:10px;border-radius:13px;background:linear-gradient(145deg,#2c2021,#171012);border:1px solid #5e4230}.sl-stake-side-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:7px 0 9px}.sl-stake-side{padding:8px 4px!important;font-size:11px;background:#3b2a24;color:#fff;border:1px solid #76523a!important}.sl-stake-side.selected{outline:2px solid #35e27d;background:linear-gradient(135deg,#145f3d,#1b8a58);box-shadow:0 0 12px rgba(53,226,125,.28)}.sl-create-room-btn{width:100%;padding:12px!important;font-size:12px;box-shadow:0 5px 12px #0006}.sl-create-room-btn:disabled{opacity:.7;cursor:wait}.sl-create-note{font-size:8px;line-height:1.4;color:#bcaeb1;text-align:center;margin-top:8px}.sl-create-note b{color:#ffd43c}.sl-room{padding:9px!important}.sl-room-open{margin:7px 0!important;background:linear-gradient(135deg,#0b7138,#13ad59)!important;border:1px solid #55ff9a!important}.sl-room-top{font-size:10px}.sl-room-info{font-size:11px}.sl-room-timer{font-size:9px}.sl-room-join{position:relative;z-index:2;width:100%;margin-top:8px;border:0;border-radius:8px;padding:9px;background:linear-gradient(135deg,#ffd83e,#e79b08);color:#301800;font-weight:900;font-size:10px;cursor:pointer;box-shadow:0 3px 7px #0006}.sl-room-join:hover{filter:brightness(1.07)}.sl-room-join:disabled{opacity:.65;cursor:default}.sl-room-join.your-room{background:#274b38;color:#aaffc8}.sl-room-join.joining{animation:slJoinPulse .7s infinite alternate}@keyframes slJoinPulse{from{box-shadow:0 0 0 rgba(255,216,62,0)}to{box-shadow:0 0 0 4px rgba(255,216,62,.22)}}
.sl-empty{background:rgba(255,255,255,.03);border:1px dashed rgba(255,211,58,.18);border-radius:10px;padding:12px!important;margin:7px 0;text-align:center;line-height:1.5}.sl-challenge{background:rgba(255,255,255,.035);border-radius:10px;padding:8px!important;margin:6px 0;border:1px solid #3a2b30}.sl-challenge button{background:linear-gradient(135deg,#15a75a,#25d877)!important;border-radius:7px!important;font-weight:900}.sl-menu-panel,.sl-menu-btn{display:none!important}
@media(max-width:1050px){.sl-layout{grid-template-columns:210px minmax(500px,1fr) 210px;gap:8px}.sl-side-panel{padding:9px}.sl-user-identity strong,.sl-user-identity small{max-width:105px}}
@media(max-width:820px){.p360-sl-app{max-width:720px}.sl-layout{grid-template-columns:1fr}.sl-side-panel{height:auto;min-height:0;max-height:360px}.p360-sl-main{order:1}.sl-left-panel{order:2}.sl-right-panel{order:3}.sl-left-panel .sl-scroll-list,.sl-room-list{max-height:210px}.sl-top{height:auto;min-height:72px}.sl-brand{font-size:clamp(22px,6vw,36px)}}
@media(max-width:520px){.p360-sl-app{padding:8px;border-radius:16px}.sl-side-panel{border-radius:15px;max-height:320px}.sl-layout{gap:8px}.sl-stake-side-grid{grid-template-columns:repeat(5,1fr)}.sl-stake-side{font-size:9px}.sl-user-identity strong{max-width:150px}}

.sl-you-tag{font-size:8px;font-weight:900;color:#ffd83e;background:#4b3512;border:1px solid #8d6724;border-radius:999px;padding:4px 7px}.sl-challenge-call{background:linear-gradient(145deg,#32191d,#1c1013);border:1px solid #9a4b3e;border-radius:12px;padding:9px!important;margin:7px 0;box-shadow:0 5px 14px #0006}.sl-challenge-call-title{font-size:10px;font-weight:900;color:#ffd83e;margin-bottom:4px}.sl-challenge-call-from{font-size:10px;color:#fff;line-height:1.4}.sl-challenge-call-from strong{color:#7dffb2}.sl-call-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;margin-top:8px}.sl-call-actions button{border:0;border-radius:7px;padding:7px 3px;font-size:8px;font-weight:900;cursor:pointer}.sl-call-accept{background:linear-gradient(135deg,#0eaa58,#26db7b);color:#fff}.sl-call-disconnect{background:linear-gradient(135deg,#e49a19,#ffd34c);color:#2a1800}.sl-call-block{background:linear-gradient(135deg,#9c2020,#e74a4a);color:#fff}.sl-call-actions button:disabled{opacity:.55;cursor:wait}.sl-room-open{animation:slRoomGlow 1.8s ease-in-out infinite alternate}@keyframes slRoomGlow{from{box-shadow:0 0 0 rgba(53,255,143,0)}to{box-shadow:0 0 16px rgba(53,255,143,.22)}}
/* v1.3.6 player-name and background-sound UI */
.sl-player-card strong{max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sl-player.active-player .sl-player-card{box-shadow:0 0 0 2px rgba(255,215,55,.65),0 7px 16px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.5)}
.sl-player.active-player .sl-player-name{color:#fff}
.sl-player-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:520px){.sl-player-card strong{max-width:92px;font-size:8px}.sl-player-name{font-size:11px}}

/* v1.3.7 active game dice + board token movement */
#sl-roll .sl-roll-caption{position:absolute;left:0;right:0;bottom:4px;font-size:9px;line-height:1;color:#4a1a00;font-weight:1000;letter-spacing:.8px;text-shadow:0 1px 0 rgba(255,255,255,.55);z-index:5}
#sl-roll.can-roll{animation:slDiceReady 1.2s ease-in-out infinite alternate}
#sl-roll.can-roll .sl-roll-caption{color:#183d00}
@keyframes slDiceReady{from{box-shadow:0 6px 0 #8d3c05,0 10px 18px rgba(0,0,0,.45),inset 0 2px 0 rgba(255,255,255,.75)}to{box-shadow:0 6px 0 #8d3c05,0 0 22px rgba(255,220,55,.72),inset 0 2px 0 rgba(255,255,255,.75)}}
.sl-token{transition:filter .12s ease,transform .12s ease}
.sl-token.token-red{color:#ff3046}.sl-token.token-blue{color:#159cff}
.sl-token.token-red:before{background:radial-gradient(circle at 35% 28%,#fff,#fff 18%,#ff3046 23%,#ff3046 100%)}
.sl-token.token-blue:before{background:radial-gradient(circle at 35% 28%,#fff,#fff 18%,#159cff 23%,#159cff 100%)}
.sl-token[data-side="1"]{filter:drop-shadow(0 4px 3px rgba(130,0,0,.7))}.sl-token[data-side="2"]{filter:drop-shadow(0 4px 3px rgba(0,70,150,.7))}

/* v1.3.9 reliable game controls */
.sl-controls{grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr)!important;align-items:stretch!important}
.sl-center-control{position:relative!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;padding-bottom:2px!important}
#sl-roll{position:relative!important;left:auto!important;top:auto!important;transform:none!important;width:92px!important;height:92px!important;flex:0 0 92px!important;margin:0 auto 3px!important;display:flex!important;opacity:1!important}
#sl-roll:disabled{opacity:.82!important;filter:saturate(.75)!important}
#sl-roll.can-roll{opacity:1!important;filter:none!important}
#sl-roll .sl-roll-caption{position:absolute!important;left:3px!important;right:3px!important;bottom:5px!important;font-size:9px!important;color:#4a1a00!important;font-weight:1000!important;letter-spacing:.35px!important;line-height:1.1!important;text-align:center!important;z-index:5!important;text-shadow:0 1px 0 rgba(255,255,255,.45)!important}
.sl-turn-owner{font-size:10px;font-weight:1000;color:#fff;background:rgba(0,0,0,.55);border:1px solid rgba(255,215,60,.45);border-radius:999px;padding:4px 8px;margin-bottom:4px;text-align:center;white-space:nowrap}
.sl-turn-danger{background:#ef3434!important;color:#fff!important;border-color:#ffaaaa!important;animation:slTimerPulse .55s infinite alternate}
@keyframes slTimerPulse{from{transform:scale(1)}to{transform:scale(1.08)}}
.sl-joined-room{display:inline-flex;align-items:center;justify-content:center;border:2px solid #7cffb0;border-radius:999px;padding:7px 10px;background:linear-gradient(135deg,#0b6e39,#13b75c);color:#fff;font-size:10px;font-weight:1000;white-space:nowrap;box-shadow:0 3px 10px rgba(0,0,0,.35);cursor:pointer}
.sl-joined-room:hover{filter:brightness(1.08)}
@media(max-width:1050px){.sl-top-badges{flex-wrap:wrap;justify-content:flex-end}.sl-joined-room{font-size:9px;padding:6px 8px}}
@media(max-width:520px){.sl-controls{grid-template-columns:1fr 105px 1fr!important}.sl-center-control{padding-bottom:0!important}#sl-roll{width:74px!important;height:74px!important;flex-basis:74px!important}.sl-turn-owner{font-size:8px;padding:3px 5px}.sl-joined-room{font-size:8px;padding:5px 7px}}

/* v1.4.4 snake/ladder landing animation */
.sl-token{z-index:9;transition:transform .12s ease,filter .12s ease}
.sl-token.sl-climbing{animation:slTokenBounce .22s ease-in-out infinite alternate}
@keyframes slTokenBounce{from{transform:translateY(0) scale(1)}to{transform:translateY(-4px) scale(1.05)}}
.sl-cell.sl-special-landing{animation:slLandingGlow .55s ease-in-out 2}
@keyframes slLandingGlow{0%,100%{filter:brightness(1)}50%{filter:brightness(1.5)}}

.p360-rules-card{margin:14px 0;padding:14px 16px;border:1px solid rgba(255,215,80,.38);border-radius:16px;background:linear-gradient(145deg,rgba(25,10,15,.96),rgba(58,18,22,.96));color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.22)}
.p360-rules-title{font-size:18px;font-weight:900;color:#ffd84d;margin-bottom:10px}
.p360-rules-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.p360-rules-card ul{margin:6px 0 0 18px;padding:0}
.p360-rules-card li{margin:5px 0;font-size:12px;line-height:1.4}
.p360-rule-special{font-weight:800;color:#ffd84d}
@media(max-width:700px){.p360-rules-grid{grid-template-columns:1fr}}

/* v1.4.9 boy player markers */
.sl-token, .sl-player-token, .p360-player-token {
  width:42px !important;
  height:42px !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:25px !important;
  line-height:1 !important;
  border:3px solid #fff !important;
  box-shadow:0 4px 12px rgba(0,0,0,.35) !important;
  z-index:20 !important;
}
.sl-token.p1, .sl-player-token.p1, .p360-player-token.p1 {
  background:linear-gradient(145deg,#ff4b4b,#b80000) !important;
}
.sl-token.p2, .sl-player-token.p2, .p360-player-token.p2 {
  background:linear-gradient(145deg,#38a8ff,#0057b8) !important;
}
.sl-boy{display:block;filter:drop-shadow(0 2px 2px rgba(0,0,0,.35));}

.p360-result-overlay{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.74);z-index:999999;padding:18px}
.p360-result-overlay.show{display:flex}
.p360-result-modal{width:min(430px,92vw);padding:30px 24px;border-radius:24px;background:linear-gradient(145deg,#fff,#f3f4f6);color:#151515;text-align:center;box-shadow:0 22px 70px rgba(0,0,0,.5);animation:p360Pop .25s ease-out}
.p360-result-icon{font-size:64px;line-height:1;margin-bottom:10px}.p360-result-title{font-size:30px;font-weight:900;margin-bottom:10px}.p360-result-message{font-size:19px;margin-bottom:22px}.p360-result-message strong{font-size:28px}.p360-result-modal button{border:0;border-radius:12px;padding:11px 28px;font-weight:800;background:#20242a;color:#fff;cursor:pointer}
@keyframes p360Pop{from{transform:scale(.82);opacity:0}to{transform:scale(1);opacity:1}}

.p360-target-win-label{position:absolute;z-index:100;left:50%;top:50%;transform:translate(-50%,-50%);padding:3px 6px;border-radius:7px;background:rgba(0,0,0,.78);color:#ffd84d;font-weight:900;font-size:11px;line-height:1.1;text-align:center;pointer-events:none;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.35)}
.p360-target-win-label small{display:block;font-size:8px;color:#fff;letter-spacing:.4px}


/* v1.6.0 real-wallet + full-bleed responsive game */
.p360-sl-app{width:100vw;max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);border-radius:0;min-height:100vh;padding:14px clamp(8px,1.5vw,22px) 22px;overflow:visible}
.p360-sl-main{min-width:0}
.sl-real-wallet{min-width:150px}
.sl-wallet-state{font-size:8px;font-weight:900;color:#8dffb9;background:#063c1e;border:1px solid #35e67c;border-radius:999px;padding:3px 5px}
.sl-wallet-state.error{color:#ffd0d0;background:#5b1414;border-color:#ff6c6c}
@media(max-width:1050px){.p360-sl-app{padding:10px}.sl-layout{grid-template-columns:minmax(190px,230px) minmax(0,1fr) minmax(190px,230px)}}
@media(max-width:820px){.p360-sl-app{padding:8px 6px 18px;min-height:100vh}.sl-layout{grid-template-columns:1fr;gap:8px}.p360-sl-main{order:1}.sl-left-panel{order:2}.sl-right-panel{order:3}.sl-side-panel{height:auto;max-height:none;min-height:0}.sl-left-panel .sl-scroll-list,.sl-room-list{max-height:260px}.sl-top{padding-left:4px;padding-right:4px}.sl-top-badges{max-width:62%;justify-content:flex-end}.sl-brand{font-size:clamp(21px,7vw,34px)}.sl-board-shell{padding:4px;border-radius:12px}.sl-board{border-width:2px}.sl-controls{height:auto;min-height:128px;margin-top:8px;grid-template-columns:minmax(0,1fr) 108px minmax(0,1fr)!important;gap:5px;padding:4px 1px 0}.sl-player-card{height:64px;gap:8px}.sl-player-card strong{font-size:10px}.sl-player-card small{font-size:8px}.sl-center-control{min-width:0}.sl-turn-owner{font-size:8px;max-width:108px}.sl-free{display:none}#sl-roll{width:76px!important;height:76px!important;flex-basis:76px!important}.sl-die{width:48px;height:48px}.sl-pip{width:9px;height:9px}.sl-message-pill{max-width:90vw}}
@media(max-width:520px){.p360-sl-app{padding:5px 3px 14px}.sl-top{gap:4px;align-items:flex-start}.sl-brand{font-size:22px;line-height:1}.sl-top-badges{gap:3px;max-width:68%;flex-wrap:wrap}.sl-real-wallet{min-width:0;padding:4px 5px;font-size:9px}.sl-wallet b{font-size:12px}.sl-wallet-icon{width:21px;height:21px}.sl-wallet-state{font-size:7px}.sl-status-pill,.sl-timer-pill{font-size:8px;padding:4px 5px}.sl-joined-room,.sl-exit-room{font-size:8px;padding:5px 6px}.sl-controls{grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr)!important;min-height:112px}.sl-player-name{font-size:10px}.sl-player-card{height:58px}.sl-player-card strong{max-width:72px;font-size:8px}.sl-player-card small{font-size:7px}.sl-mini-token{transform:scale(.72)}#sl-roll{width:68px!important;height:68px!important;flex-basis:68px!important}.sl-turn-owner{font-size:7px;padding:3px 4px}.sl-turn-label{font-size:8px}.sl-message-pill{font-size:9px}.sl-side-panel{border-radius:12px}}
@media(orientation:landscape) and (max-height:600px){.p360-sl-app{min-height:100vh}.sl-side-panel{max-height:220px}.sl-board{max-height:calc(100vh - 155px);aspect-ratio:704/750}.sl-controls{min-height:90px;height:100px}.sl-player-card{height:50px}.sl-top{height:50px}.sl-center-control #sl-roll{width:62px!important;height:62px!important}}


/* v1.8.0 true page-bleed/full-screen layout */
html,body.p360-sl-page{width:100%;max-width:none;overflow-x:hidden;background:#12070a!important}
body.p360-sl-page .site-content,
body.p360-sl-page .content-area,
body.p360-sl-page .site-main,
body.p360-sl-page .entry-content,
body.p360-sl-page .wp-block-post-content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.p360-sl-page .ast-container,
body.p360-sl-page .container,
body.p360-sl-page .site-content .ast-container{width:100%!important;max-width:none!important;padding-left:0!important;padding-right:0!important}
body.p360-sl-page .entry-header,
body.p360-sl-page .page-header,
body.p360-sl-page .wp-block-post-title,
body.p360-sl-page .entry-title{display:none!important}
body.p360-sl-page .p360-sl-app{position:relative!important;left:50%!important;transform:translateX(-50%)!important;width:100vw!important;max-width:100vw!important;min-height:calc(100vh - 0px)!important;margin:0!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important;padding:10px clamp(5px,1.2vw,18px) 18px!important}
body.p360-sl-page .sl-layout{width:100%!important;max-width:1800px;margin:0 auto!important}
body.p360-sl-page .sl-board-shell{width:100%!important}
body.p360-sl-page .sl-board{width:100%!important;height:auto!important}
@media(max-width:820px){
 body.p360-sl-page .p360-sl-app{padding:5px 3px 14px!important;min-height:100vh!important}
 body.p360-sl-page .sl-layout{grid-template-columns:1fr!important}
 body.p360-sl-page .p360-sl-main{width:100%!important;min-width:0!important}
 body.p360-sl-page .sl-board-shell{padding:3px!important}
}
@media(max-width:520px){
 body.p360-sl-page .p360-sl-app{padding:3px 2px 10px!important}
 body.p360-sl-page .sl-top{padding-left:2px!important;padding-right:2px!important}
}

/* Custom stake inputs */
#sl-custom-stake,#sl-challenge-stake{display:block;width:100%;box-sizing:border-box;margin:8px 0 12px;padding:11px 12px;border:1px solid rgba(255,255,255,.28);border-radius:10px;background:#fff;color:#172033;font-weight:700;font-size:16px}
.sl-custom-stake-label{display:block;margin-top:10px;font-size:12px;font-weight:700;color:inherit}

/* Six-cell server response meter displayed on each player's card. */
.sl-server-ping{position:absolute;left:5px;right:5px;bottom:4px;display:flex;align-items:center;justify-content:center;gap:5px;z-index:3;padding:4px 4px;border-radius:6px;background:rgba(0,0,0,.82);color:#fff;font-size:9px;line-height:1.2;font-weight:800;letter-spacing:.1px;white-space:nowrap;pointer-events:none}
.sl-battery{display:inline-flex;align-items:center;gap:2px;position:relative;padding:3px;border:1px solid currentColor;border-radius:3px;flex:0 0 auto;height:12px;box-sizing:border-box}
.sl-battery:after{content:"";position:absolute;right:-3px;top:3px;width:2px;height:4px;background:currentColor;border-radius:0 1px 1px 0}
.sl-battery i{display:block;width:4px;height:5px;border-radius:1px;background:rgba(255,255,255,.22);}
.sl-battery i.filled{background:#ff5c62}
.sl-server-ping.ping-good .sl-battery i.filled{background:#3df28b}
.sl-server-ping.ping-low .sl-battery i.filled,.sl-server-ping.ping-slow .sl-battery i.filled{background:#ff5c62}
.sl-player-card{padding-bottom:12px}
@media(max-width:480px){.sl-server-ping{font-size:8px;left:3px;right:3px;bottom:3px;padding:3px 2px;gap:3px}.sl-battery{gap:1px;padding:2px;height:10px}.sl-battery i{width:3px;height:4px}}
