/* Original garden-colour Parchisi table, with sculpted tokens and clear paths. */
.parchisi-board{position:relative;display:grid!important;grid-template-columns:repeat(19,minmax(0,1fr))!important;grid-template-rows:repeat(19,minmax(0,1fr))!important;gap:0;padding:0!important;background:#f0ecd6;border:2px solid #95ad80;border-radius:16px;overflow:hidden;isolation:isolate;direction:ltr;touch-action:manipulation}
.p-cell{min-width:0;min-height:0;border:.5px solid #becaaa;background:linear-gradient(145deg,#fffef3,#e7edda);border-radius:2px;display:grid;place-items:center;color:#6b8860;z-index:1}
.p-lane{background:color-mix(in srgb,var(--p-color) 34%,#fffbe9);border-color:color-mix(in srgb,var(--p-color) 65%,#dbe6c9)}
.p-safe{background:linear-gradient(145deg,#f8f7d5,#dce8c8)}.p-safe svg{width:65%;height:65%;stroke-width:1.6}
.p-nest{position:absolute;width:40%;height:40%;padding:3.5%;border:1px solid color-mix(in srgb,var(--p-color) 60%,#fff);border-bottom:5px solid color-mix(in srgb,var(--p-color) 75%,#355436);background:linear-gradient(145deg,#fffdf1,color-mix(in srgb,var(--p-color) 20%,#eef1dc));border-radius:17%;z-index:0;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 3px #fff9!important}
.p-nest:after{content:'';position:absolute;inset:28%;border:2px dashed color-mix(in srgb,var(--p-color) 40%,transparent);border-radius:50%;pointer-events:none}
.p-nest-0{bottom:1%;left:1%}.p-nest-1{top:1%;right:1%}.p-nest-2{top:1%;left:1%}.p-nest-3{bottom:1%;right:1%}
.p-nest>.p-identity{position:absolute;top:5%;left:5%;right:5%;gap:5px;justify-content:center;max-width:90%}.p-nest .sticker-avatar{width:clamp(18px,3.4vw,30px);height:clamp(18px,3.4vw,30px)}.p-nest strong{font-size:clamp(8px,1.5vw,13px);max-width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.p-nest .country-flag{width:16px;height:12px}.p-nest[data-empty=true]{opacity:.35}.p-nest[data-current=true]{outline:3px solid var(--p-color);outline-offset:-5px}
.p-goal{grid-area:9/9/12/12;z-index:2;display:grid;place-items:center;background:conic-gradient(#d5a54b 0 25%,#c64b43 0 50%,#397856 0 75%,#5687b0 0);border:2px solid #bda35a;border-radius:12px;color:#fff9dd;box-shadow:inset 0 3px #fff5!important}.p-goal svg{width:40%;height:40%;filter:drop-shadow(0 2px #213d3555)}
.p-pawn{position:absolute;z-index:5;width:5%;height:5%;min-width:0;min-height:0;padding:0;transform:translate(-50%,-50%);border:2px solid var(--p-color);border-bottom-width:3px;border-radius:50%;background:#fff9e8;box-shadow:0 2px 0 #23472e55!important;cursor:pointer;transition:none!important;overflow:visible}
.p-pawn img{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%;pointer-events:none}.p-pawn b{position:absolute;right:-5px;bottom:-4px;display:grid;place-items:center;min-width:11px;height:11px;padding:0 2px;border-radius:8px;background:var(--p-color);color:white;font:700 8px/1 sans-serif}.p-pawn:disabled{opacity:1;cursor:default}.p-pawn[data-ready=true]{outline:2px solid #e7bc51;outline-offset:2px;z-index:8}.p-pawn[data-selected=true]{outline:3px solid #e3a930;outline-offset:3px;z-index:9}.p-pawn:focus-visible{outline:3px solid #d59930;outline-offset:3px}.p-pawn[hidden]{display:none}
.p-targets{position:absolute;inset:0;z-index:7;pointer-events:none}.p-target{position:absolute;width:5.3%;height:5.3%;min-width:0;min-height:0;transform:translate(-50%,-50%);border:2px solid #2d7950;border-radius:50%;background:#bfe4a6e8;color:#184b32;font-size:clamp(8px,1.5vw,13px);font-weight:800;padding:0;pointer-events:auto;box-shadow:0 2px 0 #477449!important}
.p-identity{display:inline-flex;align-items:center;gap:8px;min-width:0}.p-identity>.sticker-avatar{width:36px;height:36px;flex-shrink:0}.p-identity>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.p-identity .country-flag{flex-shrink:0}
.parchisi-panel{display:grid;gap:14px;min-width:0;margin:16px 0}.parchisi-panel[hidden]{display:none!important}.p-turn-card,.p-ready{padding:20px;border:1px solid #c8d8b9;border-bottom:5px solid #a2bc8f;border-radius:20px;background:linear-gradient(145deg,#fffef6,#e8f1de);display:grid;gap:12px;min-width:0;box-shadow:inset 0 2px #fff!important}.p-turn-card{border-inline-start:5px solid var(--p-color)}.p-turn-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.p-clock{font-size:20px;font-variant-numeric:tabular-nums;color:#315d40;flex-shrink:0}.p-muted,.p-instruction{font-size:13px;line-height:1.6;margin:0;color:#67805a}.p-ready{text-align:center}.p-ready h3{font-size:21px;margin:0;line-height:1.5}.p-ready .primary-button,.p-roll{width:100%;min-height:56px;font-size:16px;border-radius:15px}.p-dice{display:flex;justify-content:center;gap:14px;direction:ltr;min-height:50px}.p-die{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:4px;width:50px;height:54px;padding:8px;border:1px solid #cab980;border-bottom:5px solid #b79f68;border-radius:12px;background:linear-gradient(145deg,#fffdf3,#ecddb3);box-shadow:inset 0 2px #fff!important}.p-die i{width:100%;height:100%;border-radius:50%;background:#315d42;box-shadow:inset 0 1px #183b2a!important}.p-instruction{font-size:14px}
.p-player-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.p-player-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 10px;min-width:0;border:1px solid #c9d8bb;border-inline-start:4px solid var(--p-color);border-bottom:3px solid #aabe98;border-radius:15px;padding:12px;background:linear-gradient(145deg,#fffef7,#eaf2df)}.p-player-card>.p-identity{grid-column:1/-1}.p-player-card small{font-size:11px;color:#6b805d}.p-home-count{font-size:21px;color:var(--p-color)}.p-player-card[data-current=true]{background:linear-gradient(145deg,#fff9db,#e4efcc)}.parchisi-panel>.p-sidebar{display:none}
body.parchisi-room .arena>.player-row{display:none!important}body.parchisi-room .arena .board-wrap{margin-block:14px}body.parchisi-room #board{aspect-ratio:1!important}body.parchisi-room.focus-mode .arena .board-wrap{margin:0}body.parchisi-room.focus-mode #parchisi-panel{align-self:stretch;width:100%;flex-shrink:0;margin:0;gap:8px}body.parchisi-room.focus-mode .p-turn-card{padding:10px 14px;gap:7px}body.parchisi-room.focus-mode .p-dice{position:absolute;right:15px;top:12px;gap:7px;min-height:0}body.parchisi-room.focus-mode .p-turn-card{position:relative}body.parchisi-room.focus-mode .p-turn-head{padding-inline-end:90px}body.parchisi-room.focus-mode .p-die{width:33px;height:36px;padding:5px;gap:2px;border-radius:8px;border-bottom-width:3px}body.parchisi-room.focus-mode .p-instruction{font-size:12px}
.p-event-notice{position:fixed;z-index:160;top:max(12px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);display:flex;gap:9px;align-items:center;max-width:calc(100vw - 24px);padding:10px 15px;border:1px solid #bbcca8;border-bottom:3px solid #9bb17e;border-radius:15px;background:#fffdeef5;color:#325c3c;font-size:14px;pointer-events:none}.p-event-notice .sticker-avatar{width:32px;height:32px}.card-art.parchisi{background:radial-gradient(ellipse at 50% 30%,#fcf5d8,#d9e7ca)}.parchisi-mini-art{width:100%;height:100%;object-fit:contain;padding:25px}
@media(min-width:1024px){body.parchisi-room.focus-mode .arena{padding-left:250px;padding-right:108px}body.parchisi-room.focus-mode .p-sidebar{display:grid;position:fixed;left:16px;top:80px;width:210px;grid-template-columns:minmax(0,1fr);max-height:calc(100dvh - 160px);overflow-y:auto}body.parchisi-room.focus-mode .parchisi-panel{max-width:760px;align-self:center!important}body.parchisi-room.focus-mode .p-turn-card{grid-template-columns:1fr auto;align-items:center}body.parchisi-room.focus-mode .p-turn-head{padding-inline-end:95px}body.parchisi-room.focus-mode .p-turn-card>.p-muted,body.parchisi-room.focus-mode .p-instruction{display:none}.p-player-list .country-flag{width:18px;height:14px}}
@media(max-width:600px){.parchisi-board{border-radius:10px}.p-nest{border-bottom-width:3px}.p-pawn{border-width:1px 1px 2px}.p-pawn b{right:-3px;bottom:-3px;font-size:6px;height:9px;min-width:9px}.p-nest .country-flag{display:none}.p-player-list{grid-template-columns:minmax(0,1fr)}.p-turn-card,.p-ready{padding:15px;border-radius:17px}.p-event-notice{padding:8px 12px;font-size:12px}.p-event-notice .sticker-avatar{width:27px;height:27px}.p-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.p-tools>button{min-width:0;font-size:14px}body.parchisi-room.focus-mode .p-identity>.sticker-avatar{width:28px;height:28px}body.parchisi-room.focus-mode .p-turn-head .country-flag{display:none}body.parchisi-room.focus-mode .p-turn-card .p-roll{min-height:46px}body.parchisi-room.focus-mode .p-turn-card .p-muted{font-size:11px}}
@media(orientation:landscape) and (max-height:600px) and (max-width:1023px){body.parchisi-room.focus-mode .arena{padding:8px 80px 8px 190px}body.parchisi-room.focus-mode #parchisi-panel{position:fixed;left:10px;top:12px;bottom:12px;width:165px;overflow-y:auto;align-self:auto;gap:7px}body.parchisi-room.focus-mode .p-turn-card{padding:9px;gap:7px}body.parchisi-room.focus-mode .p-turn-head{padding-inline-end:0;flex-wrap:wrap}body.parchisi-room.focus-mode .p-dice{position:static}.p-turn-card .p-tools{gap:6px}body.parchisi-room.focus-mode .p-tools{display:grid;grid-template-columns:1fr}.p-turn-card .p-instruction{font-size:11px}body.parchisi-room.focus-mode .p-roll{font-size:13px;padding:9px;min-height:44px}}

/* Wider cross, numbered paths and a single pair of dice in the board centre. */
.parchisi-board{grid-template-columns:repeat(8,minmax(0,1fr)) repeat(3,minmax(0,1.8fr)) repeat(8,minmax(0,1fr))!important;grid-template-rows:repeat(8,minmax(0,1fr)) repeat(3,minmax(0,1.8fr)) repeat(8,minmax(0,1fr))!important}
.p-nest{width:35.4%;height:35.4%}
.p-cell{position:relative}
.p-cell-number{font:600 clamp(6px,1.75vw,12px)/1 'DM Sans',sans-serif;color:#4c6844;font-variant-numeric:tabular-nums;pointer-events:none}
.p-lane .p-cell-number{font-weight:800;color:#244b37}
.p-safe svg{position:absolute;right:1px;top:1px;width:clamp(4px,.8vw,7px);height:clamp(4px,.8vw,7px);opacity:.65}
.p-goal{overflow:visible;border-radius:14px;padding:3px}
.parchisi-board #parchisi-dice{grid-area:9/9/12/12;z-index:30;isolation:isolate;position:relative!important;display:flex;align-items:center;justify-content:center;width:100%;height:100%;gap:clamp(3px,.7vw,8px);min-height:0;margin:0;padding:0;pointer-events:none}
#parchisi-dice .p-die{width:clamp(22px,6.5vw,48px);height:auto;aspect-ratio:.93;flex:0 1 auto;min-width:0;min-height:0;max-width:43%;padding:clamp(3px,1vw,7px);gap:clamp(2px,.5vw,4px);border-radius:clamp(5px,1.4vw,11px);border-bottom-width:3px}
.p-pawn[data-home=true]{width:3%;height:3%;border-width:1px}
.p-pawn[data-home=true] b{display:none}

.p-actions{display:grid;gap:10px;min-width:0}
.p-mobile-turn{display:none}
body.parchisi-room.focus-mode .p-turn-head{padding-inline-end:0}
body.parchisi-room.focus-mode .p-turn-card{grid-template-columns:1fr}
body.parchisi-room.focus-mode .p-tools>button{min-height:46px}
#parchisi-turn-dialog::backdrop{background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
#parchisi-turn-dialog-content{display:grid;gap:18px;text-align:center}
#parchisi-turn-dialog .p-actions{gap:14px}
#parchisi-turn-dialog .p-instruction{margin:0;font-size:13px}
@media(max-width:600px),(max-width:1023px) and (max-height:600px){
 .parchisi-panel .p-actions>.p-roll{display:none}
 .parchisi-panel .p-mobile-turn{display:flex;width:100%;align-items:center;justify-content:center;gap:9px;min-height:52px;font-size:16px;border-radius:15px}
 .p-turn-card{padding:12px;gap:10px;min-height:114px}
 .p-turn-head .p-identity>.sticker-avatar{width:30px;height:30px}
 .p-turn-head .p-identity>strong{font-size:13px}
 .p-turn-head .country-flag{display:none}
 .p-clock{font-size:19px}
 .p-cell-number{font-size:clamp(6px,1.8vw,9px)}
 body.parchisi-room.focus-mode .p-turn-card{padding:10px 12px;min-height:108px}
 body.parchisi-room.focus-mode .p-turn-head{padding-inline-end:0}
 #parchisi-turn-dialog{height:auto;max-height:min(78dvh,540px)}
 #parchisi-turn-dialog .sheet-body{padding-bottom:max(22px,env(safe-area-inset-bottom))}
}

/* Physical dice: six independent faces, warm ivory edges and real tumbling. */
.p-goal{min-width:0;min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
#parchisi-dice{min-width:0;min-height:0;perspective:340px}
#parchisi-dice .p-die,.mono-dice>.game-die{--p-size:clamp(22px,6.5vw,48px);--p-half:calc(var(--p-size)/2);width:var(--p-size);height:var(--p-size);max-width:none;aspect-ratio:1;display:block;position:relative;padding:0;border:0;background:transparent;box-shadow:none!important;perspective:220px;flex:0 0 var(--p-size);transform-style:preserve-3d}
.game-die-cube{display:block;position:absolute;inset:0;transform-style:preserve-3d}
.game-die-face{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:clamp(2px,.45vw,4px);padding:clamp(3px,1vw,7px);background:linear-gradient(145deg,#fffdf2,#eeddb0);border:1px solid #b6a272;border-radius:clamp(4px,1.1vw,8px);backface-visibility:hidden;box-shadow:inset 1px 1px #fffaf0,inset -2px -2px #b5a16d66!important}
.game-die-face i{display:block;background:#2d6547;border-radius:50%;box-shadow:inset 0 1px #163b2a!important}
.game-die-face[data-face="1"]{transform:translateZ(var(--p-half))}
.game-die-face[data-face="6"]{transform:rotateY(180deg) translateZ(var(--p-half))}
.game-die-face[data-face="2"]{transform:rotateY(90deg) translateZ(var(--p-half))}
.game-die-face[data-face="5"]{transform:rotateY(-90deg) translateZ(var(--p-half))}
.game-die-face[data-face="3"]{transform:rotateX(90deg) translateZ(var(--p-half))}
.game-die-face[data-face="4"]{transform:rotateX(-90deg) translateZ(var(--p-half))}
.p-tools{display:flex;flex-wrap:wrap;gap:10px}.p-tools>button{flex:1;min-height:48px}
@media(max-width:600px){.p-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(orientation:landscape) and (max-height:600px) and (max-width:1023px){body.parchisi-room.focus-mode .p-tools{display:grid;grid-template-columns:1fr}#parchisi-dice .p-die,.mono-dice>.game-die{--p-size:clamp(22px,3.2vw,35px)}}

/* A stable play area: decision controls never change the board's allocation. */
html:has(body.parchisi-room:not(.focus-mode)){scrollbar-gutter:stable}
body.parchisi-room.focus-mode #parchisi-panel{height:182px;min-height:182px;max-height:182px;align-content:start}
body.parchisi-room.focus-mode .p-turn-card{height:128px;min-height:128px;max-height:128px;align-content:center;grid-auto-rows:min-content;overflow:hidden}
.p-actions:empty{display:none}
.p-pawn:not([data-home=true]){width:4.4%;height:4.4%}
.p-pawn b{right:-1px!important;bottom:-1px!important}
.p-pawn[data-ready=true]{outline-offset:-1px}
.p-pawn[data-selected=true]{outline-offset:-1px}
.p-pawn:before{content:'';position:absolute;inset:-4px;border-radius:50%}
@media(orientation:landscape) and (max-height:600px) and (max-width:1023px){body.parchisi-room.focus-mode #parchisi-panel{height:auto;min-height:0;max-height:none}}

/* Both pawns share a cell: shrink and separate within its longer axis. */
.p-pawn{width:var(--p-pawn-size,4.6%)!important;height:var(--p-pawn-size,4.6%)!important}
.p-pawn[data-stacked=true]{border-width:1px}
.p-pawn[data-stacked=true] b{right:0!important;bottom:0!important;min-width:7px;height:7px;padding:0 1px;font-size:5px;line-height:7px}
.p-target,.p-target:hover,.p-target:active,.p-target:focus{background:#cce7b4!important;color:#184b32!important}
/* Compatibility while an older tab still has a die-choice node. */
#parchisi-panel [data-p-die],#parchisi-turn-dialog [data-p-die]{color:#214c35!important;background:#eef5e4!important}
#parchisi-panel [data-p-die][aria-pressed=true],#parchisi-turn-dialog [data-p-die][aria-pressed=true]{color:#174931!important;background:#d2e8ba!important;border-color:#72965b!important}

@media(min-width:1024px){body.parchisi-room.focus-mode #parchisi-panel{margin-block-start:16px}}

.p-inline-error{margin:6px 0 0;padding:8px 10px;border:1px solid #e1bbb0;border-radius:10px;color:#8b382f;background:#fff1e8;font-size:12px;line-height:1.5}

/* Share the same seat, mode and waiting cards as Monopoly. */
#parchisi-setup-dialog .mono-seat-field .mono-choices{grid-template-columns:repeat(3,minmax(0,1fr))}
#parchisi-setup-dialog .mono-fieldset>legend{display:flex;align-items:center;gap:8px;font-size:15px;margin-bottom:12px}
#parchisi-setup-dialog legend svg{width:20px;height:20px;color:#5e8053}

/* Monopoly uses the same six-face dice and tumble as Parchisi. */
.mono-dice>.game-die{--p-size:clamp(27px,4vw,49px)}
@media(max-height:600px) and (orientation:landscape){.mono-dice>.game-die{--p-size:29px}}
@media(max-width:600px) and (max-height:640px){.mono-dice>.game-die{--p-size:27px}}

/* Reference circuit: unnumbered pawn stickers, star refuges and solid entry lanes. */
.p-cell.p-entry{background:color-mix(in srgb,var(--p-color) 65%,#fffbe9);border-color:color-mix(in srgb,var(--p-color) 80%,#dbe6c9)}
.p-cell.p-star{background:linear-gradient(145deg,#e8e0ce,#d4c9b4)}
.p-star svg{position:static;width:58%;height:58%;min-width:8px;min-height:8px;fill:#827665;stroke:#827665;stroke-width:1;opacity:.85}

/* Give the actual squares more room, keeping sticker faces clear at phone sizes. */
body.parchisi-room .arena .board-border{padding:2px!important;border-width:1px!important;border-bottom-width:3px!important}
body.parchisi-room:not(.focus-mode) .arena{padding-inline:10px}
.p-pawn{border-width:1px;border-bottom-width:2px}
.p-pawn[data-stacked=true]{border-bottom-width:1px}
@media(max-width:600px){body.parchisi-room.focus-mode .arena{padding-inline:max(4px,env(safe-area-inset-left)) max(4px,env(safe-area-inset-right))}body.parchisi-room:not(.focus-mode) .arena{padding-inline:8px}}

/* Fill the pawn with the sticker face instead of its transparent SVG margin. */
.p-pawn{overflow:hidden}
.p-pawn>img{position:absolute;left:50%;top:50%;width:122%;height:122%;max-width:none;transform:translate(-50%,-50%);object-fit:contain}

/* Legal moves cover their actual grid square instead of a circular marker. */
.p-targets{display:grid;grid-template-columns:inherit;grid-template-rows:inherit}
.p-target{position:relative;inset:auto;width:100%;height:100%;min-width:0;min-height:0;margin:0;transform:none;translate:none!important;align-self:stretch;justify-self:stretch;border:2px solid #39764d;border-bottom-width:3px;border-radius:3px;display:grid;place-items:center;line-height:1;z-index:1;box-shadow:inset 0 1px #fff8!important}
.p-target:hover,.p-target:focus-visible{border-color:#1d5938;outline:1px solid #f4d27b;outline-offset:-2px}

/* Board dice are not the small dice used in the turn card. */
.parchisi-board #parchisi-dice{inset:auto!important;align-self:stretch;justify-self:stretch}
