/* Altcraft /map: FabricCraft's spawn tour (render + camera script by FabricCraft), restyled for the wiki. */
.fcm{--bg:#16130f;--soft:#b9b0a3;--rule:rgba(240,232,220,.14);--acc:#e8b04a;--gutter:clamp(1rem,4vw,3rem);--max:1320px;--ease-out:cubic-bezier(.2,.7,.2,1);
 position:relative;display:grid;width:100vw;margin-left:calc(50% - 50vw);margin-top:-.5rem;color:#f2ece3;background:var(--bg);isolation:isolate;touch-action:pan-y pinch-zoom;overflow-x:clip}
.fcm>.stage-scene,.fcm>.stage-content{grid-area:1/1}
.fcm .stage-scene{overflow:hidden;z-index:0;position:relative}
.fcm .stage-poster,.fcm .stage-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fcm .stage-canvas{opacity:0;transition:opacity .6s ease}
.fcm.is-live .stage-canvas{opacity:1}
.fcm .stage-scene::after{content:"";position:absolute;inset:0;pointer-events:none;background:
 linear-gradient(90deg,rgba(22,19,15,.9) 0%,rgba(22,19,15,.6) 34%,rgba(22,19,15,0) 60%),
 linear-gradient(270deg,rgba(22,19,15,.5) 0%,rgba(22,19,15,0) 18%),
 linear-gradient(0deg,rgba(22,19,15,.94) 0%,rgba(22,19,15,0) 30%)}
.fcm>.stage-content{z-index:1;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:1fr auto auto;min-height:max(calc(100svh - 4.5rem),38rem);
 padding:2.5rem max(var(--gutter),calc((100% - var(--max))/2 + var(--gutter))) clamp(1rem,2.5vh,2rem);pointer-events:none}
.fcm .stage-content>*{pointer-events:auto}
.fcm .tour{grid-row:1;align-self:center;display:grid;max-width:34rem}
.fcm .tour-step{grid-area:1/1;align-self:center;opacity:0;visibility:hidden;transform:translateY(.75rem);transition:opacity .4s ease,transform .4s var(--ease-out),visibility 0s linear .4s}
.fcm .tour-step[data-active]{opacity:1;visibility:visible;transform:none;transition:opacity .4s ease,transform .4s var(--ease-out),visibility 0s}
.fcm .kick{font-family:Silkscreen,monospace;font-size:.78rem;letter-spacing:.06em;color:var(--acc);text-transform:uppercase;margin:0 0 .8rem}
.fcm h1{font-size:clamp(2.4rem,min(6vw,10vh),5rem);font-weight:700;line-height:.98;letter-spacing:-.035em;margin:0}
.fcm .tour-step h2{font-size:clamp(2rem,4.2vw,3.4rem);font-weight:700;line-height:1;letter-spacing:-.03em;margin:0;border:0;padding:0}
.fcm .tour-step p{max-width:31rem;margin:1.1rem 0 0;color:var(--soft);font-size:1.15rem;line-height:1.5}
.fcm .tour-step p a{color:#f2ece3}
.fcm .wiki{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.2rem}
.fcm .wiki a{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border:1px solid var(--rule);border-radius:6px;background:rgba(22,19,15,.55);color:#f2ece3;font-size:.88rem;text-decoration:none}
.fcm .wiki a:hover{border-color:var(--acc);color:var(--acc)}
.fcm .wiki a::after{content:"→";opacity:.6}
.fcm .tour-nav{position:absolute;top:calc(50% - 2.5rem);right:max(1rem,calc(var(--gutter)/2));transform:translateY(-50%);padding:.9rem 1rem .9rem .6rem;border-radius:8px;background:rgba(22,19,15,.82);backdrop-filter:blur(6px)}
.fcm .tour-nav[hidden]{display:none}
.fcm .tour-nav ol{display:grid;border-left:1px solid var(--rule);margin:0;padding:0;list-style:none}
.fcm .tour-nav button{display:block;width:100%;margin-left:-1px;padding:.42rem 0 .42rem .9rem;border:0;border-left:2px solid transparent;background:none;color:var(--soft);font:inherit;font-size:.92rem;text-align:left;white-space:nowrap;cursor:pointer;transition:color .15s,border-color .2s}
.fcm .tour-nav button:hover{color:#f2ece3}
.fcm .tour-nav button[aria-current]{border-left-color:var(--acc);color:#f2ece3;font-weight:600}
.fcm .tour-nav .hint{margin:.6rem 0 0 .9rem;font-size:.72rem;color:var(--soft);opacity:.8}
.fcm .ledger{grid-row:3;display:grid;grid-template-columns:.7fr 1.35fr 1fr 1.75fr;border-top:1px solid var(--rule);margin:0}
.fcm .ledger>div{padding:1rem 1.5rem 0 0;min-width:0}
.fcm .ledger>div+div{padding-left:1.5rem;border-left:1px solid var(--rule)}
.fcm .ledger dt{display:flex;align-items:center;gap:.5rem;color:var(--soft);font-size:.85rem}
.fcm .ledger dd{margin:.4rem 0 0;font-family:Silkscreen,monospace;font-size:clamp(1rem,1.8vw,1.6rem);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fcm .live-dot{width:.5rem;height:.5rem;border-radius:50%;background:#5fd38d;box-shadow:0 0 0 3px rgba(95,211,141,.2)}
.fcm .credit{position:absolute;right:max(1rem,calc(var(--gutter)/2));bottom:.4rem;z-index:2;font-size:.72rem;color:var(--soft)}
.fcm .credit a{color:var(--soft)}
.fcm .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.fcm :focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.map-after{max-width:52rem;margin:2.5rem auto 0}
@media (max-width:960px){
 .fcm>.stage-content{grid-template-rows:1fr auto auto;padding-top:1.5rem}
 .fcm .tour{align-self:start;margin-top:1vh}
 .fcm .tour-step{position:relative;isolation:isolate;align-self:start}
 .fcm .tour-step::before{content:"";position:absolute;z-index:-1;inset:-1rem calc(100% + var(--gutter) - 100vw) -2.5rem calc(-1*var(--gutter));background:linear-gradient(180deg,rgba(22,19,15,0) 0%,rgba(22,19,15,.6) 1rem,rgba(22,19,15,.72) calc(100% - 2.5rem),rgba(22,19,15,0) 100%);pointer-events:none}
 .fcm .tour-nav{position:static;transform:none;grid-row:2;margin-bottom:.75rem;padding:.15rem .9rem;overflow-x:auto;scrollbar-width:none}
 .fcm .tour-nav ol{display:flex;gap:1.1rem;border-left:0}
 .fcm .tour-nav button{width:auto;margin-left:0;padding:.55rem 0;border-left:0;border-bottom:2px solid transparent}
 .fcm .tour-nav button[aria-current]{border-bottom-color:var(--acc)}
 .fcm .tour-nav .hint{display:none}
 .fcm .stage-scene::after{background:linear-gradient(180deg,rgba(22,19,15,.9) 0%,rgba(22,19,15,.35) 45%,rgba(22,19,15,0) 62%),linear-gradient(0deg,rgba(22,19,15,.95) 0%,rgba(22,19,15,0) 42%)}
 .fcm .ledger{grid-template-columns:repeat(2,minmax(0,1fr))}
 .fcm .ledger>div{padding:.8rem 1rem .8rem 0}
 .fcm .ledger>div:nth-child(odd){padding-left:0;border-left:0}
 .fcm .ledger>div:nth-child(n+3){border-top:1px solid var(--rule)}
 .fcm .credit{position:static;grid-row:4;margin-top:.5rem}
}
@media (prefers-reduced-motion:reduce){.fcm .tour-step{transition:none}}
/* ---------- Mobile only (desktop untouched) ---------- */
.fcm .mb{display:none}
@media (max-width:768px){
 .fcm .dk{display:none}.fcm .mb{display:inline}
 .fcm>.stage-scene{grid-area:1/1;position:relative;height:min(58svh,32rem)}
 .fcm>.stage-content{grid-area:2/1;min-height:0;grid-template-rows:auto auto auto auto;padding:0 1rem .9rem;margin-top:-2.6rem}
 .fcm .stage-scene::after{background:linear-gradient(180deg,rgba(22,19,15,.45) 0%,rgba(22,19,15,0) 16%),linear-gradient(0deg,#16130f 0%,rgba(22,19,15,.75) 14%,rgba(22,19,15,0) 34%)}
 .fcm .tour{grid-row:1;align-self:start;margin:0 0 .8rem;max-width:none}
 .fcm .tour-step{align-self:start}
 .fcm .tour-step::before{display:none}
 .fcm .kick{display:none}
 .fcm h1{font-size:1.85rem;line-height:1.02}
 .fcm .tour-step h2{font-size:1.65rem}
 .fcm .tour-step p{font-size:.95rem;line-height:1.45;margin-top:.45rem;color:#d9d1c4}
 .fcm .wiki{margin-top:.65rem;gap:.4rem}
 .fcm .wiki a,.fcm .wiki .mcbtn{min-height:2.5rem;font-size:.82rem}
 .fcm .tour-nav{grid-row:2;margin:0 -1rem .9rem;padding:0 1rem;border-radius:0;background:none;backdrop-filter:none;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:none}
 .fcm .tour-nav::-webkit-scrollbar{display:none}
 .fcm .tour-nav ol{gap:.5rem}
 .fcm .tour-nav li{scroll-snap-align:center}
 .fcm .tour-nav button{min-height:2.9rem;padding:0 1rem;border:1px solid var(--rule);border-radius:999px;background:rgba(240,232,220,.05);font-size:.95rem}
 .fcm .tour-nav button[aria-current]{border-color:var(--acc);background:var(--acc);color:#16130f}
 .fcm .ledger{grid-row:3;grid-template-columns:1fr 1fr;border:1px solid var(--rule);border-radius:8px;background:rgba(240,232,220,.03)}
 .fcm .ledger>div{padding:.7rem .85rem}
 .fcm .ledger>div:nth-child(even){border-left:1px solid var(--rule)}
 .fcm .ledger>div:nth-child(odd){padding-left:.85rem}
 .fcm .ledger dd{font-size:.98rem;white-space:normal;overflow:visible;line-height:1.35}
 .fcm .credit{grid-row:4;margin:.6rem 0 0;text-align:center}
}
