.profile-social-stats{display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--prose-2);font-size:12px;margin:12px 0}.subscribe-control{display:inline-flex;flex-direction:column;gap:4px}.subscribe-control button,.image-role button{border:1px solid var(--outline);border-radius:8px;padding:7px 12px;background:var(--surface-raised);color:var(--prose);font-weight:700}.subscribe-control button[aria-pressed=true]{color:#79d4b8}.subscribe-control small{max-width:240px;font-size:11px}.subscribe-big{margin:22px auto}.subscribe-big button{padding:16px 25px;background:#b1f37b;color:#172516;font-size:19px;border:0;box-shadow:0 4px 0 #507e36}.chat-reader-count{white-space:nowrap;font-size:10px;color:var(--prose-3)}.live-chat-head{flex-wrap:wrap}.live-chat-head .chat-reader-count{flex-basis:100%;padding-left:4px}.live-chat.is-closed .chat-reader-count{display:none}.live-chat .subscribe-control button{padding:3px 8px;font-size:18px}.roll-standing{display:block;margin:8px auto;color:var(--prose-3);font-size:11px;text-align:center}.roll-age{font-size:10px;color:var(--prose-3);white-space:nowrap;margin-right:7px}.leaderboard-badge-origin{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap;min-width:0}.leaderboard-badge-serial{font-variant-numeric:tabular-nums;white-space:nowrap}.leaderboard-badge-origin small{font-size:10px;color:var(--prose-3)}.leaderboard-badge-origin small button{text-decoration:underline}.broadcast-countdown{position:absolute;top:0;left:0;right:0;height:3px;background:var(--prose);transform-origin:left;animation:broadcast-countdown linear forwards;pointer-events:none}@keyframes broadcast-countdown{from{transform:scaleX(1)}to{transform:scaleX(0)}}.announcement-toast{overflow:hidden}.chat-image-upload{padding:8px}.chat-image-upload button{display:flex;gap:9px;align-items:center;border-radius:8px;padding:10px;background:var(--surface-raised);border:1px solid var(--outline);width:100%;text-align:left}.chat-image-upload small{display:block;color:#e96c7e;margin-top:6px}.mention-suggestions{position:absolute;bottom:100%;left:12px;right:12px;background:var(--site-bg);border:1px solid var(--outline);border-radius:10px;box-shadow:0 6px 30px #0005;padding:5px;z-index:10;max-height:220px;overflow:auto}.mention-suggestions button{display:flex;align-items:center;gap:8px;width:100%;padding:7px;text-align:left;font-size:13px;border-radius:5px}.mention-suggestions img{width:23px;height:23px;border-radius:50%}.mention-suggestions button[aria-selected=true]{background:var(--surface-raised)}.chat-composer{position:relative}.bet-panel{min-height:0;max-height:48dvh;overflow-y:auto;overscroll-behavior:contain}.cutscene-skip:disabled{opacity:.45;cursor:default}.live-chat .chat-composer,.live-chat-head,.live-chat .bet-bar,.live-chat-emoji{flex-shrink:0}
@media(max-width:640px){.live-chat{left:6px;bottom:max(6px,env(safe-area-inset-bottom));width:calc(100vw - 12px);max-height:65dvh;border-radius:12px}.live-chat:has(.bet-bar.is-open){max-height:calc(100dvh - 60px)}.live-chat:has(.bet-bar.is-open) .live-chat-list{min-height:40px;max-height:80px}.live-chat .bet-panel{max-height:48dvh}.live-chat-list{min-height:60px;flex:1}.live-chat-icon{width:34px;height:34px}.chat-form textarea{font-size:16px}.chat-message .chat-actions{position:static;opacity:1;align-self:flex-start}.chat-actions button{min-width:28px;min-height:30px}.chat-text{overflow-wrap:anywhere}.chat-panel:not(.is-full){position:fixed!important;left:6px!important;right:6px!important;top:max(58px,env(safe-area-inset-top))!important;bottom:max(8px,env(safe-area-inset-bottom));width:auto!important;max-height:none!important}.chat-plus-menu{max-height:35dvh;overflow-y:auto}.chat-image-upload{padding:4px 10px}.leaderboard-row-values{gap:7px!important;max-width:57%}.leaderboard-badge-origin{max-width:100%}.leaderboard-user{flex-wrap:wrap}.roll-age{order:3;width:100%}.profile-social-stats{gap:6px 12px}.bet-row{min-height:40px}.bet-go{min-height:44px}.bet-stake input{font-size:16px}.live-chat-emoji{overflow-x:auto;justify-content:flex-start;gap:7px}.live-chat-emoji button{min-width:28px;min-height:30px}.announcement-toast{max-width:calc(100vw - 20px)}.heavy-bulk-panel{max-height:90dvh;overflow:auto}.subscribe-big button{font-size:16px}}
.plox-game{width:min(340px,100%);margin:auto;padding:12px;border-radius:16px;color:#f4eaff;background:linear-gradient(#0000 55%,#ff3fd222 56%,#0000 57%,#0000 63%,#ff3fd218 64%,#0000 65%),radial-gradient(circle at 50% 46%,#ffb34766 0 16%,#ff3fd233 17%,#0000 40%),linear-gradient(#1a0b3d,#3a1466 55%,#12082a 56%,#0b0520)}
.plox-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#e2ccff}.plox-top b{display:block;font-size:22px;color:#fff;text-shadow:0 0 10px #ff3fd2aa;letter-spacing:0}
.plox-next{display:flex;flex-direction:column;gap:2px;align-items:center}.plox-next i{position:relative;display:block;width:16px;height:16px}
.plox-board{position:relative;overflow:hidden;contain:paint;isolation:isolate;aspect-ratio:6/14;max-height:64dvh;margin:auto;border:2px solid #f6f0b8;border-radius:3px;background:linear-gradient(#0d1a22f0,#0a1219f0);touch-action:none;user-select:none;box-shadow:0 0 0 1px #000,0 0 18px #ffe9706b,0 0 46px #ff3fd240;outline-offset:3px}
.plox-grid{position:absolute;inset:0;display:grid;grid-template-rows:repeat(14,1fr);grid-template-columns:repeat(6,1fr)}
.plox-grid.is-rising{animation:plox-rise .32s cubic-bezier(.2,.9,.3,1.25)}
@keyframes plox-rise{from{transform:translateY(calc(var(--rise) * 100% / 14))}}
.plox-controls{display:flex;gap:8px;margin-top:10px}.plox-controls button{flex:1;padding:7px;background:#ffffff12;border:1px solid #ffffff26;border-radius:7px;font-size:20px;touch-action:manipulation}.plox-controls button:active{background:#ffffff30}
.coach-hole{position:fixed;z-index:13000;border-radius:12px;pointer-events:none;box-shadow:0 0 0 2px #79d4b8,0 0 0 200vmax #04060cb0;transition:left .25s cubic-bezier(.2,.8,.2,1),top .25s cubic-bezier(.2,.8,.2,1),width .25s cubic-bezier(.2,.8,.2,1),height .25s cubic-bezier(.2,.8,.2,1)}
.coach-hole.is-action::after{content:"";position:absolute;inset:-2px;border-radius:inherit;box-shadow:0 0 0 2px #79d4b8;animation:coach-ping 1.4s ease-out infinite}
@keyframes coach-ping{from{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.18)}}
.coach-bubble{position:fixed;z-index:13001;background:var(--surface);color:var(--prose);border:1px solid #79d4b866;border-radius:12px;padding:12px 14px 10px;box-shadow:0 14px 40px #0008;animation:coach-in .22s cubic-bezier(.2,.8,.2,1)}
.coach-bubble::before{content:"";position:absolute;left:var(--arrow);width:10px;height:10px;background:var(--surface);border:1px solid #79d4b866;transform:translateX(-50%) rotate(45deg)}
.coach-bubble.is-below::before{top:-6px;border-right:0;border-bottom:0}.coach-bubble.is-above::before{bottom:-6px;border-left:0;border-top:0}
@keyframes coach-in{from{opacity:0;transform:translateY(6px)}}
.coach-bubble p{margin:0;font-size:14px;line-height:1.45}
.coach-bubble footer{display:flex;align-items:center;gap:8px;margin-top:10px}
.coach-dots{display:flex;gap:4px;margin-right:auto}.coach-dots i{width:5px;height:5px;border-radius:50%;background:var(--outline)}.coach-dots i.is-done{background:#79d4b877}.coach-dots i.is-on{background:#79d4b8;width:14px;border-radius:3px}
.coach-skip{background:none;color:var(--prose-3);font-size:12px;padding:4px 6px}
.coach-next{background:#79d4b8;color:#152b23;font-weight:700;font-size:13px;padding:6px 14px;border-radius:7px}
.tutorial-replay{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 0;font-size:13px;color:var(--prose)}.tutorial-replay span{color:#79d4b8}

.plox-cell{min-height:0;min-width:0;border:1px solid #9fc4d00f;position:relative}
/* Neon tile: bright bevelled rim, a darker inset well, a glossy core. */
.plox-tile{position:absolute;inset:1px;padding:18%;border-radius:2px;background:linear-gradient(135deg,color-mix(in srgb,var(--tile) 70%,#fff),var(--tile) 45%,color-mix(in srgb,var(--tile) 70%,#000));box-shadow:0 0 7px color-mix(in srgb,var(--tile) 70%,#0000),inset 0 0 0 1px #fff5}
.plox-tile span{display:block;width:100%;height:100%;border-radius:1px;background:linear-gradient(135deg,color-mix(in srgb,var(--tile) 55%,#000),color-mix(in srgb,var(--tile) 80%,#000) 60%,color-mix(in srgb,var(--tile) 90%,#fff));box-shadow:inset 0 1px 2px #0008,0 0 0 1px color-mix(in srgb,var(--tile) 40%,#000)}
.plox-shape{position:absolute;inset:20%;width:60%;height:60%;fill:#fffffff0;stroke:#000a;stroke-width:1.6;stroke-linejoin:round;filter:drop-shadow(0 1px 1px #0009);pointer-events:none}
.plox-tile.is-trash .plox-shape{fill:none;stroke:#fff;stroke-width:3}
.plox-tile.is-trash{padding:0;background:repeating-linear-gradient(45deg,#ff8a1f 0 5px,#3a1d08 5px 10px);box-shadow:inset 0 0 0 2px #ffb15c,inset 0 -3px 0 #0008,0 0 8px #ff8a1f55}.plox-tile.is-trash span{display:none}
.plox-cell.ghost{background:#ffffff0d;box-shadow:inset 0 0 0 1px #ffffff40}
.plox-cell.clearing .plox-tile{animation:plox-clear .35s ease-in forwards;z-index:1}
@keyframes plox-clear{40%{transform:scale(1.12)}to{transform:scale(.15) rotate(45deg);opacity:0}}
.plox-cell.clearing .plox-tile::after{content:'';position:absolute;inset:0;border-radius:inherit;background:#fff;opacity:0;animation:plox-flash .35s ease-out}
@keyframes plox-flash{40%{opacity:.75}}
.plox-cell.dropping .plox-tile{animation:plox-drop calc(.11s + var(--fall) * .045s) cubic-bezier(.45,0,1,1) both}
@keyframes plox-drop{from{transform:translateY(calc(var(--fall) * -100% - var(--fall) * 2px))}}
.plox-piece{position:absolute;left:0;top:0;width:calc(100% / 6);height:calc(300% / 14);display:grid;grid-template-rows:repeat(3,1fr);transition:transform .09s linear;z-index:2}
.plox-piece .plox-tile,.plox-next .plox-tile{position:absolute;inset:1px}.plox-piece>.plox-tile{position:relative;inset:auto;margin:1px}
.plox-guide{position:absolute;width:calc(100% / 6);background:linear-gradient(#ffffff00,#ffffff12);pointer-events:none}
/* A clear: each matched line flashes as a beam, then the points pop out. */
.plox-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3;overflow:visible}
.plox-lines line{stroke:#fff;stroke-width:5px;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px var(--tile)) drop-shadow(0 0 8px var(--tile));stroke-dasharray:1000;animation:plox-beam .35s ease-out forwards}
@keyframes plox-beam{from{stroke-dashoffset:1000;stroke-width:2px}40%{stroke-width:7px}to{stroke-dashoffset:0;stroke-width:0;opacity:.2}}
.plox-pop{position:absolute;z-index:4;transform:translate(-50%,-50%);pointer-events:none;font:800 18px/1 system-ui,sans-serif;color:#fff;white-space:nowrap;text-shadow:0 0 6px #ff3fd2,0 0 14px #22d3ff,0 2px 0 #0009;animation:plox-points 1s cubic-bezier(.2,1.4,.4,1) forwards}
.plox-pop small{margin-left:3px;font-size:11px;color:#ffd426}.plox-pop.is-big{font-size:24px}
@keyframes plox-points{from{opacity:0;transform:translate(-50%,-30%) scale(.5)}20%{opacity:1;transform:translate(-50%,-60%) scale(1.15)}70%{opacity:1}to{opacity:0;transform:translate(-50%,-160%) scale(1)}}
.plox-combo{color:#ffd426;font-size:12px;text-shadow:0 0 8px #ffd42699;animation:plox-pop .3s cubic-bezier(.2,1.6,.4,1)}
@keyframes plox-pop{from{transform:scale(1.6);opacity:.4}}
.plox-game.is-over .plox-board{filter:saturate(.35) brightness(.7);transition:filter .6s}
.board-places{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:6px;animation:board-place-in .4s ease-out}
.board-place{font-size:12px;line-height:1;padding:5px 9px;border-radius:999px;border:1px solid var(--color-outline,#8884);color:inherit;text-decoration:none;opacity:.85}
.board-place b{font-variant-numeric:tabular-nums}
.board-place:hover{opacity:1}
@keyframes board-place-in{from{opacity:0;transform:translateY(-3px)}}
@media(max-width:480px){.leaderboard-badge-origin{flex-wrap:wrap;row-gap:4px}}
