:root{color:#233646;font-synthesis:none;--ink:#233646;--muted:#8192a0;--orange:#ee9b32;--border:#d7e0e7;--shadow:0 8px 24px #19324516;background:#172b3b;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0}body{overscroll-behavior:none}button{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible{outline-offset:3px;outline:3px solid #438cf2}svg{flex-shrink:0;width:22px;height:22px}button{touch-action:manipulation}p,h1,h2,h3{margin:0}button,dialog{color:inherit}button{border:0}#app{background:#e4ebf0;flex-direction:column;display:flex;overflow:hidden}.topbar{color:#fff;z-index:20;background:linear-gradient(115deg,#142938,#243c50);border-bottom:1px solid #66859940;flex-shrink:0;justify-content:space-between;align-items:center;height:83px;padding:0 30px;display:flex;box-shadow:0 5px 20px #10253530}.brand{align-items:center;gap:13px;display:flex}.brand-emblem{text-align:center;color:#283545;background:linear-gradient(145deg,#f6ba5a,#db841e);border-radius:12px 12px 12px 3px;width:43px;height:46px;font-size:31px;font-weight:900;line-height:46px;display:block;position:relative;box-shadow:inset 0 1px 1px #fff9,0 4px 12px #0003}.brand-emblem>span{font-size:17px;position:absolute;bottom:-8px;right:2px}.brand h1{letter-spacing:.2px;font-size:25px;font-weight:850}.brand h1>span{margin-left:5px;font-size:23px;font-weight:750}.brand h1 small{color:#f7c373;vertical-align:middle;border:1px solid #8294a45c;border-radius:4px;margin-left:10px;padding:3px 6px;font-size:12px}.brand p{letter-spacing:2px;color:#9eb2c2;margin-top:5px;font-size:8px}.top-center{color:#c0cdd6;letter-spacing:1px;align-items:center;gap:9px;font-size:12px;display:flex}.live-dot{background:#63b6a5;border-radius:50%;width:6px;height:6px;box-shadow:0 0 10px #63b6a56a}.separator{background:#ffffff24;width:1px;height:13px;margin:0 9px}.top-actions{gap:9px;display:flex}.icon-btn{width:37px;height:37px;color:inherit;background:0 0;border-radius:10px;place-items:center;display:grid}.top-actions .icon-btn{color:#ccd8e1;background:#ffffff07;border:1px solid #ffffff12}.icon-btn:hover{background:#ffffff18}.top-actions .icon-btn:disabled{opacity:.35}.game-layout{flex:1;grid-template-columns:minmax(0,1fr) 328px;min-height:0;display:grid}.board-section{background:#9db7c6;min-width:0;position:relative;overflow:hidden}.map-viewport{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;position:absolute;inset:0;overflow:hidden}.map-viewport:active{cursor:grabbing}.map-world{transform-origin:0 0;will-change:transform;width:2000px;height:1500px;position:absolute;top:0;left:0}.board-art{pointer-events:none;width:100%;height:100%;position:absolute}.board-hitlayer{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.tile-hit{fill:#0000;stroke:#0000;stroke-width:4px;transition:fill .2s,stroke .2s}.tile-hit.selected{fill:#f5bb4225;stroke:#f4b340;filter:drop-shadow(0 0 8px #e9b147)}.map-heading{z-index:5;pointer-events:none;text-shadow:0 1px 12px #e8f6ff70;position:absolute;top:25px;left:28px}.eyebrow{letter-spacing:2.5px;color:#7892a5;font-size:9px;font-weight:750}.map-heading .eyebrow{color:#3e5d6f;font-size:9px}.map-heading h2{letter-spacing:2px;color:#17354a;margin-top:8px;font-size:27px}.map-heading h2 span{letter-spacing:0;vertical-align:middle;border:1px solid #43637940;border-radius:5px;margin-left:7px;padding:3px 8px;font-size:11px;font-weight:500}.map-heading p{color:#4c697a;letter-spacing:.5px;margin-top:7px;font-size:11px}.map-round{z-index:5;color:#213f53;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#dae7edb5;border:1px solid #eaf5ff70;border-radius:9px;align-items:center;gap:10px;padding:8px 13px;display:flex;position:absolute;top:25px;right:25px}.map-round span{letter-spacing:1.5px;font-size:8px}.map-round b{font-variant-numeric:tabular-nums;font-size:23px}.map-toolbar{z-index:8;gap:12px;display:flex;position:absolute;bottom:34px;left:25px}.camera-buttons,.zoom-buttons{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f3f8f5e8;border:1px solid #fff8;border-radius:12px;align-items:center;padding:5px;display:flex;box-shadow:0 5px 16px #12293825}.camera-btn{color:#4d6679;background:0 0;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:9px 13px;font-size:11px;display:flex}.camera-btn svg{width:17px;height:17px}.camera-btn.active{color:#fff;background:#243f53;box-shadow:0 2px 5px #1233}.zoom-buttons>.icon-btn{color:#3e5769;width:31px;height:32px}.zoom-buttons>span{background:#c9d5df;width:1px;height:18px}.map-hint{color:#486677;pointer-events:none;align-items:center;gap:6px;font-size:10px;display:flex;position:absolute;bottom:39px;right:24px}.map-hint svg{width:16px;height:16px}.sidebar{z-index:10;scrollbar-width:thin;background:linear-gradient(130deg,#f0f4f7,#dfe7ee);border-left:1px solid #fff8;flex-direction:column;gap:17px;padding:20px 18px 11px;display:flex;overflow:auto;box-shadow:-8px 0 30px #1630440b}.section-title{justify-content:space-between;align-items:center;margin:0 2px 12px;display:flex}.section-title h2{letter-spacing:1px;font-size:13px;font-weight:750}.section-title>span{color:#8796a3;font-size:10px}.roster{flex-direction:column;gap:6px;display:flex}.player-row{text-align:left;background:linear-gradient(120deg,#fff9,#f9fcff55);border:1px solid #fff9;border-left:3px solid #0000;border-radius:12px;align-items:center;width:100%;min-height:64px;padding:8px 11px 8px 8px;transition:background .2s,box-shadow .2s;display:flex;position:relative}.player-row.active{border-left-color:var(--player-color);background:linear-gradient(110deg,#fff,#fff8);box-shadow:0 4px 14px #344e6012}.avatar{background:linear-gradient(150deg,#cddce6,#e7eff5);border-radius:10px;flex-shrink:0;width:47px;height:46px;margin-right:10px;position:relative;overflow:hidden}.sprite{pointer-events:none;background-image:url(/assets/characters.png);background-repeat:no-repeat;background-size:200% 200%;width:100%;height:100%;display:block;position:relative}.sprite-0{background-position:0 0}.sprite-1{background-position:100% 0}.sprite-2{background-position:0 100%}.sprite-3{background-position:100% 100%}.avatar .sprite{width:100px;height:100px;position:absolute;top:-1px;left:-26px}.player-meta{flex-direction:column;flex:1;min-width:0;display:flex}.player-meta strong{letter-spacing:.5px;white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.player-meta>small{letter-spacing:.7px;color:#8799a7;margin-top:3px;font-size:8px}.turn-tag{color:#b57a27;letter-spacing:0;background:#fff0d8;border-radius:3px;padding:2px 4px;font-size:8px;font-style:normal;font-weight:500;display:none}.active .turn-tag{display:inline-block}.progress-track{background:#cbd6df70;border-radius:4px;width:100%;height:3px;margin-top:6px;overflow:hidden}.progress-fill{background:var(--player-color);width:0%;height:100%;transition:width .35s;display:block}.player-position{justify-content:flex-end;align-items:baseline;gap:3px;min-width:43px;margin-left:12px;display:flex}.player-position b{color:#526b7e;font-variant-numeric:tabular-nums;font-size:18px;font-weight:750}.player-position small{color:#8d9ba7;font-size:8px}.turn-panel{color:#fff;background:linear-gradient(150deg,#273e51,#142938);border-radius:17px;flex-shrink:0;padding:17px 17px 9px;position:relative;overflow:hidden;box-shadow:0 8px 22px #172c4626,inset 0 1px #ffffff25}.turn-panel:before{content:"";pointer-events:none;background:radial-gradient(circle,#7fb6df20,#0000 68%);width:210px;height:210px;position:absolute;top:-30px;right:-60px}.turn-panel-top{justify-content:space-between;align-items:center;display:flex}.turn-panel .eyebrow{color:#91aabc;letter-spacing:2px;font-size:8px}.step-badge{color:#f5c375;align-items:center;gap:5px;font-size:9px;display:flex}.step-badge:before{content:"";background:#f5c375;border-radius:50%;width:4px;height:4px}.turn-body{justify-content:space-between;align-items:center;gap:6px;min-height:120px;display:flex}.turn-copy{z-index:1;flex:1;min-width:0;position:relative}.turn-copy h2{letter-spacing:.3px;white-space:nowrap;font-size:18px}.turn-copy>p{color:#a4b7c5;max-width:165px;margin-top:7px;font-size:10px;line-height:1.8}.turn-character{color:#c5d4dd;align-items:center;gap:5px;margin-top:12px;font-size:10px;display:flex}.turn-character>span{border-radius:50%;width:5px;height:5px}.turn-character small{color:#8ea3b4;border-left:1px solid #ffffff25;margin-left:2px;padding-left:7px;font-size:9px}.dice-tray{perspective:400px;flex-shrink:0;place-items:center;width:80px;height:100px;margin-top:7px;display:grid;position:relative}.dice-cube{width:50px;height:50px;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.2,.8,.3,1);position:relative;transform:rotateX(-18deg)rotateY(-24deg)}.dice-face{backface-visibility:hidden;background:linear-gradient(145deg,#fff,#ccd9e5);border:1px solid #bccbd6;border-radius:9px;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);gap:4px;width:50px;height:50px;padding:9px;display:grid;position:absolute;box-shadow:inset 0 0 5px #fff}.pip{background:0 0;border-radius:50%;display:block}.pip.on{background:#24435b;box-shadow:inset 0 1px 2px #0009}.face-1 .pip.on{background:#de8b25}.face-1{transform:translateZ(25px)}.face-2{transform:rotateY(90deg)translateZ(25px)}.face-3{transform:rotateX(90deg)translateZ(25px)}.face-4{transform:rotateX(-90deg)translateZ(25px)}.face-5{transform:rotateY(-90deg)translateZ(25px)}.face-6{transform:rotateY(180deg)translateZ(25px)}.dice-shadow{filter:blur(6px);background:#04101ba8;border-radius:50%;width:62px;height:15px;position:absolute;top:75px}.dice-result{letter-spacing:1px;color:#eec78d;font-size:10px;font-weight:650;position:absolute;bottom:-5px}.dice-cube.tumbling{transition:none;animation:.6s linear infinite tumble}.primary-action{color:#483217;letter-spacing:1px;background:linear-gradient(#ffc76a,#eea036);border-radius:10px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:48px;font-size:15px;font-weight:750;transition:filter .15s,transform .15s;display:flex;position:relative;box-shadow:0 3px #b97720,inset 0 1px #fff9}.primary-action:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.primary-action:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #b97720}.primary-action:disabled{color:#dbe5ec;background:linear-gradient(#7e8f9b,#5b7183);box-shadow:0 3px #3d5465}.primary-action svg{width:20px;height:20px}.key-hint{letter-spacing:.5px;opacity:.6;border:1px solid #8b5d2a40;border-radius:3px;padding:3px 4px;font-size:7px;font-weight:600;position:absolute;right:12px}.action-hint{text-align:center;letter-spacing:.4px;color:#8ea5b7;margin-top:11px;font-size:8px;line-height:1.4}.cell-panel{background:linear-gradient(130deg,#ffffffb0,#f1f6fa70);border:1px solid #fff9;border-radius:13px;flex-shrink:0;min-height:147px;padding:15px 16px;box-shadow:0 5px 20px #23394e08}.cell-top{justify-content:space-between;align-items:center;display:flex}.cell-kicker{letter-spacing:1px;color:#8595a1;font-size:9px}.cell-type{color:#6b8294;background:#e7eff4;border:1px solid #c4d3df;border-radius:4px;padding:2px 6px;font-size:9px}.cell-panel h3{color:#304b60;margin-top:10px;font-size:14px;line-height:1.5}.cell-panel p{color:#7b8f9f;letter-spacing:.1px;margin-top:7px;font-size:11px;line-height:1.9}.cell-footer{color:#8195a4;border-top:1px solid #d8e1e9;justify-content:space-between;gap:6px;margin-top:12px;padding-top:9px;font-size:8px;display:flex}.cell-footer>span:last-child{color:#9c823e;text-align:right}.demo-note{letter-spacing:0;color:#8f9daa;justify-content:center;align-items:center;gap:5px;margin-top:auto;padding-top:0;font-size:8px;line-height:1.5;display:flex}.demo-note>span{background:#98aaba;border-radius:50%;flex-shrink:0;width:4px;height:4px}.pawn{cursor:pointer;isolation:isolate;touch-action:none;background:0 0;width:140px;height:155px;padding:0;transition:left .29s linear,top .29s linear;position:absolute;transform:translate(-50%,-91%)}.pawn-figure{filter:drop-shadow(1px 3px 1px #142c3a30);transform-origin:50% 90%;z-index:3;width:140px;height:140px;position:absolute;bottom:4px;left:0}.pawn.inactive .pawn-figure{filter:drop-shadow(1px 3px 1px #142c3a30)saturate(.9)}.pawn-ring{background:linear-gradient(180deg,var(--player-color),color-mix(in srgb,var(--player-color) 70%,#1b2631));width:76px;height:29px;box-shadow:0 4px 0 color-mix(in srgb,var(--player-color) 45%,#233543),0 8px 10px #142f4b40;z-index:1;border:3px solid #ffffffa0;border-radius:50%;position:absolute;bottom:0;left:32px}.pawn.current .pawn-ring{box-shadow:0 4px 0 color-mix(in srgb,var(--player-color) 45%,#233543),0 0 0 5px #ffffff40,0 0 25px var(--player-color)}.pawn-shadow{filter:blur(7px);z-index:0;background:#10253755;border-radius:50%;width:80px;height:24px;position:absolute;bottom:-8px;left:30px}.pawn-label{color:#fff;white-space:nowrap;z-index:4;background:#243e52ed;border:2px solid #ffffffb0;border-radius:16px;padding:5px 13px;font-size:17px;line-height:1.3;position:absolute;bottom:151px;left:50%;transform:translate(-50%);box-shadow:0 4px 10px #1235}.pawn-label:after{content:"";border:4px solid #0000;border-top-color:#243e52;position:absolute;bottom:-5px;left:50%}.pawn.current .pawn-label{background:var(--player-color);color:#152f42}.pawn.hopping .pawn-figure{animation:.33s ease-in-out hop}.pawn.hopping .pawn-shadow{animation:.33s ease-in-out shadowhop}.destination{z-index:2000;pointer-events:none;color:#fff;white-space:nowrap;background:#db8b28f2;border:2px solid #ffdc9a;border-radius:10px;align-items:center;gap:5px;padding:6px 10px;font-size:16px;display:none;position:absolute;transform:translate(-50%,-100%);box-shadow:0 5px 15px #40301330}.destination.visible{display:flex}.destination svg{width:19px;height:19px}.tile-selection{display:none}.toast{z-index:30;white-space:nowrap;color:#fff;opacity:0;pointer-events:none;background:#1a3549ee;border-radius:10px;padding:11px 18px;font-size:12px;transition:opacity .2s,transform .2s;position:absolute;bottom:100px;left:50%;transform:translate(-50%,10px);box-shadow:0 5px 20px #18374b30}.toast.visible{opacity:1;transform:translate(-50%)}dialog{background:linear-gradient(135deg,#f9fcff,#e4edf3);border:1px solid #fff9;border-radius:22px;max-width:min(440px,100vw - 32px);padding:30px;box-shadow:0 24px 100px #071a3a60}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0b2233aa}dialog h2{margin-top:14px;margin-bottom:16px;font-size:23px}dialog p,dialog li{color:#6c8394;font-size:13px;line-height:1.9}dialog ul{margin:15px 0;padding-left:20px}dialog .dialog-note{background:#d9e4ed88;border-radius:10px;margin:20px 0;padding:13px;font-size:11px}.dialog-close{position:absolute;top:12px;right:12px}.dialog-actions{gap:12px;margin-top:24px;display:flex}.secondary-action{background:#dce6ed;border:1px solid #cad7e2;border-radius:10px;width:100%;min-height:48px}.boot{color:#fff;background:radial-gradient(at 50% 40%,#28465f,#142938);flex-direction:column;justify-content:center;align-items:center;gap:20px;height:100%;display:flex}.boot-mark{color:#f6b84e;letter-spacing:6px;font-size:40px;font-weight:800}.boot h1{font-size:20px}.boot p{color:#9bb2c4;font-size:12px}.boot button{color:#243d4f;background:#f3b352;border-radius:8px;padding:12px 28px}.button-spinner{border:2px solid #ffffff40;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}.pulse{animation:.4s ease-out cellpulse}@keyframes tumble{0%{transform:translateY(0)rotateX(0)rotateY(0)rotate(0)}50%{transform:translateY(-20px)rotateX(180deg)rotateY(220deg)rotate(45deg)}to{transform:translateY(0)rotateX(360deg)rotateY(360deg)rotate(0)}}@keyframes hop{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-29px)rotate(5deg)}}@keyframes shadowhop{50%{opacity:.4;transform:scale(.75)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes cellpulse{0%{background:#fff8db}to{background:#f6f9fb90}}@media (width>=1600px){.game-layout{grid-template-columns:minmax(0,1fr) 370px}.sidebar{gap:22px;padding:25px 24px 16px}.player-row{min-height:73px}.avatar{width:53px;height:53px}.avatar .sprite{left:-23px}.player-meta strong{font-size:14px}.player-position b{font-size:21px}.turn-body{min-height:140px}.turn-copy h2{font-size:21px}.turn-copy>p{font-size:11px}.cell-panel p{font-size:12px}.primary-action{min-height:54px}}@media (height<=820px) and (width>=761px){.topbar{height:68px}.sidebar{gap:12px;padding-top:15px}.player-row{min-height:57px;padding:6px 9px 6px 7px}.avatar{width:42px;height:40px}.avatar .sprite{width:90px;height:90px;left:-24px}.turn-body{min-height:100px}.turn-panel{padding:14px 14px 9px}.cell-panel{min-height:126px;padding:12px 14px}.cell-panel p{font-size:10px}.cell-footer{margin-top:8px;padding-top:7px}.section-title{margin-bottom:9px}.game-layout{grid-template-columns:minmax(0,1fr) 310px}}@media (width<=1000px) and (width>=761px){.game-layout{grid-template-columns:minmax(0,1fr) 290px}.sidebar{gap:12px;padding:16px 14px 10px}.top-center{display:none}.map-heading{top:20px;left:20px}.map-heading h2{font-size:23px}.map-heading p,.map-hint{display:none}.turn-copy h2{font-size:16px}.turn-copy>p{font-size:9px}.turn-body{min-height:110px}.turn-panel{padding:14px}.key-hint{display:none}.player-meta strong{font-size:11px}.turn-tag{font-size:7px}.map-toolbar{bottom:22px;left:18px}.map-round{top:18px;right:18px}}@media (width<=760px){.topbar{height:65px;padding:0 16px}.brand{gap:9px}.brand-emblem{border-radius:8px 8px 8px 3px;width:32px;height:34px;font-size:23px;line-height:34px}.brand h1{font-size:20px}.brand h1>span{font-size:18px}.brand h1 small{margin-left:7px;font-size:9px}.brand p{letter-spacing:1.1px;margin-top:3px;font-size:6px}.top-center{display:none}.top-actions{gap:3px}.top-actions .icon-btn{background:0 0;border:0;width:30px;height:30px}.top-actions .icon-btn svg{width:18px;height:18px}.game-layout{flex-direction:column;display:flex;position:relative}.board-section{flex:1;min-height:230px}.sidebar{display:contents}.players-panel{z-index:15;position:absolute;top:8px;left:10px;right:10px}.players-panel .section-title{display:none}.roster{flex-direction:row;gap:5px}.player-row{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#edf4f8e8;border-bottom:2px solid #0000;border-left:0;border-radius:9px;flex:1;grid-template-columns:29px 1fr;column-gap:3px;min-width:0;min-height:49px;padding:5px 4px;display:grid}.player-row.active{border-bottom-color:var(--player-color);background:#fff}.avatar{border-radius:6px;grid-row:1/3;width:29px;height:34px;margin:0}.avatar .sprite{width:72px;height:72px;top:-1px;left:-21px}.player-meta{align-self:end;display:block}.player-meta strong{letter-spacing:0;font-size:10px}.player-meta>small,.turn-tag,.active .turn-tag,.progress-track{display:none}.player-position{justify-content:flex-start;align-self:start;gap:2px;min-width:0;margin:2px 0 0}.player-position b{font-size:12px}.player-position small{font-size:7px}.map-heading{top:76px;left:18px}.map-heading .eyebrow{letter-spacing:1.5px;font-size:7px}.map-heading h2{margin-top:4px;font-size:19px}.map-heading h2 span{margin-left:4px;padding:2px 5px;font-size:8px}.map-heading p{display:none}.map-round{border-radius:7px;gap:6px;padding:6px 9px;top:77px;right:15px}.map-round span{letter-spacing:1px;font-size:6px}.map-round b{font-size:18px}.map-toolbar{gap:7px;bottom:13px;left:12px}.camera-buttons,.zoom-buttons{border-radius:9px;padding:3px}.camera-btn{gap:4px;padding:8px 9px;font-size:10px}.camera-btn svg{width:14px;height:14px}.zoom-buttons .icon-btn{width:28px;height:29px}.zoom-buttons svg{width:17px;height:17px}.map-hint{display:none}.turn-panel{padding:14px 18px calc(12px + env(safe-area-inset-bottom));z-index:15;border-radius:19px 19px 0 0;flex-shrink:0;grid-template-columns:1fr 145px;gap:0 10px;margin:0;display:grid;position:relative;overflow:visible;box-shadow:0 -5px 25px #132e4a25}.turn-panel-top{grid-column:1/-1;margin-bottom:1px}.turn-body{min-height:90px}.turn-copy h2{font-size:17px}.turn-copy>p{margin-top:5px;font-size:10px}.turn-character{margin-top:8px;font-size:9px}.turn-character small{font-size:8px}.dice-tray{pointer-events:none;width:65px;height:75px;position:absolute;top:18px;right:26px}.dice-cube{width:38px;height:38px}.dice-face{border-radius:7px;gap:3px;width:38px;height:38px;padding:7px}.face-1{transform:translateZ(19px)}.face-2{transform:rotateY(90deg)translateZ(19px)}.face-3{transform:rotateX(90deg)translateZ(19px)}.face-4{transform:rotateX(-90deg)translateZ(19px)}.face-5{transform:rotateY(-90deg)translateZ(19px)}.face-6{transform:rotateY(180deg)translateZ(19px)}.dice-shadow{width:45px;top:57px}.dice-result{font-size:8px;bottom:0}.turn-panel>.primary-action{grid-area:2/2;align-self:end;min-height:40px;margin-bottom:4px;font-size:13px}.key-hint{display:none}.turn-panel .primary-action svg{width:17px;height:17px}.action-hint{grid-column:1/-1;margin-top:6px;font-size:7px}.cell-panel{z-index:11;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f2f7faee;border-radius:11px;min-height:0;max-height:94px;padding:10px 13px;display:none;position:absolute;bottom:187px;left:12px;right:12px;overflow:auto;box-shadow:0 4px 20px #16324820}.cell-panel.pulse{display:block}.cell-panel .cell-top{float:right;gap:6px;margin-left:8px}.cell-kicker{display:none}.cell-panel h3{margin-top:0;font-size:12px}.cell-panel p{margin-top:3px;font-size:10px;line-height:1.6}.cell-footer{margin-top:5px;padding-top:4px;font-size:7px}.demo-note{display:none}.toast{padding:9px 13px;font-size:11px;bottom:80px}.destination{font-size:17px}}@media (height<=540px) and (orientation:landscape){.topbar{height:48px}.brand p{display:none}.brand h1,.brand h1>span{font-size:18px}.game-layout{grid-template-columns:minmax(0,1fr) 260px;display:grid}.board-section{min-height:0}.sidebar{gap:8px;padding:10px;display:flex}.players-panel{position:static}.section-title{display:none}.roster{grid-template-columns:1fr 1fr;gap:4px;display:grid}.player-row{min-height:42px;padding:3px 5px}.avatar{width:30px;height:32px;margin-right:5px}.avatar .sprite{width:70px;height:70px;left:-20px}.player-meta strong{font-size:10px}.player-meta>small,.turn-tag,.active .turn-tag,.progress-track{display:none}.player-position{min-width:18px;margin-left:3px}.player-position b{font-size:13px}.player-position small{display:none}.turn-panel{border-radius:12px;margin:0;padding:10px;display:block}.turn-panel-top{margin:0}.turn-body{min-height:79px}.turn-copy h2{font-size:15px}.turn-copy p{font-size:9px}.turn-character{margin-top:5px}.dice-tray{width:65px;height:68px;margin-top:0;position:relative;top:auto;right:auto}.dice-shadow{top:55px}.dice-result{bottom:0}.turn-panel>.primary-action{min-height:36px;margin:0;font-size:12px}.action-hint{margin-top:7px;font-size:7px}.cell-panel{min-height:0;max-height:100px;padding:9px 11px;display:block;position:static;overflow:auto}.cell-top{display:none}.cell-panel h3{margin-top:0;font-size:11px}.cell-panel p{font-size:9px;line-height:1.6}.cell-footer,.demo-note{display:none}.map-heading{top:14px;left:15px}.map-heading h2{font-size:20px}.map-heading .eyebrow{font-size:7px}.map-heading p{display:none}.map-round{top:13px;right:14px}.map-toolbar{bottom:14px;left:14px}.map-hint{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}.pawn.hopping .pawn-figure{animation:none}}.pawn.inactive .pawn-label{opacity:0;transition:opacity .18s}.pawn.inactive:hover .pawn-label,.pawn.inactive:focus-visible .pawn-label{opacity:1}.map-heading{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(120deg,#eff6f2e8,#eaf3f1b0);border:1px solid #ffffff80;border-radius:12px;padding:13px 17px;box-shadow:0 5px 20px #15364617}.map-hint{background:#eef5f0d9;border-radius:8px;padding:7px 10px}@media (width<=760px){.map-heading{padding:8px 10px;top:69px;left:12px}.map-round{top:73px}}.board-section{background:#123d4c url(/assets/board-track-v3.png) 50%/cover no-repeat}.map-viewport{-webkit-backdrop-filter:blur(18px)brightness(.65);backdrop-filter:blur(18px)brightness(.65)}html,body{overflow:hidden}#app{height:100dvh}@media (width<=760px){.turn-panel{overflow:clip}}[hidden]{display:none!important}.live-tile{stroke:#fff;stroke-width:2.3px;stroke-linejoin:round;filter:drop-shadow(0 3px 1px #24485f85);fill-opacity:.94}.tile-number{text-anchor:middle;fill:#526d81;pointer-events:none;font-size:9px;font-weight:700}.tile-symbol{text-anchor:middle;fill:#496578;pointer-events:none;font-size:19px;font-weight:800}.tile-symbol.light{fill:#fff}.game-tools{justify-content:center;gap:6px;display:flex}.game-tools button{color:#527084;background:#f6fafac9;border:1px solid #c6d3dd;border-radius:7px;padding:8px;font-size:10px}.reroll-action{color:#f7cf83;background:#ffffff13;border:1px solid #ffffff30;border-radius:8px;width:100%;margin-top:10px;padding:9px;font-size:11px;display:block}.setup-dialog{width:490px;max-width:calc(100vw - 24px);max-height:90dvh;overflow:auto}.setup-label{color:#425e73;margin-top:18px;font-size:12px;font-weight:650;display:block}.setup-label select{width:100%;min-height:44px;font:inherit;color:#29475d;background:#f8fbfe;border:1px solid #c3d0da;border-radius:8px;margin-top:8px;padding:9px 11px;display:block}.seat-options{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px;display:grid}.seat-options label{cursor:pointer;background:#e1ebf0;border:1px solid #c9d7e2;border-radius:12px;flex-direction:column;align-items:center;padding:7px 2px 9px;display:flex;position:relative}.seat-options label:has(input:checked){background:#fff4d9;border-color:#e7ad4b;box-shadow:0 0 0 1px #e7ad4b}.seat-options input{accent-color:#cf8d2d;position:absolute;top:6px;left:6px}.seat-art{width:78px;height:78px}.seat-options strong{font-size:11px}.setup-note{color:#8596a1!important;margin:14px 0!important;font-size:10px!important}.setup-dialog .primary-action{margin-top:16px}.setup-dialog .secondary-action{min-height:43px;margin-top:12px}.text-action{color:#6c8395;text-align:center;background:0 0;border:0;width:100%;padding:11px;font-size:11px;display:block}.text-action:hover{text-decoration:underline}#setup-error{color:#b34d32;font-size:11px}.event-dialog{text-align:center;width:430px;max-height:90dvh;overflow:auto}.event-icon{color:#5d9ee7;text-shadow:0 4px 9px #5284ad30;margin:22px auto 10px;font-size:48px;line-height:1}.world-event .event-icon{color:#e4a236}.world-event{border-top:6px solid #e6a43d}.event-dialog h2{line-height:1.4}.event-dialog #event-story{color:#647d8f;text-align:left;font-size:14px}#event-effects{color:#385e7a;background:#dfeaf1;border-radius:10px;margin:20px 0;padding:15px;font-size:12px;line-height:1.8}#event-choices{flex-direction:column;gap:10px;display:flex}.choice-action{text-align:left;color:#2d4e67;background:linear-gradient(120deg,#fff,#eaf2f7);border:1px solid #c2d3df;border-radius:10px;min-height:65px;padding:15px}.choice-action:hover{background:#fff6e2;border-color:#d99b37}.choice-action b{font-size:13px;line-height:1.6}.choice-action small{color:#7e93a2;margin-top:6px;font-size:11px;line-height:1.7;display:block}#win-names{justify-content:center;gap:10px;display:flex}.winner-figure{text-align:center;width:110px}.winner-figure .sprite{width:110px;height:110px}.winner-figure strong{font-size:13px}#win-summary{text-align:center;margin-top:17px}#win-dialog{text-align:center;min-width:330px}#win-dialog .secondary-action{margin-top:12px}#log-dialog{max-height:85dvh;overflow:auto}#log-content{max-height:50dvh;padding-left:22px;overflow:auto}#log-content li{margin-bottom:9px;font-size:11px;line-height:1.8}.turn-copy h2{white-space:normal;line-height:1.4}.turn-copy>p{line-height:1.7}@media (width<=760px){.game-tools{z-index:16;height:34px;padding-bottom:env(safe-area-inset-bottom);background:#142938;flex-shrink:0;align-items:center;gap:18px}.game-tools button{color:#b4c7d5;background:0 0;border:1px solid #4c6475;padding:5px 9px;font-size:9px}.reroll-action{grid-area:3/2;margin:4px 0 0;padding:7px;font-size:10px}.turn-panel .action-hint{grid-row:4}.cell-panel{max-height:86px;bottom:220px}.seat-options{gap:5px}.seat-art{width:64px;height:64px}.setup-dialog{padding:24px 20px}.setup-dialog h2{font-size:21px}.event-dialog{padding:26px 22px}.event-icon{margin:16px auto 8px;font-size:36px}.turn-copy h2{font-size:16px}}.motion-setting{color:#506d82;align-items:center;gap:8px;padding:10px 0;font-size:12px;display:flex}.motion-setting input{accent-color:#d99732;width:18px;height:18px}@media (width<=760px){.turn-panel>.primary-action{min-height:44px}.cell-panel{bottom:calc(var(--hud-height,149px) + 110px)}}
