.online-friend-actions{display:flex;gap:8px;margin-top:8px}.online-friend-actions button{flex:1;min-height:34px;font-size:14px;padding:5px 8px}.online-connection{font-size:14px;color:#e1bd72;margin:8px 0}.online-waiting{display:flex;flex-direction:column;gap:20px;padding:20px 0}.online-waiting h2{font-size:25px;margin:0}.online-waiting p{font-size:15px;line-height:1.5;margin:0;color:#d5c199}.online-code{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.online-code span{grid-column:1/-1;font-size:15px}.online-code strong{font-size:31px;letter-spacing:4px;color:#f6d480}.online-code button{padding:8px 14px}.online-room-seats{display:flex;flex-direction:column;gap:9px}.online-room-seat{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid #a989544d;background:#251b1555}.online-room-seat i,.online-color-dot{display:inline-block;width:10px;height:10px;background:var(--seat-color);border-radius:50%;flex-shrink:0}.online-room-seat strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:17px}.online-room-seat span{font-size:13px;color:#d0b985}.online-search-pulse{display:flex;gap:9px;justify-content:center;padding:30px 0}.online-search-pulse i{width:12px;height:12px;background:#d6ae5c;animation:online-search 1.4s ease-in-out infinite}.online-search-pulse i:nth-child(2){animation-delay:.18s}.online-search-pulse i:nth-child(3){animation-delay:.36s}@keyframes online-search{50%{opacity:.3;transform:translateY(-7px)}}.online-join-label{display:block;margin:0 0 10px}.online-code-input{display:block;width:100%;box-sizing:border-box;background:#25180f;border:1px solid #ba935b;color:#ffe4b3;font:inherit;font-size:25px;letter-spacing:3px;padding:14px;margin-bottom:20px;text-transform:uppercase}.online-coin-art{font-size:64px;color:#dfb64e;line-height:1.2;text-shadow:2px 4px #664424}.online-packs .chip-pack[disabled]{opacity:.6}.online-proof-summary{display:flex;flex-direction:column;gap:22px}.online-proof-summary>div>span{font-size:16px;color:#c6ac77;display:block;margin-bottom:7px}.online-proof-summary code{display:block;overflow-wrap:anywhere;font-size:14px;line-height:1.6;color:#f0dcba}.online-proof-summary p{display:flex;align-items:center;gap:8px;margin:6px 0}.online-proof-summary #online-proof-result{font-size:18px;color:#99cda1}.online-proof-summary #online-proof-result.error{color:#efa293}.online-seat-kind{font-size:10px;font-weight:400;color:#bba886;margin-inline-start:7px}.online-network-status{position:fixed;left:50%;top:86px;transform:translate(-50%);z-index:40;padding:10px 18px;background:#372419ed;border:1px solid #a98149;color:#ffdda0;font-size:15px;box-shadow:0 4px 20px #0005;max-width:90vw}.online-network-status[hidden]{display:none}@media(min-width:801px)and (max-height:850px){body.online-mode.tabletop[data-world] .side-panel:not(.playing) .mode{min-height:59px;padding:8px 10px}body.online-mode.tabletop[data-world] .side-panel:not(.playing) .mode small{font-size:11px;line-height:1.3;margin-top:4px}body.online-mode.tabletop[data-world] .side-panel:not(.playing) .mode-list{gap:6px;margin-top:10px}body.online-mode.tabletop[data-world] .side-panel:not(.playing) .start-slot{padding-top:6px}body.online-mode.tabletop[data-world] .side-panel:not(.playing) .lobby-seed-control{min-height:38px;margin-top:6px;margin-bottom:8px}body.online-mode.tabletop[data-world] .side-panel:not(.playing) .dice-source-control{min-height:37px}body.online-mode.tabletop[data-world] .side-panel:not(.playing) .primary{min-height:43px;padding-block:8px}body.online-mode.tabletop[data-world] .side-panel:not(.playing){padding-bottom:22px}body.online-mode.tabletop[data-world] .side-panel .online-friend-actions button{min-height:33px;font-size:14px;padding:5px 8px}}body.online-mode.tabletop[data-world=jiangnan] .online-waiting p,body.online-mode.tabletop[data-world=jiangnan] .online-room-seat span{color:#756446}body.online-mode.tabletop[data-world=jiangnan] .online-code strong{color:#735529}body.online-mode.tabletop[data-world=jiangnan] .online-connection{color:#805630}@font-face{font-family:PixelFallback;src:local("Courier New");font-display:swap}:root{font-family:ui-monospace,SFMono-Regular,PingFang SC,Microsoft YaHei,monospace;color:#e9e4d6;background:#1e2729;font-synthesis:none;--ink:#202a2b;--panel:#253032;--edge:#111b1d;--gold:#e7bd6b;--muted:#9ca8a5;--red:#d66e61;--green:#70a586;--yellow:#dbb764;--blue:#7198b8;--board-size:min(66vh,650px,58vw)}*{box-sizing:border-box}body{margin:0;min-width:360px}button,select,input{font:inherit}button{cursor:pointer;color:inherit}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #fff0b2;outline-offset:4px}button{touch-action:manipulation}button svg{pointer-events:none}button:active:not(:disabled){translate:0 2px}button:disabled{opacity:.4}svg{display:block}a{color:var(--gold)}#app{min-height:100dvh;isolation:isolate}.scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background:#222d30 url(/art/room-night.svg) center/cover no-repeat;image-rendering:pixelated}.scene:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#111b1a15,#0b181922)}.scene.garden{background-image:url(/art/room-garden.svg)}.scene.arcade{background-image:url(/art/room-arcade.svg)}.shell{max-width:1400px;min-height:100dvh;margin:auto;display:flex;flex-direction:column;padding:24px 36px 16px}.topbar{height:58px;display:flex;align-items:center;gap:22px}.brand{border:0;background:none;padding:0;display:flex;align-items:center;gap:14px}.wordmark{width:100px;height:32px;filter:drop-shadow(0 3px 0 #142024)}.topline{height:1px;background:#d3dfc82b;flex:1}.room-name{font-size:13px;color:#c2c7b9;letter-spacing:3px}.top-actions{display:flex;gap:9px}.icon-button{width:38px;height:38px;background:#202c2bcc;border:1px solid #65747375;display:grid;place-items:center;box-shadow:0 3px #10191bad}.icon-button:hover{background:#3d4a45}.icon-button svg{width:18px;height:18px}.game-layout{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 280px;align-items:center;gap:44px;padding:18px 24px 20px}.table-zone{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0}.table-label{font-size:11px;letter-spacing:5px;color:#c4cbbb;margin:0 0 18px;min-height:16px;text-shadow:0 2px #182425}.board-frame{width:var(--board-size);height:var(--board-size);padding:13px;background:#bd9d71;border:4px solid #352e29;box-shadow:inset 0 0 0 3px #e2c89b,0 7px #65503b,0 12px #29302bc9,0 25px 45px #10181c75;position:relative}.board-frame:before,.board-frame:after{content:"";width:5px;height:5px;background:#6b5840;position:absolute;top:3px;left:3px;box-shadow:calc(var(--board-size) - 19px) 0 #6b5840}.board-frame:after{top:auto;bottom:3px}.board-inner{width:100%;height:100%;position:relative;background:#eee5ce;border:2px solid #76694f}.board-art{width:100%;height:100%}.piece-layer{position:absolute;top:0;right:0;bottom:0;left:0}.piece{position:absolute;left:0;top:0;width:6.66667%;height:6.66667%;padding:0;border:0;background:none;transition:left .08s linear,top .08s linear;z-index:2;display:grid;place-items:center;opacity:1!important}.piece svg{width:92%;height:105%;overflow:visible;filter:drop-shadow(0 2px 0 #3b342a90)}.piece:disabled{cursor:default}.piece.legal{cursor:pointer;z-index:6}.piece.legal:before{content:"";position:absolute;top:2%;right:2%;bottom:2%;left:2%;border:2px solid #fff5cc;box-shadow:0 0 0 2px #282f2a;animation:select-pulse 1s steps(2,end) infinite}.piece.legal:hover svg,.piece.legal:focus-visible svg{translate:0 -5px;filter:drop-shadow(0 6px 0 #3b342a50)}.piece.finished{opacity:.9!important}.piece.faint{opacity:.65!important}.move-target{position:absolute;width:6.66667%;height:6.66667%;border:3px solid #fffaf0;box-shadow:inset 0 0 0 2px #354436;z-index:1;pointer-events:none}.table-shadow{height:21px;width:70%;background:#10191945;filter:blur(10px);margin-top:13px}.under-board{height:44px;width:var(--board-size);display:flex;align-items:center;justify-content:space-between;color:#b9c5bf;font-size:12px}.scene-picker{display:flex;align-items:center;gap:8px}.scene-dot{width:20px;height:20px;padding:3px;background:#1d2828;border:1px solid #5d726d;box-shadow:0 2px #122020}.scene-dot span{display:block;width:100%;height:100%;background:#c09864}.scene-dot[data-scene=garden] span{background:#679b83}.scene-dot[data-scene=arcade] span{background:#9a82ad}.scene-dot.selected{outline:1px solid #e8ddbc;outline-offset:3px}.under-board button.text-button{display:flex;align-items:center;gap:7px;font-size:12px}.text-button{border:0;background:none;padding:6px 0;color:#bec9be}.text-button:hover{color:#fff1ce}.text-button svg{width:14px;height:14px}.side-panel{background:#202c2bef;border:3px solid #111d20;box-shadow:inset 0 0 0 1px #62716466,4px 6px #101a1b99;min-height:480px;padding:23px 20px;display:flex;flex-direction:column;position:relative}.side-panel:before{content:"";position:absolute;left:12px;right:12px;top:-4px;height:3px;background:repeating-linear-gradient(90deg,#b49f69 0 6px,transparent 6px 17px);opacity:.65}.side-heading{font-size:25px;margin:0;font-weight:700;letter-spacing:5px;color:#f1dfb1}.side-sub{font-size:11px;margin:10px 0 25px;letter-spacing:2px;color:#9dab9f}.mode-list{display:flex;flex-direction:column;gap:10px}.mode{border:1px solid #576559;background:#2c3834;text-align:left;min-height:70px;padding:12px;position:relative;box-shadow:0 3px #14201f}.mode.selected{border-color:#d5bb80;background:#3e4637;box-shadow:inset 3px 0 #e6c685,0 3px #14201f}.mode strong{display:block;font-size:14px;color:#dedfc9;font-weight:600;letter-spacing:1px}.mode small{display:block;margin-top:8px;font-size:10px;color:#a6b29f;letter-spacing:.5px}.mode:hover{background:#424b3d}.mode .mini-die{position:absolute;right:12px;top:24px;color:#afc2a2;font-size:18px}.start-slot{margin-top:auto;padding-top:22px}.dice-source-control{width:100%;min-height:39px;margin:0 0 13px;padding:8px 10px;display:flex;align-items:center;gap:8px;border:1px solid #65766d;background:#263530;color:#b9c7b9;text-align:left;box-shadow:0 3px #14201f;font-style:normal}.dice-source-control span{font-size:10px;letter-spacing:1px}.dice-source-control span:after{content:"·";margin-left:8px}.dice-source-control strong{font-size:12px;color:#f0dcaa}.dice-source-control em{margin-left:auto;font-size:10px;color:#d7bd7d;font-style:normal}.dice-source-control:hover{background:#34453d;border-color:#d0b571}.primary{border:2px solid #181e1d;background:#e4bd71;color:#282e2a;box-shadow:inset 0 2px #ffdf9f,0 4px #8a643e;padding:14px 17px;width:100%;font-weight:750;font-size:16px;letter-spacing:3px}.primary:hover{background:#f2ce85}.secondary{border:1px solid #718073;background:#354039;color:#e4e7d3;padding:11px 16px;box-shadow:0 3px #17221f;font-size:13px}.continue-button{width:100%;margin-bottom:12px}.tiny-note{font-size:10px;color:#829686;text-align:center;margin:15px 0 0;letter-spacing:1px}.game-title-row{display:flex;align-items:center;justify-content:space-between;padding-bottom:16px;border-bottom:1px solid #53615388}.game-title-row h2{margin:0;font-size:16px;letter-spacing:2px;color:#e6d3a5}.turn-counter{font-size:10px;color:#8f9d8e}.seats{display:flex;flex-direction:column;gap:9px;margin-top:17px}.seat{display:flex;align-items:center;gap:11px;padding:9px;border:1px solid #46564b;background:#23312e;position:relative;opacity:.65}.seat.active{opacity:1;background:#354238;border-color:var(--seat-color);box-shadow:inset 3px 0 var(--seat-color)}.seat img{width:39px;height:39px;image-rendering:pixelated;border:2px solid #172424;background:#596550}.seat-info{flex:1;min-width:0}.seat-name{font-size:12px;white-space:nowrap;color:#e4e6cd}.seat-kind{font-size:9px;color:#98ad9d;margin-top:5px}.seat-progress{display:flex;gap:4px}.seat-progress i{display:block;width:5px;height:5px;border:1px solid var(--seat-color);background:transparent}.seat-progress i.done{background:var(--seat-color)}.seat.active:after{content:"";width:5px;height:5px;background:var(--seat-color);position:absolute;right:-3px;top:14px}.dice-area{margin-top:auto;display:flex;flex-direction:column;align-items:center;padding:20px 0 0}.dice-well{width:101px;height:99px;display:grid;place-items:center;position:relative;background:#182624;border:1px solid #4c6152;box-shadow:inset 0 3px #101c1e}.die{width:68px;height:68px;color:#272f2c;filter:drop-shadow(0 5px 0 #0d1c1b)}.die.rolling{animation:dice-shake .18s steps(2,end) infinite}.dice-status{min-height:35px;display:flex;align-items:center;justify-content:center;color:#d2d9bd;font-size:12px;margin:11px 0 7px;text-align:center;line-height:1.5}.roll-button{height:53px;font-size:15px}.keyboard-hint{font-size:9px;color:#788e7d;text-align:center;margin-top:13px;letter-spacing:1px}.busy-dots{display:inline-block;animation:select-pulse .8s steps(2,end) infinite;margin-left:3px}.footbar{height:28px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#97a99d;letter-spacing:2px}.footbar span:last-child{opacity:.6}.source-label{display:flex;gap:6px;align-items:center}.source-label:before{content:"";width:4px;height:4px;background:#a4bd80}.source-label.practice:before{background:#d6b26f}dialog{color:#e7e7d5;background:#26332f;border:3px solid #131f21;padding:0;box-shadow:inset 0 0 0 1px #7b897357,7px 8px #111b1d66;max-width:min(92vw,470px);width:470px;max-height:85dvh}dialog::backdrop{background:#0b141cca;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-header{padding:21px 23px 16px;border-bottom:1px solid #546350;display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-size:18px;letter-spacing:3px;margin:0;color:#efdcad}.modal-header .icon-button{width:28px;height:28px;border:0;box-shadow:none;background:none}.modal-body{padding:23px;line-height:1.8;font-size:13px}.modal-body p{margin:0 0 15px;color:#c3d0bb}.modal-body .primary{margin-top:12px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid #445643}.setting-row:first-child{padding-top:0}.setting-row span{color:#d9ddc5}.setting-row select{background:#182822;color:#e7dcbc;border:1px solid #77846b;padding:7px 9px;max-width:190px}.setting-row input[type=checkbox]{accent-color:#d7b56c;width:19px;height:19px}.setting-note{font-size:11px!important;color:#8fa18a!important;line-height:1.7;margin-top:14px!important}.modal-actions{display:flex;gap:12px;margin-top:22px}.modal-actions>*{flex:1}.rules-list{margin:0;padding-left:20px;line-height:2.1;color:#cbd5bf}.rules-list li{margin-bottom:9px}.proof-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.proof-stat{padding:12px;background:#192923;border:1px solid #52664c}.proof-stat strong{display:block;color:#e3cb92;font-size:22px}.proof-stat span{font-size:10px;color:#a1b296}.roll-history{max-height:205px;overflow:auto;display:flex;flex-wrap:wrap;gap:7px;padding:3px}.history-die{border:1px solid #698460;background:#223527;width:33px;height:33px;display:grid;place-items:center;font-size:15px;color:#e8ddba}.proof-result{padding:12px;margin:14px 0 0;color:#b7d595;background:#193327;border:1px solid #436747;font-size:12px;line-height:1.8}.proof-result.error{color:#e5a694;border-color:#8d594a;background:#362722}.winner-avatar{width:80px;height:80px;image-rendering:pixelated;display:block;margin:0 auto 18px}.winner-title{text-align:center;font-size:28px!important;letter-spacing:3px;color:#ebcb87!important}.winner-sub{text-align:center;color:#aebc9f!important}.victory-spark{position:fixed;width:8px;height:8px;z-index:99;pointer-events:none;animation:confetti 1.7s ease-out forwards}.toast{position:fixed;bottom:40px;left:50%;transform:translate(-50%);padding:10px 18px;border:1px solid #82916f;background:#203026;color:#e2dcb7;font-size:12px;box-shadow:0 3px #112020;z-index:100}.source-options{font-size:12px;color:#aab89e}.hidden{display:none!important}@keyframes select-pulse{50%{opacity:.5}}@keyframes dice-shake{0%{transform:rotate(-10deg) translateY(-3px)}50%{transform:rotate(11deg) translate(3px)}to{transform:rotate(-6deg) translateY(2px)}}@keyframes confetti{0%{transform:translateY(-30px) rotate(0);opacity:1}to{transform:translate(var(--dx),65vh) rotate(480deg);opacity:0}}@media(min-width:1600px){:root{--board-size:min(69vh,730px,60vw)}.game-layout{gap:65px}.side-panel{min-height:520px}.shell{max-width:1500px}}@media(max-height:800px)and (min-width:800px){:root{--board-size:min(72vh,610px,56vw)}.shell{padding-top:13px;padding-bottom:8px}.topbar{height:42px}.game-layout{padding-top:8px;padding-bottom:4px;gap:28px}.table-label{margin-bottom:11px}.side-panel{min-height:440px;padding:18px 17px}.side-sub{margin-bottom:18px}.seats{gap:6px;margin-top:12px}.seat{padding:6px}.seat img{width:32px;height:32px}.dice-area{padding-top:14px}.dice-well{width:87px;height:80px}.die{width:57px;height:57px}.under-board{height:35px}.table-shadow{display:none}}@media(max-width:1000px){.shell{padding-left:22px;padding-right:22px}.game-layout{gap:25px;grid-template-columns:minmax(0,1fr) 245px;padding-left:0;padding-right:0}.side-panel{padding-left:17px;padding-right:17px}.topbar{gap:14px}.room-name{letter-spacing:1px}.board-frame{padding:10px}}@media(max-width:760px){:root{--board-size:min(90vw,560px)}.shell{padding:12px 18px;min-height:100dvh}.topbar{height:40px}.brand{gap:8px}.wordmark{width:76px;height:25px}.room-name{font-size:10px}.topbar .topline{display:none}.top-actions{margin-left:auto}.icon-button{width:32px;height:32px}.game-layout{display:flex;flex-direction:column;gap:20px;padding:22px 0 16px}.table-label{font-size:10px;margin-bottom:12px}.board-frame{padding:10px}.under-board{height:36px}.table-shadow{display:none}.side-panel{width:var(--board-size);min-height:0;padding:18px}.side-heading{font-size:20px}.side-sub{margin:8px 0 14px}.mode-list{flex-direction:row;gap:6px}.mode{flex:1;min-width:0;min-height:79px;padding:10px 7px}.mode strong{font-size:11px}.mode small{font-size:9px;line-height:1.5}.mode .mini-die{display:none}.start-slot{padding-top:15px}.tiny-note{margin-top:12px}.side-panel.playing{display:grid;grid-template-columns:1fr 130px;gap:0 15px}.game-title-row{grid-column:1/-1;padding-bottom:11px}.seats{gap:6px;margin-top:11px}.seat{padding:5px;gap:7px}.seat img{width:29px;height:29px}.seat-name{font-size:11px}.seat-kind{font-size:9px;margin-top:3px}.dice-area{padding-top:10px;margin-top:0;grid-column:2;grid-row:2;justify-content:center}.dice-well{width:64px;height:61px}.die{width:44px;height:44px}.dice-status{font-size:10px;margin:7px 0 3px;min-height:27px}.roll-button{height:41px;padding:8px;font-size:12px;letter-spacing:1px}.keyboard-hint{display:none}.seat-progress{gap:3px}.seat-progress i{width:4px;height:4px}.footbar{font-size:9px;letter-spacing:1px}.table-zone{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}.victory-spark{display:none}}.mode-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.mode{min-width:0;min-height:79px}.mode small{line-height:1.35}@media(max-width:760px){.mode-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.mode{min-height:76px}}.seed-setting[hidden]{display:none!important}.seed-setting input{min-width:0;width:min(60%,220px);padding:8px 9px;border:1px solid #77846b;background:#182822;color:#e7dcbc;font:inherit;font-size:12px}.seed-setting input::placeholder{color:#869681}.seed-proof{overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}body.reduced-motion *,body.reduced-motion *:before,body.reduced-motion *:after{animation-duration:.001ms!important;transition-duration:.001ms!important}body.reduced-motion .victory-spark{display:none}body:not(.material){color:#fff1cf;background:#9c5b1a;--ink:#2a1711;--panel:#2d1914;--edge:#160b09;--gold:#f0b548;--muted:#d5b57a;--board-size:min(70vh,660px, calc(100vw - 430px) );font-family:ui-monospace,SFMono-Regular,Menlo,PingFang SC,Microsoft YaHei,monospace}body:not(.material) .scene{background-color:#b87420;background-image:url(/art/room-night.svg);image-rendering:pixelated}body:not(.material) .scene.garden{background-image:url(/art/room-garden.svg)}body:not(.material) .scene.arcade{background-image:url(/art/room-arcade.svg)}body:not(.material) .scene:after{background:linear-gradient(90deg,#32160b66 0,transparent 9%,transparent 91%,#32160b66 100%),linear-gradient(180deg,#4b210d3d 0,transparent 18%,transparent 80%,#35150b4f 100%)}body:not(.material) .shell{max-width:1460px;padding:18px 34px 12px}body:not(.material) .topbar{height:64px;gap:18px}body:not(.material) .brand{gap:10px}body:not(.material) .brand:before,body:not(.material) .brand:after{content:"";width:8px;height:8px;background:#fff0c8;border:2px solid #4c2415;transform:rotate(45deg);box-shadow:2px 2px #7b3c1c}body:not(.material) .wordmark{width:132px;height:38px;filter:drop-shadow(2px 0 0 #35160e) drop-shadow(-2px 0 0 #35160e) drop-shadow(0 3px 0 #35160e)}body:not(.material) .room-name{color:#5c2b15;font-weight:800;letter-spacing:4px;text-shadow:0 1px #edba59}body:not(.material) .topline{height:2px;background:linear-gradient(90deg,#6c321a99,transparent)}body:not(.material) .icon-button{width:42px;height:42px;color:#ffefc7;border:2px solid #1d0e0a;background:#2b1915;box-shadow:inset 0 0 0 2px #71442a,0 4px #4c2518,0 6px #21100d}body:not(.material) .icon-button:hover{background:#4b2a1c;color:#ffc64e}body:not(.material) .game-layout{grid-template-columns:minmax(0,1fr) 336px;gap:34px;padding:10px 18px 14px}body:not(.material) .table-label{color:#4c2515;font-weight:900;letter-spacing:7px;margin-bottom:12px;text-shadow:0 1px #edb74e}body:not(.material) .board-frame{padding:8px;border:3px solid #1e0e0a;background:#6f391d;box-shadow:inset 0 0 0 2px #d99739,0 4px #2b130d,0 8px #703619,0 13px #35170e99,0 20px 30px #35160d66}body:not(.material) .board-frame:before,body:not(.material) .board-frame:after{width:5px;height:5px;left:4px;top:4px;background:#efb249;box-shadow:calc(var(--board-size) - 19px) 0 #efb249;z-index:3}body:not(.material) .board-frame:after{top:auto;bottom:4px}body:not(.material) .board-inner{border:2px solid #24110d;background:#f1dfb8;box-shadow:inset 0 0 0 1px #d39d46}body:not(.material) .piece svg{width:98%;height:112%;transform:translateY(-6%);filter:drop-shadow(0 3px 0 #2b140dbb)}body:not(.material) .piece.legal:before{top:5%;right:5%;bottom:5%;left:5%;border:3px solid #fff0b1;box-shadow:0 0 0 2px #29120c,0 0 0 4px #f0ae32}body:not(.material) .piece.legal:hover svg,body:not(.material) .piece.legal:focus-visible svg{translate:0 -4px;filter:drop-shadow(0 7px 0 #2b140d88)}body:not(.material) .move-target{border:3px solid #fff0b5;background:#e8ad3966;box-shadow:inset 0 0 0 2px #5b2b16}body:not(.material) .table-shadow{height:16px;width:80%;margin-top:15px;background:#3c1c0b4f;filter:blur(7px)}body:not(.material) .under-board{height:40px;color:#4a2415;font-weight:700}body:not(.material) .scene-dot{width:23px;height:23px;padding:3px;border:2px solid #2b150d;background:#3b2017;box-shadow:0 3px #5b2b16}body:not(.material) .scene-dot span{background:#d28b27}body:not(.material) .scene-dot[data-scene=garden] span{background:#747532}body:not(.material) .scene-dot[data-scene=arcade] span{background:#a74d29}body:not(.material) .scene-dot.selected{outline:2px solid #fff0c2;outline-offset:3px}body:not(.material) .text-button{color:#4b2517;font-weight:800;text-shadow:0 1px #efb85b}body:not(.material) .text-button:hover{color:#1f100c}body:not(.material) .side-panel{min-height:522px;padding:24px 22px 20px;border:3px solid #160b09;background:repeating-linear-gradient(0deg,transparent 0 5px,#ffffff05 5px 6px),linear-gradient(145deg,#3b241c,#24130f);box-shadow:inset 0 0 0 2px #75462c,inset 0 0 0 5px #1e0f0c,5px 7px #4b2415,9px 12px #2b130d99,0 18px 28px #36170d55}body:not(.material) .side-panel:before{left:12px;right:12px;top:10px;height:4px;background:repeating-linear-gradient(90deg,#e6a53d 0 17px,transparent 17px 24px);opacity:.9}body:not(.material) .side-heading{font-size:29px;color:#fff0cc;letter-spacing:4px;text-shadow:3px 3px 0 #130907}body:not(.material) .side-sub{height:12px;margin:8px 0 19px;border-bottom:2px solid #d69235;position:relative}body:not(.material) .side-sub:after{content:"";position:absolute;left:50%;bottom:-5px;width:7px;height:7px;background:#e5a23b;border:2px solid #2b140d;transform:rotate(45deg)}body:not(.material) .mode-list{gap:10px}body:not(.material) .mode{min-height:75px;padding:12px;color:#ffeec9;border:2px solid #6b442d;background:#36221b;box-shadow:inset 0 1px #9a6a4938,0 3px #160b09}body:not(.material) .mode:before{content:"";position:absolute;right:9px;top:9px;width:15px;height:4px;background:#c64d40;box-shadow:0 5px #c64d40;opacity:.82}body:not(.material) .mode:nth-child(2):before{background:#33a875;box-shadow:0 5px #33a875}body:not(.material) .mode:nth-child(3):before{background:#478dcc;box-shadow:0 5px #478dcc}body:not(.material) .mode:nth-child(4):before{background:#e3aa25;box-shadow:0 5px #e3aa25}body:not(.material) .mode:nth-child(5):before{background:#337dc1;box-shadow:7px 0 #d34b3d,0 5px #337dc1,7px 5px #d34b3d}body:not(.material) .mode:nth-child(6):before{background:#e5a929;box-shadow:0 5px #e5a929}body:not(.material) .mode strong{font-size:14px;color:#fff1d0;padding-right:20px;letter-spacing:.5px}body:not(.material) .mode small{margin-top:7px;color:#cdb48e;font-size:10px;line-height:1.45;padding-right:5px}body:not(.material) .mode:hover{border-color:#ca8d3c;background:#493024}body:not(.material) .mode.selected{border-color:#f0b146;background:#4d3021;box-shadow:inset 4px 0 #f0b146,inset 0 1px #ffd4784f,0 3px #160b09}body:not(.material) .start-slot{padding-top:19px}body:not(.material) .dice-source-control{border:2px solid #6f482f;background:#2a1914;color:#cdb18a;box-shadow:inset 0 1px #a6785040,0 3px #160b09}body:not(.material) .dice-source-control strong{color:#ffe2a0}body:not(.material) .dice-source-control em{color:#f0b548}body:not(.material) .dice-source-control:hover{border-color:#e2a443;background:#3b241a}body:not(.material) .primary{min-height:53px;border:3px solid #28130c;background:#f3a91f;color:#24140d;box-shadow:inset 0 3px #ffd86a,inset 0 -3px #b96712,0 4px #6e3215,0 7px #1e0e0b;text-shadow:0 1px #ffe189}body:not(.material) .primary:hover{background:#ffc13e}body:not(.material) .secondary{border:2px solid #785139;background:#3a251d;color:#ffe9c2;box-shadow:inset 0 1px #ba8a6240,0 3px #160b09}body:not(.material) .tiny-note{color:#bfa37c}body:not(.material) .game-title-row{border-color:#7d4c2d}body:not(.material) .game-title-row h2{color:#ffd87e}body:not(.material) .turn-counter{color:#c2a47b}body:not(.material) .seat{border:2px solid #5e3c29;background:#2d1d18}body:not(.material) .seat.active{background:#483022;border-color:var(--seat-color);box-shadow:inset 4px 0 var(--seat-color),0 3px #170b09}body:not(.material) .seat img{border:2px solid #170c09;background:#7d5b35}body:not(.material) .seat-name{color:#ffefcc}body:not(.material) .seat-kind{color:#c8aa80}body:not(.material) .dice-well{width:105px;height:100px;border:2px solid #6f4630;background:#1c100d;box-shadow:inset 0 4px #0d0706,inset 0 0 0 4px #301c16}body:not(.material) .die{filter:drop-shadow(0 5px 0 #0e0705)}body:not(.material) .dice-status{color:#ead3aa}body:not(.material) .keyboard-hint{color:#a88a64}body:not(.material) .footbar{color:#5d301b;font-weight:800;text-shadow:0 1px #e5a346}body:not(.material) .source-label:before{background:#375a2d;border:1px solid #1f2c19}body:not(.material) .source-label.practice:before{background:#8d4a1c;border-color:#5e2d12}body:not(.material) dialog{color:#ffedc9;background:#2d1a15;border:3px solid #170b09;box-shadow:inset 0 0 0 2px #75462b,7px 9px #35170e}body:not(.material) dialog::backdrop{background:#2a120ac2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}body:not(.material) .modal-header{border-color:#86532f}body:not(.material) .modal-header h2{color:#ffd47a;text-shadow:2px 2px #100806}body:not(.material) .modal-body p{color:#ddc6a1}body:not(.material) .setting-row{border-color:#66412d}body:not(.material) .setting-row span{color:#f3dfbd}body:not(.material) .setting-row select,body:not(.material) .seed-setting input{background:#1b100d;color:#ffebc2;border:2px solid #795137}body:not(.material) .setting-note{color:#bba17b!important}body:not(.material) .proof-stat{background:#1d110e;border:2px solid #70482f}body:not(.material) .proof-stat strong{color:#ffc958}body:not(.material) .history-die{border:2px solid #855b36;background:#3a251c;color:#ffe6b4}body:not(.material) .proof-result{color:#d3e5a7;background:#27321b;border:2px solid #677f3a}body:not(.material) .toast{border:2px solid #a56f36;background:#2c1a13;color:#ffe8bb;box-shadow:0 4px #170a08}@media(min-width:1600px){body:not(.material){--board-size:min(72vh,700px, calc(100vw - 480px) )}body:not(.material) .game-layout{grid-template-columns:minmax(0,1fr) 356px;gap:46px}body:not(.material) .side-panel{min-height:548px}}@media(max-height:800px)and (min-width:761px){body:not(.material){--board-size:min(70vh,570px, calc(100vw - 390px) )}body:not(.material) .shell{padding-top:10px}body:not(.material) .topbar{height:47px}body:not(.material) .game-layout{grid-template-columns:minmax(0,1fr) 310px;gap:25px;padding-top:5px}body:not(.material) .side-panel{min-height:430px;padding:18px 17px 15px}body:not(.material) .side-heading{font-size:23px}body:not(.material) .side-sub{margin-bottom:13px}body:not(.material) .mode{min-height:63px;padding:9px 10px}body:not(.material) .start-slot{padding-top:12px}}@media(max-width:1000px)and (min-width:761px){body:not(.material){--board-size:min(64vw,62vh,580px)}body:not(.material) .shell{padding-left:20px;padding-right:20px}body:not(.material) .game-layout{grid-template-columns:minmax(0,1fr) 270px;gap:22px;padding-left:0;padding-right:0}body:not(.material) .side-panel{padding-left:16px;padding-right:16px}}@media(max-width:760px){body:not(.material){--board-size:min(92vw,560px)}body:not(.material) .shell{padding:10px 14px 8px}body:not(.material) .topbar{height:46px}body:not(.material) .brand:before,body:not(.material) .brand:after{width:6px;height:6px;border-width:1px}body:not(.material) .wordmark{width:90px;height:28px}body:not(.material) .room-name{display:none}body:not(.material) .game-layout{gap:18px;padding:18px 0 12px}body:not(.material) .board-frame{padding:6px;border-width:3px}body:not(.material) .board-frame:before,body:not(.material) .board-frame:after{box-shadow:calc(var(--board-size) - 17px) 0 #efb249}body:not(.material) .side-panel{width:var(--board-size);min-height:0;padding:20px 16px 17px}body:not(.material) .side-heading{font-size:23px}body:not(.material) .mode-list{gap:8px}body:not(.material) .mode{min-height:75px;padding:10px 9px}body:not(.material) .mode strong{font-size:12px}body:not(.material) .mode small{font-size:9px}body:not(.material) .table-label{letter-spacing:5px}body:not(.material) .under-board{height:38px}body:not(.material) .footbar{font-size:8px}body:not(.material) .side-panel.playing{grid-template-columns:1fr 126px}body:not(.material) .dice-well{width:66px;height:62px}}@media(max-width:410px){body:not(.material){--board-size:94vw}body:not(.material) .shell{padding-left:9px;padding-right:9px}body:not(.material) .top-actions{gap:6px}body:not(.material) .icon-button{width:34px;height:34px}body:not(.material) .mode{min-height:78px}body:not(.material) .side-panel{padding-left:12px;padding-right:12px}.dice-source-control{gap:6px;padding-left:8px;padding-right:8px}.dice-source-control span:after{margin-left:6px}}.proof-dialog{width:min(92vw,660px);max-width:660px}.proof-dialog .modal-body{max-height:calc(85dvh - 72px);overflow:auto}.roll-history.selectable{max-height:92px;margin-bottom:16px}button.history-die{font:inherit;cursor:pointer;padding:0}button.history-die:hover,button.history-die:focus-visible{border-color:#d7b56c;outline:2px solid #d7b56c;outline-offset:1px}.history-die.selected{color:#19231d;background:#e3cb92;border-color:#f3dda7;box-shadow:0 0 0 2px #8f7342}.seed-trace{border:1px solid #52664c;background:#182720;padding:14px;margin-top:5px}.seed-trace-loading{padding:20px;text-align:center;color:#aebc9f}.trace-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid #52664c}.trace-heading span{display:block;color:#98aa91;font-size:10px;letter-spacing:1px}.trace-heading strong{display:block;color:#efdcad;font-size:15px;margin-top:2px}.trace-die{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;background:#efe1bd;color:#26332f;border:2px solid #806c42;box-shadow:3px 3px #111b1d;font-size:22px;font-weight:900}.trace-chain{padding:13px 0 4px}.trace-step{display:grid;grid-template-columns:25px minmax(0,1fr);gap:10px;align-items:start}.trace-step>i{width:23px;height:23px;display:grid;place-items:center;background:#d7b56c;color:#1c2923;font-style:normal;font-weight:900;font-size:11px;border:1px solid #f0d89b}.trace-step>div{min-width:0;display:grid;gap:3px}.trace-step b{color:#e7d7ad;font-size:12px}.trace-step span,.trace-step small{color:#aebc9f;font-size:10px;line-height:1.55;overflow-wrap:anywhere}.trace-step code{color:#e9dcae;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;-webkit-user-select:text;user-select:text}.trace-step strong.accepted-byte{display:inline;color:#f1cd76;font-size:15px}.trace-formula code{display:inline-block;width:max-content;max-width:100%;padding:5px 9px;background:#0f1d18;border:1px solid #475d49;font-size:13px}.trace-formula code strong{color:#f2cb68;font-size:17px}.trace-arrow{height:18px;margin-left:11px;color:#8da284;font-size:15px;line-height:18px}.trace-raw{margin-top:10px;border-top:1px dashed #52664c;padding-top:10px;color:#aebc9f}.trace-raw summary{cursor:pointer;color:#c8d0ae;font-size:11px}.trace-raw label{display:block;margin:11px 0 3px;color:#8fa18a;font-size:9px;text-transform:uppercase;letter-spacing:1px}.trace-raw>code{display:block;padding:8px;background:#101c18;border:1px solid #3f5342;color:#d8d8b9;font-size:9px;line-height:1.55;overflow-wrap:anywhere;white-space:pre-wrap;-webkit-user-select:text;user-select:text}.compact-button{width:auto!important;min-height:31px!important;margin-top:10px!important;padding:5px 10px!important;font-size:10px!important}.proof-limit{margin-bottom:0!important}.proof-actions{margin-top:15px}.verify-title{display:block;color:#d8eca9;font-size:13px;margin-bottom:7px}.verify-checks{list-style:none;padding:0;margin:0 0 7px;display:grid;gap:4px}.verify-checks li{display:flex;gap:7px;color:#cbd9b0;font-size:10px}.verify-checks li span{color:#a9db72;font-weight:900}.proof-result small{display:block;color:#99ab8b;line-height:1.5}body:not(.material) .proof-dialog{box-shadow:inset 0 0 0 2px #75462b,7px 9px #35170e}body:not(.material) .history-die.selected{color:#24140d;background:#f0b548;border-color:#ffe09a;box-shadow:0 0 0 2px #4f2918}body:not(.material) .seed-trace{border:2px solid #70482f;background:#1d110e;box-shadow:inset 0 0 0 2px #321c15}body:not(.material) .trace-heading{border-color:#70482f}body:not(.material) .trace-heading span{color:#bba17b}body:not(.material) .trace-heading strong{color:#ffe4aa}body:not(.material) .trace-die{background:#f3e3bd;color:#24140d;border-color:#93622d;box-shadow:3px 3px #0d0706}body:not(.material) .trace-step>i{background:#e6a53d;color:#2a160e;border:2px solid #7b421e}body:not(.material) .trace-step b{color:#f1dcb1}body:not(.material) .trace-step span,body:not(.material) .trace-step small{color:#bba17b}body:not(.material) .trace-step code{color:#ffe4aa}body:not(.material) .trace-step strong.accepted-byte{color:#ffc958}body:not(.material) .trace-formula code{background:#100906;border:2px solid #654027}body:not(.material) .trace-formula code strong{color:#ffc958}body:not(.material) .trace-arrow{color:#a96e31}body:not(.material) .trace-raw{border-color:#70482f;color:#bba17b}body:not(.material) .trace-raw summary{color:#ddc6a1}body:not(.material) .trace-raw label{color:#9f835e}body:not(.material) .trace-raw>code{background:#100906;border:1px solid #5f3b25;color:#e6d2ab}body:not(.material) .verify-title{color:#d8eca9}body:not(.material) .verify-checks li{color:#d3e5b0}body:not(.material) .proof-result small{color:#aebd8b}@media(max-width:560px){.proof-dialog{width:94vw;max-width:94vw}.proof-dialog .modal-header{padding:16px 15px 12px}.proof-dialog .modal-body{padding:15px}.trace-heading strong{font-size:13px}.trace-step{grid-template-columns:23px minmax(0,1fr);gap:8px}}.seed-proof-summary{padding:2px 0 4px}.blind-proof-card{padding:16px;border:1px solid #728266;background:linear-gradient(145deg,#1d2d25,#111d18);box-shadow:inset 0 0 0 1px #314637}.blind-heading{text-align:center}.blind-heading>span{display:inline-block;padding:3px 8px;border:1px solid #8ba06e;background:#263923;color:#d9edae;font-size:9px;font-weight:800;letter-spacing:2px}.blind-heading h3{margin:0;color:#f2dfaa;font-size:19px;letter-spacing:.5px}.blind-heading p{margin:0!important;color:#aebca6!important;font-size:11px!important}.blind-flow{display:grid;grid-template-columns:112px minmax(190px,1fr) 112px;gap:9px;align-items:stretch;margin:14px 0 12px}.blind-box{min-width:0;padding:10px 8px;border:1px solid #667861;background:#23342b;text-align:center;display:grid;grid-template-rows:auto auto 1fr;align-items:center;gap:4px}.blind-box small{color:#8fa18e;font-size:8px;letter-spacing:1px}.blind-box strong{color:#dcd8bc;font-size:10px;white-space:nowrap}.blind-box b{align-self:end;width:42px;height:42px;margin:5px auto 0;display:grid;place-items:center;border:2px solid #876c3c;background:#efe1b9;color:#263028;box-shadow:3px 3px #0c1713;font-size:21px}.blind-box.verify-side b{border-style:dashed;background:#17241e;color:#9bab98;box-shadow:none}.blind-transfer{min-width:0;padding:9px 7px;border-top:1px dashed #63725e;border-bottom:1px dashed #63725e;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;line-height:1.45}.blind-transfer strong{color:#d6c58e;font-size:9px;letter-spacing:1px}.blind-transfer span{color:#b8c2ab;font-size:9px;white-space:nowrap}.blind-transfer em{margin-top:6px;color:#e99b86;font-size:9px;font-style:normal;font-weight:700;white-space:nowrap}.blind-transfer i{font-style:normal}.blind-open{min-height:46px;margin:0!important;display:flex;align-items:center;justify-content:space-between;text-decoration:none;font-size:13px!important}.blind-compare-copy{margin:11px 0 4px!important;color:#d2dbc0!important;font-size:10px!important;text-align:center}.blind-prototype-note{display:block;color:#7f9182;font-size:8px;line-height:1.55;text-align:center}.blind-proof-card.empty{text-align:center}.blind-proof-card.empty h3{margin:0;color:#d8c79a;font-size:13px}.in-game-recheck{margin-top:14px;border-top:1px dashed #52664c;padding-top:11px}.in-game-recheck>summary{cursor:pointer;color:#adbba7;font-size:10px;list-style-position:inside}.in-game-recheck>.seed-challenge{padding-top:17px}.dice-comparison{display:grid;grid-template-columns:62px minmax(0,1fr);gap:8px;padding:11px 10px;background:#121f1a;border:1px solid #465a48}.compare-labels{display:grid;grid-template-rows:18px 31px 15px 31px;align-items:center;color:#91a28d;font-size:9px;text-align:right;white-space:nowrap}.compare-labels span:first-child{grid-row:2}.compare-labels span:last-child{grid-row:4}.compare-scroll{min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;padding:0 2px 5px}.compare-columns{display:flex;width:max-content;gap:4px}.compare-column{width:34px;display:grid;grid-template-rows:18px 31px 15px 31px;place-items:center;padding:0;border:0;background:none;color:#99aa94;font:inherit;cursor:pointer}.compare-column small{font-size:8px;color:#748875}.compare-die{width:27px;height:27px;display:grid;place-items:center;border:1px solid #657c62;background:#26382e;color:#e6ddb9;font-size:12px;font-weight:800}.compare-column i{font-style:normal;font-size:10px;color:#90c86d}.compare-column.selected .compare-die{outline:2px solid #d7b56c;outline-offset:1px}.compare-column.mismatch .compare-die.actual{color:#ffd1c6;background:#542721;border-color:#d56f5d;box-shadow:0 0 0 1px #8e3f34}.compare-column.mismatch i{color:#f0836e;font-size:13px}.compact-primary{width:auto!important;min-width:145px;min-height:41px!important;padding:9px 17px!important;font-size:12px!important}.proof-technical{margin-top:15px;border-top:1px dashed #52664c;padding-top:11px}.proof-technical>summary{cursor:pointer;color:#c8d0ae;font-size:11px;list-style-position:inside}.technical-body{padding-top:12px}#seed-recheck{margin-bottom:13px;padding-bottom:13px;border-bottom:1px dashed #52664c}.technical-explainer{margin:0 0 10px!important;padding:10px 11px;background:#192720;border-left:3px solid #7f986f;color:#bdc9ae!important;font-size:11px!important;line-height:1.7!important}.detail-export{width:100%;margin-top:12px}body:not(.material) .dice-comparison{background:#140b08;border:2px solid #684128;box-shadow:inset 0 0 0 2px #28150f}body:not(.material) .blind-proof-card{border:2px solid #7c4d2d;background:linear-gradient(145deg,#2a1710,#140b08);box-shadow:inset 0 0 0 2px #3b2117,4px 4px #120806}body:not(.material) .blind-heading>span{border:2px solid #7d542d;background:#28160e;color:#ffd678}body:not(.material) .blind-heading h3{color:#ffe3a6;text-shadow:2px 2px #0b0503}body:not(.material) .blind-heading p{color:#bea37e!important}body:not(.material) .blind-box{border:2px solid #71472d;background:#21120c}body:not(.material) .blind-box small{color:#aa8b64}body:not(.material) .blind-box strong{color:#e7cfaa}body:not(.material) .blind-box b{border-color:#9a642e;background:#f3dfae;color:#27130b;box-shadow:3px 3px #090403}body:not(.material) .blind-box.verify-side b{background:#160b07;color:#a5845e;box-shadow:none}body:not(.material) .blind-transfer{border-color:#74492c}body:not(.material) .blind-transfer strong{color:#f0bd61}body:not(.material) .blind-transfer span{color:#cfb28b}body:not(.material) .blind-compare-copy{color:#e1ccaa!important}body:not(.material) .blind-prototype-note{color:#9c7e5c}body:not(.material) .in-game-recheck{border-color:#70482f}body:not(.material) .in-game-recheck>summary{color:#c8ad85}body:not(.material) .compare-labels{color:#a98c64}body:not(.material) .compare-column small{color:#806547}body:not(.material) .compare-die{border:2px solid #795137;background:#322019;color:#ffe6b5}body:not(.material) .compare-column i{color:#9ac975}body:not(.material) .compare-column.selected .compare-die{outline-color:#f0b548}body:not(.material) .compare-column.mismatch .compare-die.actual{color:#ffd2c8;background:#5a261e;border-color:#d46e58;box-shadow:0 0 0 1px #32100d}body:not(.material) .proof-technical{border-color:#70482f}body:not(.material) .proof-technical>summary{color:#ddc6a1}body:not(.material) #seed-recheck{border-color:#70482f}body:not(.material) .technical-explainer{background:#21130e;border-color:#b67b30;color:#d4bd96!important}@media(max-width:560px){.blind-proof-card{padding:14px 12px}.blind-heading h3{font-size:17px}.blind-flow{grid-template-columns:1fr;margin:14px 0 12px;gap:7px}.blind-box{grid-template-columns:1fr auto;grid-template-rows:auto auto;text-align:left;padding:8px 10px}.blind-box small,.blind-box strong{grid-column:1}.blind-box b{grid-column:2;grid-row:1/3;width:38px;height:38px;margin:0;align-self:center;text-align:center}.blind-transfer{padding:8px;border:1px dashed #63725e}body:not(.material) .blind-transfer{border-color:#74492c}.dice-comparison{grid-template-columns:54px minmax(0,1fr);gap:6px;padding:9px 7px}.compact-primary{width:100%!important}}.seed-challenge{padding:0}.challenge-heading{text-align:center;padding:3px 10px 16px}.challenge-heading>span{display:inline-block;padding:3px 8px;border:1px solid #7f986f;color:#cce69e;background:#192720;font-size:9px;font-weight:800;letter-spacing:2px}.challenge-heading h3{margin:10px 0 5px;color:#eadcad;font-size:19px;letter-spacing:.5px}.challenge-heading p{margin:0!important;color:#9eae99!important;font-size:10px!important;line-height:1.6!important}.seed-challenge .dice-comparison{margin-bottom:14px}.compare-die.unknown{color:#7f9382;background:#1a2a22;border-style:dashed}.compare-column.pending i{color:#708673}.challenge-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 9px;align-items:stretch;margin-top:14px}.challenge-form label{grid-column:1/-1;color:#b9c7b6;font-size:10px;letter-spacing:1px}.challenge-form input{min-width:0;width:100%;height:43px;padding:8px 11px;border:1px solid #667b69;background:#111f19;color:#efe3bc;font-size:12px;box-shadow:inset 0 2px #0a1511}.challenge-form input::placeholder{color:#718277}.challenge-form .compact-primary{margin:0!important;min-width:168px;height:43px;min-height:43px!important;padding:8px 13px!important}.challenge-result{margin-top:13px;padding:13px 14px;border:1px solid #52664c;background:#182720;text-align:center}.challenge-result strong{display:block;color:#dbe9b0;font-size:17px;letter-spacing:.5px}.challenge-result p{margin:4px 0 0!important;color:#afc0a7!important;font-size:10px!important;line-height:1.55!important}.challenge-result small{display:block;margin-top:5px;color:#9aaa91;font-size:9px;overflow-wrap:anywhere}.challenge-result.checking strong{font-size:13px}.challenge-result.passed{border-color:#668747;background:#1d321f}.challenge-result.passed strong{color:#d9f0a7}.challenge-result.failed{border-color:#925246;background:#38211e}.challenge-result.failed strong{color:#ffb7a6}.challenge-result.failed p,.challenge-result.failed small{color:#d7a89d!important}.challenge-boundary{margin:11px 2px 0!important;color:#839486!important;font-size:9px!important;line-height:1.55!important;text-align:center}.challenge-empty{padding:24px 10px;margin:0 0 14px!important;border:1px dashed #52664c;text-align:center;color:#9eae99!important}.reveal-seed{margin:0 0 8px!important}.saved-seed-reveal{padding:9px;background:#101c18;border:1px solid #3f5342;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text}.saved-seed-reveal code{color:#e8d8ad}body:not(.material) .challenge-heading>span{border:2px solid #6f4b2f;background:#20120d;color:#ffd278}body:not(.material) .challenge-heading h3{color:#ffe2a2;text-shadow:2px 2px #100806}body:not(.material) .challenge-heading p{color:#bba17b!important}body:not(.material) .challenge-form label{color:#cfb48b}body:not(.material) .challenge-form input{border:2px solid #795137;background:#140b08;color:#ffe8bb;box-shadow:inset 0 2px #080403}body:not(.material) .compare-die.unknown{color:#8b6e4c;background:#21130e;border-style:dashed}body:not(.material) .challenge-result{border:2px solid #70482f;background:#21130e}body:not(.material) .challenge-result.passed{border-color:#677f3a;background:#27321b}body:not(.material) .challenge-result.passed strong{color:#dff2ae}body:not(.material) .challenge-result.failed{border-color:#8c4539;background:#3b1d18}body:not(.material) .challenge-result.failed strong{color:#ffb7a6}body:not(.material) .challenge-boundary{color:#9f835e!important}body:not(.material) .saved-seed-reveal{background:#100906;border-color:#5f3b25}body:not(.material) .saved-seed-reveal code{color:#ffe4aa}@media(max-width:560px){.challenge-heading{padding-left:2px;padding-right:2px}.challenge-heading h3{font-size:16px}.challenge-form{grid-template-columns:minmax(0,1fr)}.challenge-form label{grid-column:1}.challenge-form .compact-primary{width:100%!important;min-width:0}.challenge-result strong{font-size:15px}}.game-title-row>div{min-width:0}.turn-owner{display:block;margin-top:6px;color:#c9b88e;font-size:9px;letter-spacing:.7px}.turn-owner:first-letter{color:var(--turn-color)}.seat-symbol{display:inline-block;width:17px;color:var(--seat-color);font-size:11px}.die-unknown{opacity:.68}.coach{width:100%;margin-top:12px;padding:8px 9px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px dashed #6c795f;color:#cbd7bd;background:#1c2c24;font-size:9px;line-height:1.45;text-align:center}.coach button{padding:2px 5px;border:0;border-bottom:1px solid #d8bb78;background:none;color:#edcf8c;font-size:9px;white-space:nowrap}.piece:after{content:attr(data-color-symbol);position:absolute;right:-1px;bottom:0;width:12px;height:12px;display:grid;place-items:center;border:1px solid #3b2b20;background:#f5e3b8;color:#37251a;font-size:7px;font-weight:900;line-height:1;pointer-events:none}.material .piece:after{border-radius:50%;right:0;bottom:-1px;background:#ede1c6}.piece.captured-away{animation:captured-away .18s ease-in both}.piece.arrived-home{animation:arrived-home .28s ease-out both}@keyframes captured-away{45%{transform:scale(1.2) rotate(8deg);filter:brightness(1.4)}to{transform:scale(.72);opacity:.35}}@keyframes arrived-home{50%{transform:translateY(-7px) scale(1.2);filter:brightness(1.45)}to{transform:none}}.pause-summary{margin-bottom:19px;padding:15px;border:1px solid #596a55;background:#1b2c24;text-align:center}.pause-summary strong,.pause-summary span,.pause-summary small{display:block}.pause-summary strong{color:#e5ca8f;font-size:22px}.pause-summary span{margin-top:4px;color:#c2cdb9;font-size:11px}.pause-summary small{margin-top:8px;color:#9cac96;font-size:9px;line-height:1.55}.pause-actions{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;margin-top:18px}.text-danger{border:0;background:none;color:#c98d79;padding:9px 4px;font-size:11px}.text-danger:hover{color:#ffc0aa}.danger-button{border-color:#9f5c4e!important;color:#ffc2b2!important}.settings-dialog{width:min(92vw,520px)}.settings-dialog .modal-body,.rules-dialog .modal-body{overflow:auto}.setting-section h3,.next-rules h3{margin:0 0 8px;color:#dec58d;font-size:11px;letter-spacing:1.8px}.setting-details{border-top:1px solid #4f604d;margin-top:13px;padding-top:12px}.setting-details>summary{cursor:pointer;color:#d4c49e;font-size:11px;letter-spacing:1px}.setting-details[open]>summary{margin-bottom:8px}.volume-row input[type=range]{width:178px;accent-color:#d5b36c}.volume-row output{margin-left:4px;color:#9fb199;font-size:9px}.compact-button{min-height:32px;padding:6px 9px;font-size:10px}.modal-continue{margin-top:20px!important}.rules-dialog{width:min(94vw,650px)}.current-rules{padding:14px;border:1px solid #596b56;background:#192a22}.rules-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.rules-heading strong{color:#e8ce95;font-size:14px}.rules-heading span{color:#9dae99;font-size:9px}.rule-facts{display:grid;grid-template-columns:1fr 1fr;gap:7px 22px;margin:14px 0 0;padding:0;list-style:none}.rule-facts li{position:relative;padding-left:14px;color:#c7d0bc;font-size:10px;line-height:1.55}.rule-facts li:before{content:"◆";position:absolute;left:0;top:1px;color:#c8a85e;font-size:7px}.next-rules{margin-top:17px}.preset-picker{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rule-preset{min-width:0;padding:10px;border:1px solid #566552;background:#24332b;text-align:left}.rule-preset strong,.rule-preset small{display:block}.rule-preset strong{color:#e4d5ae;font-size:12px}.rule-preset small{margin-top:5px;color:#98a993;font-size:8px;line-height:1.45}.rule-preset.selected{border-color:#d1ad63;box-shadow:inset 3px 0 #d6b25f;background:#344235}.piece-count-row{margin-top:10px}.tutorial-replay{margin-top:12px;width:100%;font-size:10px}.result-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:14px 0}.result-stats div{padding:10px 4px;border:1px solid #536450;background:#1b2c24;text-align:center}.result-stats strong,.result-stats span{display:block}.result-stats strong{color:#e7c882;font-size:18px}.result-stats span{margin-top:3px;color:#99aa95;font-size:8px}body:not(.material) .coach{border:2px dashed #70482f;background:#21130e;color:#dac29b}body:not(.material) .coach button{color:#ffd173;border-color:#e3a43a}body:not(.material) .pause-summary,body:not(.material) .current-rules,body:not(.material) .result-stats div{border:2px solid #70482f;background:#21130e}body:not(.material) .rule-preset{border:2px solid #67442f;background:#2c1b15}body:not(.material) .rule-preset.selected{border-color:#edac3d;background:#43291d;box-shadow:inset 4px 0 #edac3d}body:not(.material) .setting-details{border-color:#69452f}body.ui-large{font-size:112%}body.ui-large .icon-button{min-width:44px;min-height:44px}body.ui-large .side-panel{width:340px}body.ui-large .game-layout{grid-template-columns:minmax(0,1fr) 340px}body.ui-large .seat-name,body.ui-large .dice-status{font-size:13px}body.ui-large .mode small{font-size:11px}@media(max-width:760px){.turn-owner{font-size:8px}.coach{margin-top:7px;padding:5px}.rule-facts,.preset-picker{grid-template-columns:1fr}.rule-preset{padding:8px}.rule-preset small{font-size:9px}.settings-dialog,.rules-dialog{max-height:90dvh}.result-stats{gap:4px}.result-stats strong{font-size:15px}body.ui-large .game-layout{display:flex}body.ui-large .side-panel{width:var(--board-size)}}.dice-source-dialog{width:min(92vw,430px);max-width:430px}.dice-source-sheet{display:grid;gap:18px}.source-main-field,.dice-source-sheet .seed-setting{display:grid;gap:9px;padding:0;border:0}.source-main-field>span,.dice-source-sheet .seed-setting>span{color:#f0dcaa;font-size:14px;font-weight:700;letter-spacing:1px}.source-main-field select,.dice-source-sheet .seed-setting input{width:100%;max-width:none;min-height:50px;padding:0 13px;border:2px solid #795137;background:#1b100d;color:#ffebc2;font:inherit;font-size:14px}.source-main-field select:focus,.dice-source-sheet .seed-setting input:focus{outline:2px solid #dfa43f;outline-offset:2px}.seed-confirm{min-height:54px;margin-top:2px!important;font-size:16px}.fairness-button{width:100%;min-height:40px;margin-top:10px;display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px}.fairness-button svg{width:15px;height:15px}.proof-dialog{width:min(92vw,420px);max-width:420px}.proof-dialog .modal-body{max-height:none;overflow:visible}.seeded-proof-dialog{--proof-top:max(16px, calc(50dvh - 295px) );width:min(520px,calc(100vw - 24px));max-width:520px;top:var(--proof-top);bottom:auto;margin:0 auto;max-height:calc(100dvh - var(--proof-top) - 20px);overflow:hidden}.seeded-proof-dialog[open]{display:flex;flex-direction:column}.seeded-proof-dialog .modal-header{flex:none}.seeded-proof-dialog .modal-body{min-height:0;max-height:none;overflow:auto}.seed-proof-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:0}.proof-context{display:flex;align-items:center;justify-content:space-between;gap:16px}.proof-algorithm-label{color:#c9a970;font:11px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.7px}.proof-simple{display:grid;gap:16px}.proof-simple p{margin:0!important;color:#cdbb9e!important;font-size:14px!important;line-height:1.6}.proof-roll-label{color:#f5dca7;font-size:18px;font-weight:800}.proof-seed-field{display:grid;gap:8px}.proof-seed-field span{color:#ceb990;font-size:14px;font-weight:700}.proof-seed-field input{width:100%;min-height:50px;padding:0 13px;border:2px solid #795137;background:#1b100d;color:#ffebc2;font:inherit;font-size:15px}.proof-seed-field input:focus{outline:2px solid #dfa43f;outline-offset:2px}.proof-calculate-button{min-height:54px;margin-top:0!important;font-size:16px}#seed-verify-result:empty{display:none}.calculation-running{margin-top:22px;padding:16px;border:1px solid #705038;color:#d7c29b;font-size:13px;text-align:center}.seed-proof-result{display:grid;gap:12px;margin-top:22px;padding-top:20px;border-top:1px solid #69462e;text-align:left}.seed-proof-verdict{display:grid;gap:6px;padding:15px 16px;border:1px solid #677f3a;background:#27321b}.seed-proof-verdict strong{color:#e5f2b9;font-size:18px;line-height:1.2}.seed-proof-verdict span{color:#d3e5a7;font-size:13px;line-height:1.55}.seed-proof-result.failed .seed-proof-verdict{border-color:#8d594a;background:#362722}.seed-proof-result.failed .seed-proof-verdict strong,.seed-proof-result.failed .seed-proof-verdict span{color:#efb29e}.fingerprint-compare{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;padding:15px 16px;border:1px solid #65452f;background:#1b100c}.fingerprint-compare>div{min-width:0;display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;align-items:center}.fingerprint-compare>div span{color:#c4ae8c;font-size:11px}.fingerprint-compare code{min-width:0;color:#ffe0a2;font:11px ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap;-webkit-user-select:text;user-select:text}.fingerprint-compare>b{grid-column:2;grid-row:1/3;align-self:center;padding:5px 7px;border:1px solid #5d7338;color:#cfe89d;font-size:10px;white-space:nowrap}.fingerprint-compare>b.different{border-color:#8d594a;color:#efb29e}.calculation-formula{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;align-items:center;padding:15px 16px;border:1px solid #65452f;background:#25150f}.calculation-formula>span{color:#c4ae8c;font-size:11px}.calculation-formula>span b{color:#ffc65b;font-size:14px}.calculation-formula>code{grid-row:1/3;grid-column:2;padding:8px 10px;background:#100806;color:#f0d6a1;font:13px ui-monospace,SFMono-Regular,Menlo,monospace;white-space:nowrap}.calculation-formula>code strong{color:#ffc65b;font-size:18px}.calculation-formula>em{color:#b09b7a;font-size:10px;font-style:normal}.proof-check{min-height:54px;margin-top:0!important}.proof-pending{padding:12px;border:1px solid #856136;background:#2a1b11;color:#e5c28e;font-size:14px;line-height:1.5}.proof-empty{text-align:center;padding:10px 0}.proof-empty strong{color:#f0d6a4;font-size:19px}.proof-result{margin:0;padding:0;border:0;background:transparent}.proof-verdict{display:flex;align-items:center;gap:10px;padding:14px;border:2px solid #677f3a;background:#27321b;color:#d3e5a7;font-size:15px}.proof-verdict>span{font-size:22px}.proof-verdict.failed{display:grid;grid-template-columns:auto 1fr;border-color:#8d594a;background:#362722;color:#efb29e}.proof-verdict.failed p{grid-column:1/-1;color:#efb29e!important}@media(max-width:520px){.dice-source-dialog,.proof-dialog{width:94vw;max-width:94vw}.dice-source-dialog .modal-header,.proof-dialog .modal-header{padding:17px 16px 13px}.dice-source-dialog .modal-body,.proof-dialog .modal-body{padding:17px}.seeded-proof-dialog{width:calc(100vw - 24px);max-width:520px}.fingerprint-compare{grid-template-columns:minmax(0,1fr);padding:13px}.fingerprint-compare>div{grid-template-columns:58px minmax(0,1fr);gap:8px}.fingerprint-compare>b{grid-column:1;grid-row:auto;justify-self:end}.calculation-formula{padding:13px;gap:6px 8px}.calculation-formula>code{font-size:11px;padding:7px 8px}.seed-proof-verdict{padding:13px}.fairness-button{min-height:34px;margin-top:7px;font-size:11px}}@media(max-width:360px){.fingerprint-compare>div{grid-template-columns:minmax(0,1fr);gap:3px}.calculation-formula{grid-template-columns:minmax(0,1fr)}.calculation-formula>code{grid-column:1;grid-row:auto;justify-self:start}}html{overflow-x:clip}.shell{min-inline-size:0}body,#app,.game-layout,.table-zone,.side-panel,.mode-list,.mode,.start-slot,.game-title-row,.seats,.seat,.seat-info,.dice-area,.modal-header,.modal-body,.setting-section,.setting-details,.setting-row,.modal-actions,.pause-actions,.rules-heading,.rule-preset,.result-stats,.proof-context,.proof-verdict,.source-main-field,.dice-source-sheet,.dice-source-control,.theme-card-caption{min-inline-size:0;max-inline-size:100%}.side-heading,.side-sub,.game-title-row h2,.turn-owner,.dice-status,.coach,.mode strong,.mode small,.seat-name,.seat-kind,.tiny-note,.keyboard-hint,.setting-row>span,.setting-note,.setting-details>summary,.rules-heading>*,.rule-facts li,.result-stats span,.source-main-field>span,.dice-source-sheet .seed-setting>span,.proof-simple p,.proof-roll-label,.proof-seed-field span,.proof-pending,.proof-verdict,.theme-card-caption>*{overflow-wrap:anywhere;word-break:normal;-webkit-hyphens:auto;hyphens:auto}.primary,.secondary,.compact-button,.text-danger,.roll-button,.fairness-button,.dice-source-control,.rule-preset,.theme-trigger,.theme-filters button{min-inline-size:0;max-inline-size:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.25}.mode,.rule-preset,.theme-card{text-align:start}.room-name{min-inline-size:0;max-inline-size:min(36vw,32ch);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-actions{flex:0 0 auto}.game-title-row>div,.game-title-row h2{min-inline-size:0}.turn-counter{max-inline-size:44%;text-align:end}.seat-name{white-space:normal}.footbar{height:auto;min-height:28px;gap:8px 16px;flex-wrap:wrap}.footbar>*{min-inline-size:0;overflow-wrap:anywhere}.toast{inline-size:max-content;max-inline-size:calc(100vw - 24px);white-space:normal;text-align:center;overflow-wrap:anywhere}.setting-row>span{flex:1 1 44%;min-inline-size:0}.setting-row>select,.setting-row>.compact-button{flex:0 1 230px;inline-size:min(230px,58%);max-inline-size:58%;min-inline-size:0}.setting-row>select{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setting-row>input[type=checkbox]{flex:0 0 auto}#modal.settings-dialog .volume-row input[type=range]{flex:0 1 178px;inline-size:min(178px,58%);max-inline-size:58%;min-inline-size:0;margin-inline:0}.modal-header h2{min-inline-size:0;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.modal-header .icon-button{flex:0 0 auto}.modal-actions>*,.pause-actions>*,.result-stats>*{min-inline-size:0}.rules-list{padding-inline-start:20px;padding-inline-end:0}.rule-facts li{padding-inline-start:14px;padding-inline-end:0}.rule-facts li:before{inset-inline-start:0;inset-inline-end:auto}.theme-card-caption>strong{min-inline-size:0;overflow-wrap:anywhere}html[lang] .theme-card-caption>span{min-inline-size:0;white-space:normal;overflow-wrap:anywhere}.fingerprint-compare code,.calculation-formula>code,.trace-step code,.trace-raw>code{direction:ltr;unicode-bidi:isolate;max-inline-size:100%;overflow-wrap:anywhere;white-space:normal}.seed-setting input,.proof-seed-field input{direction:ltr;unicode-bidi:isolate}html:not(:lang(zh)):not(:lang(ja)):not(:lang(ko)) body.tabletop[data-world] .side-panel :is(.side-heading,.game-title-row h2,.primary,.secondary,.mode strong),html:not(:lang(zh)):not(:lang(ja)):not(:lang(ko)) .modal-header h2{letter-spacing:.02em}html:is(:lang(ar),:lang(ur),:lang(hi)) body{font-family:system-ui,-apple-system,Segoe UI,Noto Sans Arabic,Noto Sans Devanagari,sans-serif}html:is(:lang(ar),:lang(ur),:lang(hi)) body.tabletop[data-world] .side-panel :is(.side-heading,.side-sub,.game-title-row h2,.turn-owner,.primary,.secondary,.mode strong,.mode small,.dice-status),html:is(:lang(ar),:lang(ur),:lang(hi)) .modal-header h2{letter-spacing:normal}html[dir=rtl] .top-actions{margin-left:0;margin-right:auto}html[dir=rtl] :is(.mode,.rule-preset,.theme-card,.source-main-field,.proof-seed-field){text-align:right}html[dir=rtl] .dice-source-control em{margin-left:0;margin-right:auto}html[dir=rtl] body.tabletop[data-world] .side-panel .dice-source-control span:after{margin-left:0;margin-right:5px}html[dir=rtl] .mode .mini-die{right:auto;left:12px}html[dir=rtl] .rule-facts li:before{left:auto;right:0}html[dir=rtl] .theme-trigger-label{margin-left:0;margin-right:6px;padding-left:0;padding-right:12px;border-left:0;border-right:1px solid #ffffff25}html[dir=rtl] .theme-card.selected:after{right:auto;left:10px}@media(max-width:520px){.settings-dialog{width:calc(100vw - 24px);max-width:520px}.settings-dialog .modal-header{padding:17px 16px 13px}.settings-dialog .modal-body{padding:17px 16px}.setting-row:not(.seed-setting){display:grid;grid-template-columns:minmax(0,1fr) minmax(112px,56%);gap:10px;align-items:center}.setting-row:not(.seed-setting)>select,.setting-row:not(.seed-setting)>.compact-button,#modal.settings-dialog .volume-row input[type=range]{inline-size:100%;max-inline-size:none}.setting-row:not(.seed-setting)>input[type=checkbox]{justify-self:end}.modal-actions{flex-wrap:wrap}.pause-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.proof-strip,.result-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}body.victory-presenting .topbar,body.victory-presenting .side-panel,body.victory-presenting .under-board,body.victory-presenting .piece-layer,body.victory-presenting .board-art,body.victory-presenting .table-label{visibility:hidden;pointer-events:none}body.victory-presenting .tabletop-host{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;width:100vw!important;height:100dvh!important;z-index:20;visibility:visible}body #modal.victory-dialog{position:fixed;top:0;right:0;bottom:0;left:0;margin:0;padding:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;outline:0;background:transparent;box-shadow:none;color:#f5e5ba;overflow:hidden}body #modal.victory-dialog::backdrop{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.victory-shade{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,#0c0f0ff2,#11110fd9 23%,#100e0b45 44%,transparent 66%),linear-gradient(0deg,#0d0c0ada,transparent 24%,transparent 82%,#0d0c0a40)}.victory-copy{position:absolute;left:6.8vw;top:28%;width:31.5vw;max-width:550px;text-align:start;text-shadow:0 3px 22px #120b05;animation:victory-copy-in .6s .15s both}.victory-crest{display:block;width:42px;height:30px;fill:none;stroke:#d4ad64;stroke-width:2.3;stroke-linejoin:miter;margin-bottom:24px}.victory-copy h2{font-family:Songti SC,"Noto Serif CJK SC",Georgia,serif;font-size:clamp(42px,6vw,106px);font-weight:700;line-height:1.16;letter-spacing:.04em;margin:0;color:#f8e8bd;overflow-wrap:anywhere;text-wrap:balance}.victory-actions{position:absolute;left:6.8vw;bottom:17%;display:flex;align-items:center;gap:28px;animation:victory-copy-in .5s .6s both}body #modal.victory-dialog .victory-actions button{font:600 clamp(15px,1.3vw,23px)/1.4 "PingFang SC",sans-serif;letter-spacing:.04em;min-height:54px;border:0;border-radius:0;padding:14px 22px;box-shadow:none}body #modal.victory-dialog .victory-again{min-width:180px;color:#fff0c6;background:linear-gradient(115deg,#903e2d,#73281f);box-shadow:inset 0 1px #cba46b,0 9px 25px #09060570}.victory-again span{margin-inline-start:28px;color:#e3bc75}body #modal.victory-dialog .victory-lobby{color:#e3cfab;background:transparent;border-bottom:1px solid #7a6144;padding-inline:5px}.victory-tools{position:absolute;top:24px;right:28px;display:flex;gap:12px;z-index:2}body #modal.victory-dialog .victory-tools .icon-button{width:40px;height:40px;background:#17151275;border:1px solid #cbb37d50;box-shadow:none;color:#eadbb8}body #modal.victory-dialog .victory-proof{position:absolute;bottom:28px;right:32px;display:flex;align-items:center;gap:8px;border:0;background:transparent;color:#d3bf99;font-size:14px;padding:10px;box-shadow:none}.victory-proof svg{width:17px;height:17px}body #modal.victory-dialog button:focus-visible{outline:2px solid #ffdea0;outline-offset:5px}body #modal.victory-dialog button:hover{filter:brightness(1.15)}body #modal.victory-flat{background:#151c19e8}.victory-flat .victory-copy{width:70vw;max-width:800px}@keyframes victory-copy-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}body.reduced-motion .victory-copy,body.reduced-motion .victory-actions{animation:none}@media(prefers-reduced-motion:reduce){.victory-copy,.victory-actions{animation:none}}@media(max-width:760px){.victory-copy{left:6vw;top:22%;width:41vw}.victory-copy h2{font-size:clamp(31px,7vw,54px)}.victory-crest{width:32px;height:24px;margin-bottom:16px}.victory-actions{left:6vw;bottom:13%;gap:18px}body #modal.victory-dialog .victory-actions button{min-height:48px;font-size:15px;padding:12px 16px}body #modal.victory-dialog .victory-again{min-width:148px}.victory-tools{top:15px;right:17px;gap:9px}body #modal.victory-dialog .victory-proof{right:15px;bottom:12px;font-size:12px}}@media(max-aspect-ratio:11/10){body #modal.victory-dialog[open]{display:grid;grid-template-rows:51% minmax(0,1fr) auto 46px}.victory-shade{background:linear-gradient(180deg,#101412c9,transparent 38%,transparent 58%,#11120fda 82%)}.victory-copy{position:relative;grid-row:2;align-self:center;top:auto;left:auto;width:auto;max-width:none;margin:8px 7vw;text-align:center}.victory-crest{width:30px;height:21px;margin:0 auto 12px}.victory-copy h2{font-size:clamp(27px,7vw,48px);line-height:1.13}.victory-actions{position:relative;grid-row:3;left:auto;right:auto;bottom:auto;margin:12px 6vw 20px;justify-content:center;gap:20px}body #modal.victory-dialog .victory-actions button{font-size:clamp(13px,2.5vw,19px);min-height:46px;padding:11px 13px}body #modal.victory-dialog .victory-again{min-width:0}.victory-again span{margin-inline-start:18px}.victory-flat .victory-copy{grid-row:1/3;align-self:center}}body .side-panel .lobby-seed-control,body.tabletop[data-world] .side-panel .lobby-seed-control{cursor:text;gap:12px;min-height:48px}body .side-panel .lobby-seed-control>span{flex-shrink:0;font-size:13px;letter-spacing:0}body .side-panel .lobby-seed-control>span:after{display:none}body .side-panel .lobby-seed-control input{width:0;min-width:0;flex:1;border:0;background:transparent;color:inherit;box-shadow:none;outline:none;padding:5px 0;font:inherit;font-size:14px;direction:ltr;unicode-bidi:isolate}body .side-panel .lobby-seed-control input::placeholder{color:currentColor;opacity:.57}body .side-panel .lobby-seed-control:focus-within{outline:2px solid currentColor;outline-offset:2px}@media(max-width:600px){body .side-panel .lobby-seed-control{gap:9px}body .side-panel .lobby-seed-control input{font-size:16px}}body.material{--gold:#d7ba80;--muted:#aeb7aa;font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;color:#ece6d8;background:#172722}.material .scene{background-image:url(/art/room-salon.svg);image-rendering:auto}.material .scene.garden{background-image:url(/art/room-conservatory.svg)}.material .scene.arcade{background-image:url(/art/room-evening.svg)}.material .scene:after{background:radial-gradient(ellipse at 43% 42%,transparent 25%,#06110f70 100%)}.material .topbar{gap:20px}.material .wordmark{width:104px;height:34px;filter:drop-shadow(0 2px 2px #07150f80)}.material .room-name{font-size:12px;letter-spacing:4px;color:#c9b894}.material .topline{background:linear-gradient(90deg,#b5a17845,transparent)}.material .icon-button{border:1px solid #bca27336;border-radius:8px;background:linear-gradient(155deg,#39423985,#192b24bc);color:#d8c8a7;box-shadow:inset 0 1px #c5b58c15,0 3px 8px #07130d38;transition:background .15s,border-color .15s}.material .icon-button:hover{background:#39453b;border-color:#bca27390}.material .table-label{font-size:11px;font-weight:500;letter-spacing:5px;color:#cbb999;text-shadow:0 2px 4px #07170c}.material .board-frame{padding:16px;border:2px solid #3e2d21;border-radius:21px;background:repeating-linear-gradient(3deg,#f1c48b00 0,#f1c48b00 4px,#f1c48b12,#29170d15 6px,#f1c48b00 8px,#f1c48b00 12px),linear-gradient(135deg,#a07b49,#60462d 29%,#3f2c20 65%,#8e6f42);box-shadow:inset 0 1px 1px #f1d7a9b0,inset 0 0 0 4px #d7b97645,inset 0 0 0 5px #2d211bd9,0 2px #a48753,0 6px #44301f,0 9px #271d14,0 19px 27px #050e0b78,0 34px 65px #07100db3}.material .board-frame:before{top:6px;right:6px;bottom:6px;left:6px;width:auto;height:auto;border:1px solid #d5b47c8c;border-radius:13px;box-shadow:inset 0 1px #dfbf752b;background:transparent;pointer-events:none}.material .board-frame:after{top:11px;right:11px;bottom:11px;left:11px;width:auto;height:auto;border:1px solid #281e1678;border-radius:9px;box-shadow:0 1px #e2c08b3b;background:transparent;pointer-events:none}.material .board-inner{border:1px solid #aa8e5c;border-radius:7px;overflow:hidden;box-shadow:0 1px #e4c99070,inset 0 1px 4px #302718aa;background:#daceb1}.material .board-art{border-radius:6px}.material .piece{transition:left .08s linear,top .08s linear}.material .piece svg{width:100%;height:113%;filter:drop-shadow(0 2px 1px #271d1473);overflow:visible;transform:translateY(-5%);transition:filter .12s,translate .12s}.material .piece.legal:before{top:9%;right:9%;bottom:9%;left:9%;border:1.5px solid #fff4ca;border-radius:50%;box-shadow:0 0 0 2px #8b75464a,0 0 10px #ffdd866b;animation:material-halo 1.5s ease-in-out infinite}.material .piece.legal:hover svg,.material .piece.legal:focus-visible svg{translate:0 -4px;filter:drop-shadow(0 6px 3px #30251c66)}.material .piece.finished svg{transform:translateY(-4%) scale(.58)}.material .move-target{border:2px solid #d4b578;border-radius:5px;background:#fcebc355;box-shadow:inset 0 0 0 1px #fff1c8,0 0 9px #f9df9740}.material .table-shadow{display:none}.material .under-board{margin-top:16px;height:36px;color:#b8bda6}.material .scene-dot{width:20px;height:20px;padding:3px;border:1px solid #aa92715c;border-radius:50%;background:#172b21;box-shadow:0 2px 4px #08160d6e}.material .scene-dot span{border-radius:50%;background:linear-gradient(140deg,#cfb681,#735638)}.material .scene-dot[data-scene=garden] span{background:linear-gradient(140deg,#9bc6a6,#416b5d)}.material .scene-dot[data-scene=arcade] span{background:linear-gradient(140deg,#b9a2be,#585372)}.material .scene-dot.selected{outline:1px solid #d3bb8c;outline-offset:3px}.material .text-button{color:#c1c6b1;font-size:11px}.material .text-button:hover{color:#f1dfb9}.material .side-panel{min-height:480px;border:1px solid #b39a6561;border-radius:13px;padding:24px 21px;background:radial-gradient(ellipse at 0 0,#7380642b,transparent 55%),repeating-linear-gradient(0deg,transparent 0 3px,#c7bb8e03 3px 4px),linear-gradient(160deg,#293a31f5,#17271ff8);box-shadow:inset 0 1px #eee0bd16,inset 0 0 0 5px #9d8a5610,0 10px 30px #06170d66,0 2px 5px #07120a80}.material .side-panel:before{top:7px;left:8px;right:8px;height:calc(100% - 14px);background:none;border:1px solid #bda27329;border-radius:7px;opacity:1;pointer-events:none}.material .side-panel>*{position:relative}.material .side-heading{font-size:25px;letter-spacing:3px;font-weight:550;color:#e7d5b2}.material .side-sub{height:12px;margin:9px 0 22px;border-bottom:1px solid #c6b38128}.material .mode-list{gap:12px}.material .mode{min-height:70px;padding:13px 15px;border:1px solid #b7a27930;border-radius:7px;background:linear-gradient(130deg,#39493a8c,#24372c);box-shadow:inset 0 1px #eddbb40a,0 2px 5px #0c1d1533;transition:border-color .15s,background .15s}.material .mode.selected{border-color:#bea26bba;background:linear-gradient(135deg,#62674a66,#364333b3);box-shadow:inset 2px 0 #c5a667,0 3px 8px #0a1b1147}.material .mode:hover{background:#42513c99;border-color:#bda67788}.material .mode strong{font-size:14px;letter-spacing:1.5px;font-weight:550;color:#e2dac7}.material .mode small{font-size:10px;color:#a4b09a;letter-spacing:.5px;margin-top:6px}.material .mode .mini-die{color:#cbbd96;opacity:.7;font-size:19px}.material .primary{border:1px solid #cfb585;border-radius:7px;background:linear-gradient(125deg,#e9d2a3,#caaa6d 65%,#d6ba80);color:#3d3827;font-weight:650;box-shadow:inset 0 1px #fff0c5ad,inset 0 -2px #9271465c,0 3px #705736,0 6px 12px #07170e61;text-shadow:0 1px #f9e8bb52;transition:filter .12s}.material .primary:hover{background:linear-gradient(125deg,#efddb8,#d7bb81 65%,#dfc48e);filter:brightness(1.04)}.material .primary:disabled{opacity:.55;box-shadow:inset 0 1px #f4e2b829,0 2px #263120;filter:saturate(.5)}.material .secondary{border:1px solid #a7987066;border-radius:6px;background:linear-gradient(140deg,#465040,#2a3b2f);color:#e0d9c3;box-shadow:inset 0 1px #e4dcad0c,0 2px 5px #0b1c155e}.material .tiny-note{margin-top:16px;color:#9daa91;font-size:10px;letter-spacing:.7px}.material .game-title-row{padding-bottom:17px;border-color:#b09b6442}.material .game-title-row h2{font-weight:550;font-size:16px;color:#dfcbaa}.material .turn-counter{color:#a9b299;font-variant-numeric:tabular-nums}.material .seats{gap:10px}.material .seat{border:1px solid #a3966e26;border-radius:7px;padding:10px;opacity:.8;background:#12251b47}.material .seat.active{border-color:#b29e7373;background:linear-gradient(120deg,#79836223,#b09c5530);box-shadow:inset 2px 0 var(--seat-color),0 2px 6px #0b1d102e}.material .seat.active:after{right:-3px;top:20px;width:5px;height:5px;border-radius:50%;background:#d9c28b;box-shadow:0 0 7px #e0c78c66}.material .seat img{border:1px solid #bbaa7966;border-radius:50%;width:40px;height:40px;box-shadow:0 2px 3px #05160a40}.seat-emblem{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border:1px solid #ae966260;border-radius:50%;background:radial-gradient(circle at 35% 25%,#d9c69129,#10271b88);box-shadow:inset 0 1px #d9cc9c19,0 2px 5px #081a0c66}.seat-emblem svg{width:27px;height:27px;filter:drop-shadow(0 1px 1px #05130a66)}.material .seat-name{font-size:12px;font-weight:500;letter-spacing:.7px}.material .seat-kind{font-size:9px;color:#a2b09a;letter-spacing:.5px}.material .seat-progress i{width:5px;height:5px;border-radius:50%;border-color:#bdaa795e}.material .seat-progress i.done{background:#d1b579;box-shadow:0 0 4px #ddc99544}.material .dice-well{width:110px;height:105px;border:1px solid #b69f7040;border-radius:50%;background:radial-gradient(ellipse,#172c20,#0b1d16);box-shadow:inset 0 3px 9px #050f0caa,inset 0 -1px #b7a2741c,0 1px #b4a67518}.material .die{width:70px;height:70px;filter:drop-shadow(0 5px 3px #04110d80)}.material .die.rolling{animation:material-roll .38s ease-in-out infinite}.material .dice-status{color:#cdd4bb;font-size:12px;letter-spacing:.5px}.material .roll-button{font-size:15px;font-weight:650;letter-spacing:3px}.material .keyboard-hint{font-size:9px;letter-spacing:1px;color:#8d9d83}.material .footbar{color:#a2b19a;font-size:10px;letter-spacing:1.2px}.material .source-label:before{border-radius:50%;background:#b9c297;box-shadow:0 0 4px #b5c99045}.material dialog{border:1px solid #bda37480;border-radius:12px;background:linear-gradient(145deg,#304335,#192f22);box-shadow:inset 0 1px #f6e2b129,0 25px 100px #031109bb}.material dialog::backdrop{background:#07170fc9;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.material .modal-header{border-color:#b6a0763b}.material .modal-header h2{font-size:18px;font-weight:550;color:#e4d2ae}.material .setting-row{border-color:#b8a77428}.material .setting-row select,.material .seed-setting input{background:#172d21;border-color:#9e936a69;border-radius:5px;color:#e1d6b9}.material .proof-stat{border-radius:6px;background:#11271ca1;border-color:#b6a06e4d}.material .history-die{border-radius:5px;background:linear-gradient(135deg,#2e4535,#1e3426);border-color:#ab9a6b64}.material .proof-result{border-radius:6px}.material .toast{border-radius:6px;box-shadow:0 3px 18px #0a170c77}@keyframes material-halo{50%{opacity:.5;box-shadow:0 0 0 3px #cfb98533,0 0 14px #edd08a66}}@keyframes material-roll{0%,to{transform:translateY(-1px) rotate(-12deg)}50%{transform:translateY(-5px) rotate(12deg)}}@media(max-height:800px)and (min-width:800px){.material .side-panel{min-height:442px;padding:20px 18px}.material .seats{gap:7px}.material .seat{padding:7px}.material .seat-emblem{width:34px;height:34px;flex-basis:34px}.material .seat-emblem svg{width:24px;height:24px}.material .dice-well{width:85px;height:80px}.material .die{width:59px;height:59px}.material .under-board{margin-top:12px;height:32px}.material .side-sub{margin-bottom:16px}}@media(max-width:1000px){.material .board-frame{padding:13px}.material .side-panel{padding-left:17px;padding-right:17px}}@media(max-width:760px){.material .topbar{gap:10px}.material .room-name{font-size:10px;letter-spacing:2px}.material .wordmark{width:81px;height:27px}.material .board-frame{padding:12px;border-radius:17px}.material .board-frame:before{border-radius:11px}.material .side-panel{min-height:0;padding:18px}.material .side-heading{font-size:21px}.material .side-sub{margin:6px 0 15px;height:5px}.material .mode-list{gap:7px}.material .mode{padding:10px 8px;min-height:81px}.material .mode strong{font-size:12px;letter-spacing:0}.material .mode small{font-size:9px;letter-spacing:0}.material .seats{gap:7px}.material .seat{padding:6px}.material .seat-emblem{width:30px;height:30px;flex-basis:30px}.material .seat-emblem svg{width:22px;height:22px}.material .seat-name{font-size:11px}.material .seat-kind{font-size:9px}.material .dice-well{width:65px;height:61px}.material .die{width:47px;height:47px}.material .dice-status{font-size:10px}.material .roll-button{font-size:13px;letter-spacing:1px}.material .under-board{margin-top:14px}.material .table-label{font-size:10px;letter-spacing:4px}.material .footbar{font-size:9px}}@media(prefers-reduced-motion:reduce){.material .die.rolling,.material .piece.legal:before{animation:none}}body.material.reduced-motion .die.rolling,body.material.reduced-motion .piece.legal:before{animation:none}.winner-avatar>img{width:100%;height:100%}.material .winner-avatar{display:grid;place-items:center}.material .winner-avatar .seat-emblem{width:80px;height:80px}.material .winner-avatar .seat-emblem svg{width:52px;height:52px}.dice-well:after{content:"";position:absolute;left:27%;right:27%;bottom:14%;height:10%;background:#050b09a6;filter:blur(5px);border-radius:50%;opacity:.72;transform:scaleX(1);transition:transform 70ms ease,opacity 70ms ease,filter 70ms ease;pointer-events:none}.dice-well .die{position:relative;z-index:1;transform-origin:50% 78%;will-change:transform,filter,opacity}.dice-well[data-dice-stage=waiting] .die{opacity:.76;filter:drop-shadow(0 4px 0 #0d1c1b) saturate(.72)}.dice-well[data-dice-stage=waiting]:after{opacity:.38;transform:scaleX(.8)}.dice-well[data-dice-stage=lift] .die{transform:translateY(-3px) rotate(-4deg) scale(1.01)}.dice-well[data-dice-stage=shake-a] .die{transform:translate(-3px,-6px) rotate(-12deg) scale(1.025)}.dice-well[data-dice-stage=shake-b] .die{transform:translate(5px,-10px) rotate(14deg) scale(1.04)}.dice-well[data-dice-stage=shake-c] .die{transform:translate(-5px,-7px) rotate(-9deg) scale(1.03)}.dice-well[data-dice-stage=toss] .die{transform:translate(3px,-12px) rotate(16deg) scale(1.05)}.dice-well[data-dice-stage=toss]:after{opacity:.24;filter:blur(7px);transform:scaleX(.68)}.dice-well[data-dice-stage=impact] .die{transform:translateY(3px) rotate(-3deg) scaleY(.92) scaleX(1.04)}.dice-well[data-dice-stage=impact]:after{opacity:.9;filter:blur(3px);transform:scaleX(1.16)}.dice-well[data-dice-stage=rebound] .die{transform:translateY(-5px) rotate(5deg) scale(.99)}.dice-well[data-dice-stage=rebound]:after{opacity:.48;transform:scaleX(.83)}.dice-well[data-dice-stage=second-impact] .die{transform:translateY(1px) rotate(-2deg) scaleY(.97) scaleX(1.015)}.dice-well[data-dice-stage=settle] .die,.dice-well[data-dice-stage=done] .die{transform:translateY(0) rotate(0) scale(1);transition:transform 85ms ease-out,opacity 80ms linear}.dice-well[data-dice-stage=fade] .die{animation:dice-result-fade 80ms ease-out both}@keyframes dice-result-fade{0%{opacity:.42;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.dice-well .die,.dice-well:after{transition:none!important;animation:none!important}}.reduced-motion .dice-well .die,.reduced-motion .dice-well:after{transition:none!important;animation:none!important}body:not(.material) .die.solid-die{--solid-die-size: 68px;display:block;width:var(--solid-die-size);height:var(--solid-die-size);font-size:var(--solid-die-size);perspective:460px;perspective-origin:50% 40%;filter:none;animation:none;opacity:1}body:not(.material) .solid-die-cube{display:block;position:absolute;left:.15em;top:.17em;width:.7em;height:.7em;transform-style:preserve-3d;transform:rotateX(-18deg) rotateY(-24deg);transform-origin:50% 50%;will-change:transform}body:not(.material) .solid-die-face{position:absolute;top:0;right:0;bottom:0;left:0;display:block;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#ead9ae;border:1px solid #8c7148;box-shadow:inset 2px 2px #fff6d5,inset -2px -2px #bea273}body:not(.material) .solid-die-face:before{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;background:linear-gradient(135deg,#f9edcc 0,#f9edcc 48%,#f0e2bd 48%,#f0e2bd 82%,#ead8ae 82%);clip-path:polygon(4% 0,96% 0,96% 4%,100% 4%,100% 96%,96% 96%,96% 100%,4% 100%,4% 96%,0 96%,0 4%,4% 4%)}body:not(.material) .solid-die-front{transform:translateZ(.35em)}body:not(.material) .solid-die-back{transform:rotateY(180deg) translateZ(.35em)}body:not(.material) .solid-die-right{transform:rotateY(90deg) translateZ(.35em);background:#ba9e70;box-shadow:inset 2px 2px #e2c89a,inset -2px -2px #94734b}body:not(.material) .solid-die-left{transform:rotateY(-90deg) translateZ(.35em)}body:not(.material) .solid-die-top{transform:rotateX(90deg) translateZ(.35em);background:#fff5d8;box-shadow:inset 2px 2px #fff9e7,inset -2px -2px #d3bf91}body:not(.material) .solid-die-bottom{transform:rotateX(-90deg) translateZ(.35em)}body:not(.material) .solid-die-right:before{background:linear-gradient(135deg,#d2b98b 0,#d2b98b 52%,#c3a676 52%)}body:not(.material) .solid-die-top:before{background:linear-gradient(135deg,#fff8de 0,#fff8de 60%,#f4e6bf 60%)}body:not(.material) .solid-die-back:before,body:not(.material) .solid-die-bottom:before{background:#d4bd92}body:not(.material) .solid-die-pips{position:absolute;top:15%;right:15%;bottom:15%;left:15%;display:grid;grid-template:repeat(3,1fr) / repeat(3,1fr);place-items:center}body:not(.material) .solid-die-pip{display:block;width:63%;height:63%;background:#332c25;box-shadow:inset 1px 1px #181813,0 1px #fff8de}body:not(.material) .solid-die-right .solid-die-pip{background:#5a4934;box-shadow:inset 1px 1px #33281b,0 1px #e4ca9e}body:not(.material) .solid-die-top .solid-die-pip{background:#66563e;box-shadow:inset 1px 1px #3c3429,0 1px #fffef0}body:not(.material) .solid-die-unrolled{grid-area:2 / 2;width:76%;height:76%;border:2px solid #b99d6b;background:#e3cd9f;box-shadow:inset 1px 1px #fff5d4,0 1px #fff5d4}body:not(.material) .dice-well[data-dice-stage=waiting] .solid-die{filter:none}body:not(.material) .dice-well[data-dice-stage=lift] .solid-die-cube{animation:solid-die-lift 40ms linear both}body:not(.material) .dice-well[data-dice-stage=shake-a] .solid-die-cube{animation:solid-die-shake-a 65ms linear both}body:not(.material) .dice-well[data-dice-stage=shake-b] .solid-die-cube{animation:solid-die-shake-b 70ms linear both}body:not(.material) .dice-well[data-dice-stage=shake-c] .solid-die-cube{animation:solid-die-shake-c 75ms linear both}body:not(.material) .dice-well[data-dice-stage=toss] .solid-die-cube{animation:solid-die-toss .17s cubic-bezier(.16,.35,.52,1) both}body:not(.material) .dice-well[data-dice-stage=impact] .solid-die-cube{animation:solid-die-impact 55ms ease-out both}body:not(.material) .dice-well[data-dice-stage=rebound] .solid-die-cube{animation:solid-die-rebound 45ms ease-out both}body:not(.material) .dice-well[data-dice-stage=second-impact] .solid-die-cube{animation:solid-die-second-impact 55ms ease-out both}body:not(.material) .dice-well[data-dice-stage=settle] .solid-die-cube{animation:solid-die-settle 45ms ease-out both}body:not(.material) .dice-well[data-dice-speed=fast][data-dice-stage=lift] .solid-die-cube{animation-duration:32ms}body:not(.material) .dice-well[data-dice-speed=fast][data-dice-stage=shake-a] .solid-die-cube{animation-duration:28ms}body:not(.material) .dice-well[data-dice-speed=fast][data-dice-stage=toss] .solid-die-cube{animation:solid-die-fast-toss 32ms linear both}body:not(.material) .dice-well[data-dice-speed=fast][data-dice-stage=impact] .solid-die-cube{animation-duration:53ms}body:not(.material) .dice-well[data-dice-speed=fast][data-dice-stage=rebound] .solid-die-cube{animation-duration:37ms}body:not(.material) .dice-well[data-dice-speed=fast][data-dice-stage=settle] .solid-die-cube{animation:solid-die-fast-settle 38ms ease-out both}@keyframes solid-die-lift{0%{transform:rotateX(-18deg) rotateY(-24deg)}to{transform:rotateX(-36deg) rotateY(-28deg)}}@keyframes solid-die-shake-a{0%{transform:rotateX(-36deg) rotateY(-28deg)}to{transform:rotateX(-78deg) rotateY(38deg)}}@keyframes solid-die-shake-b{0%{transform:rotateX(-78deg) rotateY(38deg)}to{transform:rotateX(-162deg) rotateY(148deg)}}@keyframes solid-die-shake-c{0%{transform:rotateX(-162deg) rotateY(148deg)}to{transform:rotateX(-236deg) rotateY(228deg)}}@keyframes solid-die-toss{0%{transform:rotateX(-236deg) rotateY(228deg)}to{transform:rotateX(-378deg) rotateY(336deg)}}@keyframes solid-die-impact{0%{transform:rotateX(-378deg) rotateY(336deg)}to{transform:rotateX(-369deg) rotateY(332deg)}}@keyframes solid-die-rebound{0%{transform:rotateX(-369deg) rotateY(332deg)}to{transform:rotateX(-386deg) rotateY(348deg)}}@keyframes solid-die-second-impact{0%{transform:rotateX(-386deg) rotateY(348deg)}to{transform:rotateX(-375deg) rotateY(332deg)}}@keyframes solid-die-settle{0%{transform:rotateX(-375deg) rotateY(332deg)}to{transform:rotateX(-378deg) rotateY(336deg)}}@keyframes solid-die-fast-toss{0%{transform:rotateX(-78deg) rotateY(38deg)}to{transform:rotateX(-18deg) rotateY(-24deg)}}@keyframes solid-die-fast-settle{0%{transform:rotateX(-386deg) rotateY(348deg)}to{transform:rotateX(-378deg) rotateY(336deg)}}@media(max-height:800px)and (min-width:800px){body:not(.material) .die.solid-die{--solid-die-size: 57px}}@media(max-width:760px){body:not(.material) .die.solid-die{--solid-die-size: 44px}}@media(prefers-reduced-motion:reduce){body:not(.material) .solid-die-cube{animation:none!important;transform:rotateX(-18deg) rotateY(-24deg)!important}}body.reduced-motion:not(.material) .solid-die-cube,body:not(.material) .dice-well[data-dice-speed=reduced] .solid-die-cube{animation:none!important;transform:rotateX(-18deg) rotateY(-24deg)!important}.tabletop-host{display:none}body.tabletop{background:#3e2c22;--board-size:min(76vw,1000px);--gold:#e8c485}body.tabletop .scene{background-color:#412b1d;background-image:radial-gradient(ellipse at 12% 8%,#efc38b24,transparent 65%),url(/art/voxel-walnut.svg);background-size:cover;image-rendering:auto}body.tabletop .scene.garden{background-color:#34372b;background-image:linear-gradient(110deg,#70825b28,#17251d4d),url(/art/voxel-walnut.svg)}body.tabletop .scene.arcade{background-color:#4d2b24;background-image:linear-gradient(110deg,#d3864933,#3d13263d),url(/art/voxel-walnut.svg)}body.tabletop .scene:after{background:radial-gradient(ellipse at 40% 38%,transparent 24%,#170d0873 100%);box-shadow:inset 0 0 120px #160c0738}body.tabletop .shell{max-width:1680px;padding:18px 34px 10px}body.tabletop .topbar{height:52px;gap:19px}body.tabletop .wordmark{width:126px;height:34px;filter:drop-shadow(0 2px 0 #27170d)}body.tabletop .room-name{font-size:11px;letter-spacing:5px;color:#dcc095}body.tabletop .topline{display:block;background:linear-gradient(90deg,#d5b27a40,transparent);height:1px}body.tabletop .icon-button{border:1px solid #b188545c;background:#39271dd6;box-shadow:inset 0 1px #efcc8820,0 3px #281b13,0 6px 10px #24120f30;color:#e6c992;width:39px;height:39px}body.tabletop .game-layout{grid-template-columns:minmax(0,1fr) 292px;gap:22px;padding:6px 0 8px;align-items:center}body.tabletop .table-zone{align-self:stretch;justify-content:center}body.tabletop .table-label{display:none}body.tabletop .board-frame{width:100%;height:clamp(360px,calc(100svh - 150px),820px);padding:0;border:0;background:none;box-shadow:none;isolation:isolate}body.tabletop .board-frame:before,body.tabletop .board-frame:after{display:none}body.tabletop .board-inner{position:absolute;top:0;right:0;bottom:0;left:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible}body.tabletop .board-inner{user-select:none;-webkit-user-select:none}@media(hover:hover)and (pointer:fine){body.tabletop .board-inner.view-draggable{cursor:grab}body.tabletop .board-inner.view-dragging,body.tabletop .board-inner.view-dragging *{cursor:grabbing!important}}body.tabletop .board-art{display:none}body.tabletop .tabletop-host{display:block;position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}body.tabletop .tabletop-canvas{display:block;width:100%;height:100%;outline:none}body.tabletop .piece-layer{z-index:2;pointer-events:none}body.tabletop .piece{width:5.4%;height:9%;transform:translate(-50%,-50%);translate:none;transition:none;background:transparent;border:0;border-radius:35%;pointer-events:none}body.tabletop .piece:not(:disabled){pointer-events:auto}body.tabletop .piece svg,body.tabletop .piece:before,body.tabletop .piece:after{visibility:hidden}body.tabletop .piece:focus-visible{outline:2px solid #fff0c08c;outline-offset:1px;background:#fff0bb0a}body.tabletop .piece:active:not(:disabled){translate:none}.roll-button{display:flex;align-items:center;justify-content:center;gap:12px}.roll-label{white-space:nowrap}.roll-key{font-family:inherit;font-size:13px;font-weight:500;letter-spacing:0;line-height:1;padding:5px 7px;border:1px solid #76572d66;border-bottom-width:2px;border-radius:3px;background:#fff1c12e;color:#584020}.seat-progress{align-items:center;gap:7px;white-space:nowrap;font-size:13px}.seat-progress strong{font-size:17px;font-weight:600;color:#eddbb9;letter-spacing:.3px;font-variant-numeric:tabular-nums}.seat-progress .progress-total{font-size:13px;font-weight:400;color:#baa581}@media(pointer:coarse){.roll-key{display:none}}body.tabletop .move-target,body.tabletop .table-shadow{display:none}body.tabletop .under-board{width:85%;height:26px;margin-top:-5px;padding:0 6px;position:relative}body.tabletop .scene-picker{gap:10px}body.tabletop .scene-dot{width:20px;height:20px;border:1px solid #cfaf754d;box-shadow:0 2px 3px #27140880;background:#3e2a1e;padding:4px}body.tabletop .scene-dot span{background:#b18a55}body.tabletop .scene-dot[data-scene=garden] span{background:#83906b}body.tabletop .scene-dot[data-scene=arcade] span{background:#a25f43}body.tabletop .scene-dot.selected{outline:1px solid #ead4a4;outline-offset:3px}body.tabletop .side-panel{min-height:510px;padding:25px 21px;border:3px solid #4e3b28;border-radius:3px;background:radial-gradient(ellipse at 0 0,#60442a33,transparent 70%),linear-gradient(140deg,#30251df7,#211b16fa);box-shadow:inset 0 0 0 1px #d6af6d55,inset 0 0 28px #130d0833,0 5px #21170f,0 15px 32px #130b085e}body.tabletop .side-panel:before{top:8px;left:8px;right:8px;bottom:8px;height:auto;background:none;border:1px solid #c8a57124;pointer-events:none;opacity:1}body.tabletop .side-heading{font-size:24px;letter-spacing:3px;color:#efdbb1}body.tabletop .side-sub{display:none}body.tabletop .mode-list{gap:8px;margin-top:20px}body.tabletop .mode{min-height:55px;padding:10px 12px;border:1px solid #bc9a632e;background:#37251d7a;box-shadow:0 2px #2216105c}body.tabletop .mode strong{font-size:12px;letter-spacing:1px;color:#ead9b7}body.tabletop .mode small{font-size:10px;color:#b69e7d;margin-top:5px;letter-spacing:0}body.tabletop .mode.selected{border-color:#d4ad65a8;background:linear-gradient(100deg,#8061337a,#624a2d30);box-shadow:inset 2px 0 #e0bd7a,0 2px #291b135c}body.tabletop .mode:hover{background:#78593977;border-color:#c6a2657a}body.tabletop .start-slot{padding-top:19px}body.tabletop .dice-source-control{border:1px solid #bb9b653d;background:#2e211a7a;box-shadow:0 2px #2116105e;min-height:38px;margin-bottom:11px}body.tabletop .dice-source-control strong{color:#e5cba0;font-size:11px}body.tabletop .dice-source-control span{color:#b79f7d}body.tabletop .dice-source-control em{color:#d5b47a}body.tabletop .primary{border:1px solid #e5c486;border-radius:3px;background:linear-gradient(120deg,#ecd9a7,#c29a59);color:#392719;box-shadow:inset 0 0 0 2px #fff0bd38,inset 0 1px #fff1c1,0 3px #78542f,0 5px 10px #1d120c55;font-size:15px;font-weight:700;padding:12px 14px;letter-spacing:2px}body.tabletop .primary:hover{background:linear-gradient(130deg,#f0d9a7,#d3b376)}body.tabletop .primary:disabled{opacity:.52}body.tabletop .secondary{border:1px solid #b696624d;background:#483429a3;box-shadow:0 2px #24181170;color:#e3c99d;border-radius:2px}body.tabletop .game-title-row{border-color:#c5a37436;padding-bottom:15px}body.tabletop .game-title-row h2{color:#edcf96;font-size:16px;letter-spacing:2px}body.tabletop .turn-counter{color:#bda37e;font-size:10px}body.tabletop .seats{gap:9px;margin-top:16px}body.tabletop .seat{padding:10px;border:1px solid #c6a27235;background:linear-gradient(110deg,#34271c99,#21191288);opacity:.84;box-shadow:inset 0 1px #efd29d06,0 1px #120c0855}body.tabletop .seat.active{border-color:var(--seat-color);background:linear-gradient(100deg,#a77e3d27,#58433027);box-shadow:inset 2px 0 var(--seat-color)}body.tabletop .seat img{width:35px;height:35px;border:1px solid #c3a16c4d;box-shadow:0 2px #251b15;background:#614731}body.tabletop .seat-name{font-size:12px;color:#edd9b5}body.tabletop .side-panel[data-turn-stage] .seat{transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}body.tabletop .side-panel[data-turn-stage=result] .dice-status{color:#f0d8a5}body.tabletop .side-panel[data-turn-stage=handoff] .dice-status{color:var(--feedback-color);font-weight:700}body.tabletop .side-panel[data-turn-stage]:not([data-turn-stage=""]) .keyboard-hint{visibility:hidden}body.tabletop .seat.turn-arriving{animation:turn-arrival .32s ease-out both}@keyframes turn-arrival{0%{box-shadow:inset 3px 0 var(--seat-color),0 0 0 2px #f7d58a99;background-color:#a77e3d55}to{box-shadow:inset 2px 0 var(--seat-color),0 0 #f7d58a00;background-color:transparent}}@media(prefers-reduced-motion:reduce){body.tabletop .seat.turn-arriving{animation:none}}body.tabletop .seat-kind{font-size:9px;color:#b69c77}body.tabletop .dice-area{padding-top:24px}body.tabletop .dice-well{width:120px;height:114px;background:radial-gradient(ellipse at 42% 35%,#77604445,#17110b9c);border:1px solid #bf9c6145;border-radius:3px;box-shadow:inset 0 3px 8px #150c0880,inset 0 0 0 5px #a77e4010,0 1px #dbbb7540}body.tabletop .die.solid-die{--solid-die-size:80px}body.tabletop .dice-status{font-size:12px;color:#dac29a;margin:17px 0 10px;min-height:35px}body.tabletop .roll-button{height:48px}body.tabletop .fairness-button{font-size:11px;margin-top:13px;min-height:35px;color:#cdb386;background:#30211980;border-color:#b6945938;box-shadow:none}body.tabletop .keyboard-hint{font-size:9px;color:#9f8867;margin-top:13px}body.tabletop .footbar{font-size:9px;color:#bfa078;opacity:.68;letter-spacing:1px}body.tabletop.ui-large .game-layout{grid-template-columns:minmax(0,1fr) 330px}body.tabletop.ui-large .side-panel{width:330px}@media(min-width:1500px){body.tabletop .game-layout{gap:30px;grid-template-columns:minmax(0,1fr) 310px}body.tabletop .side-panel{padding:27px 24px}}@media(max-height:800px)and (min-width:801px){body.tabletop .shell{padding:14px 28px 10px}body.tabletop .topbar{height:40px}body.tabletop .board-frame{height:clamp(360px,calc(100svh - 133px),650px)}body.tabletop .side-panel{min-height:440px;padding:19px 18px}body.tabletop .side-panel:not(.playing) .mode-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}body.tabletop .side-panel:not(.playing) .mode{min-height:63px;padding:9px}body.tabletop .mode small{line-height:1.5}body.tabletop .dice-well{width:100px;height:98px}body.tabletop .dice-area{padding-top:19px}body.tabletop .dice-status{margin-top:13px}body.tabletop .side-panel.playing:has(.seat:nth-child(4)) .seats{gap:6px;margin-top:12px}body.tabletop .side-panel.playing:has(.seat:nth-child(4)){padding-top:12px;padding-bottom:12px}body.tabletop .side-panel.playing:has(.seat:nth-child(4)) .seat{padding:6px}body.tabletop .side-panel.playing:has(.seat:nth-child(4)) .seat img{width:29px;height:29px}body.tabletop .side-panel.playing:has(.seat:nth-child(4)) .dice-area{padding-top:14px}body.tabletop .side-panel.playing:has(.seat:nth-child(4)) .dice-well{width:98px;height:94px}body.tabletop .die.solid-die{--solid-die-size:68px}body.tabletop .side-panel.playing:has(.seat:nth-child(4)) .dice-status{margin:10px 0 8px;min-height:28px}body.tabletop .side-panel.playing:has(.seat:nth-child(4)) .fairness-button{margin-top:10px}body.tabletop .side-panel.playing:has(.seat:nth-child(4)) .keyboard-hint{display:none}body.tabletop .side-panel.playing:has(.seat:nth-child(4)) .coach{margin-top:8px;padding:6px;font-size:10px;line-height:1.45}}@media(max-width:1000px)and (min-width:801px){body.tabletop .shell{padding-left:20px;padding-right:20px}body.tabletop .game-layout{grid-template-columns:minmax(0,1fr) 265px;gap:10px}body.tabletop .side-panel{padding:18px 15px}}@media(max-width:800px){body.tabletop .shell{padding:14px 16px;max-width:660px}body.tabletop .topbar{height:40px;gap:10px}body.tabletop .room-name{font-size:9px;letter-spacing:2px}body.tabletop .wordmark{width:91px;height:28px}body.tabletop .topline{display:none}body.tabletop .icon-button{width:33px;height:33px}body.tabletop .top-actions{gap:6px}body.tabletop .game-layout,body.tabletop.ui-large .game-layout{display:flex;flex-direction:column;gap:16px;padding:16px 0;align-items:stretch}body.tabletop .table-label{margin:0 0 -5px}body.tabletop .board-frame{height:auto;aspect-ratio:1.2;min-height:0;width:100%}body.tabletop .under-board{height:23px;margin-top:-5px}body.tabletop .piece{width:6%;height:10%}body.tabletop .side-panel,body.tabletop.ui-large .side-panel{width:100%;min-height:0;padding:19px}body.tabletop .side-heading{font-size:22px}body.tabletop .mode-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:15px}body.tabletop .mode{min-height:70px;padding:9px 8px}body.tabletop .mode strong{font-size:11px}body.tabletop .mode small{font-size:9px;line-height:1.6}body.tabletop .start-slot{padding-top:17px}body.tabletop .side-panel.playing{display:grid;grid-template-columns:minmax(0,1fr) 140px;gap:0 14px}body.tabletop .game-title-row{grid-column:1/-1;padding-bottom:12px}body.tabletop .seats{margin-top:15px;gap:7px}body.tabletop .seat{padding:7px;gap:7px}body.tabletop .seat img{width:29px;height:29px}body.tabletop .seat-name{font-size:11px}body.tabletop .seat-progress{display:none}body.tabletop .dice-area{grid-column:2;grid-row:2;justify-content:center;padding-top:16px}body.tabletop .dice-well{width:86px;height:82px}body.tabletop .die.solid-die{--solid-die-size:58px}body.tabletop .dice-status{font-size:10px;margin:12px 0 5px;min-height:29px}body.tabletop .roll-button{height:41px;font-size:12px;padding:8px}body.tabletop .fairness-button{min-height:31px;font-size:10px;margin-top:10px;padding:7px}body.tabletop .keyboard-hint{display:none}}body.tabletop .game-layout{grid-template-columns:minmax(0,1fr) 316px}body.tabletop .game-title-row{gap:12px}body.tabletop .game-title-row h2{font-size:23px;letter-spacing:1px;line-height:1.3}body.tabletop .turn-counter{font-size:12px;white-space:nowrap;color:#c8b08c}body.tabletop .seat{gap:10px;padding:12px 10px}body.tabletop .seat img{width:42px;height:42px;flex-shrink:0}body.tabletop .seat-name{font-size:17px;letter-spacing:.3px}body.tabletop .seat-kind{font-size:13px;line-height:1.3;color:#c7b18c;margin-top:4px}body.tabletop .seat-progress{display:flex;gap:6px;color:#c7b18c}body.tabletop .seat-progress strong{font-size:18px}body.tabletop .dice-status{font-size:15px;line-height:1.55;min-height:43px}body.tabletop .roll-button{font-size:18px;height:52px;letter-spacing:1px}body.tabletop .fairness-button{font-size:15px;min-height:42px;margin-top:12px}body.tabletop .fairness-button svg{width:16px;height:16px}body.tabletop .side-heading{font-size:27px}body.tabletop .mode strong{font-size:15px}body.tabletop .mode small{font-size:12px;line-height:1.5}body.tabletop .dice-source-control{font-size:13px}body.tabletop .dice-source-control strong{font-size:14px}body.tabletop .dice-source-control em{font-size:12px}@media(min-width:1500px){body.tabletop .game-layout{grid-template-columns:minmax(0,1fr) 330px}}@media(max-width:1100px)and (min-width:801px){body.tabletop .game-layout{grid-template-columns:minmax(0,1fr) 300px}}@media(max-height:800px)and (min-width:801px){body.tabletop .side-panel{padding:18px 16px}body.tabletop .seat{padding:8px 9px}body.tabletop .side-panel.playing:has(.seat:nth-child(4)) .seat{padding:7px 9px}body.tabletop .side-panel.playing:has(.seat:nth-child(4)) .seat img{width:36px;height:36px}body.tabletop .side-panel.playing:has(.seat:nth-child(4)) .dice-area{padding-top:12px}body.tabletop .side-panel.playing:has(.seat:nth-child(4)) .dice-status{min-height:30px;margin:10px 0 8px}body.tabletop .side-panel:not(.playing) .mode{min-height:73px}}@media(max-width:800px){body.tabletop .side-panel.playing{display:block;padding:18px}body.tabletop .game-title-row h2{font-size:22px}body.tabletop .seats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}body.tabletop .seat{display:grid;grid-template-columns:32px minmax(0,1fr);gap:5px 8px;padding:10px 8px}body.tabletop .seat img{width:32px;height:32px;grid-row:1 / 3}body.tabletop .seat-name{font-size:16px}body.tabletop .seat-kind{font-size:12px}body.tabletop .seat-progress{grid-column:2;justify-self:start;font-size:12px;gap:5px}body.tabletop .seat-progress strong{font-size:16px}body.tabletop .dice-area{display:grid;grid-template-columns:86px minmax(0,1fr);gap:9px 17px;align-items:center;padding-top:18px}body.tabletop .dice-well{grid-column:1;grid-row:1 / 4;width:86px;height:86px;align-self:center}body.tabletop .dice-status{grid-column:2;min-height:0;margin:0;font-size:14px}body.tabletop .roll-button{grid-column:2;font-size:17px;height:46px}body.tabletop .fairness-button{grid-column:2;font-size:14px;min-height:37px;margin:0}body.tabletop .coach{grid-column:1 / -1}body.tabletop .mode-list{grid-template-columns:repeat(2,minmax(0,1fr))}body.tabletop .mode strong{font-size:15px}body.tabletop .mode small{font-size:12px}}body.tabletop{background:var(--world-background,#173d40);--gold:var(--world-accent,#dccc9a)}body.tabletop .scene{background-color:var(--world-background);background-image:radial-gradient(ellipse at 35% 36%,#ffffff17,transparent 66%),linear-gradient(135deg,#ffffff06,#00000029);background-size:auto}body.tabletop .scene:after{background:radial-gradient(ellipse at 40% 42%,transparent 40%,#050b1466 100%);box-shadow:none}body.tabletop .side-panel{background:linear-gradient(125deg,#ffffff09,transparent 55%),var(--world-panel);border-color:color-mix(in srgb,var(--world-accent) 43%,var(--world-panel));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--world-accent) 38%,transparent),0 5px color-mix(in srgb,var(--world-panel) 76%,black),0 18px 38px #05121540}body.tabletop .side-panel:before{border-color:color-mix(in srgb,var(--world-accent) 18%,transparent)}body.tabletop .game-title-row h2,body.tabletop .side-heading{color:var(--world-accent)}body.tabletop .primary{background:linear-gradient(125deg,color-mix(in srgb,var(--world-accent) 72%,white),var(--world-accent));border-color:var(--world-accent);color:var(--world-panel);box-shadow:inset 0 1px #ffffff9a,0 3px color-mix(in srgb,var(--world-accent) 48%,var(--world-panel)),0 7px 12px #00000023}body.tabletop .primary:hover{filter:brightness(1.08)}body.tabletop .mode,body.tabletop .seat,body.tabletop .secondary,body.tabletop .dice-source-control,body.tabletop .fairness-button{background:color-mix(in srgb,var(--world-panel) 82%,#000000);border-color:color-mix(in srgb,var(--world-accent) 25%,transparent)}body.tabletop .mode.selected{background:color-mix(in srgb,var(--world-accent) 16%,var(--world-panel));border-color:color-mix(in srgb,var(--world-accent) 70%,transparent);box-shadow:inset 2px 0 var(--world-accent)}body.tabletop .seat.active{border-color:var(--seat-color);background:color-mix(in srgb,var(--seat-color) 13%,var(--world-panel));box-shadow:inset 2px 0 var(--seat-color)}body.tabletop .seat img{background:color-mix(in srgb,var(--world-accent) 14%,var(--world-panel));border-color:color-mix(in srgb,var(--world-accent) 30%,transparent);image-rendering:auto}body.tabletop .icon-button{background:color-mix(in srgb,var(--world-panel) 88%,transparent);border-color:color-mix(in srgb,var(--world-accent) 36%,transparent);color:var(--world-accent);box-shadow:inset 0 1px #ffffff10,0 3px #00000035}body.tabletop .room-name{color:var(--world-accent)}body.tabletop .dice-well{background:radial-gradient(ellipse at 40% 30%,color-mix(in srgb,var(--world-accent) 13%,transparent),#00000035);border-color:color-mix(in srgb,var(--world-accent) 30%,transparent)}body.tabletop[data-finish=ceramic] .side-panel{border-width:5px;border-radius:7px;background-image:linear-gradient(135deg,#ffffff0c,transparent 48%)}body.tabletop[data-finish=metal] .side-panel{border-radius:12px;border-width:2px;box-shadow:inset 0 1px #fff5,0 4px #142c37,0 16px 35px #00000040}body.tabletop[data-finish=metal] .side-panel:before{border-radius:8px}body.tabletop[data-world=palace] .side-panel{border-width:5px;border-color:#a17a3e;background-image:linear-gradient(90deg,#00000013 1px,transparent 1px);background-size:8px 100%}body.tabletop[data-world=diner] .side-panel{border:5px solid #9daead;box-shadow:inset 0 0 0 2px #effbfe55,0 4px #52676e,0 20px 40px #00000030}body.tabletop[data-world=orbit] .side-panel{box-shadow:inset 0 0 0 1px #80dced55,0 0 22px #4999bc16,0 12px 30px #030e2470}body.tabletop .under-board{width:100%;height:42px;margin-top:-2px;justify-content:center;padding:0;z-index:3}.theme-trigger{display:inline-flex;align-items:center;gap:10px;min-height:38px;padding:8px 14px;border:1px solid color-mix(in srgb,var(--world-accent,#dfc28a) 33%,transparent);border-radius:5px;background:color-mix(in srgb,var(--world-panel,#30251d) 85%,transparent);color:#efe7d6;box-shadow:0 3px 10px #00000018;font:inherit;font-size:14px;cursor:pointer}.theme-trigger:hover{border-color:var(--world-accent);background:var(--world-panel)}.theme-trigger svg{width:19px;height:19px;color:var(--world-accent);flex-shrink:0}.theme-trigger-label{margin-left:6px;padding-left:12px;border-left:1px solid #ffffff25;color:var(--world-accent);font-size:12px}.theme-trigger:focus-visible,.theme-card:focus-visible,.theme-filters button:focus-visible{outline:2px solid #e8c885;outline-offset:3px}#modal.theme-dialog{width:min(1060px,94vw);max-width:none;max-height:min(900px,88svh);padding:0;border:1px solid #89785b;border-radius:10px;background:#202828;color:#f2e9d8;box-shadow:0 24px 90px #00000070,inset 0 0 0 4px #ffffff04}#modal.theme-dialog[open]{display:flex;flex-direction:column}body.tabletop .theme-dialog .modal-header{margin:0;padding:19px 24px;border-bottom:1px solid #d7c8a82a;flex-shrink:0}body.tabletop .theme-dialog .modal-header h2{font-size:24px;color:#f0e2c6;letter-spacing:3px;text-shadow:none}.theme-dialog .modal-body{padding:0 24px 24px;overflow:auto;min-height:0}.theme-filters{display:flex;gap:8px;padding:18px 0;flex-wrap:wrap;position:sticky;top:0;z-index:1;background:#202828}.theme-filters button{font:inherit;font-size:14px;padding:9px 16px;background:transparent;color:#b8bcad;border:1px solid transparent;border-radius:4px;cursor:pointer}.theme-filters button:hover{background:#ffffff09;color:#f7ecce}.theme-filters button.selected{border-color:#b79d6c88;color:#f3d99f;background:#d9bb7620}.theme-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.theme-card{display:block;padding:0;min-width:0;border:1px solid #dae0c62a;border-radius:5px;overflow:hidden;background:#151d1e;text-align:left;color:#e9e4d5;cursor:pointer;font:inherit;position:relative;transition:border-color .13s,transform .13s}.theme-card:hover{border-color:#d8c7a6;transform:translateY(-2px)}.theme-card.selected{border-color:#eccb7f;box-shadow:0 0 0 2px #eccb7f}.theme-card.selected:after{content:"✓";position:absolute;right:10px;top:9px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#e5c681;color:#28352f;font-size:16px;box-shadow:0 2px 8px #00000060}.theme-card img{display:block;width:100%;aspect-ratio:1.3;object-fit:cover;background:#344441}.theme-card-caption{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:12px 10px}.theme-card-caption strong{font-size:14px;font-weight:600;line-height:1.3}.theme-card-caption>span{font-size:11px;white-space:nowrap;color:#a0b0ab}@media(max-width:800px){body.tabletop .under-board{height:42px;margin-top:0}.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}#modal.theme-dialog{width:94vw;max-height:90svh}.theme-dialog .modal-header{padding:15px 16px}.theme-dialog .modal-body{padding:0 14px 18px}.theme-filters{gap:2px;padding:12px 0}.theme-filters button{font-size:12px;padding:8px 10px}.theme-card-caption{padding:10px 8px;display:block}.theme-card-caption strong{display:block;font-size:14px}.theme-card-caption>span{display:block;margin-top:4px}}@media(prefers-reduced-motion:reduce){.theme-card{transition:none}.theme-card:hover{transform:none}}body.tabletop .piece-layer{overflow:visible}body.tabletop .shell{overflow:clip}body.tabletop .topbar{position:relative;z-index:6}body.tabletop .side-panel{z-index:5}body.tabletop .world-canvas{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}body.tabletop[data-world=jiangnan] .scene{background:#23343e;image-rendering:auto}body.tabletop[data-world=jiangnan] .scene:after{background:radial-gradient(ellipse at 42% 43%,transparent 34%,#071a242e 100%);box-shadow:none;pointer-events:none}body.tabletop[data-world=jiangnan] .world-canvas{width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}body.tabletop[data-world=jiangnan]{--jiangnan-ink:#3e281b;--jiangnan-muted:#745338;--jiangnan-brass:#bd9059}body.tabletop[data-world=jiangnan] .shell{overflow:clip}body.tabletop[data-world=jiangnan] .piece-layer{overflow:visible}body.tabletop[data-world=jiangnan] .topbar{position:relative;z-index:6}body.tabletop[data-world=jiangnan] .side-panel{z-index:5}body.tabletop[data-world=jiangnan] .side-panel{color:var(--jiangnan-ink);border:14px solid #50331f;border-image:url(/art/jiangnan-v22/timber-frame.svg) 30 stretch;border-radius:0;padding:24px 18px 73px;min-height:540px;isolation:isolate;background:#dfc29a url(/art/jiangnan-v22/paper.svg) center/100% 100%;box-shadow:0 6px #201711,2px 15px 36px #06100ed9,0 0 2px 1px #d6a872}body.tabletop[data-world=jiangnan] .side-panel:before{content:"";position:absolute;z-index:-1;inset:auto 0 0;height:91px;border:0;border-radius:0;opacity:.74;background:url(/art/jiangnan-v22/canal-ink.svg) center bottom/100% auto no-repeat;pointer-events:none}body.tabletop[data-world=jiangnan] .side-panel:after{content:"";position:absolute;width:69px;height:147px;right:-31px;top:-37px;z-index:3;pointer-events:none;background:url(/art/jiangnan-v22/lantern.svg) center/contain no-repeat;filter:drop-shadow(0 3px 2px #1e170e99) drop-shadow(0 0 15px #ffbc5526)}body.tabletop[data-world=jiangnan] .side-heading,body.tabletop[data-world=jiangnan] .game-title-row h2{color:#382318;text-shadow:0 1px #fff5d580;font-weight:750;letter-spacing:1px;line-height:1.35}body.tabletop[data-world=jiangnan] .side-heading{font-size:27px}body.tabletop[data-world=jiangnan] .game-title-row{padding-bottom:18px;padding-right:19px;border-bottom:1px solid #9b71464a;box-shadow:0 1px #fff2d245}body.tabletop[data-world=jiangnan] .game-title-row h2{font-size:23px}body.tabletop[data-world=jiangnan] .turn-counter{color:#79583a;font-size:12px}body.tabletop[data-world=jiangnan] .mode-list{margin-top:20px;gap:9px}body.tabletop[data-world=jiangnan] .mode{min-height:57px;padding:9px 12px;border:1px solid #ae835785;border-radius:3px;background:linear-gradient(110deg,#fff3d729,#ad7b4230);box-shadow:inset 0 1px #fff0d770,0 1px #f9e8c87a}body.tabletop[data-world=jiangnan] .mode strong{font-size:15px;color:#513620;text-shadow:none}body.tabletop[data-world=jiangnan] .mode small{font-size:12px;color:#76563b;margin-top:4px}body.tabletop[data-world=jiangnan] .mode:hover{background:linear-gradient(110deg,#fff0ce77,#c08e5540);border-color:#97653f}body.tabletop[data-world=jiangnan] .mode.selected{background:linear-gradient(110deg,#9a36291f,#af764222);border-color:#9b5234;box-shadow:inset 3px 0 #a54b33,inset 0 1px #fff0d750,0 1px #fff0d770}body.tabletop[data-world=jiangnan] .start-slot{padding-top:19px}body.tabletop[data-world=jiangnan] .dice-source-control{color:#5a3b24;border-color:#a37d525e;background:#c7a87833;border-radius:3px;min-height:41px;box-shadow:inset 0 1px #fff0d14a,0 1px #ffedcd55}body.tabletop[data-world=jiangnan] .dice-source-control span{color:#805c3a;font-size:12px;letter-spacing:0}body.tabletop[data-world=jiangnan] .dice-source-control strong{color:#4a3020;font-size:13px}body.tabletop[data-world=jiangnan] .dice-source-control em{color:#8b452c;font-size:12px}body.tabletop[data-world=jiangnan] .dice-source-control:hover{border-color:#805c3b;background:#c79d6750}body.tabletop[data-world=jiangnan] .seats{gap:11px;margin-top:19px}body.tabletop[data-world=jiangnan] .seat{gap:9px;padding:12px 9px;opacity:1;border:1px solid #9f764f80;border-radius:3px;background:linear-gradient(108deg,#f2dfbd6e,#cfa97a40);box-shadow:inset 0 1px #fff3d79e,inset 0 -1px #a77a4030,0 1px #fff0cf60}body.tabletop[data-world=jiangnan] .seat.active{background:linear-gradient(115deg,#fff1cfab,#dfbd8980);border-color:#9c6438;box-shadow:inset 3px 0 var(--seat-color),inset 0 1px #fff5d79e,0 1px #fff0cf80,0 2px 5px #6f42141c}body.tabletop[data-world=jiangnan] .seat.active:after{width:6px;height:6px;right:8px;top:8px;border-radius:50%;box-shadow:0 1px #fff5da99}body.tabletop[data-world=jiangnan] .seat img{width:43px;height:43px;border:2px solid #7b5334;border-radius:3px;background:#4d4c3b;box-shadow:0 1px #fff1c8,0 0 0 1px #c99e67}body.tabletop[data-world=jiangnan] .seat-name{color:#422b1b;font-size:17px;font-weight:650;text-shadow:0 1px #f9e9ca70}body.tabletop[data-world=jiangnan] .seat-symbol{margin-right:5px;font-size:11px;vertical-align:1px}body.tabletop[data-world=jiangnan] .seat-kind{font-size:13px;color:#7a593c;margin-top:3px}body.tabletop[data-world=jiangnan] .seat-progress{font-size:13px;gap:5px;color:#715136}body.tabletop[data-world=jiangnan] .seat-progress strong{font-size:18px;color:#412819}body.tabletop[data-world=jiangnan] .seat-progress .progress-total{color:#715136;font-size:13px}body.tabletop[data-world=jiangnan] .dice-area{padding-top:22px}body.tabletop[data-world=jiangnan] .dice-well{width:128px;height:120px;border:5px solid #543621;border-radius:4px;background:radial-gradient(ellipse at 42% 45%,#79502f50,#140e0980),repeating-linear-gradient(173deg,#362416 0,#362416 1px,#3e2a1c 2px,#3e2a1c 6px,#422c1a,#422c1a 8px);box-shadow:inset 0 5px 13px #0d0a06bb,0 0 0 1px #b18a55,0 0 0 3px #815933,0 4px 8px #72513045}body.tabletop[data-world=jiangnan] .dice-status,body.tabletop[data-world=jiangnan] .side-panel[data-turn-stage=result] .dice-status{color:#66432a;text-shadow:0 1px #fff0ce50;font-size:15px;line-height:1.55;margin:16px 0 11px;min-height:42px}body.tabletop[data-world=jiangnan] .side-panel[data-turn-stage=handoff] .dice-status{color:#78402c}body.tabletop[data-world=jiangnan] .primary{position:relative;border:2px solid #bf9058;border-radius:3px;color:#ffe4b2;background:linear-gradient(115deg,#a8412bed,#742a1cf2),url(/art/jiangnan-v22/paper.svg) center/100% 100%;box-shadow:inset 0 0 0 2px #552514,inset 0 0 0 3px #e1ae6866,inset 0 4px #db9b6233,0 2px #5b371e,0 4px 8px #61442254;padding:12px;letter-spacing:1px;text-shadow:0 1px 1px #5a2518;font-size:18px;font-weight:700}body.tabletop[data-world=jiangnan] .primary:before,body.tabletop[data-world=jiangnan] .primary:after{content:"";position:absolute;width:8px;height:8px;top:5px;border-top:2px solid #deb16b;pointer-events:none;opacity:.9}body.tabletop[data-world=jiangnan] .primary:before{left:5px;border-left:2px solid #deb16b}body.tabletop[data-world=jiangnan] .primary:after{right:5px;border-right:2px solid #deb16b}body.tabletop[data-world=jiangnan] .primary:hover:not(:disabled){filter:brightness(1.12)}body.tabletop[data-world=jiangnan] .primary:disabled{opacity:.65;filter:saturate(.58)}body.tabletop[data-world=jiangnan] .roll-button{height:54px;gap:9px}body.tabletop[data-world=jiangnan] .roll-key{font-size:11px;color:#e9c48d;background:#51231845;border-color:#d9a66a69;box-shadow:inset 0 1px #ffc98325;padding:5px 6px;text-shadow:none}body.tabletop[data-world=jiangnan] .secondary{color:#e4c799;border:1px solid #b48752;border-radius:3px;background:linear-gradient(110deg,#604028,#382a20);box-shadow:inset 0 0 0 2px #281b1480,inset 0 0 0 3px #e3bf7930,0 2px #b08a5570}body.tabletop[data-world=jiangnan] .fairness-button{font-size:15px;min-height:43px;margin-top:13px;color:#efd2a1}body.tabletop[data-world=jiangnan] .secondary:hover{filter:brightness(1.12)}body.tabletop[data-world=jiangnan] .coach{color:#69472c;background:#caa57444;border-color:#9e724849}body.tabletop[data-world=jiangnan] .brand{position:relative;padding:9px 14px 10px;border:3px double #aa7950;background:linear-gradient(170deg,#553422,#2d2018);box-shadow:inset 0 1px #d6a36763,0 3px #161610,0 5px 14px #0c0d0a7a;transform:rotate(-1deg)}body.tabletop[data-world=jiangnan] .wordmark{width:119px;height:29px;filter:drop-shadow(0 2px 0 #130e09)}body.tabletop[data-world=jiangnan] .room-name{color:#e2bd88;text-shadow:0 1px 3px #162724;font-size:11px;letter-spacing:4px}body.tabletop[data-world=jiangnan] .icon-button{background:linear-gradient(140deg,#60432e,#36291f);border:1px solid #b28b58;color:#f0d5a0;box-shadow:inset 0 0 0 2px #39281b,0 3px #201b14,0 4px 9px #15252066;border-radius:3px}body.tabletop[data-world=jiangnan] .theme-trigger{background:linear-gradient(110deg,#58442ddd,#2c3026ed);color:#f1ddae;border:1px solid #bd985c;border-radius:3px;box-shadow:inset 0 0 0 2px #181d1950,0 3px 12px #0e211e66}body.tabletop[data-world=jiangnan] .theme-trigger svg,body.tabletop[data-world=jiangnan] .theme-trigger-label{color:#d9b577}@media(min-width:801px){body.tabletop[data-world=jiangnan] .side-panel.playing:has(.seat:nth-child(4)){padding-top:18px;padding-bottom:49px}body.tabletop[data-world=jiangnan] .side-panel.playing:has(.seat:nth-child(4)) .seats{gap:9px}body.tabletop[data-world=jiangnan] .side-panel.playing:has(.seat:nth-child(4)) .dice-area{padding-top:18px}}@media(min-width:801px)and (max-height:850px){body.tabletop[data-world=jiangnan] .side-panel{padding:18px 15px 56px;min-height:0;border-width:12px}body.tabletop[data-world=jiangnan] .side-panel:before{height:70px}body.tabletop[data-world=jiangnan] .game-title-row{padding-bottom:13px}body.tabletop[data-world=jiangnan] .seats{margin-top:14px;gap:9px}body.tabletop[data-world=jiangnan] .seat{padding:9px 8px}body.tabletop[data-world=jiangnan] .dice-area{padding-top:17px}body.tabletop[data-world=jiangnan] .dice-well{width:108px;height:101px}body.tabletop[data-world=jiangnan] .dice-status{margin:13px 0 8px;min-height:32px}body.tabletop[data-world=jiangnan] .side-panel:not(.playing) .mode{min-height:73px;padding:9px}body.tabletop[data-world=jiangnan] .side-panel.playing:has(.seat:nth-child(4)){padding:15px 15px 24px}body.tabletop[data-world=jiangnan] .side-panel.playing:has(.seat:nth-child(4)) .seats{gap:6px;margin-top:11px}body.tabletop[data-world=jiangnan] .side-panel.playing:has(.seat:nth-child(4)) .seat{padding:7px 8px}body.tabletop[data-world=jiangnan] .side-panel.playing:has(.seat:nth-child(4)) .seat img{width:36px;height:36px}body.tabletop[data-world=jiangnan] .side-panel.playing:has(.seat:nth-child(4)) .dice-area{padding-top:13px}body.tabletop[data-world=jiangnan] .side-panel.playing:has(.seat:nth-child(4)) .dice-status{margin:10px 0 8px;min-height:26px}}@media(max-width:800px){body.tabletop[data-world=jiangnan] .brand{padding:6px 9px;border-width:2px;flex-shrink:0}body.tabletop[data-world=jiangnan] .wordmark{width:88px;height:26px}body.tabletop[data-world=jiangnan] .room-name{display:none}body.tabletop[data-world=jiangnan] .side-panel,body.tabletop[data-world=jiangnan] .side-panel.playing{border-width:11px;padding:18px 14px 57px;min-height:0}body.tabletop[data-world=jiangnan] .side-panel:before{height:71px}body.tabletop[data-world=jiangnan] .side-panel:after{width:52px;height:111px;right:-20px;top:-24px}body.tabletop[data-world=jiangnan] .side-heading{font-size:25px}body.tabletop[data-world=jiangnan] .game-title-row h2{font-size:22px}body.tabletop[data-world=jiangnan] .game-title-row{padding-bottom:12px}body.tabletop[data-world=jiangnan] .seats{margin-top:14px;gap:9px}body.tabletop[data-world=jiangnan] .seat{padding:10px 7px;gap:5px 7px;grid-template-columns:31px minmax(0,1fr)}body.tabletop[data-world=jiangnan] .seat img{width:31px;height:35px}body.tabletop[data-world=jiangnan] .seat-name{font-size:16px}body.tabletop[data-world=jiangnan] .seat-symbol{font-size:9px;margin-right:3px}body.tabletop[data-world=jiangnan] .seat-kind{font-size:12px}body.tabletop[data-world=jiangnan] .seat-progress{font-size:12px;gap:4px}body.tabletop[data-world=jiangnan] .seat-progress strong{font-size:16px}body.tabletop[data-world=jiangnan] .seat-progress .progress-total{font-size:12px}body.tabletop[data-world=jiangnan] .dice-area{padding-top:18px;gap:9px 16px;grid-template-columns:85px minmax(0,1fr)}body.tabletop[data-world=jiangnan] .dice-well{width:85px;height:85px;border-width:4px}body.tabletop[data-world=jiangnan] .dice-status{margin:0;min-height:0;font-size:14px}body.tabletop[data-world=jiangnan] .roll-button{height:45px;font-size:17px;padding:9px;letter-spacing:0}body.tabletop[data-world=jiangnan] .fairness-button{font-size:14px;min-height:38px;margin:0;padding:8px}body.tabletop[data-world=jiangnan] .mode-list{margin-top:15px;gap:8px}body.tabletop[data-world=jiangnan] .mode{min-height:74px;padding:9px}body.tabletop[data-world=jiangnan] .mode strong{font-size:15px}body.tabletop[data-world=jiangnan] .mode small{font-size:12px;line-height:1.6}body.tabletop[data-world=jiangnan] .dice-source-control{padding:8px;gap:5px}body.tabletop[data-world=jiangnan] .dice-source-control span:after{margin-left:5px}}body.tabletop:is([data-world=frontier],[data-world=snow-dolls],[data-world=andalusian],[data-world=rio],[data-world=black-forest],[data-world=maple],[data-world=paris],[data-world=krakow],[data-world=hanok],[data-world=iznik],[data-world=floating-market],[data-world=knights],[data-world=meadow],[data-world=orbit],[data-world=toy-battle],[data-world=london],[data-world=maple-lake],[data-world=palace],[data-world=bamboo],[data-world=diner],[data-world=baseball]){--district-radius:3px;--district-texture:linear-gradient(115deg,#ffffff10,#00000008);--district-line:color-mix(in srgb,var(--district-muted) 32%,transparent)}body.tabletop[data-world=frontier]{--district-ink:#4c3325;--district-muted:#5c442d;--district-paper:#d4b581;--district-frame:#795237;--district-trim:#c89b59;--district-accent:#765038;--district-button-ink:#fff0c6;--district-border:url(/art/world-ui-v23/frontier-frame.svg);--district-scene:url(/art/world-ui-v23/frontier-scene.svg);--district-badge:url(/art/world-ui-v23/frontier-badge.svg)}body.tabletop[data-world=snow-dolls]{--district-ink:#f4e7d0;--district-muted:#d4bea1;--district-paper:#663b33;--district-frame:#923d32;--district-trim:#d6b779;--district-accent:#d5b573;--district-button-ink:#452c26;--district-border:url(/art/world-ui-v23/snow-dolls-frame.svg);--district-scene:url(/art/world-ui-v23/snow-dolls-scene.svg);--district-badge:url(/art/world-ui-v23/snow-dolls-badge.svg)}body.tabletop[data-world=andalusian]{--district-ink:#294b61;--district-muted:#576b71;--district-paper:#eee9d9;--district-frame:#3c688d;--district-trim:#b0c4ca;--district-accent:#396d91;--district-button-ink:#fff5da;--district-border:url(/art/world-ui-v23/andalusian-frame.svg);--district-scene:url(/art/world-ui-v23/andalusian-scene.svg);--district-badge:url(/art/world-ui-v23/andalusian-badge.svg)}body.tabletop[data-world=rio]{--district-ink:#355e58;--district-muted:#4d665c;--district-paper:#e8dfb7;--district-frame:#489085;--district-trim:#dfbd68;--district-accent:#327670;--district-button-ink:#fff2bc;--district-border:url(/art/world-ui-v23/rio-frame.svg);--district-scene:url(/art/world-ui-v23/rio-scene.svg);--district-badge:url(/art/world-ui-v23/rio-badge.svg)}body.tabletop[data-world=black-forest]{--district-ink:#eddaba;--district-muted:#c7b18a;--district-paper:#4d412c;--district-frame:#654d31;--district-trim:#bc995c;--district-accent:#b79957;--district-button-ink:#2c3123;--district-border:url(/art/world-ui-v23/black-forest-frame.svg);--district-scene:url(/art/world-ui-v23/black-forest-scene.svg);--district-badge:url(/art/world-ui-v23/black-forest-badge.svg)}body.tabletop[data-world=maple]{--district-ink:#51382e;--district-muted:#6f5542;--district-paper:#e1d3af;--district-frame:#4d2d25;--district-trim:#b6904f;--district-accent:#873f31;--district-button-ink:#ffdfad;--district-border:url(/art/world-ui-v23/maple-frame.svg);--district-scene:url(/art/world-ui-v23/maple-scene.svg);--district-badge:url(/art/world-ui-v23/maple-badge.svg)}body.tabletop[data-world=paris]{--district-ink:#475e54;--district-muted:#58645a;--district-paper:#e2ded0;--district-frame:#768878;--district-trim:#cab582;--district-accent:#5c7267;--district-button-ink:#fff3d6;--district-border:url(/art/world-ui-v23/paris-frame.svg);--district-scene:url(/art/world-ui-v23/paris-scene.svg);--district-badge:url(/art/world-ui-v23/paris-badge.svg)}body.tabletop[data-world=krakow]{--district-ink:#513d31;--district-muted:#6a523e;--district-paper:#deccab;--district-frame:#955a44;--district-trim:#c7a271;--district-accent:#8d5a42;--district-button-ink:#fff1cf;--district-border:url(/art/world-ui-v23/krakow-frame.svg);--district-scene:url(/art/world-ui-v23/krakow-scene.svg);--district-badge:url(/art/world-ui-v23/krakow-badge.svg)}body.tabletop[data-world=hanok]{--district-ink:#444f43;--district-muted:#585f4f;--district-paper:#e1d9bd;--district-frame:#777c68;--district-trim:#bca874;--district-accent:#536c61;--district-button-ink:#f3e7bd;--district-border:url(/art/world-ui-v23/hanok-frame.svg);--district-scene:url(/art/world-ui-v23/hanok-scene.svg);--district-badge:url(/art/world-ui-v23/hanok-badge.svg)}body.tabletop[data-world=iznik]{--district-ink:#285970;--district-muted:#4d676e;--district-paper:#e1e3d3;--district-frame:#266983;--district-trim:#bd9862;--district-accent:#347588;--district-button-ink:#fff1c6;--district-border:url(/art/world-ui-v23/iznik-frame.svg);--district-scene:url(/art/world-ui-v23/iznik-scene.svg);--district-badge:url(/art/world-ui-v23/iznik-badge.svg)}body.tabletop[data-world=floating-market]{--district-ink:#4e5235;--district-muted:#56583d;--district-paper:#dace97;--district-frame:#8b743f;--district-trim:#cbbb77;--district-accent:#596e42;--district-button-ink:#f8e9b8;--district-border:url(/art/world-ui-v23/floating-market-frame.svg);--district-scene:url(/art/world-ui-v23/floating-market-scene.svg);--district-badge:url(/art/world-ui-v23/floating-market-badge.svg)}body.tabletop[data-world=knights]{--district-ink:#e0e7e1;--district-muted:#afbdb8;--district-paper:#354653;--district-frame:#697881;--district-trim:#c2ad72;--district-accent:#8d9c9e;--district-button-ink:#20333e;--district-border:url(/art/world-ui-v23/knights-frame.svg);--district-scene:url(/art/world-ui-v23/knights-scene.svg);--district-badge:url(/art/world-ui-v23/knights-badge.svg)}body.tabletop[data-world=meadow]{--district-ink:#526044;--district-muted:#5b654a;--district-paper:#e7dfbc;--district-frame:#b2b695;--district-trim:#d2bd7c;--district-accent:#657353;--district-button-ink:#fff5d8;--district-border:url(/art/world-ui-v23/meadow-frame.svg);--district-scene:url(/art/world-ui-v23/meadow-scene.svg);--district-badge:url(/art/world-ui-v23/meadow-badge.svg)}body.tabletop[data-world=orbit]{--district-ink:#d0edf0;--district-muted:#86afbb;--district-paper:#152d40;--district-frame:#3e5e73;--district-trim:#76b8c5;--district-accent:#6cb5bf;--district-button-ink:#102c3e;--district-border:url(/art/world-ui-v23/orbit-frame.svg);--district-scene:url(/art/world-ui-v23/orbit-scene.svg);--district-badge:url(/art/world-ui-v23/orbit-badge.svg)}body.tabletop[data-world=toy-battle]{--district-ink:#e6e0c1;--district-muted:#c0c0a5;--district-paper:#474f3c;--district-frame:#6d745a;--district-trim:#baa671;--district-accent:#b6a670;--district-button-ink:#303f31;--district-border:url(/art/world-ui-v23/toy-battle-frame.svg);--district-scene:url(/art/world-ui-v23/toy-battle-scene.svg);--district-badge:url(/art/world-ui-v23/toy-battle-badge.svg)}body.tabletop[data-world=london]{--district-ink:#e6dfc3;--district-muted:#b4bba8;--district-paper:#293f40;--district-frame:#425955;--district-trim:#b2a16b;--district-accent:#bbaa72;--district-button-ink:#243b3b;--district-border:url(/art/world-ui-v23/london-frame.svg);--district-scene:url(/art/world-ui-v23/london-scene.svg);--district-badge:url(/art/world-ui-v23/london-badge.svg)}body.tabletop[data-world=maple-lake]{--district-ink:#eadfc6;--district-muted:#d1ceb6;--district-paper:#4c5a46;--district-frame:#795b3b;--district-trim:#bea679;--district-accent:#beac85;--district-button-ink:#314538;--district-border:url(/art/world-ui-v23/maple-lake-frame.svg);--district-scene:url(/art/world-ui-v23/maple-lake-scene.svg);--district-badge:url(/art/world-ui-v23/maple-lake-badge.svg)}body.tabletop[data-world=palace]{--district-ink:#f4dca4;--district-muted:#d2b478;--district-paper:#6d302b;--district-frame:#8e3a2e;--district-trim:#d1a655;--district-accent:#c5a35b;--district-button-ink:#512c22;--district-border:url(/art/world-ui-v23/palace-frame.svg);--district-scene:url(/art/world-ui-v23/palace-scene.svg);--district-badge:url(/art/world-ui-v23/palace-badge.svg)}body.tabletop[data-world=bamboo]{--district-ink:#455b40;--district-muted:#57644c;--district-paper:#dde0bb;--district-frame:#85935e;--district-trim:#b1b47c;--district-accent:#54704c;--district-button-ink:#f1ecc7;--district-border:url(/art/world-ui-v23/bamboo-frame.svg);--district-scene:url(/art/world-ui-v23/bamboo-scene.svg);--district-badge:url(/art/world-ui-v23/bamboo-badge.svg)}body.tabletop[data-world=diner]{--district-ink:#384f50;--district-muted:#556765;--district-paper:#e9e4d0;--district-frame:#9eafae;--district-trim:#e1e8dc;--district-accent:#9b5c50;--district-button-ink:#fff0d2;--district-border:url(/art/world-ui-v23/diner-frame.svg);--district-scene:url(/art/world-ui-v23/diner-scene.svg);--district-badge:url(/art/world-ui-v23/diner-badge.svg)}body.tabletop[data-world=baseball]{--district-ink:#ede6c9;--district-muted:#bdc8ad;--district-paper:#284e45;--district-frame:#866547;--district-trim:#c7b582;--district-accent:#c3ad70;--district-button-ink:#263f35;--district-border:url(/art/world-ui-v23/baseball-frame.svg);--district-scene:url(/art/world-ui-v23/baseball-scene.svg);--district-badge:url(/art/world-ui-v23/baseball-badge.svg)}body.tabletop[data-world=frontier]{--district-texture:repeating-linear-gradient(173deg,#865e3010 0 1px,transparent 2px 9px),radial-gradient(ellipse at 30% 20%,#fff0ba40,#8b52281a)}body.tabletop[data-world=snow-dolls]{--district-texture:repeating-linear-gradient(90deg,#f2ca7410 0 1px,transparent 2px 43px),linear-gradient(120deg,#ac594119,#1a201614)}body.tabletop[data-world=andalusian]{--district-radius:8px;--district-texture:linear-gradient(120deg,#fffefaa3,transparent 60%),repeating-linear-gradient(0deg,transparent 0 54px,#aebfc22e 55px 56px),repeating-linear-gradient(90deg,transparent 0 54px,#aebfc22e 55px 56px)}body.tabletop[data-world=rio]{--district-radius:8px;--district-texture:radial-gradient(ellipse at top left,#ffeed18c,transparent 65%),linear-gradient(90deg,#8fa0750a,transparent)}body.tabletop[data-world=black-forest]{--district-texture:repeating-linear-gradient(178deg,#20170e14 0 2px,transparent 3px 7px),repeating-linear-gradient(90deg,transparent 0 64px,#171a134d 65px 66px,#ddc49614 67px 68px)}body.tabletop[data-world=maple]{--district-texture:repeating-linear-gradient(90deg,transparent 0 68px,#7e634312 69px 71px),repeating-linear-gradient(0deg,transparent 0 68px,#7e634312 69px 71px),linear-gradient(110deg,#fbebc526,transparent)}body.tabletop[data-world=paris]{--district-radius:9px;--district-texture:radial-gradient(ellipse at top left,#fff5e75c,transparent 75%),repeating-linear-gradient(107deg,transparent 0 100px,#8c9b9008 101px 103px)}body.tabletop[data-world=krakow]{--district-texture:linear-gradient(125deg,#fff4d72e,#ab885916),radial-gradient(ellipse at bottom,#b69a6c30,transparent 70%)}body.tabletop[data-world=hanok]{--district-texture:repeating-linear-gradient(0deg,#b4a67508 0 1px,transparent 1px 4px),repeating-linear-gradient(90deg,#b4a67509 0 1px,transparent 1px 5px)}body.tabletop[data-world=iznik]{--district-radius:7px;--district-texture:linear-gradient(145deg,#e6ffff5c,transparent 60%),repeating-linear-gradient(45deg,#7ca5a308 0 1px,transparent 1px 24px),repeating-linear-gradient(-45deg,#7ca5a308 0 1px,transparent 1px 24px)}body.tabletop[data-world=floating-market]{--district-texture:repeating-linear-gradient(0deg,#806b2414 0 2px,transparent 2px 7px),repeating-linear-gradient(90deg,#f0e1aa22 0 3px,transparent 3px 9px)}body.tabletop[data-world=knights]{--district-radius:2px;--district-texture:linear-gradient(120deg,#dae4d60c,#101f2720),repeating-linear-gradient(0deg,transparent 0 90px,#1f34402b 91px 93px)}body.tabletop[data-world=meadow]{--district-radius:7px;--district-texture:repeating-linear-gradient(90deg,transparent 0 74px,#93a0711a 75px 77px,#fff9d51a 78px 79px),linear-gradient(110deg,#fff2c51a,transparent)}body.tabletop[data-world=orbit]{--district-radius:4px;--district-texture:linear-gradient(145deg,#5e8da00c,transparent 45%),repeating-linear-gradient(0deg,transparent 0 3px,#90d5e006 3px 4px),radial-gradient(ellipse at bottom,#183f5459,transparent 70%)}body.tabletop[data-world=toy-battle]{--district-radius:2px;--district-texture:repeating-linear-gradient(170deg,transparent 0 90px,#20291e0f 91px 110px),linear-gradient(125deg,#e1d1aa12,#20271a1f)}body.tabletop[data-world=london]{--district-radius:5px;--district-texture:linear-gradient(120deg,#cfe6d715,transparent 35%),linear-gradient(90deg,#0c212430,transparent 16%,transparent 84%,#0c212430)}body.tabletop[data-world=maple-lake]{--district-texture:repeating-linear-gradient(90deg,transparent 0 58px,#708b7612 58px 75px,transparent 76px 83px),repeating-linear-gradient(0deg,transparent 0 58px,#233a361c 58px 75px,transparent 76px 83px)}body.tabletop[data-world=palace]{--district-texture:linear-gradient(120deg,#d99e5123,transparent 34%,#35151d21 80%),repeating-linear-gradient(90deg,transparent 0 3px,#251d1606 3px 4px)}body.tabletop[data-world=bamboo]{--district-radius:4px;--district-texture:repeating-linear-gradient(90deg,#b7c39117 0 2px,transparent 2px 8px),linear-gradient(145deg,#fff9d339,transparent 70%)}body.tabletop[data-world=diner]{--district-radius:9px;--district-texture:linear-gradient(145deg,#fffcee94,transparent 45%),linear-gradient(90deg,#d7e1d750,transparent 35%)}body.tabletop[data-world=baseball]{--district-radius:2px;--district-texture:repeating-linear-gradient(90deg,transparent 0 21px,#dfe5c90a 22px 23px),linear-gradient(120deg,#bdcfb510,transparent 65%)}body.tabletop[data-world]:not([data-world=jiangnan]) .shell{overflow:clip}body.tabletop[data-world]:not([data-world=jiangnan]) .piece-layer{overflow:visible}body.tabletop[data-world]:not([data-world=jiangnan]) .topbar{position:relative;z-index:6}body.tabletop[data-world]:not([data-world=jiangnan]) .side-panel{z-index:5;color:var(--district-ink);border:13px solid var(--district-frame);border-image:var(--district-border) 25 stretch;border-radius:var(--district-radius);padding:23px 17px 69px;min-height:540px;isolation:isolate;background:var(--district-texture),url(/art/world-ui-v23/fiber.svg),var(--district-paper);background-size:auto,180px 180px,auto;box-shadow:0 5px color-mix(in srgb,var(--district-frame) 60%,#09130d),0 17px 37px #06141385,inset 0 0 25px #1c1c130b}body.tabletop[data-world]:not([data-world=jiangnan]) .side-panel:before{content:"";position:absolute;z-index:-1;inset:auto 0 0;height:83px;border:0;border-radius:0;opacity:.84;background:var(--district-scene) center bottom/100% auto no-repeat;pointer-events:none}body.tabletop[data-world]:not([data-world=jiangnan]) .side-panel:after{content:"";position:absolute;inset:auto;right:-26px;top:-30px;width:58px;height:60px;border:0;background:var(--district-badge) center/contain no-repeat;filter:drop-shadow(0 3px 2px #18201766);z-index:3;pointer-events:none;opacity:1}body.tabletop[data-world]:not([data-world=jiangnan]) .side-heading,body.tabletop[data-world]:not([data-world=jiangnan]) .game-title-row h2{color:var(--district-ink);text-shadow:0 1px #b8ad8b14;letter-spacing:1px;font-weight:700;line-height:1.35}body.tabletop[data-world]:not([data-world=jiangnan]) .side-heading{font-size:27px}body.tabletop[data-world]:not([data-world=jiangnan]) .game-title-row{padding-right:9px;padding-bottom:18px;border-bottom:1px solid var(--district-line);box-shadow:0 1px #fdf0ce13}body.tabletop[data-world]:not([data-world=jiangnan]) .game-title-row h2{font-size:23px}body.tabletop[data-world]:not([data-world=jiangnan]) .turn-counter{font-size:12px;color:var(--district-muted)}body.tabletop[data-world]:not([data-world=jiangnan]) .side-sub{background:var(--district-line)}body.tabletop[data-world]:not([data-world=jiangnan]) .mode-list{margin-top:20px;gap:9px}body.tabletop[data-world]:not([data-world=jiangnan]) .mode{min-height:57px;padding:9px 12px;border:1px solid var(--district-line);border-radius:var(--district-radius);background:linear-gradient(120deg,#ffefc709,#141e1008);box-shadow:inset 0 1px #fffbd526,0 1px #fff5d214}body.tabletop[data-world]:not([data-world=jiangnan]) .mode strong{font-size:15px;color:var(--district-ink);text-shadow:none}body.tabletop[data-world]:not([data-world=jiangnan]) .mode small{font-size:12px;color:var(--district-muted);margin-top:4px}body.tabletop[data-world]:not([data-world=jiangnan]) .mode:hover{background:color-mix(in srgb,var(--district-accent) 12%,transparent);border-color:var(--district-muted)}body.tabletop[data-world]:not([data-world=jiangnan]) .mode.selected{background:color-mix(in srgb,var(--district-accent) 15%,transparent);border-color:var(--district-accent);box-shadow:inset 3px 0 var(--district-accent),inset 0 1px #fff7d127}body.tabletop[data-world]:not([data-world=jiangnan]) .start-slot{padding-top:19px}body.tabletop[data-world]:not([data-world=jiangnan]) .dice-source-control{color:var(--district-ink);border-color:var(--district-line);background:#191e1909;border-radius:var(--district-radius);min-height:41px;box-shadow:inset 0 1px #fff6d51a,0 1px #fff0cb11}body.tabletop[data-world]:not([data-world=jiangnan]) .dice-source-control span{color:var(--district-muted);font-size:12px;letter-spacing:0}body.tabletop[data-world]:not([data-world=jiangnan]) .dice-source-control strong{color:var(--district-ink);font-size:13px}body.tabletop[data-world]:not([data-world=jiangnan]) .dice-source-control em{color:var(--district-ink);font-size:12px}body.tabletop[data-world]:not([data-world=jiangnan]) .dice-source-control:hover{background:color-mix(in srgb,var(--district-accent) 12%,transparent)}body.tabletop[data-world]:not([data-world=jiangnan]) .seats{gap:11px;margin-top:19px}body.tabletop[data-world]:not([data-world=jiangnan]) .seat{gap:9px;padding:12px 9px;opacity:1;border:1px solid var(--district-line);border-radius:var(--district-radius);background:linear-gradient(112deg,#ffffeb0f,#1523210c);box-shadow:inset 0 1px #fff3d320,0 1px #fff0cf10}body.tabletop[data-world]:not([data-world=jiangnan]) .seat.active{border-color:color-mix(in srgb,var(--seat-color) 65%,var(--district-muted));background:color-mix(in srgb,var(--seat-color) 13%,var(--district-paper));box-shadow:inset 3px 0 var(--seat-color),inset 0 1px #fff6db21,0 2px 5px #19271c12}body.tabletop[data-world]:not([data-world=jiangnan]) .seat.active:after{width:6px;height:6px;right:7px;top:7px;border-radius:50%;box-shadow:0 1px #fff5da33}body.tabletop[data-world]:not([data-world=jiangnan]) .seat img{width:43px;height:43px;border:2px solid var(--district-frame);border-radius:var(--district-radius);background:color-mix(in srgb,var(--district-frame) 65%,var(--district-trim));box-shadow:0 0 0 1px var(--district-trim)}body.tabletop[data-world]:not([data-world=jiangnan]) .seat-name{color:var(--district-ink);font-size:17px;font-weight:650;text-shadow:none}body.tabletop[data-world]:not([data-world=jiangnan]) .seat-symbol{margin-right:5px;font-size:11px;vertical-align:1px}body.tabletop[data-world]:not([data-world=jiangnan]) .seat-kind{font-size:13px;color:var(--district-muted);margin-top:3px}body.tabletop[data-world]:not([data-world=jiangnan]) .seat-progress{font-size:13px;gap:5px;color:var(--district-muted)}body.tabletop[data-world]:not([data-world=jiangnan]) .seat-progress strong{font-size:18px;color:var(--district-ink)}body.tabletop[data-world]:not([data-world=jiangnan]) .seat-progress .progress-total{color:var(--district-muted);font-size:13px}body.tabletop[data-world]:not([data-world=jiangnan]) .dice-area{padding-top:22px}body.tabletop[data-world]:not([data-world=jiangnan]) .dice-well{width:128px;height:120px;border:5px solid var(--district-frame);border-radius:calc(var(--district-radius) + 2px);background:radial-gradient(ellipse at 43% 35%,#e8d19a14,#04141d5c),color-mix(in srgb,var(--district-frame) 76%,#131d1f);box-shadow:inset 0 5px 13px #04110dbc,0 0 0 1px var(--district-trim),0 0 0 3px color-mix(in srgb,var(--district-frame) 70%,#384546),0 4px 7px #17261925}body.tabletop[data-world]:not([data-world=jiangnan]) .dice-status,body.tabletop[data-world]:not([data-world=jiangnan]) .side-panel[data-turn-stage=result] .dice-status,body.tabletop[data-world]:not([data-world=jiangnan]) .side-panel[data-turn-stage=handoff] .dice-status{color:var(--district-ink);text-shadow:none;font-size:15px;line-height:1.55;margin:16px 0 11px;min-height:42px}body.tabletop[data-world]:not([data-world=jiangnan]) .primary{position:relative;border:2px solid var(--district-trim);border-radius:var(--district-radius);color:var(--district-button-ink);background:linear-gradient(115deg,#fff7cc19,#0c201c17),var(--district-accent);box-shadow:inset 0 0 0 2px #1c211921,inset 0 0 0 3px #f7dfa91a,inset 0 3px #ffffff19,0 2px 0 var(--district-frame),0 4px 8px #182a2829;padding:12px;letter-spacing:1px;text-shadow:none;font-size:18px;font-weight:700}body.tabletop[data-world]:not([data-world=jiangnan]) .primary:before,body.tabletop[data-world]:not([data-world=jiangnan]) .primary:after{display:none}body.tabletop[data-world]:not([data-world=jiangnan]) .primary:hover:not(:disabled){filter:brightness(1.1)}body.tabletop[data-world]:not([data-world=jiangnan]) .primary:disabled{opacity:.65;filter:saturate(.55)}body.tabletop[data-world]:not([data-world=jiangnan]) .roll-button{height:54px;gap:9px}body.tabletop[data-world]:not([data-world=jiangnan]) .roll-key{font-size:11px;color:var(--district-button-ink);background:#1d2d2824;border-color:currentColor;opacity:.8;box-shadow:inset 0 1px #ffc98312;padding:5px 6px;text-shadow:none}body.tabletop[data-world]:not([data-world=jiangnan]) .secondary{color:var(--district-ink);border:1px solid var(--district-line);border-radius:var(--district-radius);background:linear-gradient(110deg,#ffffff09,#14201b0c);box-shadow:inset 0 1px #fff8d427,0 2px #11201a16}body.tabletop[data-world]:not([data-world=jiangnan]) .fairness-button{font-size:15px;min-height:43px;margin-top:13px;color:var(--district-ink)}body.tabletop[data-world]:not([data-world=jiangnan]) .secondary:hover{background:color-mix(in srgb,var(--district-accent) 14%,transparent)}body.tabletop[data-world]:not([data-world=jiangnan]) .coach{color:var(--district-muted);background:#14201b07;border-color:var(--district-line)}body.tabletop[data-world]:not([data-world=jiangnan]) .brand{position:relative;padding:8px 12px;border:3px double var(--district-trim);border-radius:var(--district-radius);background:linear-gradient(150deg,#ffffff0e,#1725202a),var(--district-frame);box-shadow:inset 0 1px #f6e3b933,0 3px #101a16a3,0 5px 12px #0c191947;transform:none}body.tabletop[data-world]:not([data-world=jiangnan]) .wordmark{width:119px;height:29px;filter:drop-shadow(0 2px 0 #152520)}body.tabletop[data-world]:not([data-world=jiangnan]) .room-name{color:#f4e3bb;text-shadow:0 1px 3px #132c2c;font-size:11px;letter-spacing:4px}body.tabletop[data-world]:not([data-world=jiangnan]) .icon-button{background:linear-gradient(140deg,#ffffff12,#11201b22),var(--district-frame);border:1px solid var(--district-trim);color:#f3e4bf;box-shadow:inset 0 0 0 2px #15211b35,0 3px #1426227d,0 4px 9px #15252044;border-radius:var(--district-radius)}body.tabletop[data-world]:not([data-world=jiangnan]) .theme-trigger{background:linear-gradient(120deg,#ffffff08,#12221c26),var(--district-frame);color:#fff4d9;border:1px solid var(--district-trim);border-radius:var(--district-radius);box-shadow:inset 0 0 0 2px #0d231b14,0 3px 12px #0e211e66}body.tabletop[data-world]:not([data-world=jiangnan]) .theme-trigger svg,body.tabletop[data-world]:not([data-world=jiangnan]) .theme-trigger-label{color:#f3dca8}body.tabletop[data-world=frontier] .game-title-row{border-bottom:2px dashed #a17f4d6e}body.tabletop[data-world=frontier] .mode,body.tabletop[data-world=frontier] .seat{outline:1px dashed #9c7b483a;outline-offset:-5px}body.tabletop[data-world=snow-dolls] .primary{border:3px double #d9bd7c}body.tabletop[data-world=andalusian] .dice-well,body.tabletop[data-world=iznik] .dice-well{border-width:6px;box-shadow:inset 0 5px 10px #05172569,0 0 0 2px #eef0d8,0 0 0 4px var(--district-frame),0 5px 10px #173c341e}body.tabletop[data-world=rio] .side-panel{box-shadow:0 5px #327267,0 17px 35px #07211d80,inset 0 0 0 3px #eed28b55}body.tabletop[data-world=black-forest] .game-title-row{border-bottom:3px double #bc995c66}body.tabletop[data-world=maple] .primary{border-radius:1px;border-width:1px;box-shadow:inset 0 0 0 3px #612d29,inset 0 0 0 4px #b798635a,0 3px #3c3024}body.tabletop[data-world=paris] .game-title-row{border-bottom:3px double #8e9d8666}body.tabletop[data-world=hanok] .seat{border-radius:1px;box-shadow:inset 0 0 0 3px #a7aa810b,0 1px #fffbe81c}body.tabletop[data-world=floating-market] .dice-well{background:repeating-linear-gradient(45deg,#a7a5720b 0 2px,transparent 2px 7px),#526240}body.tabletop[data-world=knights] .primary{border:3px ridge #b2b49b;box-shadow:inset 0 0 0 2px #526674,0 3px #293e4a}body.tabletop[data-world=meadow] .primary{border:2px solid #bfc79d;box-shadow:inset 0 1px #f5e7be59,0 3px #6d805d,0 4px 7px #233c202a}body.tabletop[data-world=orbit] .side-panel{box-shadow:0 5px #102738,0 17px 38px #001421a6,inset 0 0 0 1px #73cddd66,inset 0 0 35px #295f7338}body.tabletop[data-world=orbit] .game-title-row{border-bottom:2px solid #81cad652;box-shadow:0 3px 9px -5px #86edff}body.tabletop[data-world=orbit] .seat,body.tabletop[data-world=orbit] .mode{clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));border-radius:0}body.tabletop[data-world=orbit] .dice-well{background:repeating-linear-gradient(0deg,#7bb7c206 0 1px,transparent 1px 7px),#153448;border:2px solid #79b7c28c;box-shadow:inset 0 0 20px #020f18a3,0 0 0 4px #213e54,0 0 18px #4fbdcf22}body.tabletop[data-world=toy-battle] .game-title-row{border-bottom:3px double #b7af765c}body.tabletop[data-world=toy-battle] .primary{border:2px solid #a49b70;box-shadow:inset 0 0 0 2px #746e4859,0 3px #303d2b}body.tabletop[data-world=london] .game-title-row{border-bottom:3px double #b1a06b77}body.tabletop[data-world=maple-lake] .seat{border:1px dashed #b5b48a56;box-shadow:inset 0 0 0 2px #394a363b}body.tabletop[data-world=palace] .primary{border:3px double #d5b567;box-shadow:inset 0 0 0 2px #916737,0 3px #492b22}body.tabletop[data-world=bamboo] .dice-well{border:6px ridge #95a775;box-shadow:inset 0 5px 10px #273b24ad,0 3px 7px #253c2938}body.tabletop[data-world=diner] .game-title-row{border-bottom:3px double #809f9c77}body.tabletop[data-world=diner] .primary{border:3px ridge #e5e7d7;border-radius:8px;box-shadow:inset 0 2px #f8d8b848,0 3px #789693,0 5px 7px #243b3f33}body.tabletop[data-world=diner] .dice-well{border:5px ridge #bccbc6;background:#396663;box-shadow:inset 0 3px 12px #142c2899,0 0 0 1px #77938f,0 3px 7px #405a4633}body.tabletop[data-world=baseball] .seat-progress strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#f4d889}body.tabletop[data-world=baseball] .game-title-row{border-bottom:3px double #c3c49a66}@media(min-width:801px){body.tabletop[data-world]:not([data-world=jiangnan]) .side-panel.playing:has(.seat:nth-child(4)){padding-top:18px;padding-bottom:45px}body.tabletop[data-world]:not([data-world=jiangnan]) .side-panel.playing:has(.seat:nth-child(4)) .seats{gap:9px}body.tabletop[data-world]:not([data-world=jiangnan]) .side-panel.playing:has(.seat:nth-child(4)) .dice-area{padding-top:18px}}@media(min-width:801px)and (max-height:850px){body.tabletop[data-world]:not([data-world=jiangnan]) .side-panel{padding:18px 15px 52px;min-height:0;border-width:12px}body.tabletop[data-world]:not([data-world=jiangnan]) .side-panel:before{height:67px}body.tabletop[data-world]:not([data-world=jiangnan]) .game-title-row{padding-bottom:13px}body.tabletop[data-world]:not([data-world=jiangnan]) .seats{margin-top:14px;gap:9px}body.tabletop[data-world]:not([data-world=jiangnan]) .seat{padding:9px 8px}body.tabletop[data-world]:not([data-world=jiangnan]) .dice-area{padding-top:17px}body.tabletop[data-world]:not([data-world=jiangnan]) .dice-well{width:108px;height:101px}body.tabletop[data-world]:not([data-world=jiangnan]) .dice-status{margin:13px 0 8px;min-height:32px}body.tabletop[data-world]:not([data-world=jiangnan]) .side-panel:not(.playing) .mode{min-height:73px;padding:9px}body.tabletop[data-world]:not([data-world=jiangnan]) .side-panel.playing:has(.seat:nth-child(4)){padding:15px 15px 23px}body.tabletop[data-world]:not([data-world=jiangnan]) .side-panel.playing:has(.seat:nth-child(4)) .seats{gap:6px;margin-top:11px}body.tabletop[data-world]:not([data-world=jiangnan]) .side-panel.playing:has(.seat:nth-child(4)) .seat{padding:7px 8px}body.tabletop[data-world]:not([data-world=jiangnan]) .side-panel.playing:has(.seat:nth-child(4)) .seat img{width:36px;height:36px}body.tabletop[data-world]:not([data-world=jiangnan]) .side-panel.playing:has(.seat:nth-child(4)) .dice-area{padding-top:13px}body.tabletop[data-world]:not([data-world=jiangnan]) .side-panel.playing:has(.seat:nth-child(4)) .dice-status{margin:10px 0 8px;min-height:26px}}@media(max-width:800px){body.tabletop[data-world]:not([data-world=jiangnan]) .brand{padding:6px 9px;border-width:2px;flex-shrink:0}body.tabletop[data-world]:not([data-world=jiangnan]) .wordmark{width:88px;height:26px}body.tabletop[data-world]:not([data-world=jiangnan]) .room-name{display:none}body.tabletop[data-world]:not([data-world=jiangnan]) .side-panel,body.tabletop[data-world]:not([data-world=jiangnan]) .side-panel.playing{border-width:11px;padding:18px 14px 55px;min-height:0}body.tabletop[data-world]:not([data-world=jiangnan]) .side-panel:before{height:69px}body.tabletop[data-world]:not([data-world=jiangnan]) .side-panel:after{width:49px;height:51px;right:-18px;top:-24px}body.tabletop[data-world]:not([data-world=jiangnan]) .side-heading{font-size:25px}body.tabletop[data-world]:not([data-world=jiangnan]) .game-title-row h2{font-size:22px}body.tabletop[data-world]:not([data-world=jiangnan]) .game-title-row{padding-bottom:12px}body.tabletop[data-world]:not([data-world=jiangnan]) .seats{margin-top:14px;gap:9px}body.tabletop[data-world]:not([data-world=jiangnan]) .seat{padding:10px 7px;gap:5px 7px;grid-template-columns:31px minmax(0,1fr)}body.tabletop[data-world]:not([data-world=jiangnan]) .seat img{width:31px;height:35px}body.tabletop[data-world]:not([data-world=jiangnan]) .seat-name{font-size:16px}body.tabletop[data-world]:not([data-world=jiangnan]) .seat-symbol{font-size:9px;margin-right:3px}body.tabletop[data-world]:not([data-world=jiangnan]) .seat-kind{font-size:12px}body.tabletop[data-world]:not([data-world=jiangnan]) .seat-progress{font-size:12px;gap:4px}body.tabletop[data-world]:not([data-world=jiangnan]) .seat-progress strong{font-size:16px}body.tabletop[data-world]:not([data-world=jiangnan]) .seat-progress .progress-total{font-size:12px}body.tabletop[data-world]:not([data-world=jiangnan]) .dice-area{padding-top:18px;gap:9px 16px;grid-template-columns:85px minmax(0,1fr)}body.tabletop[data-world]:not([data-world=jiangnan]) .dice-well{width:85px;height:85px;border-width:4px}body.tabletop[data-world]:not([data-world=jiangnan]) .dice-status{margin:0;min-height:0;font-size:14px}body.tabletop[data-world]:not([data-world=jiangnan]) .roll-button{height:45px;font-size:17px;padding:9px;letter-spacing:0}body.tabletop[data-world]:not([data-world=jiangnan]) .fairness-button{font-size:14px;min-height:38px;margin:0;padding:8px}body.tabletop[data-world]:not([data-world=jiangnan]) .mode-list{margin-top:15px;gap:8px}body.tabletop[data-world]:not([data-world=jiangnan]) .mode{min-height:74px;padding:9px}body.tabletop[data-world]:not([data-world=jiangnan]) .mode strong{font-size:15px}body.tabletop[data-world]:not([data-world=jiangnan]) .mode small{font-size:12px;line-height:1.6}body.tabletop[data-world]:not([data-world=jiangnan]) .dice-source-control{padding:8px;gap:5px}body.tabletop[data-world]:not([data-world=jiangnan]) .dice-source-control span:after{margin-left:5px}}@media(min-width:801px){body .game-layout,body.tabletop .game-layout{grid-template-columns:minmax(0,1fr) 380px}body.tabletop .side-panel{width:100%;min-width:0}body.tabletop.ui-large .game-layout{grid-template-columns:minmax(0,1fr) 408px}body.tabletop.ui-large .side-panel{width:100%}}@media(min-width:1500px){body.tabletop .game-layout{grid-template-columns:minmax(0,1fr) 392px}}@media(min-width:801px)and (max-width:1100px){body.tabletop .game-layout{grid-template-columns:minmax(0,1fr) 344px}body.tabletop.ui-large .game-layout{grid-template-columns:minmax(0,1fr) 364px}}.turn-meta{display:grid;gap:7px;justify-items:end;flex-shrink:0;max-width:52%}body .side-panel .turn-clock{display:inline-flex;align-items:center;gap:7px;position:relative;min-height:46px;padding:6px 11px 9px;border:2px solid #c89d57;border-radius:5px;color:#fff1c5;background:linear-gradient(135deg,#544024,#302315);box-shadow:0 3px #19100855;line-height:1.1;letter-spacing:0;font-variant-numeric:tabular-nums;overflow:hidden}.turn-clock-label{font-size:14px;font-weight:650;max-width:88px;line-height:1.15}body .side-panel .turn-clock-number{font-family:ui-sans-serif,system-ui,sans-serif;font-size:30px;font-weight:850;line-height:1;min-width:1.25em;text-align:center;color:inherit}.turn-clock-unit{font-size:13px;font-weight:600}.turn-clock:after{content:"";position:absolute;inset:auto 0 0 0;height:4px;width:var(--clock-progress,100%);background:#f3c66f;transition:width .1s linear}body .side-panel .turn-clock.urgent{color:#fff0dc;background:linear-gradient(135deg,#a43c22,#6b2018);border-color:#ffb271;box-shadow:0 0 0 2px #dd723e22}.turn-clock.urgent:after{background:#ffd599}body .side-panel .turn-clock.clock-paused{opacity:.65}.side-panel .seat-info{min-width:0}.side-panel .seat-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;unicode-bidi:plaintext}@media(max-width:450px){body .side-panel .turn-clock{padding:6px 8px 9px;gap:5px}.turn-meta{gap:5px}.turn-clock-label{font-size:13px;max-width:74px}body .side-panel .turn-clock-number{font-size:28px}}body #modal.settings-dialog{width:min(720px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;overflow:hidden}body #modal.settings-dialog[open]{display:flex;flex-direction:column}#modal.settings-dialog .modal-header{flex:0 0 auto;padding:20px 24px 16px}#modal.settings-dialog .modal-body{min-height:0;max-height:none;padding:18px 24px 22px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#aa8050 #211611}#modal.settings-dialog .settings-flat,#modal.settings-dialog .settings-flat .setting-section{display:block;min-inline-size:0;max-inline-size:100%}#modal.settings-dialog .settings-flat .setting-section+.setting-section{margin-block-start:20px}#modal.settings-dialog .settings-flat .setting-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(148px,43%);align-items:center;gap:12px 24px;min-inline-size:0;min-height:50px;padding:11px 0}#modal.settings-dialog .settings-flat .setting-row>span{min-inline-size:0;font-size:16px;line-height:1.45}#modal.settings-dialog .settings-flat .setting-row>select,#modal.settings-dialog .settings-flat .setting-row>.compact-button,#modal.settings-dialog .settings-flat .volume-row input[type=range]{inline-size:100%;min-inline-size:0;max-inline-size:100%}#modal.settings-dialog .settings-flat .setting-row>select,#modal.settings-dialog .settings-flat .setting-row>.compact-button{min-height:36px}#modal.settings-dialog .settings-flat .setting-row>input[type=checkbox]{justify-self:end}#modal.settings-dialog .settings-theme-section{min-inline-size:0;max-inline-size:100%;margin-block:20px 6px}#modal.settings-dialog .settings-theme-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-block-end:10px}#modal.settings-dialog .settings-theme-header h3{margin:0;color:#f2d199;font-size:16px;font-weight:600;letter-spacing:.04em;line-height:1.4}.settings-theme-navigation{display:flex;flex:0 0 auto;gap:8px}#modal.settings-dialog .settings-theme-nav{display:grid;place-items:center;width:36px;height:34px;padding:0;border:1px solid #a57a4d;border-radius:4px;color:#f8d99b;background:#33231a;font-size:27px;line-height:1}#modal.settings-dialog .settings-theme-nav:hover:not(:disabled){border-color:#f3c579;background:#513823}#modal.settings-dialog .settings-theme-strip{display:flex;align-items:stretch;gap:12px;inline-size:100%;min-inline-size:0;max-inline-size:100%;padding:4px 3px 12px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scroll-padding-inline:3px;scrollbar-width:thin;scrollbar-color:#b18a54 #211611;-webkit-overflow-scrolling:touch}#modal.settings-dialog .settings-theme-card{position:relative;display:flex;flex:0 0 184px;flex-direction:column;min-inline-size:0;padding:0;overflow:hidden;scroll-snap-align:start;border:2px solid #725338;border-radius:5px;color:#ead8b8;background:#241a14;text-align:start}#modal.settings-dialog .settings-theme-card img{display:block;width:100%;height:110px;flex:0 0 110px;object-fit:cover;background:#382b22}#modal.settings-dialog .settings-theme-caption{display:block;min-height:41px;padding:10px 11px;overflow:hidden;color:inherit;font-size:14px;font-weight:550;line-height:1.5;text-overflow:ellipsis;white-space:nowrap;unicode-bidi:plaintext}#modal.settings-dialog .settings-theme-card:hover{border-color:#cda768}#modal.settings-dialog .settings-theme-card:is(.selected,[aria-pressed=true]){border-color:#f0c26e;color:#ffe9b4;background:#48321f;box-shadow:0 0 0 1px #f0c26e}#modal.settings-dialog .settings-theme-card:is(.selected,[aria-pressed=true]):after{content:"✓";position:absolute;inset-block-start:7px;inset-inline-end:7px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;color:#342213;background:#f0c26e;box-shadow:0 2px 7px #170e09a8;font-size:17px;font-weight:700}#modal.settings-dialog :is(.settings-theme-nav,.settings-theme-card,.settings-theme-strip):focus-visible{outline:2px solid #fff0bc;outline-offset:2px}#modal.settings-dialog .settings-save{position:sticky;inset-block-end:0;z-index:3;display:block;width:100%;min-height:46px;margin-block:22px 0;font-size:16px;box-shadow:0 -6px 18px #1d120a88}@media(max-width:520px){body #modal.settings-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}#modal.settings-dialog .modal-header{padding:16px 15px 13px}#modal.settings-dialog .modal-body{padding:14px 15px 16px}#modal.settings-dialog .settings-flat .setting-row{grid-template-columns:minmax(0,1fr) minmax(110px,50%);gap:10px 12px}#modal.settings-dialog .settings-theme-strip{gap:10px}#modal.settings-dialog .settings-save{margin-block-start:18px}}@media(prefers-reduced-motion:reduce){#modal.settings-dialog .settings-theme-strip{scroll-behavior:auto}}#modal.settings-dialog .modal-header h2{font-size:22px}#modal.settings-dialog .settings-flat select,#modal.settings-dialog .settings-flat .compact-button{font-size:14px}#modal.settings-dialog #volume-value{font-size:13px}[dir=rtl] #modal.settings-dialog .settings-theme-nav span{transform:scaleX(-1)}#modal.leave-dialog .modal-actions{align-items:stretch}#modal.leave-dialog .modal-actions .primary{margin-top:0;font-size:15px;letter-spacing:1px}#modal.leave-dialog .modal-body>p{font-size:16px;line-height:1.8}#modal.settings-dialog #music-volume-value{font-size:13px}#modal.settings-dialog .music-credits{margin-top:18px;border-top:1px solid #bc986641;padding-top:12px;font-size:13px;line-height:1.7;color:#cabb9d}#modal.settings-dialog .music-credits summary{cursor:pointer;color:#dbc398;min-height:28px}#modal.settings-dialog .music-credits p{margin:8px 0}#modal.settings-dialog .music-credits ul{margin:8px 0;padding-inline-start:20px}#modal.settings-dialog .music-credits a{color:#e8c58b;overflow-wrap:anywhere;text-underline-offset:3px}#modal .proof-independent-footer{display:flex;justify-content:flex-end;align-items:center;gap:24px;flex-wrap:wrap;border-top:1px solid #8d714544;margin-top:20px;padding-top:16px}#modal .proof-independent-footer a{color:#eac586;font-size:14px;line-height:1.5;text-underline-offset:4px;text-decoration-thickness:1px}#modal .proof-independent-footer a:hover{color:#fff2cc}#modal .proof-independent-footer a:focus-visible{outline:2px solid #eac586;outline-offset:5px}#modal.proof-dialog[open]{display:flex;flex-direction:column;overflow:hidden}#modal.proof-dialog .modal-header{flex:none}#modal.proof-dialog .modal-body{min-height:0;overflow:auto}#modal .proof-independent-footer{flex:none;margin-top:0;padding:14px 23px 17px;background:inherit}.capture-badges{position:relative;display:flex;flex-wrap:wrap;gap:1px 6px;align-items:center;max-inline-size:100%;margin-block-start:2px;line-height:1;isolation:isolate}.capture-badge{position:static;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:2px;min-inline-size:0;max-inline-size:100%;min-block-size:22px;margin:0;padding:1px 3px 1px 0;border:0;border-radius:5px;background:transparent;box-shadow:none;color:inherit;font:inherit;letter-spacing:0;line-height:1;cursor:help;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.capture-badge .capture-badge-icon{display:inline-flex;inline-size:18px;block-size:21px;flex:0 0 auto;align-items:center;justify-content:center}.capture-badge .capture-badge-icon svg{display:block;inline-size:100%;block-size:100%;overflow:visible;filter:drop-shadow(0 1px 0 #fff2)}.capture-badge .capture-badge-icon img{display:block;width:100%!important;height:100%!important;max-width:100%;object-fit:contain;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;image-rendering:auto}.capture-badge-count{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;color:#ebd8b0;white-space:nowrap;direction:ltr;unicode-bidi:isolate}.capture-badge:hover,.capture-badge:focus-visible{background:#ffe2a018}.capture-badge:focus-visible{outline:1px solid currentColor;outline-offset:2px}.capture-badge-tooltip{position:absolute;inset-inline-start:-7px;inset-block-start:calc(100% + 6px);z-index:80;inline-size:max-content;max-inline-size:min(245px,60vw);padding:8px 10px;border:1px solid #b99159;border-radius:7px;box-shadow:0 4px 14px #170f0b4d;background:#fff1d7;color:#422b1b;font-size:12px;font-weight:500;line-height:1.5;letter-spacing:0;text-align:start;overflow-wrap:anywhere;white-space:normal;visibility:hidden;opacity:0;pointer-events:none}.capture-badge:focus .capture-badge-tooltip{visibility:visible;opacity:1}.seat:has(.capture-badge:focus){z-index:12}@media(hover:hover){.capture-badge:hover .capture-badge-tooltip{visibility:visible;opacity:1}.seat:has(.capture-badge:hover){z-index:12}}body.tabletop[data-world=jiangnan] .capture-badge-count{color:#55371f}.capture-badge-new .capture-badge-count{animation:capture-count-flash .85s ease-out both;animation-delay:var(--capture-flash-delay,0ms)}@keyframes capture-count-flash{0%,22%{color:#fff4c5;text-shadow:0 0 7px #ffce64,0 0 13px #e8a834;transform:scale(1.13)}to{text-shadow:none;transform:scale(1)}}@media(max-width:800px){.capture-badges{gap:1px 4px;margin-block-start:2px}.capture-badge{min-block-size:22px;padding-inline-end:1px;gap:1px}.capture-badge .capture-badge-icon{inline-size:17px;block-size:20px}.capture-badge-count{font-size:12px}.seats .seat:nth-child(2n) .capture-badge-tooltip{inset-inline-start:auto;inset-inline-end:0}}@media(prefers-reduced-motion:reduce){.capture-badge-new .capture-badge-count{animation:none}}body.reduced .capture-badge-new .capture-badge-count{animation:none}@media(min-width:801px)and (max-height:760px){body.tabletop[data-world] .side-panel.playing:has(.seat:nth-child(4)):has(.capture-badges){padding-top:10px;padding-bottom:10px}body.tabletop[data-world] .side-panel.playing:has(.seat:nth-child(4)):has(.capture-badges) .game-title-row{padding-bottom:10px}body.tabletop[data-world] .side-panel.playing:has(.seat:nth-child(4)):has(.capture-badges) .seats{margin-top:9px;gap:5px}body.tabletop[data-world] .side-panel.playing:has(.seat:nth-child(4)) .seat-name{line-height:1.2}}.chip-coin{width:24px;height:24px;flex:0 0 auto;display:inline-block;vertical-align:middle}body .chip-wallet-button{display:inline-flex;align-items:center;gap:9px;min-height:40px;padding:6px 7px 6px 11px;border:1px solid #b68b4d;border-radius:3px;background:linear-gradient(115deg,#513526,#2d1d16);color:#ffe1a2;box-shadow:inset 0 1px #ffe8b225,0 3px #16100b66;font-size:16px;white-space:nowrap}.chip-wallet-button strong{font-variant-numeric:tabular-nums;font-weight:650;letter-spacing:.015em}.chip-wallet-plus{display:grid;place-items:center;width:28px;height:27px;margin-inline-start:3px;border-inline-start:1px solid #bb91564d;color:#f7d18a;font-size:25px;font-weight:400;line-height:1}body .chip-wallet-button:hover{background:linear-gradient(115deg,#6b482d,#3c281d);border-color:#e1b770}.chip-room-panel{--chip-room-ink:var(--jiangnan-ink,var(--district-ink,var(--world-accent,#f5dbab)));--chip-room-muted:var(--jiangnan-muted,var(--district-muted,#cbb788));--chip-room-line:color-mix(in srgb,var(--chip-room-ink) 26%,transparent);margin-block:14px 0;color:var(--chip-room-ink)}.chip-room-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}body .chip-room-choice{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;min-height:57px;padding:8px 3px;border:1px solid var(--chip-room-line);border-radius:2px;background:color-mix(in srgb,var(--chip-room-ink) 3%,transparent);color:var(--chip-room-ink);box-shadow:none;line-height:1.15}.chip-room-choice span{font-size:12px}.chip-room-choice strong{font-size:18px;font-weight:650;font-variant-numeric:tabular-nums}body .chip-room-choice.selected{border-color:var(--chip-room-ink);background:color-mix(in srgb,var(--chip-room-ink) 11%,transparent);box-shadow:inset 0 -2px var(--chip-room-ink)}body .chip-room-choice:hover{background:color-mix(in srgb,var(--chip-room-ink) 15%,transparent)}.chip-room-quote{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin-top:9px;font-size:12px;line-height:1.45}.chip-room-quote strong{font-size:15px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}.chip-room-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:22px;margin-top:2px}.chip-room-foot small{color:var(--chip-room-muted);font-size:11px;line-height:1.4}body .chip-room-refill{border:0;padding:3px 0;background:none;color:var(--chip-room-ink);font-size:12px;text-decoration:underline;text-underline-offset:3px}.chip-room-free{display:grid;grid-template-columns:1fr auto;gap:5px 12px;padding:12px 0;border-block:1px solid var(--chip-room-line);font-size:14px}.chip-room-free strong{font-weight:650}.chip-room-free small{grid-column:1/-1;color:var(--chip-room-muted);font-size:12px}body #modal.shop-dialog{width:min(840px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:0;overflow:hidden;border:2px solid #84613c;border-radius:4px;background:#2b1e18;color:#f9e6c0;box-shadow:inset 0 0 0 3px #3c2a20,0 18px 90px #0805028c}body #modal.shop-dialog[open]{display:flex;flex-direction:column}body #modal.shop-dialog .modal-header{flex:0 0 auto;padding:18px 24px 16px;border-bottom:1px solid #b38a513d}body #modal.shop-dialog .modal-header h2{color:#f5d597;font-size:23px;font-weight:650;letter-spacing:.05em;text-shadow:none}body #modal.shop-dialog .modal-header .icon-button{width:34px;height:34px;border:1px solid #b58b4d52;border-radius:2px;background:#37271e;color:#f6d6a0;box-shadow:none}body #modal.shop-dialog .modal-body{min-height:0;max-height:none;overflow:auto;overscroll-behavior:contain;padding:20px 24px 24px;line-height:1.4;scrollbar-color:#a27b4b #211610}.chip-shop{font-size:15px;font-family:ui-monospace,SFMono-Regular,PingFang SC,Microsoft YaHei,monospace;color:#f9e6c0}.chip-shop-wallet{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.chip-shop-wallet>div>span{display:block;margin-bottom:6px;color:#c3a882;font-size:13px}.chip-shop-wallet>div>strong{display:flex;align-items:center;gap:10px;color:#f9d28d;font-size:32px;line-height:1.1;font-weight:650;letter-spacing:.025em;font-variant-numeric:tabular-nums}.chip-shop-wallet .chip-coin{width:30px;height:30px}.chip-shop-wallet>small{font-size:13px;line-height:1.5;color:#d1b487;text-align:end}.chip-shop-nav{display:flex;gap:24px;margin-bottom:20px;border-bottom:1px solid #b58b4b40}body .chip-shop-tab{position:relative;min-height:42px;padding:0 0 12px;border:0;background:transparent;color:#bda683;font-size:16px;line-height:1.4}body .chip-shop-tab.selected{color:#ffe0a2}.chip-shop-tab.selected:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:#e5b86d}body .chip-shop-tab:hover{color:#ffe8bf}.chip-claim-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}.chip-claim-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:15px 16px;border:1px solid #98713f55;border-radius:3px;background:linear-gradient(110deg,#a57a2b0a,#a57a2b03)}.chip-claim-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;grid-column:1/-1}.chip-claim-heading>span{font-size:16px;color:#f0dabc}.chip-claim-heading>strong{display:flex;align-items:center;gap:6px;color:#f0c478;font-size:20px;font-weight:650;font-variant-numeric:tabular-nums;white-space:nowrap}.chip-claim-heading .chip-coin{width:20px;height:20px}.chip-claim-card>small{grid-column:1/-1;min-height:18px;color:#bea580;font-size:12px;line-height:1.5}.chip-claim-card>.chip-button{grid-column:1/-1;margin-top:2px;min-height:36px;padding:7px 12px;font-size:14px}body .chip-button{min-height:44px;border:1px solid #edc77f;border-radius:2px;background:linear-gradient(115deg,#f3cd86,#d7a652);color:#382516;box-shadow:inset 0 1px #fff0bd66,0 2px #0e090540;padding:10px 16px;font-size:16px;font-weight:600;line-height:1.35}body .chip-button:hover:not(:disabled){background:#f7d99c;border-color:#ffe1a2}body .chip-button-quiet{border-color:#b48b4e80;background:#5b402329;color:#e4c494;box-shadow:none;font-weight:500}body .chip-button-quiet:hover:not(:disabled){border-color:#d9b574;background:#7f5d3333}body .chip-button:disabled{opacity:1;color:#b99d79;border-color:#76593870;background:#38291d;box-shadow:none}.chip-pack-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}body .chip-pack{display:flex;flex-direction:column;align-items:center;min-width:0;overflow:hidden;padding:10px 12px 0;border:1px solid #b28a4f73;border-radius:3px;background:radial-gradient(ellipse at 50% 20%,#a97c2824,transparent 65%),#34251c;color:#f9dfb3;text-align:center;box-shadow:inset 0 1px #fbe7b509,0 3px #0e09052b}body .chip-pack:hover{border-color:#f4c776;background-color:#42301f}.chip-pack-art{display:block;width:108px;height:94px;max-width:100%;flex:0 0 auto;filter:drop-shadow(0 3px 3px #130b0659)}.chip-pack-name{margin-top:1px;color:#c3aa85;font-size:12px;line-height:1.45}.chip-pack>strong{display:block;margin:8px 0 15px;color:#f8d18a;font-size:23px;font-weight:650;line-height:1.15;font-variant-numeric:tabular-nums}.chip-pack-claim{display:flex;align-items:center;justify-content:center;gap:18px;align-self:stretch;margin-inline:-12px;padding:10px 4px;border-top:1px solid #b38a4e4d;background:#b0884512;color:#f4d394;font-size:15px;font-weight:600}.chip-pack-claim>span{font-size:21px;line-height:1;font-weight:400}.chip-pack-confirm{display:flex;flex-direction:column;align-items:center;padding:16px 0 28px;border-top:1px solid #b68e5140;text-align:center}.chip-pack-confirm .chip-pack-art{width:135px;height:118px}.chip-pack-confirm h3{margin:8px 0 10px;font-size:17px;color:#dec5a0;font-weight:500}.chip-confirm-amount{color:#fbd28b;font-size:42px;line-height:1.2;font-weight:650;font-variant-numeric:tabular-nums}body #modal.shop-dialog .chip-pack-confirm p{margin:13px 0 0;color:#baa381;font-size:14px}.chip-pack-confirm p strong{margin-inline-start:8px;color:#ead4ae;font-variant-numeric:tabular-nums}.chip-confirm-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.chip-ledger-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:3px;color:#e0c59b;font-size:14px}.chip-ledger-heading small{color:#b79e7d;font-size:12px}.chip-ledger ol{list-style:none;margin:0;padding:0}.chip-ledger-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid #b1874930}.chip-ledger-row>div>strong{display:block;color:#eddbbc;font-size:15px;font-weight:500}.chip-ledger-row time{display:block;margin-top:5px;color:#b7a081;font-size:12px}.chip-ledger-amount{color:#d2c1a5;font-size:19px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.chip-ledger-amount.positive{color:#d8d998}.chip-ledger-amount.negative{color:#dda995}body #modal.shop-dialog .chip-ledger-empty{padding:28px 0;color:#bea887;font-size:15px;text-align:center}.chip-receipt{margin-top:24px;padding-top:18px;border-top:1px solid #d7bd7e54;text-shadow:none;color:#efd7ad}.chip-receipt dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0}.chip-receipt dt{font:400 clamp(12px,1.03vw,16px)/1.5 "PingFang SC",sans-serif;color:#cdbb9f}.chip-receipt dd{margin:5px 0 0;font:600 clamp(18px,1.8vw,29px)/1.25 ui-monospace,"SFMono-Regular",monospace;font-variant-numeric:tabular-nums}.chip-receipt-net.positive dd{color:#f4d38f}.chip-receipt-net.negative dd{color:#dbab96}.chip-receipt>small{display:block;margin-top:12px;color:#b8a388;font:400 12px/1.5 PingFang SC,sans-serif}@media(max-height:800px)and (min-width:801px){body.tabletop[data-world] .side-panel:not(.playing):has(.chip-room-panel){padding-bottom:26px}body.tabletop[data-world] .side-panel:not(.playing):has(.chip-room-panel) .mode-list{margin-top:12px;row-gap:7px}body.tabletop[data-world] .side-panel:not(.playing):has(.chip-room-panel) .start-slot{padding-top:8px}body.tabletop[data-world] .side-panel:not(.playing) .chip-room-panel{margin-top:7px}}@media(max-width:760px){body .chip-wallet-button{min-height:35px;padding:4px 5px 4px 7px;gap:5px;font-size:14px}.chip-wallet-button .chip-coin{width:21px;height:21px}.chip-wallet-plus{width:22px;height:24px;font-size:22px;margin-inline-start:1px}.chip-room-panel{margin-top:12px}.chip-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chip-pack-art{width:90px;height:78px}.chip-pack>strong{margin:6px 0 12px}.chip-receipt{margin-top:16px;padding-top:13px}.chip-receipt dl{gap:9px}.chip-receipt dt{font-size:12px}.chip-receipt dd{font-size:21px}.chip-receipt>small{margin-top:8px;font-size:11px}}@media(max-width:520px){body #modal.shop-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}body #modal.shop-dialog .modal-header{padding:15px 16px 13px}body #modal.shop-dialog .modal-header h2{font-size:21px}body #modal.shop-dialog .modal-body{padding:16px}.chip-shop-wallet{align-items:flex-start;gap:12px;margin-bottom:17px}.chip-shop-wallet>div>strong{font-size:28px;gap:7px}.chip-shop-wallet .chip-coin{width:26px;height:26px}.chip-shop-wallet>small{max-width:135px;padding-top:2px;font-size:12px}.chip-shop-nav{gap:22px;margin-bottom:16px}.chip-claim-grid{gap:9px;margin-bottom:16px}.chip-claim-card{padding:12px 10px;gap:7px}.chip-claim-heading{align-items:flex-start;flex-direction:column;gap:7px}.chip-claim-heading>span{font-size:14px}.chip-claim-heading>strong{font-size:20px}.chip-claim-card>small{min-height:36px;font-size:11px}.chip-claim-card>.chip-button{padding:7px 5px;font-size:12px;min-height:43px}.chip-pack-grid{gap:10px}.chip-confirm-actions{gap:9px}body .chip-confirm-actions .chip-button{font-size:14px;padding-inline:9px}}@media(max-height:650px)and (min-width:761px){body #modal.shop-dialog .modal-header{padding-block:13px}body #modal.shop-dialog .modal-body{padding-top:16px;padding-bottom:18px}.chip-shop-wallet{margin-bottom:12px}.chip-shop-nav,.chip-claim-grid{margin-bottom:14px}.chip-claim-card{padding-block:11px}.chip-pack-art{width:86px;height:74px}.chip-pack>strong{margin-block:6px 12px}.chip-receipt{margin-top:15px;padding-top:12px}}
