/* The table follows the engine's clockwise ring. Facilities and the full wolf card
   occupy separate concentric lanes; transforms never stretch the artwork. */
.playing{background:radial-gradient(ellipse at 50% 30%,#fff8df,#eef0df 70%)}
.game-shell{max-width:1240px}.game-layout{grid-template-columns:minmax(0,1fr) 270px;gap:18px}
.phase-rail{font-size:11px}.phase-rail .current{background:#45683f;color:#fffef0}
.activity{border-left:4px solid var(--red);font-size:12px;background:#fffdf4;min-height:44px}
.seat-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:8px 0 2px}.seat-bar.seats-3{grid-template-columns:repeat(3,minmax(0,1fr))}.seat-bar.seats-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.seat{border:1px solid #d6dac5;border-top:4px solid var(--seat);padding:6px 10px;background:#fffdf7;border-radius:9px;min-width:0;transition:background .2s}
.seat.active{background:#fff2c8;box-shadow:0 0 0 2px #dfbb5c}.seat>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:13px}.seat>div>strong{color:#ad7825}.seat .hand-count{font-size:10px;margin:1px 0 4px;min-height:17px;justify-content:space-between}.seat .backs i{width:10px;height:14px;background:var(--seat)}.seat .number-track{justify-content:space-between;max-width:142px}.seat .number-track span{width:18px;height:18px;line-height:18px}.seat .number-track .used{background:var(--seat)}
.route-note{justify-content:space-between;font-size:11px;padding:1px 5px;color:#566546}.route-note b{font-weight:bold}
.arena{position:relative;height:450px;isolation:isolate;overflow:hidden;border:1px solid #d3c695;border-radius:32px;background:radial-gradient(ellipse at 50% 48%,#fffdf3 0 20%,#f1e9c9 45%,#e7e5c9 78%,#e2dfbd);box-shadow:inset 0 0 0 5px #fff8e4,inset 0 0 40px #91764020;margin-bottom:8px}
.arena:before{content:'';position:absolute;inset:20% 15% 25%;border:1px dashed #beab77;border-radius:50%;pointer-events:none}
.route-map{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.country-road{fill:none;stroke-width:10;stroke-linecap:round;opacity:.16}.route-line{fill:none;stroke:#a48d59;stroke-width:.45;stroke-dasharray:1 1.3}.wolf-pointer{stroke:#b44532;stroke-width:.55;stroke-dasharray:1 1;opacity:.85}
.route-chevron{position:absolute;z-index:0;color:#947d48;font-size:19px;line-height:1;text-shadow:0 1px #fff}
.land-position{position:absolute;transform:translate(-50%,-50%);z-index:2;width:52px;line-height:1}.arena .land-card{display:block;width:100%;max-width:none;aspect-ratio:630/878;padding:0;border-radius:5px;box-shadow:0 3px 7px #38452d3b;border:2px solid var(--seat);transition:box-shadow .15s;background:#fffef0}
.arena .land-card>img{width:100%;height:100%;object-fit:contain;border-radius:3px}.arena .land-card:hover{transform:translateY(-3px)}.arena .land-card.has-wolf{box-shadow:0 0 0 3px #bb4435,0 0 22px #c9794570}.facility-number{position:absolute;left:-7px;top:-8px;width:25px;height:25px;display:grid;place-items:center;border:2px solid #fff8dd;background:var(--seat);color:white;border-radius:50%;font:bold 16px Georgia;box-shadow:0 2px 3px #0003}.owner-tag{position:absolute;bottom:1px;left:1px;right:1px;background:var(--seat);color:white;font-size:8px;line-height:1.4;border-radius:2px;text-align:center}
.current-pin{position:absolute;top:-21px;left:50%;transform:translateX(-50%);padding:3px 5px;border-radius:5px;background:#b44331;color:#fff;font-size:10px;font-weight:bold;white-space:nowrap;box-shadow:0 2px 4px #0002}.preview-pin{background:#af7c18}.path-count{position:absolute;right:-10px;top:30%;background:#fff1a2;border:1px solid #a98132;border-radius:9px;padding:4px;font-size:11px;font-weight:bold;z-index:4;white-space:nowrap}
.wolf-card{position:absolute;z-index:4;padding:0;width:53px;aspect-ratio:630/879;transform:translate(-50%,-50%);filter:drop-shadow(0 4px 5px #45251c66);background:transparent;border-radius:5px}.wolf-card img{width:100%;height:100%;object-fit:contain;border:0;border-radius:4px}.wolf-card:hover{filter:drop-shadow(0 0 6px #c44d25)}
.arena-center{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:144px;text-align:center;z-index:1}.clockwise-label{display:block;font-size:14px;letter-spacing:.5px;color:#867340}.step-count{display:block;font:bold 38px/1.1 Georgia;color:#b44732;text-shadow:1px 2px #fff4c2}.step-count small{font:700 12px system-ui}
.arena .center-market{display:block;padding:4px 0 0;min-height:0}.arena .center-market>div:first-child{width:auto}.arena .center-market b{font-size:11px}.arena .center-market small{display:none}.arena .market-cards{display:grid;grid-template-columns:repeat(3,26px);gap:4px;justify-content:center;margin:5px 0 0}.arena .market-back{width:26px;height:34px}.arena .center-market>.text-button{font-size:10px;min-height:24px;padding:0 5px}
.placement-controls{position:absolute;bottom:7px;left:50%;transform:translateX(-50%);display:flex;justify-content:space-between;gap:8px;width:72%;z-index:5}.end-choice{background:#fffbe9;border:1px dashed #839262;border-radius:6px;padding:6px 10px;min-height:36px;font-size:12px;font-weight:bold;box-shadow:0 2px 0 #c4c6a2}.end-choice.chosen{background:#496c44;color:white;border-style:solid}.end-choice:last-child{margin-left:auto}
.hand-area{background:linear-gradient(#fffdf6,#f4ecd5);border-color:#d3c797;box-shadow:0 4px 12px #564e2b0a}.hand-cards{gap:16px;min-height:108px;padding-top:5px}.hand-card{width:77px;flex-basis:77px;box-shadow:0 4px 5px #4e502f30}.hand-number{position:absolute;top:-7px;left:-8px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#476844;color:#fff;border:2px solid #fff9de;font:bold 20px Georgia}.hand-card.selected{transform:translateY(-7px)}
.coach{background:#fffdf4;border:1px solid #cbbc89;box-shadow:0 5px 20px #564e2b0a}.coach h2{font-size:19px;line-height:1.55}.coach p{font-size:14px;line-height:1.9}.coach.guided{background:#fff6d4;border-top:5px solid #d4a542}.coach-heading{font-size:11px;margin-bottom:11px}.coach-goal{font-size:13px;color:#694c20;border-color:#d2bb6c}.command-bar{border:2px solid #c3ba87}.command-bar strong{font-size:14px}.command-bar .primary{font-size:14px}
.tutorial-target{outline:3px solid #e8a92b!important;outline-offset:4px;animation:guide-beacon 1.4s ease-in-out infinite;z-index:6}.tutorial-target:after{content:'ここ';position:absolute;top:-24px;left:50%;transform:translateX(-50%);font:700 10px/1.6 system-ui;padding:1px 6px;white-space:nowrap;background:#a85a15;color:white;border-radius:6px;box-shadow:0 2px 4px #0002}.end-choice.tutorial-target{position:relative}.end-choice.tutorial-target:after{top:-17px}.market-back.tutorial-target:after{top:-20px}.arena .land-card.ruined{filter:sepia(.9) saturate(.5) brightness(.63);transform:rotate(-7deg);border-color:#6c4a32}.arena .land-card.built{border-color:#dfb545;box-shadow:0 0 0 3px #ead67a,0 0 24px #eabe4d99}
.fx-flight{position:fixed;left:0;top:0;max-width:none!important;object-fit:contain;z-index:60;pointer-events:none;filter:drop-shadow(0 7px 7px #271d2460);border-radius:4px;will-change:transform}.fx-cutin{position:fixed;inset:0;z-index:70;pointer-events:none;display:flex;align-items:center;justify-content:center;background:linear-gradient(170deg,transparent 28%,#fff9deb8 43%,#fff9dea0 55%,transparent 72%)}.fx-cutin-panel{width:min(850px,100vw);padding:24px 8%;display:flex;align-items:center;gap:26px;background:linear-gradient(105deg,#2b4733ed,#577849f5 68%,#ac9839e8);color:#fff9df;border-top:3px solid #f3d788;border-bottom:3px solid #d9a447;box-shadow:0 12px 45px #29322240;transform:rotate(-3deg)}.fx-cutin-panel>img{width:clamp(68px,17vw,124px);height:auto;max-height:190px;object-fit:contain;flex-shrink:0;filter:drop-shadow(4px 5px 0 #1a241a50);transform:rotate(5deg)}.fx-cutin-panel small{font:700 10px/2 Georgia;letter-spacing:3px;color:#f6d783}.fx-cutin-panel strong{display:block;font-size:clamp(21px,4vw,38px);line-height:1.4;text-shadow:2px 3px 0 #16341e80}.fx-cutin-panel p{font-size:14px;line-height:1.65;margin-top:7px}.fx-cutin.burst .fx-cutin-panel{background:linear-gradient(100deg,#6c2920,#bf4b22 66%,#e6a331);border-color:#ffc561}.fx-cutin.burst strong{font-size:clamp(35px,7vw,70px);letter-spacing:4px}.fx-cutin.complete .fx-cutin-panel{background:linear-gradient(105deg,#77621f,#ca9630 67%,#e3bd52);border-color:#fff1a3}.fx-cutin.complete strong{font-size:clamp(32px,6vw,60px)}.fx-particle{position:fixed;left:0;top:0;width:12px;height:18px;z-index:71;pointer-events:none;will-change:transform}.fx-particle.ember{border-radius:30% 50% 20% 40%;box-shadow:0 0 6px #e69226}.fx-particle.confetti{width:8px;height:14px}
@keyframes guide-beacon{50%{outline-color:#ad681b;box-shadow:0 0 0 7px #ecc05b33}}
@media(max-width:1000px){.game-layout{grid-template-columns:minmax(0,1fr) 240px;gap:12px}.arena{height:405px}.land-position{width:44px}.wolf-card{width:46px}.arena-center{width:120px}.coach{padding:12px}.coach h2{font-size:17px}.coach p{font-size:13px}}
@media(max-width:750px){.game-layout{display:flex;flex-direction:column;gap:7px}.game-shell{max-width:650px}.arena{height:360px}.land-position{width:40px}.wolf-card{width:44px}.seat{padding:5px 8px}.seat>div:first-child{font-size:12px}.seat .hand-count{font-size:9px}.coach{display:block;padding:10px 13px}.coach-heading{margin-bottom:5px;justify-content:space-between}.coach-heading>span{display:block}.coach h2{font-size:16px}.coach p,.coach.guided p{font-size:13px;line-height:1.7}.coach-goal{display:block;margin-top:8px;padding-top:7px;font-size:12px}.coach:not(.guided) p{display:none}.coach:not(.guided) .coach-goal{display:none}.coach:not(.guided) .coach-heading{float:right;margin:0}.coach:not(.guided) .coach-heading>span{display:none}.command-bar strong{font-size:12px}.command-bar p{font-size:11px}.command-bar .primary{font-size:12px}.fx-cutin-panel{padding:22px 7%;gap:17px}.fx-cutin-panel p{font-size:12px}.fx-cutin-panel small{font-size:8px;letter-spacing:2px}}
@media(max-width:480px){.arena{height:330px;border-radius:24px}.arena.players-4{height:350px}.land-position{width:32px}.players-3 .land-position[data-density="dense"]{width:27px}.players-4 .land-position{width:29px}.players-4 .land-position[data-density="dense"]{width:23px}.players-4 .land-position[data-count="6"]{width:21px}.arena .land-card{border-width:1px}.facility-number{width:19px;height:19px;top:-6px;left:-5px;border-width:1px;font-size:13px}.owner-tag{font-size:6px;line-height:1.45;left:0;right:0}.wolf-card{width:36px}.current-pin{font-size:8px;padding:2px 3px;top:-19px}.path-count{font-size:9px;padding:3px;right:-8px}.route-chevron{font-size:13px}.route-note{font-size:9px;min-height:25px}.route-note .text-button{font-size:9px}.arena-center{width:92px}.clockwise-label{font-size:10px}.step-count{font-size:28px}.step-count small{font-size:9px}.arena .market-cards{grid-template-columns:repeat(3,20px);gap:3px;margin-top:3px}.arena .market-back{width:20px;height:28px}.arena .center-market b{font-size:9px}.arena .center-market>.text-button{font-size:9px;min-height:21px}.placement-controls{width:80%;bottom:5px}.end-choice{font-size:10px;min-height:32px;padding:4px 8px}.seat-bar{gap:4px;margin-top:5px}.seat{padding:4px 5px;border-top-width:3px}.seat>div:first-child{font-size:10px}.seat .hand-count{font-size:8px;gap:2px;min-height:13px;margin:2px 0}.seat .backs i{width:6px;height:9px}.seat .number-track{gap:1px}.seat .number-track span{width:14px;height:14px;line-height:14px;font-size:8px}.seats-4 .number-track span{width:11px;font-size:7px}.seats-4 .hand-count{flex-wrap:wrap}.seats-4 .backs{display:none}.activity{font-size:11px;min-height:37px;padding:5px 7px}.hand-cards{gap:14px;min-height:82px;padding-top:7px}.hand-card{width:52px;flex-basis:52px}.hand-number{width:22px;height:22px;font-size:15px;left:-7px;top:-5px}.hand-area{padding:6px 10px}.hand-title h2{font-size:12px}.card-badge{font-size:6px}.coach.guided{padding:9px 11px}.coach h2{font-size:15px}.coach p,.coach.guided p{font-size:12px}.coach-heading{font-size:10px}.coach-goal{font-size:11px}.phase-rail{font-size:9px}.tutorial-target:after{font-size:9px;padding:1px 4px;top:-21px}.fx-cutin-panel{gap:14px}.fx-cutin-panel p{font-size:11px}.command-bar .primary{min-width:103px;max-width:128px}.command-bar{padding:8px}.result-banner h2{font-size:16px}}
@media(max-width:360px){.arena{height:310px}.arena.players-4{height:335px}.land-position{width:29px}.wolf-card{width:33px}.hand-cards{gap:12px}.hand-card{width:47px;flex-basis:47px}.goal-label{font-size:9px}}
@media(prefers-reduced-motion:reduce){.tutorial-target{animation:none}.fx-flight,.fx-particle,.fx-cutin{display:none}}
.fx-shockwave{position:fixed;width:230px;height:230px;border:10px solid #ebaa42;border-radius:50%;background:radial-gradient(circle,#fff4bddd,#ee672299 35%,#a83a1422 65%,transparent);box-shadow:0 0 80px #dd6f3599;z-index:59;pointer-events:none;will-change:transform}
/* The compact centre leaves a clear lane for the wolf. Farm choices also have
   large touch controls in the guide, so the miniature backs are never required. */
.arena .market-cards{grid-template-columns:repeat(6,18px);gap:4px}.arena .market-back{width:18px;height:25px}.arena .center-market>div:first-child{display:none}.wolf-card{width:46px}
.players-3 .land-position{width:43px}.players-3 .land-position[data-density="dense"]{width:34px}.players-4 .land-position{width:35px}.players-4 .land-position[data-count="4"],.players-4 .land-position[data-density="dense"]{width:29px}.players-4 .land-position[data-count="6"]{width:24px}
.farm-choice-row{display:flex;justify-content:center;gap:6px;margin-top:17px}.farm-choice{position:relative;padding:0;flex:1;max-width:43px;aspect-ratio:630/878;min-width:0;border-radius:5px}.farm-choice img{width:100%;height:100%;object-fit:contain}.farm-choice>b{position:absolute;bottom:3px;left:0;right:0;text-align:center;color:white;font-size:12px}
@media(max-width:750px){.players-3 .land-position{width:36px}.players-3 .land-position[data-density="dense"]{width:29px}.players-4 .land-position{width:32px}.players-4 .land-position[data-count="4"],.players-4 .land-position[data-density="dense"]{width:27px}.players-4 .land-position[data-count="6"]{width:23px}.wolf-card{width:40px}.arena-center{width:128px}.farm-choice-row{gap:10px}.farm-choice{max-width:42px}}
@media(max-width:480px){.wolf-card{width:36px}.arena-center{width:102px}.arena .market-cards{grid-template-columns:repeat(6,14px);gap:2px}.arena .market-back{width:14px;height:20px}.arena .center-market>.text-button{font-size:8px;min-height:19px}.players-3 .land-position{width:32px}.players-3 .land-position[data-density="dense"]{width:26px}.players-4 .land-position{width:29px}.players-4 .land-position[data-count="4"],.players-4 .land-position[data-density="dense"]{width:23px}.players-4 .land-position[data-count="6"]{width:21px}}
@media(max-width:360px){.wolf-card{width:33px}.players-3 .land-position[data-density="dense"]{width:24px}}
.land-position[data-bottom="true"] .current-pin{top:auto;bottom:-18px}.burst-proof{display:flex;gap:8px;align-items:center;margin-top:10px}.burst-proof>span{font-size:11px;line-height:1.6}.burst-proof>div{position:relative;width:33px;transform:rotate(-4deg)}.burst-proof>div>b{position:absolute;right:-3px;top:-4px;background:#ac3e2e;color:white;border-radius:50%;width:18px;height:18px;text-align:center;font-size:11px}
