:root{font-family:Arial,Helvetica,sans-serif;color:#233c32;background:#eeefe8;font-synthesis:none;--green:#173f33;--muted:#748075;--line:#d8dcd1;--gold:#dfba76}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button{transition:background .18s,transform .18s}button:active:not(:disabled){transform:translateY(1px)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b78b41;outline-offset:4px}.topbar{height:99px;max-width:1550px;margin:auto;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;color:var(--green);text-decoration:none;font-family:Georgia,serif;font-size:21px;font-weight:bold;letter-spacing:2px}.brand small{display:block;font:8px Arial,sans-serif;letter-spacing:3px;margin-top:6px}.brand-mark{width:38px;height:43px;display:grid;place-items:center;border:1px solid #43604d;font:32px Georgia,serif;border-radius:18px 18px 3px 3px}.header-actions{display:flex;align-items:center;gap:24px}.local-label{font-size:12px;color:#737d71;display:flex;align-items:center;gap:8px}.local-label i,.small-dot{width:6px;height:6px;background:#71926b;border-radius:50%;display:inline-block}.quiet{background:none;border:0;color:#43574a;padding:11px 4px;font-size:12px}.quiet:hover{color:#111}.outline{border:1px solid #abb7a7;background:transparent;color:var(--green);padding:12px 18px;border-radius:5px;font-size:12px}.outline:hover{background:#dce1d5}main{max-width:1550px;margin:auto;padding:36px 48px 0}.table-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:26px}.eyebrow,.section-label{font-size:9px;font-weight:bold;letter-spacing:2px}.eyebrow{color:#6a7c67}h1{font:normal 36px/1.1 Georgia,serif;letter-spacing:-1.2px;margin:10px 0 0}.table-heading p{font-size:11px;font-variant-numeric:tabular-nums;margin:0 0 4px}.table-heading p span{color:#a0aa99;margin:0 8px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:30px;align-items:start}.table{background:#173f33;border-radius:9px;color:#c1d0b9;padding:23px 25px 18px;position:relative;box-shadow:0 12px 30px #193e3215;overflow:hidden;background-image:radial-gradient(ellipse at center,#2b514000,#0b2d2466)}.table-meta{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.8px;position:relative;z-index:1;color:#a5b8a0}.table-meta b{padding:0 8px;color:#6a8a73}.board-wrap{position:relative;margin:16px auto 8px;max-width:850px}#board{display:block;width:100%;height:auto;overflow:visible}.tile polygon{stroke:#294d3c;stroke-width:1.5;stroke-linejoin:round;transition:fill .2s,stroke .2s}.tile{cursor:pointer;outline:none}.tile:hover polygon,.tile:focus-visible polygon{fill:#fff8df;stroke:#edc16f;stroke-width:2}.tile.selected polygon{stroke:#e9bd6b;stroke-width:3;fill:#fff3d5}.tile-title{font-size:8.3px;fill:#233f32;font-weight:700}.tile-subtitle{font-size:8px;fill:#4b5b46}.tile-price{font-size:7.8px;fill:#65715a}.token-text{fill:#183d31;font-size:8px;font-weight:bold;pointer-events:none}.token{filter:drop-shadow(0 2px 1px #0003)}.board-center{position:absolute;inset:27% 24% 22%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}.center-kicker{font-size:7px;letter-spacing:2.2px;color:#a3b69d;white-space:nowrap}.center-logo{font-family:Georgia,serif;font-size:clamp(22px,3.1vw,49px);letter-spacing:-1.9px;color:#e7e8d7;margin-top:18px;line-height:1.15}.center-logo span{display:block;font:8px Arial,sans-serif;letter-spacing:6px;margin-top:10px;color:#b1c0a6}.center-line{height:1px;width:35px;background:#92a384;margin:20px auto 0}.board-center p{font:italic 13px Georgia,serif;color:#b6c4aa;margin:15px 0 20px}.dice{display:flex;gap:12px}.die{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:4px;background:#eeeadd;border-radius:9px;width:54px;height:54px;padding:10px;box-shadow:0 4px 0 #c1beaf,0 8px 14px #061f2940;transform:rotate(-7deg)}.die:nth-child(2){transform:rotate(8deg)}.die i.pip{background:#284537;border-radius:50%}.center-turn{font-size:8px;letter-spacing:1.4px;margin-top:25px;color:#c9d1b7;max-width:100%;overflow-wrap:anywhere}.table-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #57715b70;padding-top:17px;font-size:9px;color:#aebea6;gap:12px}.table-bottom>span{display:flex;align-items:center;gap:8px}.table-link{font-size:10px;border:0;background:none;color:#e1e4cf;padding:3px 0;white-space:nowrap}.table-link span{margin-left:10px}.sidebar{display:flex;flex-direction:column;gap:22px}.section-label{display:flex;justify-content:space-between;color:#7a8775;letter-spacing:1.6px;font-size:8px;margin-bottom:17px}.section-label span:nth-child(2){font-size:8px;letter-spacing:.7px;font-weight:normal}.turn-panel{border:1px solid #cdd5c5;background:#e4e8dc;border-radius:7px;padding:21px}#active-player{display:flex;align-items:center;gap:13px}#active-player h2{font:normal 25px Georgia,serif;margin:0 0 4px;overflow-wrap:anywhere}#active-player div>span{font-size:10px;color:#75806c}.player-token{width:29px;height:29px;flex-shrink:0;background:var(--player);border-radius:50%;display:inline-grid;place-items:center;color:#274332;font:13px Georgia,serif;border:3px solid #ffffff50;box-shadow:0 0 0 1px #52674722}.player-token.large{width:40px;height:40px;font-size:21px}#message{font-size:12px;color:#63705e;line-height:1.65;min-height:40px;margin:18px 0}.primary{width:100%;border:0;padding:15px 18px;display:flex;justify-content:space-between;align-items:center;background:#214e3d;color:#f5f5e9;border-radius:5px;font-size:12px;font-weight:bold;gap:12px}.primary:hover{background:#163e2d}.primary span{font-size:17px}.action-hint{display:block;text-align:center;font-size:9px;color:#7e8874;margin-top:12px}.full{width:100%;padding-bottom:0}.players-panel,.history-panel{padding:0 2px}.player-row{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.player-row:last-child{border-bottom:0}.player-row>div{min-width:0}.player-row b{font-size:11px;font-weight:normal;display:block;overflow-wrap:anywhere}.player-row small{display:block;font-size:9px;color:#8a9383;margin-top:4px}.player-row strong{margin-left:auto;font-size:13px;font-weight:normal;white-space:nowrap;font-variant-numeric:tabular-nums}.player-row.is-active b{font-weight:bold}.is-out{opacity:.45}.property-panel{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:19px 0 21px;display:flow-root}.property-panel>.section-label{margin-bottom:19px}.card-preview{float:left;width:77px;padding:0;margin-right:16px;border:0;background:none;box-shadow:0 3px 8px #283b2820;transform:rotate(-3deg);border-radius:5px;overflow:hidden}.card-preview img{display:block;width:100%}.card-preview:hover{transform:rotate(0)}.property-category{color:var(--group);font-size:8px;text-transform:uppercase;letter-spacing:1px;font-weight:bold}.property-detail h3{font:18px Georgia,serif;margin:6px 0 7px}.property-detail p{font-size:10px;color:#83907a;margin:0 0 10px}.property-values{display:flex;gap:20px;padding-top:2px}.property-values span{font-size:9px;color:#89947e;display:block}.property-values b{display:block;font-size:11px;color:#3b513c;font-weight:normal;margin-top:5px}.build-button{margin-top:16px;clear:both;width:100%}.history-panel .section-label{margin-bottom:12px}#history{list-style:none;padding:0;margin:0}#history li{display:flex;gap:11px;font-size:10px;line-height:1.65;color:#76836e;padding:7px 0}#history li>span{color:#adb5a5;font-size:8px;min-width:13px;padding-top:2px}footer{display:flex;justify-content:space-between;gap:15px;font-size:9px;color:#909989;padding:24px 0 26px}footer>span:first-child{font-size:8px;letter-spacing:1.5px}footer b{padding:0 7px}footer button{color:#687a60;background:none;padding:0;border:0;font-size:9px;text-decoration:underline;text-underline-offset:3px;margin-left:5px}dialog{border:1px solid #cbd3c0;border-radius:12px;padding:38px;background:#f0f1e9;color:#233c32;max-width:540px;width:calc(100% - 32px);max-height:88dvh;box-shadow:0 22px 80px #05291d55}dialog::backdrop{background:#0a291f91;backdrop-filter:blur(5px)}dialog h2{font:normal 34px Georgia,serif;letter-spacing:-1px;margin:12px 0 16px}dialog p{font-size:13px;color:#6c7c62;line-height:1.8}dialog label:not(.name-label){display:block;font-size:10px;letter-spacing:1px;text-transform:uppercase;margin:25px 0 9px}select,input{border:1px solid #c5cfba;background:#fafbf5;color:#284532;border-radius:5px;padding:12px;width:100%;font-size:13px}.name-label{display:flex;align-items:center;gap:14px;margin-top:14px}.form-note{font-size:11px!important;margin:20px 0}.dialog-actions{display:flex;align-items:center;gap:20px;margin-top:24px}.dialog-actions .primary{width:auto;flex:1}.dialog-actions .quiet{white-space:nowrap}.close-button{position:absolute;top:12px;right:17px;background:none;border:0;font-size:28px;color:#617354}.rules-list{font-size:13px;color:#64745a;padding-left:18px}.rules-list li{padding:8px 0;line-height:1.8}.rules-list b{color:#254733}.edition-note{padding:16px;background:#e3e7d8;border-radius:5px;font-size:11px!important}.original-card{display:block;max-height:53dvh;max-width:100%;width:auto;margin:20px auto;border-radius:14px}.collection{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px}.collection-item{background:none;border:0;padding:0;text-align:left;color:var(--green);font-size:11px}.collection-item img{width:100%;display:block;border-radius:7px;margin-bottom:8px}.rolling .die{animation:toss .17s alternate infinite}.rolling .die:nth-child(2){animation-delay:.08s}@keyframes toss{from{transform:translateY(-5px) rotate(-15deg)}to{transform:translateY(4px) rotate(15deg)}}
@media(min-width:1500px){.game-layout{grid-template-columns:minmax(0,1fr) 330px;gap:40px}.sidebar{gap:27px}.turn-panel{padding:26px}.center-logo{font-size:49px}}
@media(max-width:1100px){.topbar{padding:0 25px}main{padding:28px 25px 0}.game-layout{grid-template-columns:minmax(0,1fr) 270px;gap:20px}.table{padding:20px 14px 15px}.center-kicker{font-size:6px;letter-spacing:1px}.center-logo{font-size:30px}.board-center p{font-size:11px;margin-bottom:14px}.center-line{margin-top:13px}.die{width:42px;height:42px;padding:8px;gap:3px}.center-turn{font-size:7px;margin-top:17px}.table-meta{font-size:6px;letter-spacing:1px}.table-bottom{font-size:7px}.turn-panel{padding:18px}.table-link{font-size:8px}}
@media(max-width:800px){.topbar{height:83px;padding:0 20px}.brand{font-size:17px;gap:9px}.brand small{font-size:6px;letter-spacing:2px}.brand-mark{width:30px;height:37px}.header-actions{gap:14px}.local-label{display:none}.header-actions .quiet{font-size:11px}.header-actions .outline{padding:10px;font-size:10px}main{padding:25px 18px 0}.table-heading{margin-bottom:21px}h1{font-size:31px}.table-heading .eyebrow{font-size:8px}.table-heading p{font-size:9px}.game-layout{grid-template-columns:1fr}.table{padding:20px 18px 16px}.board-wrap{margin-top:20px}.table-meta{font-size:7px}.center-logo{font-size:clamp(22px,5.5vw,42px)}.center-kicker{font-size:8px;letter-spacing:1px}.board-center p{font-size:13px}.die{width:50px;height:50px;padding:10px;gap:3px}.center-turn{font-size:8px}.table-bottom{font-size:9px}.table-link{font-size:10px}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:25px}.history-panel{grid-column:2;grid-row:2}.property-panel{grid-column:1;grid-row:2;border-top:0;padding-top:0;align-self:start}.turn-panel{align-self:start}footer{line-height:1.8}footer>span:last-child{text-align:right;max-width:55%}}
@media(max-width:480px){.table{padding:17px 7px 13px;border-radius:7px}.table-meta{padding:0 8px;font-size:5.5px}.table-meta>span:last-child{letter-spacing:.5px}.board-wrap{margin:18px 0 10px}.center-kicker{font-size:5px;letter-spacing:1px}.center-logo{margin-top:11px;font-size:23px;letter-spacing:-1px}.center-logo span{font-size:6px;letter-spacing:4px;margin-top:6px}.center-line{margin-top:12px;width:24px}.board-center p{font-size:10px;margin:10px 0 14px}.die{width:36px;height:36px;border-radius:6px;padding:7px;gap:2px}.dice{gap:10px}.center-turn{font-size:5.5px;letter-spacing:.6px;margin-top:16px}.table-bottom{font-size:7px;margin:0 7px;gap:4px;padding-top:13px}.table-bottom>span{gap:4px}.table-link{font-size:8px}.table-link span{margin-left:3px}.sidebar{grid-template-columns:1fr;gap:24px}.players-panel{grid-row:2}.property-panel{grid-column:1;grid-row:3}.history-panel{grid-column:1;grid-row:4}.property-panel .card-preview{width:90px}.property-detail h3{font-size:24px}.property-values{gap:35px}.section-label{font-size:9px}#active-player h2{font-size:29px}.turn-panel{padding:23px}#message{min-height:0}.player-row{padding:13px 0}.player-row b{font-size:13px}.player-row strong{font-size:15px}.player-row small{font-size:11px}#history li{font-size:12px}.table-heading p{font-size:8px}.header-actions{gap:10px}.header-actions .quiet{font-size:10px}.brand{font-size:15px;letter-spacing:1px}.brand small{letter-spacing:1.6px}.topbar{padding:0 15px}.brand-mark{width:26px;font-size:25px;height:33px}.table-heading h1{font-size:29px}dialog{padding:30px 23px}.dialog-actions{gap:9px}.dialog-actions .quiet{font-size:10px}.dialog-actions .primary{font-size:11px;padding:13px 11px}footer{display:block}footer>span{display:block!important;max-width:100%!important;text-align:left!important;margin-bottom:9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

/* Imagen original, con una capa transparente para fichas y selección. */
.tile polygon{stroke:transparent;stroke-width:2;fill:transparent}
.tile:hover polygon,.tile:focus-visible polygon{fill:#fff5c51a;stroke:#ffe5a1;stroke-width:2}
.tile.selected polygon{fill:transparent;stroke:transparent}
.tile.selected:hover polygon,.tile.selected:focus-visible polygon{fill:#fff5c51a;stroke:#ffe5a1;stroke-width:2}
.ownership-level{font-size:12px;font-weight:bold;fill:#fff;stroke:#123e33;stroke-width:2;paint-order:stroke}
.board-wrap{isolation:isolate;border-radius:4px;overflow:hidden}
.board-deck{position:absolute;border:0;padding:0;background:#000;display:grid;place-items:center}
.board-deck img{width:100%;height:100%;object-fit:fill;display:block;border:3px solid #000}
.board-deck:hover{filter:brightness(1.1)}
.board-deck:focus-visible{outline-offset:2px}
.luck-deck{left:40.72%;top:20.54%;width:16.63%;height:14.17%}
.fate-deck{left:42.27%;top:65.72%;width:16.63%;height:14.17%}
.sidebar-dice{margin:19px 0 0;display:flex;align-items:center;gap:16px}
.sidebar-dice .dice{flex-shrink:0;gap:9px}
.sidebar-dice .die,.sidebar-dice .die:nth-child(2){width:38px;height:38px;padding:8px;gap:3px;border-radius:6px;transform:none;box-shadow:0 2px 0 #c1beaf}
.sidebar-dice .center-turn{font-size:8px;color:#6d7c64;margin:0;letter-spacing:.8px;line-height:1.6}
.property-management{clear:both;display:grid;gap:9px;padding-top:22px}
.property-management .section-label{margin:0 0 4px;font-size:8px}
.property-management .outline{width:100%;font-size:11px}
.management-hint{font-size:10px;line-height:1.6;color:#77866a;display:block;margin:5px 0 8px}
.management-row{display:flex;justify-content:space-between;gap:8px}
.management-row .quiet{font-size:10px}
.choice{display:flex;align-items:flex-start;gap:8px;font-size:11px;line-height:1.65;color:#65765a;margin:14px 0}
.choice input{width:15px;height:15px;padding:0;margin:2px 0 0;flex-shrink:0;accent-color:#214e3d}
.claims-panel{background:#f9f5e7;border:1px solid #d9d1b5;padding:18px;border-radius:6px}
.claims-panel[hidden]{display:none}
.claims-panel .section-label{margin-bottom:8px}.claims-panel>p{font-size:10px;line-height:1.7;color:#8b7b56;margin:0 0 8px}
.claim-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid #ded6be}
.claim-row b{font-size:11px;display:block}.claim-row small{display:block;font-size:10px;line-height:1.6;color:#85795d;margin-top:4px}
.claim-row .outline{padding:8px 10px;font-size:10px}
.debt-summary,.auction-summary p{font-size:12px;line-height:1.7;color:#67765c}
.auction-summary b{font-size:13px}.trade-total{font-size:11px;line-height:1.7;color:#65765a}
.danger{color:#a44239}.turn-panel .outline{margin-bottom:12px}
#bid-form>label{font-size:11px;display:block;margin:15px 0 8px}#bid-form>.choice{display:flex}
#bid-form .primary{margin-top:12px}#sale-form .primary{margin-top:20px}
@media(min-width:481px) and (max-width:800px){.claims-panel{grid-column:1/-1}.sidebar .history-panel,.sidebar .property-panel{grid-row:auto;grid-column:auto}}
@media(max-width:480px){.sidebar>section{grid-row:auto;grid-column:1}}
.player-token{position:relative;border:2px solid var(--player);background:#fff;overflow:visible;box-shadow:0 0 0 2px #f1f1e8}
.piece-sprite{width:100%;height:100%;display:block;border-radius:50%;background-repeat:no-repeat;background-color:white}
.piece-number{position:absolute;right:-4px;bottom:-4px;width:12px;height:12px;border-radius:50%;background:var(--player);color:#173f33;display:grid;place-items:center;font:8px Arial,sans-serif}
.player-token.large{width:49px;height:49px}.player-token.large .piece-number{width:15px;height:15px;font-size:10px}
.board-piece{overflow:hidden;pointer-events:none}.board-piece image{mix-blend-mode:multiply}
.player-setup-row{display:grid;grid-template-columns:minmax(0,1fr) 105px;gap:10px;align-items:center;margin-top:15px}
.player-setup-row .name-label{margin:0;min-width:0;gap:10px}.player-setup-row input{min-width:0}
.player-setup-row select{font-size:11px;padding:12px 6px}.setup-piece{display:block;flex-shrink:0}
.last-card{margin:17px 0 12px;padding:12px;background:#f3f0df;border-left:2px solid #ae9d68;border-radius:3px}
.last-card[hidden]{display:none}.last-card>span{font-size:7px;letter-spacing:1px;color:#8c7c50}.last-card>p{font-size:11px;line-height:1.7;color:#5f664b;margin:7px 0 0}
.release-cards{display:grid;gap:12px;margin-top:24px}.release-cards h3{font:20px Georgia,serif;margin:0}

/* El borde permanente sigue al jugador de turno, independientemente de la consulta. */
.tile.active-space polygon,.tile.active-space.selected polygon{fill:#ffe59828;stroke:#f7be43;stroke-width:4;paint-order:stroke;filter:drop-shadow(0 0 3px #281a08);pointer-events:all}
.tile.active-space:hover polygon,.tile.active-space:focus-visible polygon{stroke:#fff2ba;stroke-width:4}
.arrival-dialog{width:calc(100% - 32px);max-width:540px;padding:34px}
.arrival-dialog .close-button{z-index:1}
.drawn-card{text-align:center;border:2px solid #946a25;border-radius:8px;padding:28px 24px 32px;background:#fff7e4;color:#4e3615}
.drawn-card.fate{background:#edf3e5;border-color:#436044;color:#21482f}
.drawn-symbol{display:block;font:64px/1 Georgia,serif}
.drawn-card h2{font-size:36px;margin:9px 0 16px}
.drawn-card .drawn-recipient{font-size:12px;margin:0;color:inherit}
.drawn-card .drawn-text{font:22px/1.55 Georgia,serif;color:inherit;margin:24px 0 0}
.arrival-note{font-size:12px;line-height:1.65;color:#64745a}
.purchase-arrival{max-width:820px}
.purchase-arrival h2{font-size:30px;margin-right:12px}
.purchase-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:28px;margin-top:22px}
.purchase-card{display:block;width:100%;max-height:57dvh;object-fit:contain;border-radius:12px}
.purchase-player{margin-top:0}
.purchase-summary,.purchase-rents{margin:0;font-size:13px}
.purchase-summary>div,.purchase-rents>div{display:flex;justify-content:space-between;gap:16px;padding:7px 0}
.purchase-summary dd,.purchase-rents dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.purchase-summary>div:first-child{font-weight:bold;font-size:17px;color:#214e3d;border-bottom:1px solid #cbd3c0;margin-bottom:6px;padding-bottom:13px}
.purchase-details h3{font:20px Georgia,serif;margin:22px 0 9px}
.purchase-actions{display:flex;gap:14px;margin-top:25px}
.purchase-actions .primary{flex:1}
@media(max-width:600px){.arrival-dialog{padding:30px 22px}.purchase-layout{grid-template-columns:1fr;gap:20px}.purchase-card{max-height:43dvh;width:auto;max-width:100%;margin:auto}.purchase-arrival h2{font-size:26px}.purchase-actions{flex-direction:column}.drawn-card{padding:22px 18px}.drawn-card .drawn-text{font-size:20px}.purchase-details .purchase-player{font-size:12px}}

[hidden]{display:none!important}
.online-bar{display:flex;justify-content:space-between;gap:18px;align-items:center;background:#e1e8dc;border:1px solid #b7c9ae;padding:17px 20px;border-radius:7px;margin-bottom:28px;font-size:12px}
.online-bar>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.online-bar strong{letter-spacing:1px}.online-bar #online-status{color:#52694b}
.online-bar-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.online-bar .outline{padding:9px 12px}
.online-lobby{max-width:720px;margin:45px auto 65px}.online-lobby>p{font-size:14px;line-height:1.7;color:#61725b}
.lobby-members{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:30px 0}
.lobby-member{display:flex;align-items:center;gap:14px;padding:16px;background:#e4e8dc;border-radius:6px}
.lobby-member strong{font-size:14px;display:block}.lobby-member span:not(.player-token):not(.piece-sprite):not(.piece-number){font-size:11px;display:block;margin-top:6px;color:#64755e}
.online-lobby .primary{max-width:320px}.mode-options{display:grid;gap:15px;margin:25px 0 15px}
.mode-option{padding:23px;text-align:left;background:#e4e8dc;border:1px solid #c0cdb7;color:#214e3d;border-radius:7px}
.mode-option:hover{background:#d8e2d0}.mode-option strong{display:block;font:24px Georgia,serif;margin-bottom:9px}.mode-option span{font-size:12px;line-height:1.6}
.online-tabs{display:flex;gap:12px;margin:20px 0}.online-tabs [aria-pressed=true]{background:#214e3d;color:#fff;border-color:#214e3d}
.form-error{color:#a33129!important;font-size:13px!important}.waiting-turn{font-size:13px;line-height:1.7;color:#52694b}
@media(max-width:650px){.online-bar{align-items:stretch;flex-direction:column;padding:16px}.online-bar-actions{gap:6px 14px}.lobby-members{grid-template-columns:1fr}.online-lobby{margin:25px 0}.online-lobby h1{font-size:30px}.online-bar .quiet{font-size:11px}.online-tabs .outline{flex:1;padding:12px 8px}}

/* Ritmo del turno: los dados ruedan; el recorrido usa los pasos del motor. */
.turn-progress{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:15px;margin:12px 0 0;color:#f5eedb;font-size:12px;line-height:1.5}
#motion-count{flex-shrink:0;color:#f2c975;font-variant-numeric:tabular-nums;font-size:11px}
.sound-toggle{border:1px solid #8caa8a;background:transparent;color:#e1e4cf;border-radius:5px;font-size:10px;padding:7px 10px;white-space:nowrap}
.sound-toggle[aria-pressed=false]{color:#a9bba5;border-color:#627c65}
.table-bottom{flex-wrap:wrap}.table-bottom>span{flex:1;min-width:160px}
.sidebar-dice{flex-wrap:wrap;gap:14px}.sidebar-dice .dice{gap:15px;min-height:65px;align-items:center;padding:9px 6px;perspective:400px;overflow:visible}
.sidebar-dice .die,.sidebar-dice .die:nth-child(2){position:relative;display:block;width:46px;height:46px;padding:9px;box-shadow:0 3px 0 #b7b39d,2px 5px 0 #989a81,0 8px 12px #15372925;transform-origin:50% 65%;border:1px solid #fffdf2;background:linear-gradient(145deg,#fffdf3,#dedcc9)}
.die-face{width:100%;height:100%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:4px}
.dice-total{font:28px Georgia,serif;color:#244936;min-width:30px;font-variant-numeric:tabular-nums}
.sidebar-dice .center-turn{flex-basis:100%;margin-top:-5px}
.sidebar-dice .rolling .die{animation:dice-tumble .44s linear infinite}
.sidebar-dice .rolling .die:nth-child(2){animation:dice-tumble-other .5s linear infinite;animation-delay:-.19s}
@keyframes dice-tumble{0%{transform:translate(-4px,0) rotateX(0deg) rotateZ(-12deg)}25%{transform:translate(9px,-13px) rotateX(65deg) rotateZ(85deg)}50%{transform:translate(12px,-5px) rotateX(160deg) rotateZ(175deg)}75%{transform:translate(-7px,-16px) rotateX(280deg) rotateZ(270deg)}100%{transform:translate(-4px,0) rotateX(360deg) rotateZ(348deg)}}
@keyframes dice-tumble-other{0%{transform:translate(4px,-3px) rotateY(0deg) rotateZ(16deg)}25%{transform:translate(-9px,-15px) rotateY(85deg) rotateZ(-85deg)}50%{transform:translate(5px,1px) rotateY(175deg) rotateZ(-170deg)}75%{transform:translate(10px,-12px) rotateY(265deg) rotateZ(-260deg)}100%{transform:translate(4px,-3px) rotateY(360deg) rotateZ(-344deg)}}
/* Multiplicar el conjunto elimina el blanco de la foto también durante el salto.
   Sin filtro de sombra: la foto rectangular no debe proyectar su contorno. */
.moving-token{pointer-events:none;transform-origin:center;transform-box:fill-box;mix-blend-mode:multiply}
.drawn-card{animation:card-reveal .28s ease-out}
@keyframes card-reveal{from{opacity:.3;transform:translateY(12px) rotate(-2deg)}to{opacity:1;transform:none}}
@media(max-width:600px){.turn-progress{padding:0 7px;font-size:11px;min-height:46px}#motion-count{font-size:10px}.table-bottom{gap:10px}.table-bottom>span{flex-basis:100%}.sound-toggle{padding:8px 11px}.table-link{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.sidebar-dice .rolling .die,.drawn-card{animation:none!important}.moving-token{filter:none}}

@media(prefers-reduced-motion:no-preference){.sidebar-dice .dice:not(.rolling) .die{animation:dice-settle .24s ease-out}}
@keyframes dice-settle{0%{transform:translateY(-5px) rotate(-8deg)}55%{transform:translateY(2px) rotate(3deg)}100%{transform:none}}

/* Mesa de escritorio amplia. Se escala el SVG; la imagen original no se modifica.
   Este bloque es independiente del diseño móvil y se puede retirar para volver al anterior. */
@media(min-width:1400px) and (min-height:850px){
  .topbar{max-width:none;height:56px;padding:0 28px}
  main{max-width:none;padding:12px 28px 0}
  .table-heading{align-items:center;margin-bottom:10px}
  .table-heading .eyebrow{display:none}
  .table-heading h1{font-size:26px;margin:0;line-height:1.15}
  .table-heading p{margin:0}
  .game-layout{
    --desktop-board-width:min(1060px,calc((100dvh - 145px) * 776 / 706),calc(100vw - 740px));
    grid-template-columns:minmax(0,calc(var(--desktop-board-width) + 24px)) minmax(0,1fr);
    gap:20px;
  }
  .table{padding:10px 12px}
  .table-meta{min-height:16px;justify-content:flex-end;font-size:8px;letter-spacing:1px}
  .table-meta>span:first-child{display:none}
  .turn-progress{position:absolute;top:10px;left:12px;right:230px;min-height:16px;margin:0;font-size:11px;line-height:16px;gap:10px}
  #motion-caption{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
  #motion-count{font-size:10px}
  .board-wrap{width:100%;max-width:var(--desktop-board-width);margin:8px auto 6px}
  .table-bottom{padding-top:8px;gap:12px}
  .sidebar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:'turn players' 'claims claims' 'property history';gap:20px 24px;align-items:start;max-height:calc(100dvh - 145px);overflow-y:auto;overflow-x:hidden;padding-right:5px;scrollbar-width:thin}
  .turn-panel{grid-area:turn;padding:20px}
  .players-panel{grid-area:players}
  .claims-panel{grid-area:claims}
  .property-panel{grid-area:property}
  .history-panel{grid-area:history}
  .sidebar>section{min-width:0}
  .online-bar{padding:7px 12px;margin-bottom:10px;font-size:11px;gap:12px}
  .online-bar-actions{gap:10px}
  .online-bar .outline{padding:7px 10px}
  .online-bar .quiet{padding:7px 4px}
  .online-bar:not([hidden])~.game-layout{--desktop-board-width:min(1060px,calc((100dvh - 190px) * 776 / 706),calc(100vw - 740px))}
  footer{padding:8px 0}
}

/* Controles junto al jugador; el tablero queda libre de título y pie de guardado. */
.header-actions .sound-toggle{color:var(--green);border-color:#abb7a7;font-size:12px;padding:10px 12px}
.header-actions .sound-toggle[aria-pressed=false]{color:#748075;border-color:#c4cbbd}
.current-player-row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.current-player-row #active-player{min-width:0;flex:1}
.current-player-row #active-player>div{min-width:0}
.manage-titles{flex-shrink:0;max-width:115px;padding:10px 11px;font-size:11px;line-height:1.4;text-align:left}
.manage-titles span{margin-left:5px}
.round-status{font-size:10px;color:#75806c;margin:13px 0 0;line-height:1.5}
.round-status span{padding:0 5px;color:#a0aa99}
@media(max-width:600px){
 .topbar{height:auto;min-height:90px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:12px 18px}
 .header-actions{display:contents}
 .brand{grid-column:1;grid-row:1}
 .header-actions .sound-toggle{grid-column:2;grid-row:1;font-size:11px;padding:8px 10px}
 #rules-button{grid-column:1;grid-row:2;justify-self:start}
 #new-button{grid-column:2;grid-row:2;justify-self:end}
 .current-player-row{gap:12px}
 .manage-titles{max-width:105px;padding:10px;font-size:11px}
}

/* Existencias del banco al pie de los jugadores. */
.bank-stock{margin-top:12px;padding-top:12px;border-top:1px solid var(--line);font-size:10px;line-height:1.6;letter-spacing:.5px;color:#6d7c64}
.turn-progress:has(#motion-caption:empty){display:none}
@media(min-width:1400px) and (min-height:850px){
 .turn-progress{position:static;min-height:16px;margin:0;line-height:16px}
}

/* Dados cúbicos: seis caras fijas por dado, con caras opuestas que suman siete. */
.sidebar-dice .dice{--die-size:48px;--die-half:24px;appearance:none;border:0;background:transparent;box-shadow:none;border-radius:9px;cursor:pointer;perspective:420px;gap:24px;min-height:82px;padding:13px 10px;overflow:visible}
.sidebar-dice .dice:disabled{cursor:default;opacity:1}
.sidebar-dice .die,.sidebar-dice .die:nth-child(2){position:relative;width:var(--die-size);height:var(--die-size);padding:0;border:0;background:none;box-shadow:none;transform:rotateX(-15deg) rotateY(19deg);transform-style:preserve-3d;animation:none}
.sidebar-dice .die:nth-child(2){transform:rotateX(-19deg) rotateY(-18deg)}
.die-cube{position:absolute;inset:0;display:block;transform-style:preserve-3d;transform:rotateX(0deg) rotateY(0deg);transition:transform .28s ease-out}
.die-side{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:4px;padding:10px;border:1px solid #b8baa9;border-radius:6px;background:#f6f3e8;backface-visibility:hidden;box-shadow:inset 0 0 5px #ffffff}
.die-side .pip{border-radius:50%;background:#244936;box-shadow:inset 0 1px 2px #081b1570}
.die-side-1{transform:translateZ(var(--die-half))}
.die-side-6{transform:rotateY(180deg) translateZ(var(--die-half));background:#dedfce}
.die-side-3{transform:rotateY(90deg) translateZ(var(--die-half));background:#e3e4d6}
.die-side-4{transform:rotateY(-90deg) translateZ(var(--die-half));background:#ececdd}
.die-side-2{transform:rotateX(90deg) translateZ(var(--die-half));background:#fffdf4}
.die-side-5{transform:rotateX(-90deg) translateZ(var(--die-half));background:#d7dbca}
.die-cube[data-value="1"]{transform:rotateX(0deg) rotateY(0deg)}
.die-cube[data-value="2"]{transform:rotateX(-90deg) rotateY(0deg)}
.die-cube[data-value="3"]{transform:rotateX(0deg) rotateY(-90deg)}
.die-cube[data-value="4"]{transform:rotateX(0deg) rotateY(90deg)}
.die-cube[data-value="5"]{transform:rotateX(90deg) rotateY(0deg)}
.die-cube[data-value="6"]{transform:rotateX(0deg) rotateY(180deg)}
.sidebar-dice .rolling .die,.sidebar-dice .rolling .die:nth-child(2){animation:die-cube-bounce .52s ease-in-out infinite}
.sidebar-dice .rolling .die:nth-child(2){animation-delay:-.23s}
.rolling .die-cube{animation:die-cube-spin 2.06s cubic-bezier(.15,.65,.4,1) infinite;transition:none}
.rolling .die:nth-child(2) .die-cube{animation-name:die-cube-spin-other}
.sidebar-dice .dice:not(.rolling) .die{animation:none}
.sidebar-dice .dice:not(:disabled):hover .die-side{border-color:#b28d49}
@keyframes die-cube-spin{from{transform:rotateX(14deg) rotateY(0deg) rotateZ(0deg)}to{transform:rotateX(1094deg) rotateY(1440deg) rotateZ(360deg)}}
@keyframes die-cube-spin-other{from{transform:rotateX(-12deg) rotateY(20deg) rotateZ(0deg)}to{transform:rotateX(-1452deg) rotateY(-1060deg) rotateZ(-360deg)}}
@keyframes die-cube-bounce{0%,100%{transform:translateY(0) rotateX(-15deg) rotateY(19deg)}45%{transform:translate(3px,-9px) rotateX(-15deg) rotateY(19deg)}}
@media(prefers-reduced-motion:reduce){.rolling .die-cube,.sidebar-dice .rolling .die{animation:none!important}.die-cube{transition:none}}

/* El giro definitivo lo programa JavaScript hasta la orientación del resultado. */
.die-cube{transition:none}
.sidebar-dice .rolling .die,.sidebar-dice .rolling .die:nth-child(2),.rolling .die-cube,.rolling .die:nth-child(2) .die-cube{animation:none}
.sidebar-dice .anticipating .die,.sidebar-dice .anticipating .die:nth-child(2){animation:die-wait .55s ease-in-out infinite}
@keyframes die-wait{0%,100%{translate:0 0}50%{translate:0 -3px}}
@media(prefers-reduced-motion:reduce){.sidebar-dice .anticipating .die{animation:none!important}}

/* La acción principal comparte fila con los dados. */
.sidebar-dice{display:grid;grid-template-columns:auto 30px minmax(0,1fr);gap:9px 10px;align-items:center}
.sidebar-dice .dice{grid-column:1;grid-row:1;min-width:0;gap:18px;padding-left:6px;padding-right:6px}
.sidebar-dice .dice-total{grid-column:2;grid-row:1;font-size:25px}
.dice-actions{grid-column:3;grid-row:1;min-width:0}
.dice-actions .primary{font-size:11px;line-height:1.4;padding:12px 10px;gap:6px;min-height:48px;text-align:left}
.dice-actions .primary span{flex-shrink:0;font-size:15px}
.sidebar-dice .center-turn{grid-column:1/-1;grid-row:2;flex-basis:auto;margin:0}
.manage-titles{max-width:none;white-space:nowrap}
.manage-titles span{margin:0 4px 0 0}
@media(min-width:801px) and (max-width:1100px){
 .sidebar-dice{grid-template-columns:auto minmax(0,1fr);column-gap:12px}
 .sidebar-dice .dice-total{grid-column:1;grid-row:2;justify-self:center}
 .dice-actions{grid-column:2;grid-row:1/3}
 .sidebar-dice .center-turn{grid-row:3}
 .current-player-row{flex-wrap:wrap}
}

/* Chat de sala: panel independiente de los controles de turno. */
.chat-toggle{white-space:nowrap}.chat-unread{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:5px;padding:0 5px;border-radius:10px;background:var(--green);color:#fff;font-size:11px}.chat-panel{position:fixed;right:24px;bottom:24px;width:370px;max-width:calc(100vw - 32px);height:520px;max-height:calc(100dvh - 32px);z-index:40;display:flex;flex-direction:column;background:#f7f8f1;border:1px solid #bdc9b7;border-radius:12px;box-shadow:0 12px 50px #10332740;overflow:hidden}.chat-panel[hidden],.chat-toggle[hidden],.chat-unread[hidden]{display:none}.chat-heading{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--line);gap:10px}.chat-heading h2{font:21px Georgia,serif;margin:0 0 5px}.chat-heading span{font-size:11px;color:#63745e}.chat-messages{flex:1;overflow-y:auto;overscroll-behavior:contain;min-height:0;list-style:none;margin:0;padding:16px;display:flex;flex-direction:column;gap:12px}.chat-message{background:#e8eddf;padding:12px;border-radius:8px;max-width:94%;align-self:flex-start;width:100%;flex-shrink:0}.chat-message.is-mine{align-self:flex-end;background:#dce8dc}.chat-message>div{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.chat-message strong{font-size:11px;overflow-wrap:anywhere}.chat-message time{font-size:10px;color:#62735d;white-space:nowrap}.chat-message p{font-size:13px;line-height:1.5;margin:7px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.chat-empty{margin:auto;text-align:center;color:#64745e;font-size:13px;line-height:1.7}.chat-form{border-top:1px solid var(--line);padding:14px 16px}.chat-form label{display:block;font-size:11px;margin-bottom:8px}.chat-form>div{display:flex;gap:8px}.chat-form input{min-width:0}.chat-form button{flex-shrink:0}.chat-form p{font-size:11px;color:#944031;line-height:1.5;margin:8px 0 0}.chat-form p:empty{display:none}
@media(max-width:650px){.chat-panel{right:12px;bottom:12px;max-width:calc(100vw - 24px);width:calc(100vw - 24px);height:70dvh}.header-actions{flex-wrap:wrap;gap:8px}.chat-toggle{padding:8px 10px}}

#online-dialog:has(#lounge-view:not([hidden])){max-width:760px}.lounge-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.lounge-heading h3,#lounge-view>h3{font:22px Georgia,serif;margin:24px 0 14px}.lounge-rooms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lounge-room{border:1px solid var(--line);border-radius:8px;padding:17px;background:#fafbf5;min-width:0}.lounge-room h4{font:21px Georgia,serif;margin:0 0 8px;overflow-wrap:anywhere}.room-status{font-size:10px;font-weight:bold;color:#4d6953}.lounge-room p{font-size:12px;line-height:1.6;margin:10px 0;overflow-wrap:anywhere}.lounge-room small{display:block;color:#63745e;font-size:11px;line-height:1.6}.lounge-room button{margin-top:14px;max-width:100%}.lounge-empty{grid-column:1/-1;font-size:13px;color:#63745e}.admission-panel{border-top:1px solid var(--line);margin-top:20px;padding-top:10px}.admission-panel .primary{margin-top:12px}.join-requests{border:1px solid #bfccb2;background:#eaf0e2;padding:18px;border-radius:8px;margin:20px 0}.join-requests h2{font:23px Georgia,serif;margin:0 0 14px}.join-request{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.join-request strong{margin-right:auto;overflow-wrap:anywhere}.join-request button{padding:9px 12px}#online-form[hidden],#lounge-view[hidden],#create-room-fields[hidden],#admission-panel[hidden],#admission-choice[hidden],#join-requests[hidden]{display:none}
@media(max-width:550px){.lounge-rooms{grid-template-columns:1fr}.join-request{flex-wrap:wrap}.join-request strong{width:100%}}
