/* v1.7.2: inspect public cards without changing the active choice. */
.playing [data-peek]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}
.effect-footer .inspect-hint{display:block;font-size:10px!important;font-weight:600!important;color:#506444!important}
.inspect-pointer{display:none}
@media(hover:hover) and (pointer:fine){.inspect-pointer{display:inline}.inspect-touch{display:none}}
/* v1.5: one play surface and one message region. Supplemental detail is below it. */
.playing .site-header{height:44px;min-height:44px;padding:2px 12px;overflow:hidden}
.playing #brand{width:74px;margin:-7px 0}
.playing .game-shell{width:100%;max-width:1600px;padding:0 16px 20px}
.play-viewport{height:calc(100svh - 44px);height:calc(100dvh - 44px);min-height:500px;display:flex;flex-direction:column;padding-bottom:max(6px,env(safe-area-inset-bottom));gap:4px}
.play-viewport .game-top{flex:0 0 30px;min-height:30px;gap:4px}.game-top .text-button{padding:2px 7px;min-height:28px}.goal-label{font-size:11px}
.play-viewport .game-layout{display:flex;flex:1;min-height:0;min-width:0;width:100%;align-items:stretch;flex-direction:column;gap:5px;position:relative}
.play-viewport .table-area{display:flex;flex:1;width:100%;min-width:0;min-height:260px;flex-direction:column;gap:5px;grid-area:auto}
.play-viewport .route-note{display:none}
.play-viewport .seat-bar{flex:0 0 auto;margin:0;gap:5px}.play-viewport .seat{padding:3px 7px;border-top-width:3px}.play-viewport .seat>div:first-child{font-size:12px}.play-viewport .seat .number-track{display:none}.play-viewport .seat .hand-count{margin:0;min-height:14px;flex-wrap:nowrap}.play-viewport .seat .backs{display:flex}
.play-viewport .arena{flex:1;height:auto!important;min-height:210px;margin:0;border-radius:22px;overflow:hidden}
.arena-surface{position:absolute;inset:0}.arena-surface[inert]{pointer-events:none}
.play-viewport .arena-market{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:auto;height:auto;z-index:3;text-align:center}
.play-viewport .arena .arena-market .shared-market{display:block;min-height:0;border:0;background:none;box-shadow:none;padding:0}
.play-viewport .arena .arena-market .shared-market>div:first-child,.play-viewport .arena .arena-market .shared-market>.text-button{display:none}
.play-viewport .arena .arena-market .market-cards{display:flex;gap:4px;margin:4px 0 0;grid-template-rows:none}
.play-viewport .arena .arena-market .market-back{width:24px;height:34px;min-height:0;padding:0;margin:0}.arena-market .market-back span{font-size:10px!important;bottom:2px!important}
.arena-movement{white-space:nowrap;pointer-events:none}.arena-movement .step-count{font:bold 29px/1.05 system-ui;color:#a93926}.arena-movement .step-count small{font:700 12px system-ui}.arena-movement .clockwise-label{font-size:12px}
.play-viewport .guide-area{flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;border:1px solid #c5c7ab;background:#fffdf3;border-radius:10px;padding:7px 10px;max-height:118px;min-width:0;overflow:auto;scroll-margin-top:6px;box-shadow:0 2px 7px #51492912}
.guide-area .coach{border:0;box-shadow:none;padding:0;background:none;min-width:0}.guide-area .coach-heading{float:right;margin:0}.guide-area .coach-heading>span{display:none}.guide-area .coach-heading .text-button{padding:0 6px;min-height:24px;font-size:10px}.guide-area .coach h2{font-size:14px;line-height:1.45;margin:0}.guide-area .coach p,.guide-area .coach-goal{display:none!important}
.guide-area .command-bar{grid-column:2;grid-row:1/4;position:static;transform:none;inset:auto;width:auto;max-width:none;margin:0;padding:0;border:0;background:none;box-shadow:none;display:flex;align-items:center;gap:0}.guide-area .command-bar>div{display:none}.guide-area .command-bar .primary{min-height:40px;min-width:104px;max-width:160px;font-size:12px;padding:7px 11px}
.guide-area .cpu-talk{padding:0;min-height:0;gap:5px}.guide-area .cpu-talk>b{font-size:10px}.guide-area .cpu-talk>span{padding:1px 4px;border:0;background:none;font-size:11px;line-height:1.4}
.guide-area .interaction-feedback{position:static;inset:auto;transform:none;width:auto;grid-column:1/-1;z-index:auto;padding:5px 7px;border-width:1px;box-shadow:none;font-size:12px;line-height:1.5;pointer-events:auto;border-radius:5px}
.guide-area:has(.interaction-feedback:not([hidden])) .cpu-talk{display:none}
.guide-area .effect-dock{position:static;inset:auto;transform:none;width:auto;max-width:none;margin:0;padding:0;gap:8px;border:0;border-radius:0;background:none;box-shadow:none;max-height:none;overflow:visible}
.guide-area .effect-source-card{flex:0 0 40px;align-self:center}.guide-area .effect-source-card>img{width:100%;max-height:62px;object-fit:contain}.guide-area .effect-content{max-height:none}.guide-area .effect-heading{gap:4px}.guide-area .effect-heading strong{font-size:13px;line-height:1.4;gap:4px}.guide-area .effect-status{font-size:10px;padding:1px 4px}.guide-area .effect-die{width:18px;height:18px}.guide-area .effect-details{overflow:visible}.guide-area .effect-target{display:none}.guide-area .effect-instruction{font-size:12px;line-height:1.45;margin-top:2px}.guide-area .effect-footer{margin-top:2px}.guide-area .effect-footer>span{font-size:11px}
/* During ordinary playback, explain the current motion in this same region. */
.guide-area .coach:has(+ .interaction-feedback) p{display:none}.tutorial-mode .guide-area{max-height:160px}.tutorial-mode .guide-area .coach p{display:block!important;font-size:12px;line-height:1.55;margin-top:3px}
.player-dock{flex:0 0 auto;position:relative;min-width:0;width:100%}.player-dock .hand-area{padding:4px 9px;margin:0;border-radius:10px}.hand-title{gap:4px;margin:0}.play-viewport .hand-title h2{font-size:12px}.play-viewport .hand-title .text-button{font-size:10px;min-height:24px;padding:0 5px}
.play-viewport .hand-cards{min-height:0;display:flex;justify-content:center;overflow-x:auto;gap:10px;padding:8px 4px 3px;align-items:start}.play-viewport .hand-card{flex:0 0 68px;width:68px;max-width:none;min-width:0;aspect-ratio:auto}.play-viewport .hand-card>img{height:78px;width:100%;aspect-ratio:auto;object-fit:contain}.play-viewport .hand-card .readable-caption{min-height:0;padding:2px}.play-viewport .hand-card .readable-caption b{font-size:10px;line-height:1.4;justify-content:center;white-space:nowrap}.play-viewport .hand-card .readable-caption small,.play-viewport .hand-card .caption-die{display:none}.play-viewport .hand-number.dice-face{width:25px;height:25px;left:-3px;top:-3px}.play-viewport .hand-card .card-badge{font-size:7px;top:auto;bottom:17px;line-height:1.3}.play-viewport .hand-card.selected{transform:translateY(-3px)}
.play-viewport .placement-controls{position:static;transform:none;width:auto;display:flex;gap:10px;justify-content:center;margin:4px 0 0}.play-viewport .end-choice{min-height:34px;min-width:122px;font-size:12px;padding:4px 9px}.play-viewport .end-choice:last-child{margin-left:0}.sort-bar{margin-top:4px}
.board-extras{padding:16px 0;display:flex;flex-wrap:wrap;gap:8px}.board-extras .focus-pane,.board-extras .result-banner{width:100%}.board-extras .focus-cards{display:flex;gap:12px;overflow:auto}.board-extras .focus-card{flex:0 0 115px}
.return-effect{position:absolute;bottom:124px;left:0;right:0;width:max-content;max-width:calc(100% - 16px);margin-inline:auto;z-index:12;white-space:nowrap}
.return-effect.primary:hover:not(:disabled),.return-effect.primary:active,.return-effect.primary:focus-visible{transform:none}
/* The entire choice workflow overlays only the common board. */
.effect-overlay{position:absolute;inset:0;z-index:20;padding:8px;background:#17231ddd;display:flex;align-items:center;justify-content:center}
.effect-sheet{width:min(600px,100%);max-height:100%;display:flex;flex-direction:column;min-height:0;background:#fffbed;border:2px solid #d6b258;border-radius:13px;padding:8px;box-shadow:0 10px 35px #0006}
.effect-sheet-top{display:flex;align-items:center;flex:0 0 auto;gap:8px;font-size:12px}.effect-sheet-top>b{margin-right:auto;color:#975116}.effect-sheet-top .text-button{min-height:30px;padding:2px 6px;font-size:11px}
.effect-overlay .guide-area{display:block;margin:2px 0 6px;padding:0 2px 5px;max-height:130px;min-height:0;border:0;border-bottom:1px solid #dbcea4;border-radius:0;box-shadow:none;background:none;flex-shrink:0}.effect-overlay .effect-source-card{flex-basis:42px}.effect-overlay .effect-instruction{font-size:12px;line-height:1.45}.effect-overlay .effect-heading strong{font-size:13px}.effect-overlay .effect-target{display:block;font-size:11px;margin-top:2px}.effect-overlay .effect-footer>span{font-size:12px;color:#895215;font-weight:900}
.effect-choice-body{flex:1;min-height:52px;overflow:auto;overscroll-behavior:contain;padding:4px 3px 6px;scrollbar-width:thin}.effect-choice-footer{flex:0 0 auto;border-top:1px solid #dbcea4;padding-top:5px}.effect-choice-footer .command-bar{position:static;inset:auto;transform:none;width:auto;max-width:none;display:flex;gap:6px;border:0;box-shadow:none;background:none;margin:0;padding:4px 0 0}.effect-choice-footer .command-bar>div{flex:1}.effect-choice-footer .command-bar strong{font-size:12px;line-height:1.5}.effect-choice-footer .command-bar p{display:none}.effect-choice-footer .command-bar .primary{font-size:12px;min-height:40px;min-width:110px;max-width:none;padding:6px 10px}
.effect-choice-body .hand-area{padding:0;border:0;background:none;box-shadow:none}.effect-choice-body .hand-cards{flex-wrap:wrap;overflow:visible;gap:8px;justify-content:center;padding:8px 3px}.effect-choice-body .hand-card{width:52px;flex-basis:52px}.effect-choice-body .hand-card>img{height:63px}.effect-choice-body .hand-card .readable-caption b{font-size:9px}.effect-choice-body .hand-number.dice-face{width:24px;height:24px}
.arena .effect-choice-body .shared-market{display:block;min-height:0;padding:5px 0 0;background:none;border:0;box-shadow:none}.arena .effect-choice-body .shared-market>div:first-child{display:block;position:static;transform:none;text-align:left}.arena .effect-choice-body .shared-market small,.arena .effect-choice-body .shared-market>.text-button{display:none}.arena .effect-choice-body .market-cards{display:flex;gap:7px;justify-content:center;margin:5px 0}.arena .effect-choice-body .market-back{width:38px;height:48px;min-height:44px}.arena .effect-choice-body .shared-market b{font-size:12px}
.effect-options{margin:0;padding:3px;background:none;border:0}.effect-options .choice-row{margin:6px 0;gap:7px}.effect-options .choice,.effect-options .secondary{min-height:40px;font-size:13px}
.effect-lands{display:grid;gap:9px}.effect-lands section>b{display:block;font-size:12px}.effect-lands small{font-weight:normal}.effect-land-row{display:flex;gap:5px;flex-wrap:wrap;margin:4px 0}.effect-land{flex:1 0 42px;max-width:80px;position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;min-height:52px;padding:4px 2px;border:1px solid #b6c2a0;background:#fffef5;border-radius:6px}.effect-land span:last-child{font-size:10px}.effect-land.selected{background:#dcecc8;outline:3px solid #49713e}.effect-land.ineligible{opacity:.5}.effect-land .dice-face{width:25px;height:25px}
@media(max-width:800px){
 .playing .game-shell{padding:0 6px 16px;max-width:700px}.play-viewport{min-height:500px}.play-viewport .table-area{min-height:250px}.play-viewport .seat>div:first-child{font-size:11px}.play-viewport .seat{padding:2px 5px}.play-viewport .seat .backs{display:none}.play-viewport .seat .hand-count{font-size:9px}
 .play-viewport .guide-area{padding:6px 8px;gap:2px 6px;max-height:104px}.guide-area .coach h2{font-size:13px}.guide-area .command-bar .primary{min-width:98px;max-width:126px;font-size:11px}.guide-area .cpu-talk>span{font-size:10px}.guide-area .effect-source-card{flex-basis:34px}.guide-area .effect-heading strong{font-size:12px}.guide-area .effect-instruction{font-size:11px}.guide-area .effect-footer>span{font-size:10px}
 .play-viewport .arena .arena-market .market-cards{gap:3px}.play-viewport .arena .arena-market .market-back{width:14px;height:22px}.arena-movement .step-count{font-size:25px}.arena-movement .step-count small{font-size:11px}
 .play-viewport .hand-cards{gap:8px}.play-viewport .hand-card{width:58px;flex-basis:58px}.play-viewport .hand-card>img{height:65px}.play-viewport .hand-card .readable-caption b{font-size:9px}.play-viewport .hand-number.dice-face{width:25px;height:25px}.play-viewport .end-choice{min-height:32px}
 .effect-overlay{padding:6px}.effect-sheet{padding:6px}.effect-overlay .guide-area{max-height:125px;padding:2px 0 5px}.effect-overlay .effect-instruction{font-size:12px}.effect-overlay .effect-source-card{flex-basis:40px}.effect-overlay .effect-footer>span{font-size:12px}
 .tutorial-mode .guide-area{max-height:150px}.tutorial-mode .table-area{min-height:250px}
}
@media(max-width:800px) and (max-height:700px){
 .play-viewport .table-area{min-height:242px}.play-viewport .arena .land-position{width:24px}.play-viewport .arena .land-position[data-density="dense"]{width:21px}.play-viewport .arena .wolf-card{width:22px}.play-viewport .arena .facility-number.dice-face{width:20px;height:20px;top:0;left:0}.play-viewport .arena .owner-tag{font-size:7px;line-height:1.1}.play-viewport .arena .current-pin{font-size:7px;top:-13px}.play-viewport .land-position[data-bottom="true"] .current-pin{top:auto;bottom:-12px}
 .play-viewport .hand-card>img{height:56px}.play-viewport .hand-cards{padding-top:5px}.play-viewport .guide-area{max-height:88px}.play-viewport .effect-overlay .guide-area{max-height:116px}.tutorial-mode .guide-area{max-height:138px}
}
@media(max-width:360px){.play-viewport .hand-cards{gap:7px}.play-viewport .hand-card{width:50px;flex-basis:50px}.play-viewport .hand-title .text-button{font-size:9px}.play-viewport .seat>div:first-child{font-size:10px}}
@media(min-width:801px){.play-viewport{max-height:960px}.play-viewport .guide-area{max-height:100px}.play-viewport .table-area{min-height:290px}.play-viewport .arena-market{width:auto}.play-viewport .arena .land-position{width:43px}.play-viewport .arena .land-position[data-density="dense"]{width:32px}.play-viewport .arena .wolf-card{width:40px}.effect-choice-body .hand-card{width:74px;flex-basis:74px}.effect-choice-body .hand-card>img{height:95px}}
/* Selection advice and errors replace content within the same reserved region. */
.guide-area[data-preview="true"] .coach p{display:block!important;font-size:11px;line-height:1.45;max-height:34px;overflow:auto;margin-top:2px}
.guide-area[data-preview="true"] .cpu-talk{display:none}
.guide-area:has(.interaction-feedback:not([hidden])) .coach{display:none}
.guide-area:has(.interaction-feedback:not([hidden])) .effect-details{display:none}
@media(min-width:801px){.play-viewport .table-area{min-height:340px}.play-viewport .arena .land-position{width:36px}.play-viewport .arena .wolf-card{width:32px}}

@media(max-width:800px){.arena-movement .step-count{font-size:23px;line-height:1}.arena-movement .step-count small{font-size:10px}.arena-movement .clockwise-label{font-size:11px}.play-viewport .arena .arena-market .market-cards{margin-top:3px}}

/* v1.5.1: a column flex container must stretch its children; the old grid's
   align-items:start otherwise collapses the absolutely positioned arena. */
.play-viewport .game-layout>.guide-area{width:100%;min-width:0}
.play-viewport .table-area>.arena{width:100%;align-self:stretch}
@media(min-width:801px){
 .playing .site-header{max-width:1600px;padding-left:16px;padding-right:16px}
 .play-viewport .seat>div:first-child{font-size:14px}
 .play-viewport .seat .hand-count{font-size:11px}
 .play-viewport .hand-title h2{font-size:14px}
 .play-viewport .hand-title .text-button{font-size:12px}
}
@media(min-width:801px) and (min-height:760px){
 .player-dock .hand-card{width:82px;flex-basis:82px}
 .player-dock .hand-card>img{height:92px}
 .player-dock .hand-card .readable-caption b{font-size:11px}
}

/* A shared artwork size is used in every country, also on mobile. */
.play-viewport .arena .land-position,.play-viewport .arena .land-position[data-density="dense"]{width:var(--land-width,32px)}
@media(min-width:801px){
 .play-viewport .arena .land-position,.play-viewport .arena .land-position[data-density="dense"]{width:var(--land-width,52px)}
 .play-viewport .arena .facility-number.dice-face{width:clamp(24px,calc(var(--land-width,52px) * .43),40px);height:clamp(24px,calc(var(--land-width,52px) * .43),40px);left:-4px;top:-6px}
 .play-viewport .arena .owner-tag{font-size:clamp(8px,calc(var(--land-width,52px) * .14),12px)}
}

/* Place where the card will join your country, then confirm just above the hand. */
.placement-target{position:absolute;z-index:8;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:50px;min-height:48px;padding:4px 0;border:2px dashed #64834f;border-radius:8px;background:#fffcebed;box-shadow:0 2px 6px #2a402833}
.placement-target b{font-size:8px;white-space:nowrap}.placement-target .dice-face{width:24px;height:24px}.slot-plus{font:700 24px/1 system-ui;color:#49713e}
.placement-target.chosen{border-style:solid;border-color:#3d673b;background:#dcf0ca;box-shadow:0 0 0 3px #61834760}.placement-target:hover:not([aria-disabled="true"]){background:#e3f0d4}.placement-target[aria-disabled="true"]{opacity:.55}
.placement-submit{flex:0 0 auto}.placement-submit .command-bar{position:static;inset:auto;transform:none;min-height:44px;margin:0;padding:4px 8px;gap:8px;box-shadow:none;border-width:1px;background:#fffcef}.placement-submit .command-bar>div{flex:1}.placement-submit .command-bar strong{font-size:11px;line-height:1.4}.placement-submit .command-bar p{font-size:11px;line-height:1.4;margin:1px 0 0}.placement-submit .primary{font-size:12px;min-height:36px;min-width:106px;max-width:none;padding:5px 10px}
.placement-submit .primary:hover:not(:disabled){transform:none}
@media(min-width:801px){.placement-target{width:56px;min-height:60px}.placement-target b{font-size:9px}.placement-target .dice-face{width:32px;height:32px}.placement-submit .command-bar strong,.placement-submit .command-bar p{font-size:13px}}
/* The effect sheet preserves route context while the table behind it is dimmed. */
.effect-route{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:11px;margin:4px 0 6px}.effect-route>span{padding:3px 6px;border:1px solid #d0c9ae;background:#f4eed9;border-radius:5px}.effect-route>span.yours{background:#dceccf;border-color:#84a16c;font-weight:700}.effect-route small{font-size:10px}.effect-route>b{color:#9a8154}
.distance-key,.teleport-note{font-size:11px;line-height:1.5;margin:3px 0 8px;color:#516245}.teleport-note{margin-top:6px;margin-bottom:0}
.effect-lands .your-country{padding:5px;background:#e5eedb;border-radius:6px}.effect-land-row{gap:5px;flex-wrap:nowrap}.effect-land{min-width:0;max-width:100px;flex:1 1 0;padding:5px 1px;gap:3px}.effect-land-art{position:relative;display:block;width:40px;max-width:100%}.effect-land-art>img{width:100%;height:auto;aspect-ratio:630/878;object-fit:contain;border-radius:3px}.effect-land-art>.dice-face{position:absolute;top:-3px;left:-4px;width:24px;height:24px}.effect-land .land-distance{font-size:10px;line-height:1.35;color:#456837;white-space:normal}.effect-land.ineligible .land-distance{color:inherit}
@media(min-width:801px){.effect-land-art{width:50px}.effect-land .land-distance{font-size:12px}.effect-land span:last-child{font-size:11px}}
@media(max-width:360px){.effect-land-art{width:32px}.effect-land-art>.dice-face{width:20px;height:20px}.effect-land .land-distance{font-size:9px}}
.placement-submit{align-self:center;width:min(620px,100%)}.placement-submit .command-bar strong{display:none}
.effect-land>span:not(.effect-land-art){font-size:10px;line-height:1.4}

/* Reading priority: wolf, travel count, then the numbered route. */
.play-viewport .arena .wolf-card{width:var(--readable-wolf,40px);filter:drop-shadow(0 3px 2px #fff8d9) drop-shadow(0 5px 6px #64241380)}
.play-viewport .arena-market{top:var(--center-y,50%)}
.play-viewport .arena-movement .step-count{font-size:var(--readable-step,36px);font-weight:900;line-height:1;color:#a33120;text-shadow:0 2px #fff9db;font-variant-numeric:tabular-nums}
.play-viewport .arena-movement .step-count small{font-size:var(--readable-unit,14px);line-height:1;font-weight:800}
.play-viewport .arena-movement .step-count.completed{font-size:min(var(--readable-step,32px),32px)}
.play-viewport .arena-movement .clockwise-label small{display:block;font:inherit}
.play-viewport .arena-movement .clockwise-label{line-height:1.1}
.play-viewport .arena .arena-market .market-cards{gap:var(--readable-gap,3px);margin-top:2px}
.play-viewport .arena .arena-market .market-back{width:var(--readable-backWidth,14px);height:var(--readable-backHeight,22px)}
.play-viewport .arena-market .market-back span{font-size:clamp(8px,calc(var(--readable-backWidth,14px) * .42),12px)!important}
.play-viewport .arena .path-count,.play-viewport .arena .slot-path-count{position:absolute;left:50%;right:auto;top:50%;transform:translate(-50%,-50%);z-index:5;display:grid;place-items:center;min-width:1.6em;min-height:1.6em;padding:2px 5px;border:2px solid #8b4e12;border-radius:30px;background:#fff1a2;color:#632b0c;font:900 var(--readable-path,18px)/1 system-ui;white-space:nowrap;box-shadow:0 2px 5px #50311d66;pointer-events:none}
.play-viewport .arena .slot-path-count{top:-8px}
.play-viewport .arena .current-pin{font-size:var(--readable-pin,11px);line-height:1.25;padding:2px 5px;top:calc(-1.25 * var(--readable-pin,11px) - 7px);box-shadow:0 2px 4px #0003}
.play-viewport .arena .land-position[data-bottom="true"] .current-pin{top:auto;bottom:calc(-1.25 * var(--readable-pin,11px) - 7px)}
.play-viewport .arena .land-position .current-pin,.play-viewport .arena .land-position[data-bottom="true"] .current-pin{top:var(--pin-top,-24px);bottom:auto}
.effect-land .land-distance{font-size:12px;font-weight:900}.effect-route{font-size:12px}
@media(min-width:801px){.effect-land .land-distance{font-size:15px}.effect-route{font-size:14px}}

/* One brief, automatic announcement exactly when a public facility activates. */
.effect-cutin{position:fixed;inset:0;z-index:65;display:flex;align-items:center;justify-content:center;padding:12px;pointer-events:none;background:radial-gradient(ellipse,#223827e8,#22382788 60%,#22382733);border-radius:20px;overflow:hidden}
.effect-cutin-panel{display:flex;align-items:center;justify-content:center;gap:24px;width:min(560px,100%);padding:18px 28px;background:linear-gradient(115deg,#fffae4,#fff0b9);border-top:4px solid #d9ad42;border-bottom:4px solid #d9ad42;box-shadow:0 12px 35px #10251566;transform:rotate(-2deg)}
.effect-cutin-panel>img{width:clamp(56px,10vw,110px);aspect-ratio:630/878;object-fit:contain;filter:drop-shadow(0 5px 5px #443b4066);transform:rotate(-7deg)}
.effect-cutin-copy{display:flex;flex-direction:column;gap:5px;min-width:0;color:#304d2e;transform:rotate(2deg)}
.effect-cutin-owner{font-size:clamp(18px,3vw,28px);font-weight:800}.effect-cutin-title{font-size:clamp(30px,5vw,50px);font-weight:900;line-height:1.15;white-space:nowrap}.effect-cutin-badge{align-self:flex-start;font-size:clamp(16px,2.8vw,24px);line-height:1.4;color:#a63520;border-bottom:3px solid #d99539}
.music-settings{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:12px;margin:10px 0 15px;background:#f0e8cc;border-radius:10px}.music-settings button{grid-row:1/3}.music-settings label{font-size:13px;font-weight:700}.music-settings input{width:100%;accent-color:#4d7542}.music-settings small{grid-column:1/-1;font-size:11px}
@media(max-width:480px){.effect-cutin-panel{gap:16px;padding:12px 18px}.effect-cutin{padding:8px}}
@media(prefers-reduced-motion:reduce){.effect-cutin-panel,.effect-cutin-copy,.effect-cutin-panel>img{transform:none}}

/* Spatial decisions stay on the real board. The shared backs yield to a distance key. */
.board-picking .land-card.targetable{outline:2px solid #497b3e;outline-offset:2px;box-shadow:0 0 12px #97bb4b99}
.board-picking .land-card.choice-ineligible{opacity:.35;filter:grayscale(.9)}
.board-picking .land-card[aria-pressed="true"]{outline:3px solid #b56d0e;outline-offset:3px;box-shadow:0 0 0 6px #f9cf6a88}
.board-picking .land-card:hover{transform:none}
.board-distance{position:absolute;z-index:4;left:50%;top:52%;transform:translate(-50%,-50%);display:flex;align-items:baseline;gap:1px;white-space:nowrap;border:1px solid #f3efba;border-radius:5px;background:#274c2df2;color:#fffbe2;padding:2px;pointer-events:none;box-shadow:0 2px 4px #243d3255}
.board-distance b{font:900 clamp(14px,calc(var(--land-width,32px) * .52),26px)/1.1 system-ui}.board-distance small{font-size:8px;font-weight:700}
.board-picking .land-card[aria-pressed="true"] .board-distance{background:#ffdc78;color:#603400;border-color:#995608}
.play-viewport .board-distance-key{width:90px;pointer-events:none;line-height:1.25;color:#36512d}.board-distance-key strong{display:block;font-size:14px}.board-distance-key span{display:block;font-size:10px;margin-top:3px}.board-distance-key small{display:block;font-size:9px;margin-top:2px}
.board-choice-submit .command-bar p{font-weight:700;color:#365b2e}.board-choice-submit .primary{min-height:40px}
@media(min-width:801px){.play-viewport .board-distance-key{width:170px}.board-distance-key strong{font-size:20px}.board-distance-key span{font-size:13px}.board-distance-key small{font-size:11px}.board-distance small{font-size:10px}}

/* Results stay in the centre of the greyed board, with an always-visible next action. */
.arena.has-result .arena-surface,.table-area.has-result .seat-bar,.result-visible .player-dock{filter:grayscale(1);opacity:.42}
.result-overlay{position:absolute;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:10px;background:#575c6380}
.play-viewport .result-sheet.guide-area{display:flex;flex-direction:column;width:min(620px,100%);max-height:100%;min-height:0;gap:8px;padding:15px;background:#fff9e7;border:2px solid #c4a151;border-radius:14px;box-shadow:0 10px 30px #19201966;overflow:hidden;animation:result-enter .3s ease-out}
.result-scroll{overflow:auto;min-height:0;overscroll-behavior:contain;scrollbar-width:thin}
.result-sheet .result-banner,.result-sheet .result-banner.match-result{display:block;text-align:center;margin:0;padding:0;border:0;box-shadow:none;background:none}
.result-sheet .result-symbol{display:block;font-size:38px;line-height:1.1}.result-sheet .result-label{font-size:12px;letter-spacing:0;margin:3px 0}.result-sheet h2{font-size:clamp(24px,4vw,36px);line-height:1.25;margin:5px 0;color:#6b461e}.result-sheet .loss h2{color:#415267}
.result-sheet .result-banner p{font-size:13px;line-height:1.5;margin:7px 0}.result-sheet .result-points{justify-content:center;gap:5px;flex-wrap:wrap}.result-sheet .result-points>span{font-size:12px;padding:5px 8px;background:#fffdf5;border:1px solid #d2c4a0;border-radius:6px}.result-sheet .result-points b{font-size:18px}.result-sheet .result-points em{font-size:12px}
.result-actions{flex:0 0 auto;border-top:1px solid #dbcca4;padding-top:8px}.result-actions .command-bar{display:flex;margin:0;padding:0;justify-content:center}.result-actions .command-bar>div{display:none}.result-actions .command-bar .primary{width:100%;max-width:none;min-height:42px;font-size:15px}
.result-sheet .interaction-feedback{flex:0 0 auto}.result-sheet .burst-proof{justify-content:center}
@keyframes result-enter{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
@media(max-height:700px){.result-overlay{padding:6px}.play-viewport .result-sheet.guide-area{padding:9px;gap:6px}.result-sheet .result-symbol{display:none}.result-sheet .result-label{font-size:11px}.result-sheet h2{font-size:24px}.result-sheet .result-banner p{font-size:11px;margin:4px 0}.result-sheet .result-points>span{font-size:10px;padding:3px 5px}.result-sheet .result-points b{font-size:15px}.result-actions{padding-top:5px}}
@media(prefers-reduced-motion:reduce){.play-viewport .result-sheet.guide-area{animation:none}}

/* v1.8.0: short, board-centred scenes; all timing belongs to effects.js. */
.fx-turn,.fx-finale{position:fixed;inset:0;z-index:68;overflow:hidden;pointer-events:none;border-radius:18px;--scene-unit:110px;isolation:isolate}
.fx-turn{display:grid;place-items:center;background:radial-gradient(ellipse,#244d38b8,transparent 75%)}
.fx-turn-panel{width:100%;display:flex;flex-direction:column;align-items:center;gap:3px;padding:15px 12px;background:linear-gradient(100deg,#234935ef,#3f7752fa,#234935ef);color:#fff8d9;border-block:3px solid #edc55d;box-shadow:0 12px 35px #18332488;text-align:center}
.fx-turn-crown{font-size:28px;color:#fadd83;line-height:1}.fx-turn-panel strong{font-size:clamp(30px,5vw,64px);line-height:1.2;text-shadow:0 3px 0 #163725;letter-spacing:.05em}.fx-turn-detail{font-size:clamp(12px,2vw,18px)}
.fx-step-ring{position:fixed;z-index:59;pointer-events:none;width:65px;height:65px;border:4px solid #80c888;border-radius:50%;box-shadow:0 0 16px #8fcf6f99;background:radial-gradient(circle,#e6ffb633,transparent 70%)}
.fx-step-ring.final{border-color:#ffc85b;width:90px;height:90px;box-shadow:0 0 20px #efb64699}
.arena-movement .step-count{display:inline-block;transform-origin:center}
.fx-finale{background:radial-gradient(ellipse at 30% 60%,#fbdfa3ef,#273c31ed 88%);border:2px solid #c9ac69}
.fx-finale.burst{background:radial-gradient(ellipse at 27% 64%,#f8d6b5f2,#453237f2 87%);border-color:#ba724a}
.fx-finale [hidden]{display:none!important}
.fx-finale-heading{position:absolute;top:5%;left:3%;right:3%;text-align:center;z-index:6;line-height:1.25;color:#fff5d6;text-shadow:0 2px 4px #261f24}
.fx-finale-owner{display:block;font-size:clamp(12px,2vw,21px);margin-bottom:4px}.fx-finale-title{display:block;font-weight:900;font-size:clamp(19px,3.7vw,43px)}
.fx-finale-caption{position:absolute;left:3%;right:3%;bottom:5%;z-index:6;text-align:center;color:#fff5df;font-size:clamp(11px,1.7vw,18px);font-weight:800;line-height:1.3;text-shadow:0 2px 4px #382626;background:#223529ad;border-radius:20px;padding:5px 10px;margin:0 auto;width:fit-content;max-width:94%}
.fx-lord,.fx-castle{position:absolute;left:26%;top:55%;width:var(--scene-unit);transform:translate(-50%,-50%);z-index:3;filter:drop-shadow(0 6px 3px #382b3844)}
.fx-lord svg,.fx-castle svg{display:block;width:100%;height:auto}
.fx-castle{width:calc(var(--scene-unit)*1.4)}
.fx-finale-wolf{position:absolute;left:76%;top:55%;width:calc(var(--scene-unit)*.68);height:auto;max-width:none;transform:translate(-50%,-50%) rotate(0deg);z-index:3;border-radius:6px;box-shadow:0 6px 18px #2226}
.fx-panic-hand{position:absolute;left:22%;right:22%;bottom:1%;display:flex;justify-content:center}.fx-panic-hand img{width:42%;margin-left:-11%;transform:rotate(var(--fan));transform-origin:center bottom;border-radius:2px;box-shadow:1px 1px 2px #2227}
.fx-foundation{position:absolute;top:82%;left:0;right:0;display:flex;gap:2px;justify-content:center}.fx-foundation img{width:14%;border-radius:3px;box-shadow:0 3px 3px #7a571966}
.fx-bomb{position:absolute;left:26%;top:62%;z-index:5;transform:translate(-50%,-50%);width:calc(var(--scene-unit)*.32);aspect-ratio:1;background:radial-gradient(circle at 30% 25%,#9c9ca5,#292631 50%,#100f15 85%);border:2px solid #18131d;border-radius:50%;box-shadow:0 6px 8px #17142155}
.fx-bomb::before{content:'';position:absolute;left:43%;top:-28%;width:42%;height:35%;border-top:4px solid #f5b25a;border-radius:60%;transform:rotate(-35deg)}
.fx-bomb::after{content:'✦';position:absolute;right:-9%;top:-58%;color:#ffe1a1;text-shadow:0 0 7px #ff6927;font-size:calc(var(--scene-unit)*.24)}
.fx-country-aura{position:absolute;left:26%;top:55%;width:calc(var(--scene-unit)*2.2);aspect-ratio:1;z-index:1;transform:translate(-50%,-50%);border-radius:50%;background:repeating-conic-gradient(#ffe393aa 0deg 12deg,transparent 12deg 28deg),radial-gradient(circle,#fff1aa 7%,#f1c35188 43%,transparent 70%);box-shadow:0 0 35px #ffe18daa}
.fx-blast{position:absolute;left:26%;top:58%;width:calc(var(--scene-unit)*1.7);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:44% 56% 40% 60%;z-index:5;background:radial-gradient(circle,#fff4b4 0 16%,#ffc253 28%,#ec792e 44%,#9e4120cc 60%,transparent 73%);box-shadow:0 0 25px #ee853977}
.fx-finale[data-phase="explode"] .fx-finale-title{color:#ffd281;font-size:clamp(30px,5vw,62px)}
.fx-finale[data-phase="explode"] .fx-lord{opacity:.25;transform:translate(-50%,-50%) translateY(36px) rotate(-13deg) scale(.65)}
.fx-finale[data-phase="success"] .fx-finale-title{color:#fff2a4;font-size:clamp(30px,5vw,62px)}
.fx-finale[data-phase="power"] .fx-castle,.fx-finale[data-phase="repel"] .fx-castle,.fx-finale[data-phase="success"] .fx-castle{filter:brightness(1.2) drop-shadow(0 0 15px #ffe17b)}
@media(max-width:480px){.fx-turn-panel{padding:10px}.fx-turn-crown{font-size:21px}.fx-finale-owner{margin-bottom:2px}.fx-finale-caption{padding:3px 8px}.fx-step-ring{width:46px;height:46px;border-width:3px}.fx-step-ring.final{width:62px;height:62px}}
@media(prefers-reduced-motion:reduce){.fx-step-ring{display:none}.fx-country-aura{background:radial-gradient(circle,#ffe99c99,transparent 70%);box-shadow:none}.fx-blast{opacity:.7}.fx-finale[data-phase="repel"] .fx-finale-wolf{opacity:.3}}

/* v1.9.0: select on the board itself, then confirm beside the hand. */
.play-viewport .seat.country-pickable{outline:2px solid #518243;outline-offset:-2px;cursor:pointer;background:#f0f8df;min-height:48px;text-align:left;transition:background .12s}
.play-viewport .seat.country-pickable:hover{transform:none;background:#e1efc9}
.play-viewport .seat.country-selected{outline:3px solid #c88f22;background:#fff1b9}
.country-pick-label{display:block;font-size:11px;font-weight:900;line-height:1.3;margin-top:2px;color:#385932}
.play-viewport .seat.country-ineligible{opacity:.48;cursor:default;text-align:left}
.country-picking .land-card.targetable{outline:2px solid #518243;outline-offset:2px;box-shadow:0 0 12px #86b95777}
.country-picking .land-card.selected{outline:3px solid #cc9e36;box-shadow:0 0 0 5px #ffea8788}
.country-picking .land-card.choice-ineligible{opacity:.4;filter:grayscale(.8)}
.country-picking .land-card:hover{transform:none}
.effect-submit{width:min(760px,100%);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.effect-submit .command-bar{flex:1 1 230px;min-width:0}
.effect-submit .command-bar strong{display:block;font-size:12px;line-height:1.35}
.effect-submit .command-bar p{display:none}
.effect-submit .command-bar .primary{min-height:44px;min-width:116px;font-size:12px;padding:6px 10px}
.trade-count{display:flex;align-items:center;gap:5px;flex:0 0 auto;font-size:12px;background:#f6efd9;padding:3px 5px;border-radius:9px;border:1px solid #d9cc9f}
.trade-count .secondary{min-width:40px;min-height:40px;padding:2px 7px;margin:0;font-size:22px}.trade-count strong{min-width:34px;text-align:center}
.play-viewport .player-dock.hand-choice .hand-area{border:2px solid #70904c;background:#f4f8e7}
.play-viewport .arena.farm-picking{min-height:400px}
.play-viewport .arena.farm-picking .arena-market .market-cards{display:grid;grid-template-columns:repeat(3,var(--farm-card,44px));grid-template-rows:repeat(2,var(--farm-card,44px));gap:4px;margin:0}
.play-viewport .arena.farm-picking .arena-market .market-back{width:var(--farm-card,44px);height:var(--farm-card,44px);min-width:44px;min-height:44px;background:#f9f5e2;border:1px solid #668445;border-radius:6px;padding:1px;box-shadow:0 1px 3px #3c4f2944}
.play-viewport .arena.farm-picking .arena-market .market-back img{width:100%;height:100%;object-fit:contain}
.play-viewport .arena.farm-picking .arena-market .market-back span{font-size:14px!important;min-width:18px;background:#fff8df;color:#294a33;border-radius:4px}
.play-viewport .arena.farm-picking .arena-market .market-back.selected{outline:3px solid #c99328;outline-offset:0;background:#ffedac;transform:none}
.play-viewport .arena.farm-picking .arena-market .market-back:hover{transform:none}
.farm-picking .arena-movement{display:none}
@media(max-width:800px){.play-viewport .arena.farm-picking{min-height:284px}.game-shell:has(.farm-picking) .play-viewport{min-height:665px}.country-pick-label{font-size:10px}.effect-submit{gap:4px}.trade-count{gap:3px}.trade-count>b{display:none}.effect-submit:has(.trade-count) .command-bar{flex-basis:205px}.effect-submit:has(.trade-count) .command-bar strong{font-size:11px}}

/* v1.10.0: the people involved are the focal point of each effect announcement. */
.effect-cutin-panel{display:grid;grid-template-columns:auto minmax(0,1fr);width:min(680px,100%);gap:8px 18px;padding:12px 22px;transform:none;border-radius:10px}
.effect-cutin-panel>img{width:clamp(44px,7vw,76px);justify-self:end}
.effect-cutin-copy{gap:3px;transform:none}.effect-cutin-owner{font-size:clamp(13px,2vw,20px)}.effect-cutin-title{font-size:clamp(24px,3.6vw,38px)}.effect-cutin-badge{font-size:clamp(12px,1.8vw,17px);border:0}
.effect-cutin-parties{grid-column:1/-1;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;text-align:center}
.effect-party-targets{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;min-width:0}
.effect-party{display:block;padding:3px 10px;border:2px solid #9fa87a;border-radius:8px;background:#f8ffe9;color:#304d2e;font-size:clamp(18px,3vw,31px);font-weight:900;line-height:1.2;white-space:nowrap}
.effect-party.is-human{background:#a54027;border-color:#862e1b;color:#fffbea;box-shadow:0 0 0 3px #eec76a}
.effect-party-arrow{font-size:clamp(22px,3vw,34px);font-weight:900;line-height:1}
.effect-party-all{flex-basis:100%;font-size:13px;line-height:1.2}
.effect-cutin-detail{grid-column:1/-1;font-size:clamp(12px,1.8vw,17px);line-height:1.4;text-align:center;color:#4f5235;font-weight:700}
.effect-cutin[data-human="true"]{background:radial-gradient(ellipse,#735022d9,#22382799 65%,#22382744)}
.effect-cutin[data-human="true"] .effect-cutin-panel{border-color:#e8b238;box-shadow:0 0 0 2px #fff1b7,0 0 30px #ffdd7688}
.effect-cutin[data-human="true"] .effect-cutin-badge{color:#a23320;font-weight:900}
.game-top>div:last-child{display:flex;align-items:center;gap:4px}
.game-top .move-speed{min-width:98px;border:1px solid #afb78d;background:#f2f6e4;border-radius:7px;font-size:12px;font-weight:800;white-space:nowrap}
.game-top .move-speed[aria-pressed="true"]{color:#fff9df;background:#547348;border-color:#547348}
.game-top .move-speed:hover{transform:none}
@media(max-width:480px){.effect-cutin-panel{gap:5px 10px;padding:8px 12px;border-block-width:3px}.effect-cutin-panel>img{width:44px}.effect-cutin-copy{gap:2px}.effect-cutin-title{font-size:24px}.effect-cutin-owner{font-size:12px}.effect-cutin-badge{font-size:11px}.effect-cutin-parties,.effect-party-targets{gap:5px}.effect-party{font-size:17px;padding:3px 7px}.effect-party-all{font-size:11px}.effect-cutin-detail{font-size:11px}.game-top .goal-label{display:none}.game-top .move-speed{min-width:91px;font-size:11px}}

/* Keep one readable message region beside the board, outside card coordinates. */
.play-viewport:has(.has-board-note){min-height:620px}
.play-viewport .table-area:has(.has-board-note){min-height:min-content}
.play-viewport:has(.farm-picking.has-board-note){min-height:820px}
.play-viewport .arena.has-board-note{display:flex;flex-direction:column;min-height:326px}
.has-board-note>.arena-surface{position:relative;inset:auto;flex:1 1 auto;min-height:210px;width:100%}
.board-note{flex:0 0 112px;height:112px;min-width:0;position:relative;z-index:4;border-top:1px solid #b4b99a;background:#fffdf3}
.play-viewport .board-note .guide-area{height:100%;max-height:none;min-height:0;margin:0;border:0;border-radius:0;box-shadow:none;padding:7px 12px;align-content:start;overflow:auto;overscroll-behavior:contain}
.board-note .effect-content{min-width:0}.board-note .effect-heading strong{font-size:14px}
.board-note .effect-target{display:block;font-size:14px;line-height:1.4;font-weight:900;color:#7c3c20;margin:2px 0;overflow-wrap:anywhere}
.board-note .effect-instruction{font-size:12px;margin:2px 0;line-height:1.45}
.board-note .effect-footer{margin-top:2px}.board-note .effect-source-card{flex-basis:42px}
.board-note .guide-area:has(.interaction-feedback:not([hidden])) .effect-details{display:block}
.effect-memory{grid-column:1;min-width:0;padding-top:3px;border-top:1px solid #dcdcc8;font-size:12px;line-height:1.4}
.effect-memory>span{display:block;color:#5b604b;font-size:11px}.effect-memory>strong{display:block;color:#385735;font-size:14px;overflow-wrap:anywhere}.effect-memory[data-human="true"]>strong{color:#963a24}
.effect-memory>p{margin:1px 0 0;line-height:1.4}
.play-viewport .arena.farm-picking.has-board-note{min-height:516px}.farm-picking.has-board-note>.arena-surface{min-height:400px}
@media(max-width:800px){.play-viewport:has(.farm-picking.has-board-note){min-height:690px}.play-viewport .arena.farm-picking.has-board-note{min-height:400px}.farm-picking.has-board-note>.arena-surface{min-height:284px}.play-viewport .board-note .guide-area{padding:6px 8px}.board-note .effect-heading strong{font-size:12px}.board-note .effect-target,.effect-memory>strong{font-size:13px}.board-note .effect-instruction,.effect-memory{font-size:11px}.board-note .effect-source-card{flex-basis:36px}}
