/* FRBC V36.25 — PC: transposition fidèle du master mobile V36.24.
   Une source de commandes, mêmes cases, icônes et fermetures. Aucun style mobile
   n'est changé; ce module n'agit que sur un match au pointeur fin (desktop).
   Interpolation fluide par clamp/vw/dvh; transitions cubic-bezier des plis. */
@media screen and (min-width:900px) and (min-height:480px) and (pointer:fine) and (hover:hover) {
 html.frbc-v3625-desktop.frbc-v28-demo {
   --pc25-edge:clamp(10px,.8vw,22px);
   --pc25-width:clamp(146px,9.5vw,218px);
   --pc25-top:clamp(88px,13.7dvh,165px);
   --pc25-cell:clamp(44px,6.2dvh,74px);
   --pc25-gap:clamp(4px,.68dvh,8px);
   --pc25-pad:clamp(5px,.8dvh,9px);
   --pc25-cube:clamp(21px,2.8dvh,28px);
   --pc25-title:calc(2 * var(--pc25-cell) - var(--pc25-cube));
   --pc25-rail-h:calc(6 * var(--pc25-cell) + 5 * var(--pc25-gap) + 2 * var(--pc25-pad));
   --pc25-arrow-w:clamp(22px,1.45vw,26px);
   --pc25-arrow-h:clamp(30px,4.8dvh,40px);
   --pc25-frame-top:clamp(24px,4.7dvh,60px);
   --pc25-frame-bottom:clamp(22px,4.7dvh,60px);
   --pc25-frame-left:calc(var(--pc25-edge) + var(--pc25-width) + var(--pc25-arrow-w) + clamp(14px,1.22vw,24px));
   --pc25-frame-right:var(--pc25-frame-left);
   --pc25-panel:linear-gradient(155deg,rgba(20,60,91,.97),rgba(8,32,54,.98));
   --v28-right:var(--pc25-width)!important;
   --v28-edge:var(--pc25-edge)!important;
   --frbc-v3613-top:var(--pc25-top)!important;
   --frbc-v3613-rail-max:calc(100dvh - var(--pc25-top) - 8px)!important;
   --frbc-v3613-card-max:clamp(54px,8dvh,85px)!important;
 }
 /* 1: Header / score. 2: tickers / clock. 3: symmetric side rails. */
 html.frbc-v3625-desktop.frbc-v28-demo .topbar #brand.brand {
   display:flex!important;position:fixed!important;inset:clamp(8px,1.25dvh,20px) auto auto var(--pc25-edge)!important;
   width:calc(var(--pc25-width) + 63px)!important;max-width:none!important;
   height:clamp(48px,7.5dvh,84px)!important;
   justify-content:flex-start!important;align-items:center!important;
   gap:clamp(6px,.65vw,12px)!important;padding:0!important;margin:0!important;
   background:transparent!important;z-index:90!important;transform:none!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo .topbar #brand .brand-logo {
   display:block!important;width:clamp(46px,7.2dvh,76px)!important;height:clamp(46px,7.2dvh,76px)!important;
   flex:0 0 auto!important;object-fit:contain!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo .topbar #brand span {
   display:block!important;color:#f2f7fa!important;
   font:750 clamp(9px,.88vw,16px)/1.28 system-ui!important;
   white-space:nowrap!important;letter-spacing:.11em!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo .topbar #brand small {
   display:block!important;margin-top:3px!important;
   font:650 clamp(7px,.68vw,12px)/1.2 system-ui!important;
   letter-spacing:.2em!important;color:#cbdce8!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo .topbar #scoreboard.match-score {
   display:grid!important;position:fixed!important;
   top:clamp(8px,1.1dvh,17px)!important;right:var(--pc25-edge)!important;left:auto!important;
   width:var(--pc25-width)!important;min-width:0!important;max-width:var(--pc25-width)!important;
   height:calc(var(--pc25-top) - clamp(38px,5dvh,56px))!important;
   min-height:47px!important;max-height:none!important;
   overflow:hidden!important;margin:0!important;box-sizing:border-box!important;z-index:91!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo .topbar #scoreboard .score-readout {min-width:0!important;overflow:visible!important}
 html.frbc-v3625-desktop.frbc-v28-demo .topbar #scoreboard #score {font-size:clamp(18px,1.7vw,30px)!important}
 html.frbc-v3625-desktop.frbc-v28-demo .topbar #scoreboard :is(#match-label,.round-progress){font-size:clamp(6px,.6vw,10px)!important}
 html.frbc-v3625-desktop.frbc-v28-demo .topbar .top-actions {display:none!important;pointer-events:none!important}
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-v3625-status {
   display:block!important;position:fixed!important;top:calc(var(--pc25-top) - 29px)!important;left:var(--pc25-edge)!important;
   width:var(--pc25-width)!important;height:22px!important;
   padding:2px 7px!important;margin:0!important;box-sizing:border-box!important;
   border-radius:6px!important;border:1px solid #769bb75c!important;background:#1c202be8!important;
   color:#ecf5ff!important;font:750 clamp(9px,.8vw,13px)/17px system-ui!important;
   overflow:hidden!important;white-space:nowrap!important;z-index:96!important;pointer-events:none!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-v3625-status[hidden]{display:none!important}
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-v3625-status .pc25-ticker {
   display:flex!important;width:max-content!important;gap:0!important;white-space:nowrap!important;
   animation:frbc-pc25-marquee var(--pc25-duration,16s) linear infinite!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-v3625-status .pc25-ticker>span {display:block!important;flex:none!important;white-space:nowrap!important}
 @keyframes frbc-pc25-marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(calc(-1 * var(--pc25-cycle,150px)),0,0)}}
 html.frbc-v3625-desktop.frbc-v28-demo :is(#v28-clock-indicator#v28-clock-indicator,#frbc-clock-display#frbc-clock-display):not([hidden]) {
   position:fixed!important;top:calc(var(--pc25-top) - 29px)!important;right:var(--pc25-edge)!important;
   left:auto!important;bottom:auto!important;width:var(--pc25-width)!important;
   min-width:0!important;max-width:var(--pc25-width)!important;height:22px!important;max-height:22px!important;
   box-sizing:border-box!important;overflow:hidden!important;margin:0!important;z-index:94!important;
 }
 /* Both rails have equal width, six equal rows and identical top/bottom axes. */
 html.frbc-v3625-desktop.frbc-v28-demo:not(.frbc-v28-dock-closed) #game-dock#game-dock#game-dock:not([hidden]) {
   display:grid!important;position:fixed!important;inset:var(--pc25-top) auto auto var(--pc25-edge)!important;
   width:var(--pc25-width)!important;min-width:var(--pc25-width)!important;max-width:var(--pc25-width)!important;
   height:var(--pc25-rail-h)!important;min-height:0!important;max-height:calc(100dvh - var(--pc25-top) - 8px)!important;
   padding:var(--pc25-pad)!important;margin:0!important;box-sizing:border-box!important;
   grid-template-columns:repeat(2,minmax(0,1fr))!important;
   grid-template-rows:var(--pc25-title) var(--pc25-cube) repeat(4,var(--pc25-cell))!important;
   grid-auto-rows:0!important;grid-auto-flow:row!important;gap:var(--pc25-gap)!important;
   align-content:start!important;align-items:stretch!important;
   overflow-x:hidden!important;overflow-y:auto!important;scrollbar-width:none!important;
   overscroll-behavior:contain!important;
   background:var(--pc25-panel)!important;border:1px solid #8bbcd9!important;border-radius:12px!important;
   box-shadow:0 8px 23px #0009!important;transform:none!important;z-index:95!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock::-webkit-scrollbar,
 html.frbc-v3625-desktop.frbc-v28-demo #v28-rail#v28-rail#v28-rail::-webkit-scrollbar{width:0!important;display:none!important}
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock :is(.dock-actions,.dock-secondary,#frbc-v28-dock-controls){display:contents!important}
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock .turn-info {
   display:block!important;grid-area:1/1/2/3!important;position:relative!important;
   min-width:0!important;width:100%!important;max-width:100%!important;
   height:var(--pc25-title)!important;min-height:0!important;max-height:var(--pc25-title)!important;
   text-align:left!important;margin:0!important;padding:3px 5px 4px!important;box-sizing:border-box!important;
   border-bottom:1px solid #9bc5e173!important;overflow:hidden!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock #turn-kicker {
   display:block!important;min-width:0!important;
   font:800 clamp(7px,.6vw,10px)/1.25 system-ui!important;letter-spacing:.09em!important;
   color:#a9d0eb!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock #turn-title {
   display:block!important;margin:2px 0 0!important;padding:0!important;
   font:800 clamp(11px,1.07vw,18px)/1.13 system-ui!important;color:#fff!important;
   min-height:0!important;max-height:42px!important;white-space:normal!important;overflow:hidden!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock #turn-help {
   display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;
   overflow:hidden!important;white-space:normal!important;margin:3px 0 0!important;padding:0!important;
   font:500 clamp(9px,.77vw,13px)/1.22 system-ui!important;color:#bed7e9!important;
   max-height:calc(var(--pc25-title) - 35px)!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock :is(#hint-button,#moves-button,#cube-note,#frbc-v298-game-state,.frbc-v3621-turn-window){display:none!important}
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock #cube-button {
   display:flex!important;grid-area:2/1/3/3!important;flex-flow:row nowrap!important;
   justify-content:center!important;align-items:center!important;gap:clamp(3px,.3vw,7px)!important;
   position:relative!important;min-width:0!important;width:100%!important;max-width:100%!important;
   height:var(--pc25-cube)!important;min-height:var(--pc25-cube)!important;max-height:var(--pc25-cube)!important;
   border:1px solid #8bb9d664!important;border-radius:7px!important;
   padding:1px 3px!important;margin:0!important;box-sizing:border-box!important;
   background:#2a557942!important;color:#d3e9f8!important;
   font:750 clamp(9px,.7vw,13px)/1.1 system-ui!important;white-space:nowrap!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock #cube-button b {min-width:18px!important;padding:2px!important;border:1px solid #82b6d059!important;border-radius:4px!important;text-align:center!important}
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock :is([data-v28-command="pause"],[data-v28-command="abandon"],#frbc-v36-friend-button,#undo-button) {
   display:grid!important;place-items:center!important;position:relative!important;
   width:100%!important;min-width:0!important;max-width:100%!important;
   height:var(--pc25-cell)!important;min-height:var(--pc25-cell)!important;max-height:var(--pc25-cell)!important;
   padding:0!important;margin:0!important;box-sizing:border-box!important;
   border:1px solid #80b3d4!important;border-radius:8px!important;
   background:#1b5074df!important;color:#eff8ff!important;font-size:0!important;box-shadow:none!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock [data-v28-command="pause"]{grid-area:3/1/4/2!important}
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock [data-v28-command="abandon"]{grid-area:3/2/4/3!important}
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock #frbc-v36-friend-button{grid-area:4/1/5/2!important}
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock #undo-button{grid-area:4/2/5/3!important}
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock :is([data-v28-command="pause"],[data-v28-command="abandon"],#frbc-v36-friend-button) svg {
   display:block!important;width:clamp(22px,2vw,34px)!important;height:clamp(22px,2vw,34px)!important;
   stroke:currentColor!important;fill:none!important;stroke-width:2.15!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock #undo-button::before {
   content:''!important;display:block!important;width:clamp(23px,2vw,34px)!important;height:clamp(23px,2vw,34px)!important;
   background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e9f6ff' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 9 5 14l5 5'/%3E%3Cpath d='M5 14h9a5 5 0 0 0 5-5V5'/%3E%3C/svg%3E")!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock :is(#cube-button,#undo-button,#frbc-v36-friend-button,[data-v28-command="pause"],[data-v28-command="abandon"]):disabled {
   opacity:.43!important;filter:grayscale(.65)!important;pointer-events:none!important;cursor:not-allowed!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock #dice-values {
   display:flex!important;grid-area:5/1/6/3!important;flex-flow:row nowrap!important;
   align-items:stretch!important;justify-content:flex-start!important;gap:var(--pc25-gap)!important;
   width:100%!important;min-width:0!important;max-width:100%!important;
   height:var(--pc25-cell)!important;max-height:var(--pc25-cell)!important;min-height:var(--pc25-cell)!important;
   margin:0!important;padding:0!important;box-sizing:border-box!important;overflow-x:auto!important;overflow-y:hidden!important;
   scrollbar-width:none!important;scroll-snap-type:x proximity!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock #dice-values::-webkit-scrollbar {display:none!important}
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock #dice-values:empty::before,
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock #dice-values:empty::after {
   content:''!important;display:grid!important;place-items:center!important;
   flex:0 0 calc((100% - var(--pc25-gap))/2)!important;height:100%!important;min-width:0!important;
   box-sizing:border-box!important;border:1px solid #8bbbd8!important;border-radius:8px!important;
   background:#e9e9e1 center / 24px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='3' y='3' width='18' height='18' rx='1' fill='none' stroke='%230c3351' stroke-width='2'/%3E%3Ccircle cx='7.5' cy='7.5' r='1.7' fill='%230c3351'/%3E%3Ccircle cx='16.5' cy='7.5' r='1.7' fill='%230c3351'/%3E%3Ccircle cx='12' cy='12' r='1.7' fill='%230c3351'/%3E%3Ccircle cx='7.5' cy='16.5' r='1.7' fill='%230c3351'/%3E%3Ccircle cx='16.5' cy='16.5' r='1.7' fill='%230c3351'/%3E%3C/svg%3E")!important;
   opacity:.52!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock #dice-values>button {
   display:grid!important;place-items:center!important;
   flex:0 0 max(44px,calc((100% - var(--pc25-gap))/2))!important;
   width:auto!important;max-width:none!important;min-width:44px!important;
   height:var(--pc25-cell)!important;max-height:var(--pc25-cell)!important;min-height:44px!important;
   padding:0!important;margin:0!important;box-sizing:border-box!important;
   background:#f0ede6!important;color:#163f5c!important;
   border:1px solid #8bbbd8!important;border-radius:8px!important;scroll-snap-align:start!important;
   font:900 clamp(23px,2vw,32px)/1 system-ui!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock #dice-values>button:disabled{opacity:.43!important;filter:grayscale(1)!important;pointer-events:none!important}
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock :is(#roll-button,#confirm-button):not([hidden]) {
   display:flex!important;grid-area:6/1/7/3!important;justify-content:center!important;align-items:center!important;
   width:100%!important;min-width:0!important;max-width:100%!important;
   height:var(--pc25-cell)!important;max-height:var(--pc25-cell)!important;min-height:var(--pc25-cell)!important;
   margin:0!important;padding:4px!important;box-sizing:border-box!important;
   background:linear-gradient(145deg,#effaff,#a1d4f5)!important;color:#082c48!important;
   border:1px solid #c6eafd!important;border-radius:9px!important;
   font:800 clamp(10px,.7vw,13px)/1.1 system-ui!important;text-align:center!important;white-space:normal!important;gap:3px!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock :is(#roll-button,#confirm-button)[hidden],
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock [hidden] {display:none!important}
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock :is(.frbc-multiplayer-actions,.coach-strip,#frbc-multiplayer-actions){display:none!important}
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock [disabled]{cursor:not-allowed!important}
 /* Right: same actual V28 six-by-two menu, same row dimensions as left. */
 html.frbc-v3625-desktop.frbc-v28-demo:not(.frbc-v28-rail-closed) #v28-rail#v28-rail#v28-rail:not([hidden]) {
   display:block!important;position:fixed!important;
   top:var(--pc25-top)!important;right:var(--pc25-edge)!important;left:auto!important;bottom:auto!important;
   width:var(--pc25-width)!important;min-width:var(--pc25-width)!important;max-width:var(--pc25-width)!important;
   height:var(--pc25-rail-h)!important;min-height:0!important;max-height:calc(100dvh - var(--pc25-top) - 8px)!important;
   box-sizing:border-box!important;margin:0!important;padding:var(--pc25-pad)!important;
   overflow-x:hidden!important;overflow-y:auto!important;scrollbar-width:none!important;
   background:var(--pc25-panel)!important;border:1px solid #8bbcd9!important;border-radius:12px!important;
   box-shadow:0 8px 23px #0009!important;transform:none!important;z-index:95!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #v28-rail#v28-rail#v28-rail .v28-grid {
   display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
   grid-auto-flow:row!important;grid-auto-rows:var(--pc25-cell)!important;gap:var(--pc25-gap)!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #v28-rail#v28-rail#v28-rail .v28-grid>.v28-tile {
   display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;
   gap:clamp(2px,.4dvh,5px)!important;position:relative!important;
   min-width:0!important;width:100%!important;max-width:100%!important;
   height:var(--pc25-cell)!important;min-height:var(--pc25-cell)!important;max-height:var(--pc25-cell)!important;
   margin:0!important;padding:2px!important;box-sizing:border-box!important;
   border:1px solid #80b3d4!important;border-radius:8px!important;
   background:#1b5074df!important;color:#eff8ff!important;
   font:750 clamp(10px,.7vw,13px)/1 system-ui!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #v28-rail#v28-rail#v28-rail .v28-grid>.v28-tile svg {display:block!important;width:clamp(18px,1.45vw,28px)!important;height:clamp(18px,1.45vw,28px)!important;flex:0 0 auto!important}
 html.frbc-v3625-desktop.frbc-v28-demo #v28-rail#v28-rail#v28-rail .v28-grid>.v28-tile .v28-tile-label {
   font:800 clamp(8px,.65vw,12px)/1.07 system-ui!important;letter-spacing:.02em!important;
   min-width:0!important;white-space:nowrap!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #v28-rail#v28-rail#v28-rail .v28-grid>.v28-tile:disabled {opacity:.42!important;filter:grayscale(.6)!important}
 html.frbc-v3625-desktop.frbc-v28-demo.frbc-v28-rail-closed #v28-rail#v28-rail#v28-rail,
 html.frbc-v3625-desktop.frbc-v28-demo.frbc-v28-dock-closed #game-dock#game-dock#game-dock {display:none!important;visibility:hidden!important;pointer-events:none!important}
 /* Both collapses use EXACTLY the same mirrored chevron. */
 html.frbc-v3625-desktop.frbc-v28-demo :is(#v28-dock-handle#v28-dock-handle#v28-dock-handle,#v28-rail-handle#v28-rail-handle#v28-rail-handle) {
   display:grid!important;place-items:center!important;position:fixed!important;
   top:var(--pc25-top)!important;width:var(--pc25-arrow-w)!important;min-width:var(--pc25-arrow-w)!important;
   max-width:var(--pc25-arrow-w)!important;height:var(--pc25-arrow-h)!important;
   min-height:var(--pc25-arrow-h)!important;max-height:var(--pc25-arrow-h)!important;
   border:1px solid #88c1e5!important;border-radius:7px!important;
   padding:0!important;margin:0!important;box-sizing:border-box!important;
   background:#123751!important;color:#eff8ff!important;font-size:0!important;line-height:0!important;
   z-index:98!important;transform:none!important;visibility:visible!important;pointer-events:auto!important;
   transition:left .36s cubic-bezier(.22,1,.36,1),right .36s cubic-bezier(.22,1,.36,1)!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo :is(#v28-dock-handle,#v28-rail-handle)::before {display:none!important;content:none!important}
 html.frbc-v3625-desktop.frbc-v28-demo :is(#v28-dock-handle,#v28-rail-handle)::after {
   content:''!important;display:block!important;position:absolute!important;
   top:50%!important;left:50%!important;width:9px!important;height:9px!important;
   border:solid currentColor!important;border-width:3px 3px 0 0!important;border-radius:0!important;
   transform:translate(-50%,-50%) rotate(225deg)!important;pointer-events:none!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #v28-dock-handle#v28-dock-handle#v28-dock-handle {left:calc(var(--pc25-edge) + var(--pc25-width) + 5px)!important;right:auto!important}
 html.frbc-v3625-desktop.frbc-v28-demo #v28-rail-handle#v28-rail-handle#v28-rail-handle {right:calc(var(--pc25-edge) + var(--pc25-width) + 5px)!important;left:auto!important}
 html.frbc-v3625-desktop.frbc-v28-demo #v28-rail-handle::after,
 html.frbc-v3625-desktop.frbc-v28-demo.frbc-v28-dock-closed #v28-dock-handle::after {transform:translate(-50%,-50%) rotate(45deg)!important}
 html.frbc-v3625-desktop.frbc-v28-demo.frbc-v28-rail-closed #v28-rail-handle::after {transform:translate(-50%,-50%) rotate(225deg)!important}
 html.frbc-v3625-desktop.frbc-v28-demo.frbc-v28-dock-closed #v28-dock-handle#v28-dock-handle#v28-dock-handle {left:var(--pc25-edge)!important;right:auto!important}
 html.frbc-v3625-desktop.frbc-v28-demo.frbc-v28-rail-closed #v28-rail-handle#v28-rail-handle#v28-rail-handle {right:var(--pc25-edge)!important;left:auto!important}
 html.frbc-v3625-desktop.frbc-v28-demo.frbc-v28-dock-closed #frbc-v3625-status {display:none!important}
 /* Popup frame exists only when a native modal is opened; 3D remains visible. */
 html.frbc-v3625-desktop.frbc-v28-demo :is(#shop-modal#shop-modal,#frbc-lobby-modal#frbc-lobby-modal,#menu-modal#menu-modal):not([hidden]),
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-chat-modal#frbc-chat-modal:not([hidden]):not(.is-collapsed) {
   display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:stretch!important;
   position:fixed!important;inset:var(--pc25-frame-top) var(--pc25-frame-right) var(--pc25-frame-bottom) var(--pc25-frame-left)!important;
   top:var(--pc25-frame-top)!important;left:var(--pc25-frame-left)!important;
   right:var(--pc25-frame-right)!important;bottom:var(--pc25-frame-bottom)!important;
   width:auto!important;max-width:none!important;height:auto!important;max-height:none!important;
   min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;box-sizing:border-box!important;
   border:1px solid #9fd0f0!important;border-radius:5px!important;
   background:#102e49!important;backdrop-filter:none!important;box-shadow:0 12px 35px #0006!important;
   overflow:hidden!important;z-index:17000!important;pointer-events:auto!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo :is(#shop-modal#shop-modal,#frbc-lobby-modal#frbc-lobby-modal,#menu-modal#menu-modal):not([hidden])>*,
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-chat-modal#frbc-chat-modal:not([hidden]):not(.is-collapsed)>.frbc-chat-card {
   display:block!important;position:relative!important;inset:auto!important;transform:none!important;
   width:100%!important;min-width:0!important;max-width:100%!important;
   height:100%!important;min-height:0!important;max-height:100%!important;
   margin:0!important;padding:clamp(12px,1.4dvh,24px)!important;box-sizing:border-box!important;
   overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;
   border-radius:5px!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #shop-modal#shop-modal .shop-card {display:flex!important;flex-direction:column!important}
 html.frbc-v3625-desktop.frbc-v28-demo #shop-modal#shop-modal .frbc-shop-scroll {flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important}
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-chat-modal#frbc-chat-modal .frbc-chat-card {display:flex!important;flex-direction:column!important}
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-chat-modal#frbc-chat-modal #frbc-chat-thread {flex:1 1 auto!important;min-height:36px!important;overflow-y:auto!important}
 html.frbc-v3625-desktop.frbc-v28-demo :is(#v28-sessions-panel#v28-sessions-panel,#moves-panel#moves-panel):not([hidden]) {
   position:fixed!important;left:var(--pc25-frame-left)!important;right:var(--pc25-frame-right)!important;
   top:var(--pc25-frame-top)!important;bottom:var(--pc25-frame-bottom)!important;
   width:auto!important;max-width:none!important;max-height:none!important;
   transform:none!important;overflow:auto!important;box-sizing:border-box!important;z-index:17000!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo :is(#shop-modal,#frbc-lobby-modal,#menu-modal,#frbc-chat-modal,#moves-panel,#v28-sessions-panel)[hidden],
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-chat-modal.is-collapsed {display:none!important}
 /* Desktop gameplay cleanup: hide legacy floating controls, not their handlers. */
 html.frbc-v3625-desktop.frbc-v28-demo :is(#side-stats,.side-stats,.view-switch,#board-orientation-switch,.room-note,#frbc-chat-open){display:none!important;visibility:hidden!important;pointer-events:none!important}
 html.frbc-v3625-desktop.frbc-v28-demo #game-dock#game-dock#game-dock #frbc-v28-dock-controls button {font-size:0!important}
}
@media (prefers-reduced-motion:reduce){html.frbc-v3625-desktop #frbc-v3625-status .pc25-ticker{animation:none!important}}


/* FRBC V36.27 — DESKTOP ONLY: stop old dock before the official V36.25
   shell takes over. Keep the real gameplay handlers; no replicated controls.
   This also covers matches where app's cosmetic game-active class is delayed. */
@media screen and (min-width:900px) and (min-height:480px) and (pointer:fine) and (hover:hover) {
 html.frbc-v28-demo:not(.frbc-mobile-ui):not(.frbc-mobile-horizontal):not(.frbc-mobile-vertical):not(.frbc-v3625-desktop) body :is(#game-dock,#v28-rail,#v28-dock-handle,#v28-rail-handle,#dice-values.v28-desktop-dice,#v28-match-hint) {
   visibility:hidden!important;pointer-events:none!important;opacity:0!important;
 }
 html.frbc-v36-game-active:not(.frbc-mobile-ui):not(.frbc-mobile-horizontal):not(.frbc-mobile-vertical):not(.frbc-v3625-desktop) body :is(#game-dock,#dice-values.v28-desktop-dice) {
   visibility:hidden!important;pointer-events:none!important;opacity:0!important;
 }
 /* Previously stacked panel and old rail helpers are no longer presentation
    surfaces on desktop. Their native actions still exist in V28. */
 html.frbc-v3625-desktop.frbc-v28-demo body :is(.frbc-pc-rail,.frbc-pc-layout-toggle,.frbc-pc-sessions,#frbc-v298-game-state) {
   display:none!important;visibility:hidden!important;pointer-events:none!important;
 }
 /* Disable ONLY duplicate opponent activity under the status ticker. */
 html.frbc-v3625-desktop.frbc-v3627-opponent-repeat body #game-dock#game-dock #turn-help,
 html.frbc-v3625-desktop.frbc-v3627-opponent-repeat body #game-dock#game-dock .frbc-v3621-turn-window {
   display:none!important;
 }
 /* Suppress the redundant 'first roll' tip only while the native roll action
    is present in the new left menu. Other useful tips stay clickable. */
 html.frbc-v3625-desktop.frbc-v3627-duplicate-hint body #v28-match-hint#v28-match-hint {display:none!important;pointer-events:none!important}
 /* Desktop notices, possible moves and player alerts: always bottom-LEFT.
    For low screens keep them beside the left dock without covering buttons. */
 html.frbc-v3625-desktop.frbc-v28-demo body #v28-match-hint#v28-match-hint:not([hidden]) {
   position:fixed!important;inset:auto auto var(--pc27-hint-bottom,12px) var(--pc27-notice-left,var(--pc25-edge))!important;
   top:auto!important;right:auto!important;
   width:var(--pc27-notice-width,clamp(210px,19vw,330px))!important;
   min-width:0!important;max-width:var(--pc27-notice-width,clamp(210px,19vw,330px))!important;
   max-height:min(19dvh,126px)!important;overflow-y:auto!important;
   margin:0!important;transform:none!important;box-sizing:border-box!important;z-index:125!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo body #v28-match-hint#v28-match-hint.v28-hint-collapsed:not([hidden]) {
   width:40px!important;min-width:40px!important;max-width:40px!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo body #toast#toast.show:not([hidden]) {
   display:block!important;position:fixed!important;inset:auto auto var(--pc27-toast-bottom,12px) var(--pc27-notice-left,var(--pc25-edge))!important;
   top:auto!important;right:auto!important;
   width:var(--pc27-notice-width,clamp(210px,19vw,330px))!important;
   min-width:0!important;max-width:var(--pc27-notice-width,clamp(210px,19vw,330px))!important;
   max-height:min(16dvh,110px)!important;overflow-y:auto!important;
   margin:0!important;transform:none!important;box-sizing:border-box!important;z-index:126!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo body .frbc-notification-root:has(.frbc-player-notice:not([hidden])) {
   position:fixed!important;inset:auto auto var(--pc27-player-bottom,12px) var(--pc27-notice-left,var(--pc25-edge))!important;
   top:auto!important;right:auto!important;
   width:var(--pc27-notice-width,clamp(210px,19vw,330px))!important;
   min-width:0!important;max-width:var(--pc27-notice-width,clamp(210px,19vw,330px))!important;
   max-height:min(16dvh,110px)!important;overflow-y:auto!important;
   margin:0!important;transform:none!important;box-sizing:border-box!important;z-index:127!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo body .frbc-notification-root .frbc-player-notice {max-width:100%!important;box-sizing:border-box!important}
 html.frbc-v3625-desktop.frbc-v28-demo body #moves-panel#moves-panel:not([hidden]) {
   display:block!important;position:fixed!important;
   inset:auto auto var(--pc27-moves-bottom,12px) var(--pc27-notice-left,var(--pc25-edge))!important;
   top:auto!important;right:auto!important;
   width:var(--pc27-notice-width,clamp(210px,19vw,330px))!important;
   min-width:0!important;max-width:var(--pc27-notice-width,clamp(210px,19vw,330px))!important;
   height:auto!important;min-height:0!important;max-height:min(39dvh,350px)!important;
   padding:clamp(6px,.65dvh,12px)!important;margin:0!important;
   box-sizing:border-box!important;overflow-x:hidden!important;overflow-y:auto!important;
   overscroll-behavior:contain!important;transform:none!important;z-index:128!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo body #moves-panel#moves-panel #moves-list {max-width:100%!important;overflow-x:hidden!important}
 html.frbc-v3625-desktop.frbc-v28-demo body :is(#v28-match-hint,#toast,#moves-panel)[hidden] {display:none!important}
 html.frbc-v3625-desktop.frbc-v28-demo body #toast:not(.show){display:none!important}
}
@media screen and (min-width:900px) and (max-height:680px) and (pointer:fine) and (hover:hover) {
 html.frbc-v3625-desktop {
   --pc27-notice-left:calc(var(--pc25-edge) + var(--pc25-width) + var(--pc25-arrow-w) + 15px);
   --pc27-notice-width:clamp(175px,18vw,260px);
 }
}

/* V36.28 — PC-only final arbitration with the V28 legacy portal. */
@media screen and (min-width:900px) and (min-height:480px) and (pointer:fine) and (hover:hover) {
 html.frbc-v3625-desktop.frbc-v28-demo body #v28-match-hint#v28-match-hint:not([hidden]) {
  left:var(--pc27-notice-left,var(--pc25-edge))!important;
  right:auto!important;top:auto!important;
  bottom:var(--pc27-hint-bottom,12px)!important;
  transform:none!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo body #toast#toast.show:not([hidden]) {
  left:var(--pc27-notice-left,var(--pc25-edge))!important;
  right:auto!important;top:auto!important;
  bottom:var(--pc27-toast-bottom,12px)!important;
  transform:none!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo body #dice-values#dice-values.v28-desktop-dice {
  display:none!important;visibility:hidden!important;pointer-events:none!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo.frbc-v28-dock-closed body #game-dock#game-dock {
  display:none!important;visibility:hidden!important;pointer-events:none!important;
 }
}

/* FRBC V36.30 — DESKTOP ONLY. Match left dock and attach native alerts below.
   No change to the validated mobile layout, the rails or the game engine. */
@media screen and (min-width:900px) and (min-height:480px) and (pointer:fine) and (hover:hover) {
 html.frbc-v3625-desktop.frbc-v28-demo {
   --pc30-notice-left:var(--pc25-edge);
   --pc30-notice-width:var(--pc25-width);
   --pc30-notice-top:calc(var(--pc25-top) + var(--pc25-rail-h) + 7px);
 }
 html.frbc-v3625-desktop.frbc-v28-demo body :is(
   #moves-panel#moves-panel:not([hidden]),
   #board-details#board-details[open],
   #v28-match-hint#v28-match-hint:not([hidden]),
   #toast#toast.show:not([hidden]),
   .frbc-notification-root:has(.frbc-player-notice:not([hidden]))
 ) {
   position:fixed!important;
   top:var(--pc30-notice-top)!important;bottom:auto!important;
   left:var(--pc30-notice-left)!important;right:auto!important;
   width:var(--pc30-notice-width)!important;
   min-width:0!important;max-width:var(--pc30-notice-width)!important;
   margin:0!important;transform:none!important;
   box-sizing:border-box!important;
   overflow-x:hidden!important;
   overflow-y:auto!important;
   scrollbar-width:none!important;
   -ms-overflow-style:none!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo body :is(
   #moves-panel,#board-details,#v28-match-hint,#toast,.frbc-notification-root
 )::-webkit-scrollbar,
 html.frbc-v3625-desktop.frbc-v28-demo body :is(
   #moves-panel,#board-details,#v28-match-hint,#toast,.frbc-notification-root
 ) *::-webkit-scrollbar {width:0!important;height:0!important;display:none!important}
 html.frbc-v3625-desktop.frbc-v28-demo body #moves-panel#moves-panel:not([hidden]) {
   padding:7px 7px 8px!important;
   max-height:min(38dvh,280px)!important;
   border-radius:9px!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo body #moves-panel#moves-panel header {
   display:flex!important;align-items:center!important;
   gap:2px!important;font:750 clamp(9px,.7vw,12px)/1.2 system-ui!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo body #moves-panel#moves-panel header strong {
   font:inherit!important;white-space:normal!important;overflow-wrap:anywhere!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo body #moves-panel#moves-panel header button {
   flex:0 0 24px!important;width:24px!important;height:24px!important;
   min-width:24px!important;padding:0!important;font:700 19px/24px system-ui!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo body #moves-panel#moves-panel p {
   margin:4px 0 6px!important;font:500 9px/1.25 system-ui!important;
   overflow-wrap:anywhere!important;
 }
 /* 6 columns x 4 rows preserve all 24 working point buttons while making
    them large enough to hit at the same width as the left gameplay rail. */
 html.frbc-v3625-desktop.frbc-v28-demo body #moves-panel#moves-panel #v28-point-grid {
   display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;
   gap:3px!important;width:100%!important;min-width:0!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo body #moves-panel#moves-panel #v28-point-grid .v28-point-cell {
   min-width:0!important;width:100%!important;min-height:25px!important;
   height:25px!important;padding:1px 0!important;
   font-size:8px!important;line-height:1!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo body #moves-panel#moves-panel #v28-point-grid .v28-point-pips i {
   width:4px!important;height:4px!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo body #moves-panel#moves-panel #v28-point-grid .v28-grid-special {
   display:flex!important;gap:4px!important;grid-column:1/-1!important;
   width:100%!important;min-width:0!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo body #moves-panel#moves-panel #v28-point-grid .v28-grid-special button {
   min-height:24px!important;padding:3px!important;flex:1 1 0!important;
   font-size:8px!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo body #moves-panel#moves-panel #moves-list {
   width:100%!important;max-width:100%!important;
   overflow-x:hidden!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo body #v28-match-hint#v28-match-hint.v28-hint-collapsed:not([hidden]) {
   width:var(--pc30-notice-width)!important;
   min-width:0!important;max-width:var(--pc30-notice-width)!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo body :is(
   #v28-match-hint,#toast,.frbc-notification-root
 ) {padding:6px!important;font-size:10px!important;overflow-wrap:anywhere!important}
}


/* FRBC V36.31 — Desktop ONLY. Optical finish without altering the V36.24
   mobile master or the validated desktop side rails. */
@media screen and (min-width:900px) and (min-height:480px) and (pointer:fine) and (hover:hover) {
 /* COUPS: native selectable moves grid stays directly under LEFT controls. */
 html.frbc-v3625-desktop.frbc-v28-demo body #moves-panel#moves-panel:not([hidden]) {
   box-shadow:none!important;filter:none!important;border:1px solid #86b7d5!important;
   background:#102e49!important;border-radius:9px!important;
 }
 /* Light-blue advice hint: same flat outline as the left rail's bottom action.
    Remove both the fake 3D rim and drop shadow, preserving the close button. */
 html.frbc-v3625-desktop.frbc-v28-demo body #v28-match-hint#v28-match-hint:not([hidden]) {
   border:1px solid #86b7d5!important;border-radius:10px!important;
   background:linear-gradient(105deg,#e9f6ff,#b1ddfb)!important;
   box-shadow:none!important;filter:none!important;outline:none!important;
   overflow:visible!important;height:auto!important;min-height:0!important;
   max-height:none!important;padding:8px 9px!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo body #toast#toast.show:not([hidden]) {
   background:#d8efff!important;color:#153751!important;
   border:1px solid #86b7d5!important;border-radius:9px!important;
   box-shadow:none!important;filter:none!important;outline:none!important;
   max-height:none!important;padding:9px 10px!important;text-align:left!important;
   white-space:normal!important;overflow-wrap:anywhere!important;line-height:1.35!important;
 }
 /* True account / chat / connection notices: TOP-LEFT of the 3D scene,
    independent from COUPS, never narrowed to the width of the left rail. */
 html.frbc-v3625-desktop.frbc-v28-demo body .frbc-notification-root:has(.frbc-player-notice:not([hidden])) {
   display:flex!important;flex-direction:column!important;gap:7px!important;
   box-sizing:border-box!important;pointer-events:none!important;
   padding:0!important;border:0!important;background:transparent!important;
   box-shadow:none!important;filter:none!important;
   scrollbar-width:none!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo body .frbc-notification-root .frbc-player-notice {
   width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;
   overflow:visible!important;overflow-wrap:anywhere!important;box-sizing:border-box!important;
   border:1px solid #86b7d5!important;border-radius:9px!important;
   background:#153d5a!important;box-shadow:none!important;filter:none!important;
   padding:10px 32px 10px 10px!important;
 }
 /* The native toast and informational hint are not under the gameplay menu.
    JS measures their heights and stacks them under the player notifications. */
 html.frbc-v3625-desktop.frbc-v28-demo body :is(#toast,#v28-match-hint,.frbc-notification-root)::-webkit-scrollbar {width:0!important;display:none!important}

 /* 4-column club roster only on sufficiently wide desktop windows. */
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-lobby-modal:not([hidden]) .frbc-lobby-list {
   display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
   align-content:start!important;gap:8px!important;min-width:0!important;
   max-height:calc(100% - 118px)!important;padding:2px 3px 8px 2px!important;
   overflow-x:hidden!important;overflow-y:auto!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-lobby-modal .frbc-lobby-player {
   display:grid!important;grid-template-columns:32px minmax(0,1fr)!important;
   grid-template-rows:minmax(36px,auto) auto!important;
   align-items:center!important;align-content:center!important;gap:5px 7px!important;
   width:100%!important;min-width:0!important;max-width:100%!important;
   min-height:93px!important;margin:0!important;padding:8px!important;
   overflow:hidden!important;box-sizing:border-box!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-lobby-modal .frbc-lobby-round-avatar {
   grid-column:1!important;grid-row:1!important;width:32px!important;height:32px!important;
   min-width:32px!important;min-height:32px!important;align-self:center!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-lobby-modal .frbc-lobby-player-name {
   grid-column:2!important;grid-row:1!important;min-width:0!important;width:100%!important;
   white-space:normal!important;overflow:hidden!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-lobby-modal .frbc-lobby-player:not(:has(.frbc-lobby-round-avatar)) .frbc-lobby-player-name {grid-column:1/-1!important}
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-lobby-modal .frbc-lobby-player-name strong {
   display:block!important;font-size:clamp(10px,.82vw,14px)!important;line-height:1.15!important;
   white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-lobby-modal .frbc-lobby-player-name small {
   display:block!important;font-size:clamp(8px,.64vw,10px)!important;line-height:1.22!important;
   overflow-wrap:anywhere!important;white-space:normal!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-lobby-modal .frbc-player-actions {
   grid-column:1/-1!important;grid-row:2!important;
   display:flex!important;align-items:center!important;justify-content:flex-end!important;
   flex-wrap:nowrap!important;gap:4px!important;min-width:0!important;width:100%!important;
   max-width:100%!important;overflow:visible!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-lobby-modal .frbc-player-actions button {
   min-width:0!important;min-height:29px!important;
   padding:4px 7px!important;font-size:clamp(9px,.7vw,12px)!important;
   line-height:1.15!important;border-radius:7px!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-lobby-modal .frbc-player-actions .frbc-favorite-toggle {
   flex:0 0 29px!important;width:29px!important;height:29px!important;
   padding:1px!important;font-size:19px!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-lobby-modal .frbc-no-mp {
   flex:0 0 28px!important;max-width:28px!important;min-width:0!important;
 }

 /* CHAT: narrow dock at the bottom-right, exactly as wide as the right rail.
    Other modals (SHOP/PARTIES/MENU) still use the approved central frame. */
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-chat-modal#frbc-chat-modal:not([hidden]):not(.is-collapsed) {
   display:flex!important;position:fixed!important;flex-direction:column!important;
   top:calc(var(--pc25-top) + var(--pc25-rail-h) + 9px)!important;
   right:var(--pc25-edge)!important;bottom:var(--pc25-edge)!important;left:auto!important;
   inset:auto var(--pc25-edge) var(--pc25-edge) auto!important;
   width:var(--pc25-width)!important;min-width:var(--pc25-width)!important;
   max-width:var(--pc25-width)!important;height:auto!important;max-height:none!important;
   min-height:0!important;margin:0!important;padding:0!important;
   border:1px solid #86b7d5!important;border-radius:9px!important;
   background:#102e49!important;box-shadow:none!important;backdrop-filter:none!important;
   overflow:hidden!important;box-sizing:border-box!important;z-index:17050!important;
 }
 /* Reassert top after inset shorthand; native CSS may carry earlier !important. */
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-chat-modal#frbc-chat-modal:not([hidden]):not(.is-collapsed) {
   top:calc(var(--pc25-top) + var(--pc25-rail-h) + 9px)!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-chat-modal#frbc-chat-modal:not([hidden]):not(.is-collapsed)>.frbc-chat-card {
   display:flex!important;flex-direction:column!important;flex:1 1 auto!important;
   position:relative!important;inset:auto!important;transform:none!important;
   width:100%!important;max-width:100%!important;min-width:0!important;
   height:100%!important;max-height:100%!important;min-height:0!important;
   padding:8px!important;margin:0!important;border-radius:8px!important;
   background:#102e49!important;box-shadow:none!important;overflow:hidden!important;
   font-size:10px!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-chat-modal .frbc-chat-card header {flex:0 0 auto!important;min-height:23px!important;gap:4px!important}
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-chat-modal .frbc-chat-card header small {display:none!important}
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-chat-modal .frbc-chat-card h2 {font:750 13px/1.1 system-ui!important;margin:0!important}
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-chat-modal #frbc-chat-close {font:700 18px/1 Arial!important;min-width:24px!important;min-height:24px!important;padding:2px 5px!important}
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-chat-modal .frbc-chat-label {font-size:9px!important;margin:2px 0!important}
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-chat-modal #frbc-chat-room {width:100%!important;min-width:0!important;min-height:26px!important;padding:3px 5px!important;font-size:10px!important}
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-chat-modal #frbc-chat-thread {
   flex:1 1 auto!important;min-height:28px!important;height:auto!important;
   overflow-x:hidden!important;overflow-y:auto!important;margin:4px 0!important;padding:5px 2px!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-chat-modal #frbc-chat-form {
   flex:0 0 auto!important;display:flex!important;flex-direction:column!important;gap:4px!important;
   width:100%!important;min-width:0!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-chat-modal #frbc-chat-text {
   width:100%!important;min-width:0!important;height:42px!important;min-height:36px!important;
   max-height:55px!important;padding:5px!important;font-size:10px!important;resize:vertical!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-chat-modal .frbc-chat-actions {
   display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;
   gap:3px!important;margin:0!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-chat-modal .frbc-chat-actions button {
   min-height:25px!important;min-width:0!important;flex:1 1 auto!important;
   padding:3px 5px!important;font-size:9px!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-chat-modal #frbc-chat-status {font-size:9px!important;margin:2px 0!important;min-height:0!important}
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-chat-modal #frbc-chat-emojis:not([hidden]) {
   position:absolute!important;right:4px!important;bottom:95px!important;
   max-width:calc(100% - 8px)!important;z-index:4!important;
 }
}
@media screen and (min-width:900px) and (max-height:700px) and (pointer:fine) and (hover:hover) {
 /* On low desktop windows there is no vertical room beneath the right rail:
    keep CHAT compact at the lower right of the central area, without hiding tiles. */
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-chat-modal#frbc-chat-modal:not([hidden]):not(.is-collapsed) {
   top:auto!important;right:calc(var(--pc25-edge) + var(--pc25-width) + 12px)!important;
   bottom:var(--pc25-edge)!important;left:auto!important;
   height:min(300px,60dvh)!important;
 }
}
@media screen and (min-width:900px) and (max-width:1199px) and (pointer:fine) and (hover:hover) {
 html.frbc-v3625-desktop.frbc-v28-demo #frbc-lobby-modal:not([hidden]) .frbc-lobby-list {
   grid-template-columns:repeat(2,minmax(0,1fr))!important;
 }
}


/* FRBC V36.32 — Native V28 VUES choices under the desktop RIGHT menu.
   These are the ORIGINAL functional buttons, reparented in JS only on PC. */
@media screen and (min-width:900px) and (min-height:480px) and (pointer:fine) and (hover:hover) {
 html.frbc-v3625-desktop.frbc-v28-demo body #v28-view-choices.frbc-pc32-view-picker:not([hidden]) {
   display:flex!important;align-items:stretch!important;justify-content:stretch!important;
   gap:5px!important;position:fixed!important;
   top:calc(var(--pc25-top) + var(--pc25-rail-h) + 7px)!important;
   right:var(--pc25-edge)!important;left:auto!important;bottom:auto!important;
   width:var(--pc25-width)!important;max-width:var(--pc25-width)!important;min-width:0!important;
   height:49px!important;min-height:49px!important;max-height:49px!important;
   box-sizing:border-box!important;margin:0!important;padding:5px!important;
   border:1px solid #86b7d5!important;border-radius:9px!important;
   background:linear-gradient(155deg,rgba(20,60,91,.98),rgba(8,32,54,.99))!important;
   box-shadow:none!important;z-index:17200!important;pointer-events:auto!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo body #v28-view-choices.frbc-pc32-view-picker:not([hidden]) button {
   display:flex!important;align-items:center!important;justify-content:center!important;
   flex:1 1 0!important;width:50%!important;min-width:0!important;
   height:37px!important;min-height:37px!important;max-height:37px!important;
   padding:2px 4px!important;margin:0!important;
   color:#e6f6ff!important;background:#1c5073!important;
   border:1px solid #83b7d7!important;border-radius:7px!important;
   font:750 clamp(10px,.74vw,13px)/1.1 system-ui!important;
   text-align:center!important;cursor:pointer!important;
 }
 html.frbc-v3625-desktop.frbc-v28-demo body #v28-view-choices.frbc-pc32-view-picker[hidden],
 html.frbc-v3625-desktop.frbc-v28-demo.frbc-v28-rail-closed body #v28-view-choices.frbc-pc32-view-picker {display:none!important}
}


/* FRBC V36.34 — DESKTOP MATCH ONLY.
   Start from untouched V36.32, restore the same modal presentation used
   after the introduction for MENU / PARTIES *during an active match only*.
   The post-intro home menu and every other modal remain bit-for-bit as in V36.32.
   Never add frbc-home-screen to a live match: it carries game-state logic. */
@media screen and (min-width:900px) and (min-height:480px) and (pointer:fine) and (hover:hover) {
  /* Full-viewport cinematic curtain instead of the central full-size frame. */
  html.frbc-v36-game-active.frbc-v3625-desktop.frbc-v28-demo:not(.frbc-mobile-ui):not(.frbc-mobile-horizontal):not(.frbc-mobile-vertical)
  body #menu-modal#menu-modal#menu-modal:not(.frbc-home-screen):not([hidden]),
  html.frbc-v36-game-active.frbc-v3625-desktop.frbc-v28-demo:not(.frbc-mobile-ui):not(.frbc-mobile-horizontal):not(.frbc-mobile-vertical)
  body #frbc-lobby-modal#frbc-lobby-modal#frbc-lobby-modal:not([hidden]) {
    display:flex!important;position:fixed!important;
    inset:0!important;top:0!important;right:0!important;bottom:0!important;left:0!important;
    width:100vw!important;height:100dvh!important;
    min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;
    margin:0!important;padding:0!important;box-sizing:border-box!important;
    border:0!important;border-radius:0!important;box-shadow:none!important;
    background:rgba(4,13,24,.53)!important;
    backdrop-filter:blur(7px) saturate(.82)!important;
    -webkit-backdrop-filter:blur(7px) saturate(.82)!important;
    overflow:hidden!important;pointer-events:auto!important;z-index:17500!important;
  }
  /* MENU uses the SAME left, full-height panel proportions and surface as HOME. */
  html.frbc-v36-game-active.frbc-v3625-desktop.frbc-v28-demo
  body #menu-modal#menu-modal#menu-modal:not(.frbc-home-screen):not([hidden]) {
    flex-direction:row!important;align-items:stretch!important;justify-content:flex-start!important;
    background:linear-gradient(90deg,rgba(3,12,23,.43),rgba(3,12,23,.20) 62%,rgba(3,12,23,.40))!important;
  }
  html.frbc-v36-game-active.frbc-v3625-desktop.frbc-v28-demo
  body #menu-modal#menu-modal#menu-modal:not(.frbc-home-screen):not([hidden]) > .menu-card {
    display:flex!important;position:relative!important;flex:0 0 auto!important;
    flex-direction:column!important;align-items:stretch!important;
    inset:auto!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;
    transform:none!important;width:min(570px,46vw)!important;
    min-width:0!important;max-width:min(570px,46vw)!important;
    height:100dvh!important;min-height:0!important;max-height:100dvh!important;
    margin:0!important;padding:clamp(22px,3vw,36px) clamp(20px,3vw,34px) max(18px,env(safe-area-inset-bottom))!important;
    box-sizing:border-box!important;overflow-x:hidden!important;overflow-y:auto!important;
    overscroll-behavior:contain!important;scrollbar-width:thin!important;
    gap:12px!important;border:1px solid #9bc9eb!important;
    border-radius:0 20px 20px 0!important;
    background:linear-gradient(165deg,rgba(14,43,70,.985),rgba(7,25,45,.99))!important;
    box-shadow:14px 0 46px rgba(0,0,0,.38),inset 0 1px rgba(230,246,255,.08)!important;
    color:#f3f8ff!important;
    animation:frbc-pc34-menu-entrance .36s cubic-bezier(.19,.83,.25,1) both;
  }
  /* PARTIES reuses its native centered lobby card instead of stretching it. */
  html.frbc-v36-game-active.frbc-v3625-desktop.frbc-v28-demo
  body #frbc-lobby-modal#frbc-lobby-modal#frbc-lobby-modal:not([hidden]) {
    flex-direction:row!important;align-items:center!important;justify-content:center!important;
    padding:clamp(8px,2dvh,24px)!important;
  }
  html.frbc-v36-game-active.frbc-v3625-desktop.frbc-v28-demo
  body #frbc-lobby-modal#frbc-lobby-modal#frbc-lobby-modal:not([hidden]) > .frbc-lobby {
    display:block!important;position:relative!important;flex:0 1 auto!important;
    inset:auto!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;
    transform:none!important;width:min(790px,calc(100vw - 40px))!important;
    min-width:0!important;max-width:calc(100vw - 32px)!important;
    height:auto!important;min-height:0!important;max-height:92dvh!important;
    margin:auto!important;padding:clamp(16px,3vw,28px)!important;
    box-sizing:border-box!important;overflow-x:hidden!important;overflow-y:auto!important;
    overscroll-behavior:contain!important;border:1px solid #7ebbe8!important;
    border-radius:22px!important;
    background:linear-gradient(140deg,#153e60,#071b31)!important;
    box-shadow:0 32px 80px #000a!important;
    animation:frbc-pc34-lobby-entrance .32s cubic-bezier(.19,.83,.25,1) both;
  }
  /* Compact native lobby player layout, as in the post-intro centered dialog. */
  html.frbc-v36-game-active.frbc-v3625-desktop.frbc-v28-demo
  body #frbc-lobby-modal#frbc-lobby-modal#frbc-lobby-modal:not([hidden]) .frbc-lobby-list {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    max-height:min(48dvh,470px)!important;
    overflow-y:auto!important;
  }
  @keyframes frbc-pc34-menu-entrance {
    from{opacity:.3;transform:translateX(-26px)}
    to{opacity:1;transform:translateX(0)}
  }
  @keyframes frbc-pc34-lobby-entrance {
    from{opacity:.3;transform:translateY(14px) scale(.985)}
    to{opacity:1;transform:translateY(0) scale(1)}
  }
}
@media (prefers-reduced-motion:reduce) {
 html.frbc-v36-game-active.frbc-v3625-desktop.frbc-v28-demo body #menu-modal#menu-modal:not(.frbc-home-screen) > .menu-card,
 html.frbc-v36-game-active.frbc-v3625-desktop.frbc-v28-demo body #frbc-lobby-modal#frbc-lobby-modal > .frbc-lobby {
   animation:none!important;
 }
}
