.game-switch{display:flex;justify-content:center;gap:6px;margin:20px auto 0;width:fit-content;padding:4px;border:1px solid #c9a76c44;border-radius:7px;background:#170d2099}.game-switch button{background:transparent;color:#bfa9c1;padding:10px 26px;min-height:43px;font-size:15px;display:flex;align-items:center;gap:10px}.game-switch button[aria-pressed=true]{color:#f3dbab;background:#6d466d45;box-shadow:inset 0 -2px #dab87b}.game-switch button>span{font:22px Georgia,serif;color:#d5ae71}.craps-floor .hostess{bottom:50px}.cr-rail{border-radius:68px 68px 100px 100px}.cr-felt{min-height:0;border-radius:53px 53px 86px 86px;padding:17px 26px 20px}.cr-table-top{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:69px;margin:0 8px 16px;color:#e4c185}.cr-table-identity{font:18px Georgia,serif;letter-spacing:2px}.cr-table-identity>span{font:12px Arial,sans-serif;letter-spacing:3px;display:block;margin-top:7px;color:#c7aa77}.cr-point-state{display:flex;align-items:center;gap:13px;font-size:20px;font-weight:600;letter-spacing:.5px}.cr-point-state small{display:block;font-size:12px;font-weight:normal;letter-spacing:.3px;color:#d0b7c7;margin-top:6px}.cr-puck{display:grid;place-items:center;width:53px;height:53px;border-radius:50%;border:3px solid #a5907255;box-shadow:0 4px 0 #140c19,0 6px 9px #0006;font:bold 15px Georgia,serif;letter-spacing:1px}.cr-puck.on{background:#eee4d1;color:#241a27}.cr-puck.off{background:#17121c;color:#f1dfb7}.cr-limit-label{text-align:right;font:20px Georgia,serif}.cr-limit-label small{display:block;font:10px Arial,sans-serif;letter-spacing:2px;color:#c6acbd;margin-top:7px}.cr-number-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:2px solid #c7a05e;border-bottom:2px solid #c7a05e;border-left:1px solid #c7a05e;align-items:stretch}.cr-zone{position:relative;min-width:0;transition:background .2s;background:transparent}.cr-number-cell{border-right:1px solid #c7a05e;min-height:130px;padding-bottom:7px}.cr-zone-button{width:100%;border:0;background:none;padding:10px 6px;color:#f4d393;border-radius:0;min-height:44px;display:flex;flex-direction:column;align-items:center;gap:5px;font-family:Georgia,serif}.cr-zone-button:disabled{opacity:.45}.cr-zone-button:not(:disabled):hover{background:#f5d39115}.cr-zone-button strong{font-weight:normal}.cr-zone-button small{font:12px Arial,sans-serif;letter-spacing:1px;color:#d5beab}.cr-number-cell .cr-zone-button{gap:4px;padding:4px 2px 8px}.cr-number-cell .cr-zone-button strong{font:46px/1 Georgia,serif;letter-spacing:1px}.cr-number-puck{height:17px;line-height:17px;display:block;color:#3b243c;font-size:12px;font-family:Arial,sans-serif;letter-spacing:1px;min-width:50px;padding:0 3px;border-radius:3px}.point-number{background:#e7c58412}.point-number .cr-number-puck{background:#eee5d4;font-weight:bold}.point-number .cr-zone-button strong{color:#ffe4a8}.cr-tokens{display:flex;align-items:center;justify-content:center;gap:5px;flex-wrap:wrap;padding:0 5px 5px;position:relative;z-index:1}.player-0{--player-color:#416e75;--player-light:#a3d7d9}.player-1{--player-color:#873953;--player-light:#efb4c7}.player-2{--player-color:#88652f;--player-light:#eed39a}.player-text-0{color:#a3d7d9}.player-text-1{color:#efb4c7}.player-text-2{color:#eed39a}.cr-middle{display:grid;grid-template-columns:1fr 3fr;min-height:88px;border-bottom:1px solid #c7a05e}.cr-dontcome{border-left:1px solid #c7a05e;border-right:1px solid #c7a05e}.cr-dontcome .cr-zone-button{min-height:77px;justify-content:center;font-size:17px}.cr-come{border-right:1px solid #c7a05e}.cr-come .cr-zone-button{min-height:77px;justify-content:center;font-size:34px;letter-spacing:7px;color:#efbfc2}.cr-come .cr-zone-button small{letter-spacing:2px}.cr-dice-area{min-height:135px;display:flex;align-items:center;justify-content:center;gap:25px;position:relative;padding:21px 15px 31px}.cr-dice{display:flex;gap:15px;flex-shrink:0}.cr-die{width:57px;height:57px;padding:11px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:4px;border:1px solid #efbfafa1;border-radius:10px;background:linear-gradient(145deg,#b2485c,#74253f 64%,#571932);box-shadow:inset 0 2px 4px #ffd5c34a,0 3px 0 #3e152e,0 7px 12px #180a27a6;transform:rotate(-9deg)}.cr-die+.cr-die{transform:rotate(11deg)}.cr-die i{border-radius:50%;display:block;box-shadow:none}.cr-die .pip{background:#fff0d5;box-shadow:0 1px 1px #390b1940}.cr-roll-call{max-width:380px;min-width:0;color:#efd4a0}.cr-roll-call strong{font:28px/1.1 Georgia,serif;display:block}.cr-roll-call>span{font-size:14px;color:#d0b6d0;display:block;margin-top:9px;line-height:1.45}.cr-last-roll{position:absolute;bottom:5px;left:50%;transform:translateX(-50%);padding:5px 12px;min-height:27px;background:transparent;font-size:12px;color:#cdb188;white-space:nowrap}.cr-dontpass{border:1px solid #c7a05e}.cr-dontpass .cr-zone-button{flex-direction:row;justify-content:center;gap:16px;font-size:18px;padding:10px 8px;letter-spacing:2px}.cr-pass{border:2px solid #c7a05e;border-top:0;border-radius:0 0 45px 45px;padding-bottom:7px}.cr-pass .cr-zone-button{font:27px Georgia,serif;letter-spacing:5px;padding:13px 12px 8px}.cr-pass .cr-zone-button small{letter-spacing:2px}.cr-pass .cr-tokens,.cr-dontpass .cr-tokens{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:1px 15px 6px}.cr-pass .player-0,.cr-dontpass .player-0{grid-column:1}.cr-pass .player-1,.cr-dontpass .player-1{grid-column:2}.cr-pass .player-2,.cr-dontpass .player-2{grid-column:3}.cr-felt-footnote{text-align:center;font-size:12px;color:#c7b0c8;padding-top:15px;line-height:1.5}.cr-felt-footnote>span{padding:0 8px;color:#e1bc7d}.cr-drop-target{background:#f5d3912e!important;box-shadow:inset 0 0 0 2px #f4d69e}.cr-players{max-width:925px;margin:20px auto 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.cr-player{position:relative;background:transparent;border:1px solid transparent;border-radius:14px;display:flex;flex-direction:column;align-items:center;padding:10px 6px 12px;color:#d7c0cc;min-width:0}.cr-player.chosen{border-color:#dab77b70;background:radial-gradient(ellipse at 50% 25%,#b9846830,transparent 75%);box-shadow:inset 0 -2px #c7a0626b}.cr-player>strong{font-size:18px;letter-spacing:2px;margin:6px 0;color:var(--player-light)}.cr-shooter-label{font-size:11px;letter-spacing:1.5px;color:#c7a878}.cr-player-score{font-size:16px;font-variant-numeric:tabular-nums}.cr-player-score small{font-size:12px;font-weight:normal;color:#baa6c0}.cr-overall{font-size:12px;color:#b7a0b9;margin-top:4px}.cr-last-net{font-size:12px;margin-top:7px}.cr-player.empty{justify-content:center;color:#a98cac}.cr-player.empty>span{font-size:25px}.cr-player.empty>strong{font-size:14px;color:#b59abd;letter-spacing:0;font-weight:normal}.cr-dock{margin-top:8px}.cr-chip-button{touch-action:none;user-select:none;-webkit-user-select:none;border:1px solid transparent;padding:4px}.cr-chip-button.selected-chip{border-color:#e6c481;background:#d4b27412;box-shadow:0 0 0 3px #d4b27420}.cr-drag-ghost{position:fixed;z-index:30;pointer-events:none;transform:translate(-50%,-50%);opacity:.95}.cr-history{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:18px;flex-wrap:wrap}.cr-history>span{font-size:11px;letter-spacing:1.5px;color:#9a809d;margin-right:5px}.cr-history button{width:31px;height:31px;background:#301d38;border:1px solid #b69b7340;color:#d5bdcf;font-size:13px;border-radius:50%;padding:0}.cr-history button.point-made{color:#e8d79a;border-color:#bfa57580}.cr-history button.seven-out{color:#ffc1c4;border-color:#cf8f8466}.cr-odds-detail{padding:17px;background:#190f25;border:1px solid #c6aa633b;border-radius:9px;margin:20px 0}.cr-odds-detail>span{font-size:14px;color:#cbb1d0}.cr-odds-detail>strong{display:block;font:28px Georgia,serif;color:#ebce92;margin:8px 0}.cr-odds-detail>strong>small{font:14px Arial,sans-serif;color:#bba4c0}.cr-odds-detail p{font-size:14px}.cr-odds-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cr-odds-buttons .gold-button{padding:10px 15px;gap:10px;font-size:14px}.cr-result-dice{display:flex;justify-content:center;gap:15px;margin:22px}.cr-result-list{margin:12px 0 20px}.cr-result-item{display:flex;justify-content:space-between;align-items:center;gap:13px;border-bottom:1px solid #b5956933;padding:13px 0}.cr-result-item>div{min-width:0}.cr-result-item>div>strong{font-size:14px;color:#e2c495;letter-spacing:1px}.cr-result-item>div>span{display:block;font-size:14px;color:#c5adca;margin-top:4px;line-height:1.5}.cr-result-item>div>small{display:block;font-size:12px;color:#bfa3c2;margin-top:3px}.cr-result-item>span{font-size:12px;white-space:nowrap}.cr-result-item>span>b{display:block;font-size:18px;text-align:right;margin-top:4px}.house-rules a{color:#dec08c;text-decoration:underline;text-underline-offset:3px}
.cr-payout-detail{margin:20px 0;padding:16px 0;border-top:1px solid #c6aa6340;border-bottom:1px solid #c6aa6340}.cr-payout-detail h3{font:18px Georgia,serif;color:#ebce92;margin:0 0 14px}.cr-payout-detail dl{margin:0}.cr-payout-detail dl>div{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;margin:10px 0;font-size:14px;line-height:1.5}.cr-payout-detail dt{color:#cbb1d0}.cr-payout-detail dd{margin:0;color:#eee0cf;font-variant-numeric:tabular-nums}.cr-payout-detail p{font-size:16px;margin:14px 0 8px}.cr-payout-detail p>strong{color:#a3d7d9;white-space:nowrap}.cr-payout-detail>small{display:block;font-size:13px;line-height:1.5;color:#baa4c0}
@media(max-width:850px){.cr-felt{padding:14px 16px 18px;border-radius:40px 40px 66px 66px}.cr-rail{border-radius:53px 53px 80px 80px}.cr-table-top{margin:0 1px 14px}.cr-table-identity{font-size:16px}.cr-point-state{font-size:17px;gap:9px}.cr-puck{width:46px;height:46px;font-size:14px}.cr-number-cell .cr-zone-button strong{font-size:38px}.cr-number-grid{border-top-width:1px;border-bottom-width:1px}.cr-number-cell{min-height:110px}.cr-zone-button small{font-size:11px;letter-spacing:0}.cr-players{gap:10px}.cr-tokens{gap:5px;padding:0 3px 5px}.cr-dice-area{gap:20px;min-height:129px}.cr-roll-call strong{font-size:25px}.cr-players{margin-top:13px}.cr-dock{gap:13px}.cr-dock .bet-caption{max-width:180px}}
@media(max-width:620px){.game-switch{margin-top:13px;gap:3px;padding:3px}.game-switch button{padding:8px 23px;font-size:14px;min-height:42px;gap:7px}.game-switch button>span{font-size:20px}.game-switch+.table-heading{margin-top:16px}.cr-rail{padding:7px;border-radius:33px 33px 48px 48px}.cr-felt{padding:11px 7px 14px;border-radius:25px 25px 40px 40px}.cr-table-top{min-height:54px;gap:7px;margin:0 3px 13px}.cr-table-identity{font-size:12px;letter-spacing:.3px;max-width:76px;line-height:1.3}.cr-table-identity>span{font-size:12px;letter-spacing:1px;margin-top:5px}.cr-point-state{font-size:14px;gap:7px;letter-spacing:0}.cr-point-state small{font-size:12px;margin-top:3px;max-width:115px;line-height:1.3}.cr-puck{width:37px;height:37px;border-width:2px;font-size:12px;flex-shrink:0}.cr-limit-label{font-size:17px}.cr-limit-label small{font-size:10px;letter-spacing:.6px;max-width:49px;line-height:1.4;margin-top:4px}.cr-number-cell{min-height:96px;padding-bottom:4px}.cr-number-cell .cr-zone-button{padding:3px 1px 7px;gap:5px}.cr-number-cell .cr-zone-button strong{font-size:29px;letter-spacing:0}.cr-number-cell .cr-zone-button small{font-size:11px;letter-spacing:0;line-height:1.25;max-width:44px}.cr-number-puck{font-size:10px;letter-spacing:.4px;min-width:0;max-width:100%;height:15px;line-height:15px}.cr-tokens{padding:0 2px 4px;gap:5px 2px}.cr-middle{grid-template-columns:1fr 2.1fr;min-height:64px}.cr-dontcome .cr-zone-button{font-size:14px;letter-spacing:.4px;min-height:65px;gap:5px;padding:10px 1px}.cr-come .cr-zone-button{font-size:28px;min-height:65px;letter-spacing:5px;gap:5px}.cr-come .cr-zone-button small{font-size:11px;letter-spacing:1px}.cr-dice-area{padding:18px 5px 33px;min-height:124px;gap:16px}.cr-dice{gap:10px}.cr-die{width:43px;height:43px;gap:3px;padding:8px;border-radius:8px}.cr-roll-call{max-width:195px}.cr-roll-call strong{font-size:22px}.cr-roll-call>span{font-size:12px;line-height:1.4;margin-top:5px}.cr-last-roll{font-size:12px;bottom:3px}.cr-dontpass .cr-zone-button{font-size:15px;letter-spacing:1px;padding:10px 6px;gap:13px;min-height:41px}.cr-dontpass .cr-zone-button small{font-size:12px}.cr-pass{border-width:1px;border-top:0;border-radius:0 0 30px 30px;padding-bottom:4px}.cr-pass .cr-zone-button{font-size:23px;letter-spacing:4px;padding:9px 5px 7px;gap:4px}.cr-pass .cr-zone-button small{font-size:11px;letter-spacing:1px}.cr-pass .cr-tokens,.cr-dontpass .cr-tokens{padding:1px 7px 5px}.cr-felt-footnote{font-size:11px;padding-top:10px;line-height:1.6;max-width:280px;margin:auto}.cr-felt-footnote>span{padding:0 4px}.cr-players{margin:10px 4px 0;gap:4px}.cr-player{padding:9px 3px 10px;border-radius:10px}.cr-player>strong{font-size:16px;letter-spacing:1px;margin:5px 0}.cr-shooter-label{font-size:10px;letter-spacing:.5px}.cr-player-score{font-size:14px}.cr-player-score small{font-size:11px}.cr-overall,.cr-last-net{font-size:11px;line-height:1.4}.cr-last-net{margin-top:4px}.cr-player.empty>strong{font-size:12px}.cr-dock{display:grid;grid-template-columns:1fr auto;column-gap:9px;row-gap:14px;padding:6px 7px 0;margin-top:8px}.cr-dock .bet-caption{font-size:14px;max-width:none;grid-row:1;grid-column:1}.cr-dock .bet-caption small{font-size:12px;line-height:1.4;max-width:175px}.cr-dock .chip-rack{grid-row:2;grid-column:1/-1;gap:15px}.cr-dock .deal-control{min-width:140px}.cr-chip-button{padding:4px}.cr-dock .chip{width:48px;height:48px;font-size:17px}.cr-history{gap:6px;margin:16px 4px 0}.cr-history>span{font-size:10px;letter-spacing:.7px;margin-right:3px}.cr-history button{width:27px;height:27px;font-size:12px}.score-table{font-size:14px}.score-table thead th{font-size:12px}.score-table th,.score-table td{padding:14px 3px}.cr-odds-detail{padding:14px}.cr-result-dice .cr-die{width:55px;height:55px;padding:10px;gap:4px}}
@media(max-width:365px){.cr-table-identity{display:none}.cr-table-top{justify-content:space-between;padding:0 8px}.cr-limit-label small{max-width:none}.cr-number-cell .cr-zone-button strong{font-size:27px}.cr-number-cell .cr-zone-button small{font-size:10px}.cr-dock .chip-rack{gap:10px}.cr-history>span{width:100%;text-align:center;margin-bottom:2px}.cr-player-score small{display:none}}

/* Each die has six real faces; its saved throw drives tumble, bounce and shadow. */
.cr-dice.cr-dice-stage{--cr-edge:50px;width:196px;max-width:100%;height:146px;padding-top:42px;gap:32px;align-items:center;justify-content:center;justify-self:center;pointer-events:none;position:relative}
.cr-die-space{position:relative;width:var(--cr-edge);height:var(--cr-edge);flex:0 0 var(--cr-edge);perspective:650px}
.cr-die-flight,.cr-die-camera,.cr-die-cube{width:100%;height:100%;transform-style:preserve-3d;-webkit-transform-style:preserve-3d}
.cr-die-camera{transform:rotateX(-18deg) rotateY(-20deg)}
.cr-die-cube{position:relative}
.cr-dice-stage.rolling .cr-die-flight,.cr-dice-stage.rolling .cr-die-cube{will-change:transform}
.cr-cube-face{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:17%;gap:8%;border:1px solid #f9c8ab9c;border-radius:11%;background:linear-gradient(145deg,#cc6270,#a32f4b 48%,#761d37);box-shadow:inset 0 1px 3px #ffe2cb66,inset 0 -2px 4px #43091f70;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.cr-cube-face:nth-child(2n){background:linear-gradient(150deg,#bd4e61,#852540 72%,#59162e)}
.cr-cube-face i{display:block;border-radius:50%}
.cr-cube-pip{background:#fff0d6;box-shadow:inset 0 1px 1px #5c242bb3,0 1px 0 #ffd7b94d}
.cr-die-shadow{position:absolute;left:-5%;top:84%;width:110%;height:34%;border-radius:50%;background:radial-gradient(ellipse,#100717 10%,#100717b3 40%,transparent 73%);transform-origin:center}
@media(max-width:620px){.cr-dice.cr-dice-stage{--cr-edge:40px;width:160px;height:124px;padding-top:34px;gap:24px}}
@media(max-width:365px){.cr-dice.cr-dice-stage{--cr-edge:35px;width:140px;gap:22px}}

/* Wager chips follow the player's colour; odds sit behind the base, toward the rail. */
.cr-tokens{align-items:flex-start;gap:12px 8px;padding-bottom:10px}
.cr-wager{display:flex;flex-direction:column;align-items:center;gap:5px;width:54px;max-width:100%;min-width:0;position:relative}
.cr-wager-name{font-size:12px;line-height:1.3;color:var(--player-light);display:flex;justify-content:center;flex-wrap:wrap;gap:2px 4px;max-width:100%;overflow-wrap:anywhere;font-weight:600}
.cr-bet-kind{color:#f3dbb1;font-weight:normal}
.cr-wager-button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;background:transparent;border:0;border-radius:50%;padding:2px 2px 5px;min-height:44px;width:52px;max-width:100%;color:#fff0d5;position:relative}
.cr-wager-button .chip{--chip-color:var(--player-color);width:46px;max-width:100%;height:auto;aspect-ratio:1;background:repeating-conic-gradient(from 12deg,#efdec0 0deg 14deg,var(--chip-color) 14deg 60deg);color:#fff0d5;font-size:16px;box-shadow:0 2px 0 #e4caa877,0 4px 0 var(--player-color),0 5px 0 #e4caa866,0 7px 0 #160d20,0 9px 9px #0007}
.cr-wager-button .chip>span{border-color:#f4dcb480;text-shadow:0 1px 2px #160e20}
.cr-wager-button:not(:disabled):hover .chip{filter:brightness(1.13)}
.cr-odds-position{width:48px;margin-top:5px;border-radius:8px}
.cr-odds-position .chip{width:40px;font-size:15px}
.cr-odds-label{font-size:12px;line-height:1.3;letter-spacing:.2px;color:#d6bc93;text-align:center;overflow-wrap:anywhere}
.cr-odds-outline{display:grid;place-items:center;width:38px;max-width:100%;aspect-ratio:1;border:1px dashed #d4b57a66;border-radius:50%;color:#d6bc9399;font-size:22px}
.cr-empty-odds{opacity:.75}
.cr-odds-off .chip{filter:saturate(.4);opacity:.7}
.cr-pass .cr-tokens,.cr-dontpass .cr-tokens{align-items:start;padding-bottom:12px}
.cr-pass .cr-wager,.cr-dontpass .cr-wager{justify-self:center;grid-row:1}
.cr-line-odds{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:5px;padding:6px 15px 13px}
.cr-line-odds .cr-wager{justify-self:center;grid-row:1}
.cr-line-odds .player-0{grid-column:1}.cr-line-odds .player-1{grid-column:2}.cr-line-odds .player-2{grid-column:3}
.cr-line-odds .cr-odds-position{margin-top:0}
.cr-line-odds+.cr-pass{border-top:1px solid #c7a05e}
.cr-odds-position.cr-drop-target{box-shadow:0 0 0 2px #f4d69e}
@media(max-width:620px){.cr-tokens{gap:12px 4px;padding:0 2px 8px}.cr-wager{width:48px}.cr-wager-button{width:46px}.cr-wager-button .chip{width:42px;font-size:15px}.cr-odds-position{width:42px}.cr-odds-position .chip{width:36px;font-size:14px}.cr-odds-outline{width:34px}.cr-odds-label{letter-spacing:0}.cr-line-odds{padding:5px 7px 11px}.cr-pass .cr-tokens,.cr-dontpass .cr-tokens{padding-bottom:10px}}
