﻿:root{--ink:#fff6d8;--gold:#ffd36b;--panel:#093c55;--dk-ink:#173e51;--dk-p1:#fff9e5;--dk-p2:#e8f5ee;--dk-lbl:#365b66;--dk-pe:#d2ab57}
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;color:var(--ink);font:800 14px/1.35 Nunito,Arial,sans-serif;background:#062c42}body{background:radial-gradient(ellipse at 45% 40%,#0d8c9c66,transparent 65%),url('/ludo/meja-nusantara-scene.webp') center/cover no-repeat}button,a{-webkit-tap-highlight-color:transparent}button{font:900 14px/1.2 Nunito,Arial,sans-serif;color:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #fff2a8;outline-offset:3px}[hidden]{display:none!important}
#app{height:100dvh;max-width:1480px;margin:auto;position:relative}#home,#play{height:100%;position:relative}header{height:52px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 16px;background:linear-gradient(90deg,#062b4ce8,#086578dd,#062b4ce8);border-bottom:1px solid #e8c26899;position:relative;z-index:4}.round{display:grid;place-items:center;width:44px;height:44px;flex:none;border:1px solid #ffe4a2;border-radius:13px;background:linear-gradient(#1d8398,#07374f);color:#fff4bf;text-decoration:none;font-size:25px;box-shadow:0 3px 0 #052534}.brand{font:900 20px/1 'Baloo 2',Nunito,sans-serif;letter-spacing:.5px}.brand b{color:#ffdc69}.brand small{font:800 10px/1.2 Nunito,sans-serif;display:block;margin-top:4px;text-align:center;letter-spacing:0}
.welcome{height:calc(100% - 52px);display:grid;grid-template-columns:380px minmax(0,1fr);gap:40px;align-items:center;padding:24px 38px;max-width:1200px;margin:auto}.home-copy{padding:20px;text-align:center;background:linear-gradient(135deg,#084c65ec,#062f4ad9);border:1px solid #74b8c77a;border-radius:24px;box-shadow:0 15px 30px #00172655}.eyebrow{font-size:9px;letter-spacing:2px;color:#f7dda2;margin:0 0 12px}h1{font:900 65px/.87 'Baloo 2',Nunito,sans-serif;margin:6px 0 16px;letter-spacing:-2px;transform:rotate(-4deg);filter:drop-shadow(0 5px 0 #052e4b)}h1 span,h1 b{-webkit-text-stroke:7px #073656;paint-order:stroke fill}h1 span{color:#ecffff;text-shadow:0 3px #66c2ed,0 6px #2c689a}h1 b{display:block;color:#ffe247;text-shadow:0 3px #ffb72d,0 6px #a95513}h1 small{display:block;font:900 11px/1.2 Nunito,sans-serif;letter-spacing:6px;color:#ffe6a5;margin-top:15px}.tagline{font-size:12px;color:#eaf7e6;margin:14px 0}.setup{display:grid;gap:8px;margin:16px 0}.picker{display:flex;padding:4px;gap:4px;border:1px solid #73bbd066;border-radius:13px;background:#042c47}.picker button{flex:1;min-width:0;min-height:44px;font-size:12px;border:0;border-radius:9px;background:transparent;color:#c6edf4}.picker button[aria-pressed=true]{background:linear-gradient(#fff2ac,#ffcc56);color:#123e54;box-shadow:0 2px 0 #ab7926}.primary{display:flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:12px 20px;border:2px solid #fff3b2;border-radius:15px;background:linear-gradient(#fff2a0,#ffd349 45%,#ffb127);color:#173b4c;box-shadow:0 5px 0 #ac6721,0 8px 16px #001b3355;font:900 20px/1 'Baloo 2',Nunito,sans-serif;text-shadow:0 1px #fff2b8}.primary:active:not(:disabled){transform:translateY(2px);box-shadow:0 3px 0 #ac6721}.primary:disabled{background:linear-gradient(#e2e9d3,#c5d7ca);border-color:#eaf0d6;box-shadow:0 4px 0 #477178;color:#345563;text-shadow:none}.secondary{min-height:44px;width:100%;padding:10px 14px;border:1px solid #b9b57b;border-radius:12px;background:#fff9df;color:#1f4c60;margin-top:8px}#bMain{width:100%;font-size:26px}#homeNote{min-height:26px;font-size:11px;color:#d4eef2;margin:12px 0 6px}
.hero-board{width:100%;max-width:640px;justify-self:center;position:relative;transform:rotate(6deg);filter:drop-shadow(0 20px 18px #00192877)}.hero-badge{position:absolute;left:50%;bottom:-26px;transform:translateX(-50%);padding:7px 15px;white-space:nowrap;font-size:10px;border-radius:99px;background:#063c53;border:1px solid #ffd17a;color:#fff1b5}
.frame{padding:12px;border:2px solid #fff0b0;border-radius:20px;background:linear-gradient(135deg,#fff8bd,#ffd052 13%,#a96524 18%,#ffe99b 24%,#ffcc49 60%,#a36421 87%,#fff1ae);box-shadow:inset 0 0 0 3px #9a6527,inset 0 0 0 5px #ffe6a0,0 5px 0 #b0742c,0 9px 0 #52371f,0 15px 25px #001a2a77}.surface{aspect-ratio:1;position:relative;isolation:isolate;border-radius:8px;background:#c7f3df;box-shadow:0 0 0 2px #956322;overflow:hidden;container-type:inline-size}.surface>svg,#board>svg{display:block;width:100%;height:100%}#board,#pieces,#mark,#numbers,.map-pieces,.map-numbers{position:absolute;inset:0;width:100%;height:100%}#board{z-index:1}#numbers,.map-numbers{z-index:5;pointer-events:none}#mark{z-index:6;pointer-events:none}#pieces,.map-pieces{z-index:7;pointer-events:none}#numbers svg,.map-numbers svg{width:100%;height:100%;display:block}.ladder-route,.snake-route{transition:filter .2s ease}.route-focus .ladder-route:not(.route-active),.route-focus .snake-route:not(.route-active){opacity:.22}.route-active{opacity:1!important;filter:drop-shadow(0 0 1px #fff8a2) drop-shadow(0 0 1.2px #fff)!important}.route-active>path:first-of-type{stroke:#fff7ba;stroke-width:.85}
.pawn{position:absolute;display:block;width:4.2%;height:6.4%;transform:translate(-50%,calc(-50% + var(--hop,0px)));z-index:4;filter:drop-shadow(0 2px 1px #092e3780);will-change:transform,left,top}.pawn img{position:absolute;inset:0;display:block;width:100%;height:100%;min-width:0;min-height:0;object-fit:contain}.pawn-id{position:absolute;display:grid;place-items:center;bottom:0;right:-5%;border-radius:50%;min-width:12px;width:2.7cqw;height:2.7cqw;min-height:12px;background:#fff9db;color:#153e54;border:1px solid #754d19;font:900 max(9px,1.8cqw)/1 Nunito,Arial,sans-serif;font-style:normal;box-shadow:0 1px 1px #001c3b66}.pawn>.pawn-id{min-width:7px;min-height:7px;width:2cqw;height:2cqw;font-size:max(5.5px,1.4cqw);right:-3%;bottom:0}.pawn.current:after{content:"";position:absolute;inset:-9% -8%;border:1.5px solid #fff8bc;border-radius:50%;box-shadow:0 0 5px #fff0a6;z-index:-1}.pawn.cluster{width:2.6%;height:3%}.pawn.cluster.pair{width:3%;height:5.2%}.pawn.cluster .pawn-id{min-width:6px;min-height:6px;width:2cqw;height:2cqw;font-size:max(5.5px,1.5cqw);right:-10%;bottom:0}
.table{height:calc(100% - 52px);display:grid;grid-template-columns:minmax(0,1fr) 270px;align-items:center;gap:24px;padding:16px 24px;max-width:1210px;margin:auto}.board-wrap{width:min(100%,calc(100dvh - 116px));max-width:780px;justify-self:center}.board-foot{height:38px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 2px 0;font-size:10px;color:#e6f7ed}.board-foot>span{white-space:nowrap}.board-foot button{min-height:44px;min-width:44px;padding:3px 10px;font-size:12px;background:#06405ed9;border:1px solid #e9ca88;border-radius:12px;white-space:nowrap}#dock{display:flex;align-items:center;gap:8px}#dock>span{display:block;width:20px;height:26px;position:relative}#dock img{height:100%;width:100%;object-fit:contain}#dock .pawn-id{min-width:10px;min-height:10px;width:10px;height:10px;font-size:8px;right:-4px;bottom:0}
.side{display:flex;flex-direction:column;gap:16px}.player{min-height:56px;display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid #4eaab8;border-radius:12px;background:linear-gradient(120deg,#10617a,#06344d);margin-bottom:6px;box-shadow:0 3px 0 #05293d}.player.active{color:#143b4d;background:linear-gradient(120deg,#fff9ce,#ffd572);border-color:#fff5bf;box-shadow:0 0 0 2px #ffe8914a,0 3px 0 #ac6e23}.player-token{width:25px;height:36px;position:relative;display:block;flex:none}.player-token img{width:100%;height:100%;object-fit:contain}.player-token .pawn-id{width:13px;height:13px;min-height:0;min-width:0;font-size:9px;right:-3px}.player strong{font-size:12px;display:block}.player small{display:block;font-size:10px;color:#c1ece9}.player.active small{color:#416164}.player>b{margin-left:auto;font-size:24px;font-variant-numeric:tabular-nums;color:#fff4b6}.player.active>b{color:#113e51}
.controls{padding:16px;border:1px solid #7bb8c8;border-radius:18px;background:linear-gradient(140deg,#0d5973ef,#062e49f2);box-shadow:0 8px 20px #00192a55}.controls>small{font-size:10px;color:#ffe286;letter-spacing:1px}.controls h2{font:900 24px/1.15 'Baloo 2',Nunito,sans-serif;margin:4px 0}#instruction{font-size:12px;min-height:32px;color:#e4f3ef;margin:7px 0 12px}#roll{width:100%;gap:8px;min-height:78px;padding:9px}.roll-copy{display:flex;flex-direction:column;gap:5px;align-items:flex-start}#rollLabel{font-size:18px}.roll-copy small{font:900 10px Nunito,sans-serif}#die{width:48px;height:48px;flex:none}#feedback{font-size:12px;color:#fff0ab;min-height:34px;margin:14px 0 6px}#nextTurn{font-size:10px;color:#cae8ed;margin:3px 0;min-height:27px}.legend{display:flex;justify-content:space-between;gap:5px;font-size:9px;color:#d1e7dc;border-top:1px solid #71afbd55;margin-top:12px;padding-top:10px}#saveNote{font-size:10px;color:#ffdfaf}
dialog{border:2px solid #e0b862;border-radius:22px;padding:24px;width:min(430px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;background:linear-gradient(145deg,#fffcec,#e6f4e9);color:#173f50;box-shadow:0 20px 60px #0008;font:800 14px/1.5 Nunito,Arial,sans-serif}dialog::backdrop{background:#041c32bd;backdrop-filter:blur(3px)}dialog h2{font:900 27px/1.1 'Baloo 2',Nunito,sans-serif;margin:0 0 14px}dialog p{font-size:13px}dialog ul{padding-left:18px}dialog li{margin-bottom:7px}dialog .primary{width:100%;margin-top:14px}dialog label{display:flex;align-items:center;gap:8px;min-height:44px}dialog input{width:20px;height:20px}.score{font:900 54px/1.05 'Baloo 2',Nunito,sans-serif;color:#996020}.result-dialog{text-align:center}.winner-pawn{height:66px;width:52px;position:relative;margin:auto}.winner-pawn img{width:100%;height:100%;object-fit:contain}.winner-pawn .pawn-id{width:20px;height:20px;font-size:14px}.result-stats{display:flex;gap:8px;margin:10px 0}.result-stats span{flex:1;background:#fff9;border:1px solid #c5d9ce;border-radius:12px;padding:8px;font-size:10px}.result-stats b{display:block;font-size:21px}.zoom-dialog{width:min(850px,calc(100% - 16px));padding:16px;overflow:hidden}.zoom-dialog h2{font-size:22px;margin-bottom:4px}.zoom-hint{margin:0 0 10px!important;font-size:11px!important}.map-pan{height:min(65dvh,650px);overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y;border:2px solid #bf984b;border-radius:10px;background:#15535e}.map-large{width:max(620px,100%);padding:8px}.map-pieces .pawn-id{min-width:12px;min-height:12px}.map-large .surface{border-radius:3px}.zoom-dialog .primary{margin-top:10px;min-height:46px}
.confetti{position:absolute;left:50%;top:40%;width:7px;height:11px;background:var(--c);animation:burst 1.6s ease-out forwards;z-index:10;pointer-events:none}@keyframes burst{to{transform:translate(var(--x),var(--y)) rotate(400deg);opacity:0}}#uji{position:fixed;inset:0;z-index:1000;background:white;color:#112;padding:20px;overflow:auto;white-space:pre-wrap}
@media(max-width:760px) and (min-height:501px){header{height:48px;padding:2px 9px}.brand{font-size:18px}.brand small{font-size:9px}.welcome{height:calc(100% - 48px);display:flex;flex-direction:column;justify-content:center;gap:8px;padding:10px 18px 12px}.home-copy{display:contents}.eyebrow,.tagline{display:none}h1{order:0;font-size:36px;margin:0;line-height:.9;transform:rotate(-2deg)}h1 span,h1 b{display:inline;-webkit-text-stroke:5px #073656}h1 small{font-size:9px;letter-spacing:4px;margin-top:8px}.hero-board{order:1;width:min(65%,calc(100dvh - 450px));min-width:105px;max-width:280px;transform:rotate(3deg)}.hero-badge{display:none}.setup{order:2;margin:0;width:100%;max-width:360px;gap:6px}.picker button{min-height:40px;font-size:11px}.picker{padding:3px}#bMain{order:3;width:100%;max-width:360px;min-height:46px;font-size:24px}#homeNote{order:4;font-size:10px;margin:2px 0 0;min-height:14px}nav[data-dh-menu]{order:5}.table{height:calc(100% - 48px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:6px 7px 8px}.side{display:contents}#players{order:0;display:flex;width:100%;max-width:600px;gap:4px}.player{flex:1;min-width:0;min-height:45px;margin:0;padding:5px;gap:4px}.player-token{height:27px;width:18px}.player-token .pawn-id{width:10px;height:10px;font-size:8px}.player strong{font-size:10px;white-space:nowrap}.player small{font-size:8px}.player>b{font-size:19px}.player:nth-last-child(n+3) small,.player:nth-last-child(n+3)~.player small{display:none}.player:nth-last-child(n+3),.player:nth-last-child(n+3)~.player{display:grid;grid-template-columns:20px 1fr;gap:0 3px}.player:nth-last-child(n+3)>b,.player:nth-last-child(n+3)~.player>b{font-size:13px;grid-column:2;margin:0}.player:nth-last-child(n+3)>.player-token,.player:nth-last-child(n+3)~.player>.player-token{grid-row:1/3}.board-wrap{order:1;width:min(100%,calc(100dvh - 274px));max-width:600px}.frame{padding:8px;border-radius:14px}.board-foot{height:33px;font-size:8px;padding-top:9px}.board-foot button{font-size:10px;min-height:44px;padding:2px 7px}#dock{gap:6px}#dock>span{width:15px;height:21px}#dock .pawn-id{width:8px;height:8px;min-width:8px;min-height:8px;font-size:7px}.controls{order:2;width:100%;max-width:600px;padding:8px 10px;display:grid;grid-template-columns:minmax(0,1fr) 43%;column-gap:8px;row-gap:2px;border-radius:14px}.controls>small{font-size:8px;grid-column:1;letter-spacing:.5px}.controls h2{grid-column:1;font-size:19px;line-height:1;margin:0}#instruction{grid-column:1;font-size:10px;min-height:25px;margin:2px 0}#roll{grid-column:2;grid-row:1/4;min-height:63px;padding:5px;gap:1px}#die{width:34px;height:34px}#rollLabel{font-size:12px}.roll-copy small{font-size:8px}#feedback{grid-column:1/3;font-size:10px;min-height:14px;margin:5px 0 0}#nextTurn{grid-column:1/3;font-size:9px;min-height:13px;margin:0}.legend{display:none}#saveNote{grid-column:1/3;margin:0}}
@media(max-height:500px){header{height:46px;padding:1px 10px}.brand{font-size:17px}.table{height:calc(100% - 46px);grid-template-columns:minmax(0,1fr) 205px;gap:15px;padding:6px 14px 8px}.board-wrap{width:min(100%,calc(100dvh - 96px))}.frame{padding:6px;border-radius:12px}.board-foot{height:30px;font-size:8px}.board-foot>span{display:none}.board-foot button{padding:2px 6px;font-size:10px}.side{gap:7px}#players{display:grid;grid-template-columns:1fr 1fr;gap:4px}.player{padding:4px;min-height:38px;gap:4px;margin:0}.player-token{width:16px;height:24px}.player-token .pawn-id{width:9px;height:9px;font-size:7px}.player strong{font-size:9px}.player small{display:none}.player>b{font-size:15px}.controls{padding:8px}.controls>small{font-size:8px}.controls h2{font-size:17px;margin:2px 0}#instruction{font-size:10px;min-height:24px;margin:3px 0}#roll{min-height:48px;padding:5px}#die{width:34px;height:32px}#rollLabel{font-size:13px}.roll-copy small{font-size:8px}#feedback{font-size:10px;min-height:25px;margin:7px 0 2px}#nextTurn{font-size:8px;min-height:20px;margin:0}.legend{display:none}#dock>span{width:15px;height:21px}#dock{gap:7px}.welcome{height:calc(100% - 46px);grid-template-columns:280px minmax(0,1fr);gap:25px;padding:12px 20px}.home-copy{padding:8px 12px}.eyebrow,.tagline{display:none}h1{font-size:27px;margin:0}h1 span,h1 b{display:inline;-webkit-text-stroke:4px #073656}h1 small{font-size:8px;margin-top:5px}.setup{margin:8px 0;gap:4px}.picker{padding:2px}.picker button{min-height:30px;font-size:10px}#bMain{min-height:40px;font-size:20px}#homeNote{min-height:12px;font-size:9px;margin:7px 0 0}.hero-board{max-width:calc(100dvh - 110px)}.hero-badge{display:none}}
@media(min-width:761px) and (min-height:501px) and (max-height:700px){.welcome{grid-template-columns:340px minmax(0,1fr);padding:16px 30px}.home-copy{padding:14px 18px}.eyebrow{display:none}h1{font-size:51px;margin:0 0 12px}h1 small{margin-top:10px}.tagline{font-size:11px;margin:8px 0}.setup{margin:12px 0}#homeNote{min-height:14px}.side{gap:10px}.player{min-height:50px;padding:6px 9px}.controls{padding:12px}#instruction{margin:6px 0 10px}.legend{display:none}}
@media(max-width:360px) and (min-height:501px){.board-foot>span{display:none}.welcome{gap:6px;padding:8px 14px}.hero-board{width:min(55%,calc(100dvh - 438px))}h1{font-size:30px}.picker button{min-height:38px}#homeNote{font-size:9px}.player strong{font-size:9px}#rollLabel{font-size:11px}}
.cover header,.cover .setup,.cover #bMain,.cover #homeNote,.cover nav,.cover .hero-badge{display:none!important}.cover #app{max-width:none}.cover .welcome{height:100%;max-width:none;display:grid;grid-template-columns:.85fr 1.15fr;padding:65px 75px;gap:10px}.cover .home-copy{display:block;background:none;border:0;box-shadow:none;padding:0;transform:rotate(-5deg)}.cover .home-copy h1{font-size:13.5vw;line-height:.86;letter-spacing:-4px;margin:0;transform:none}.cover h1 span,.cover h1 b{display:block;-webkit-text-stroke:13px #073656}.cover h1 small{font-size:24px;letter-spacing:8px;margin-top:25px}.cover .eyebrow{display:none}.cover .tagline{display:block;font-size:21px;margin:28px 0 0}.cover .hero-board{max-width:none;width:100%;min-width:0;transform:rotate(7deg);order:0}.cover .frame{padding:14px}.cover .pawn{width:8%;height:9%}.cover .hero-board .pawn-id{font-size:2cqw}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.pawn{will-change:auto}}
@keyframes nearMiss{0%,100%{transform:translateX(0)}20%{transform:translateX(-5px)}40%{transform:translateX(4px)}60%{transform:translateX(-3px)}80%{transform:translateX(2px)}}
.controls.near-miss{animation:nearMiss .46s ease-out;box-shadow:0 0 0 2px #ffd86a,0 0 24px #ffb52f80,inset 0 1px #ffffff42}

/* Keep the die clear of its label, including on a 320px phone. */
@media(max-width:760px) and (min-height:501px){#roll{flex-direction:column;gap:0;padding:3px}#die{--edge:26px;width:38px;height:29px}.roll-copy{align-items:center;gap:2px}#rollLabel{font-size:12px}.roll-copy small{font-size:8px}}

/* The action remains outside the scroll area in short landscape viewports. */
.zoom-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:min(800px,calc(100dvh - 24px));max-height:calc(100dvh - 24px)}.zoom-dialog #dialogBody{display:flex;flex-direction:column;min-height:0}.zoom-dialog .map-pan{height:auto;min-height:0;flex:1}.zoom-dialog .zoom-hint{flex:none}.zoom-dialog .primary{flex:none}

/* Override the shared die stylesheet locally; do not change Ludo's die. */
@media(max-width:760px) and (min-height:501px){.controls #die{--edge:22px;width:40px;height:35px}.controls #die .dice-flight{top:calc(70% - var(--edge)/2)}.controls #die .dice-shadow{top:calc(75% - var(--edge)*.34)}}

/* v5: glossy, high-clarity materials while the number and pawn layers stay dominant. */
.frame{border-color:#fff4ba;background:linear-gradient(135deg,#fffbd2 0,#ffc92f 10%,#8a3e0c 18%,#fff1a0 25%,#f2a313 45%,#ffdc55 61%,#813604 83%,#fff2aa 100%);box-shadow:inset 0 0 0 2px #6d2d05,inset 0 0 0 5px #ffe88a,inset 0 0 18px #fff7b9aa,0 5px 0 #9a4d0b,0 9px 0 #41230f,0 16px 28px #00131f99}
.surface{background:#72edda;box-shadow:0 0 0 2px #6b3007,inset 0 0 14px #fff7c766}
.pawn{filter:drop-shadow(0 2px 1px #021d2bb5) drop-shadow(0 0 1px #fff4a4)}
.pawn img,.player-token img,#dock img,.winner-pawn img{filter:saturate(1.15) contrast(1.08);image-rendering:auto}
.player-token img{filter:saturate(1.15) contrast(1.08) drop-shadow(0 2px 1px #001a28aa)}
.ladder-route,.snake-route{shape-rendering:geometricPrecision}
.board-cell{shape-rendering:geometricPrecision}
#die .dice-cube,#diceThrow .dice-cube{filter:saturate(1.05) contrast(1.06) drop-shadow(0 1px 1px #00192388)}
#die .dice-shadow,#diceThrow .dice-shadow{background:#001c26;opacity:.38}
@media(max-width:760px) and (min-height:501px){.controls #die{--edge:25px;width:42px;height:38px}}

/* v7: equal visual weight for cells, direct numbering, and slender routes. */
.frame{padding:9px;border-width:1px;background:linear-gradient(135deg,#fff7c9 0,#edb636 12%,#754018 19%,#f8dc78 28%,#c8831f 55%,#ffec9f 72%,#774018 88%,#f9e59b 100%);box-shadow:inset 0 0 0 2px #724016,inset 0 0 0 4px #f6da75,0 4px 0 #7b4719,0 8px 18px #00131f80}
.surface{background:#164f5b;box-shadow:0 0 0 1px #754018,inset 0 0 0 1px #ffffff55}
.ladder-route,.snake-route{opacity:1}
#numbers text,.map-numbers text{font-variant-numeric:tabular-nums;letter-spacing:-.08px}
#pieces .pawn{isolation:isolate}
#pieces .pawn:before{content:"";position:absolute;z-index:-1;left:-17%;bottom:-3%;width:134%;height:30%;border:1px solid #fff4b5;border-radius:50%;background:var(--pawn-glow,#ff355d);box-shadow:0 0 5px var(--pawn-glow,#ff355d),inset 0 1px #ffffffaa;opacity:.82}
#pieces .pawn[data-player="0"]{--pawn-glow:#ff3158}
#pieces .pawn[data-player="1"]{--pawn-glow:#00d98c}
#pieces .pawn[data-player="2"]{--pawn-glow:#278cff}
#pieces .pawn[data-player="3"]{--pawn-glow:#ffd22f}
.route-active{opacity:1!important;filter:drop-shadow(0 0 1px #fff7a0) drop-shadow(0 0 2px #48f8ff)!important}

@media(max-width:760px) and (min-height:501px){.frame{padding:6px}}

#home .po-home{max-width:360px}
@media(max-width:760px) and (min-height:501px){#home .po-home{order:4;min-height:46px;margin:0 auto;font-size:14px}#homeNote{order:5}nav[data-dh-menu]{order:6}}


