.map-page{display:grid;grid-template-columns:300px 1fr;height:calc(100dvh - var(--nav-h));background:var(--bg);overscroll-behavior:none}body:has(.map-page) .footer{display:none}body:has(.map-page) .site-main{flex:0 0 auto}.map-rail{position:relative;display:flex;flex-direction:column;min-height:0;background:var(--surface-1);-webkit-border-end:1px solid var(--border);border-inline-end:1px solid var(--border)}.map-rail[data-open=false]{display:none}.map-page:has(.map-rail[data-open=false]){grid-template-columns:1fr;position:relative}.map-rail-head{display:flex;align-items:center;gap:.75rem;padding:.85rem .9rem;-webkit-border-after:1px solid var(--border);border-block-end:1px solid var(--border)}.map-rail-headtext{flex:1 1 auto;min-width:0}.map-rail-eyebrow{margin:0;color:var(--text-3);font-size:.64rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.map-rail-world{display:flex;align-items:center;gap:.5rem;margin:.15rem 0 0;color:var(--text);font-size:1.05rem;font-weight:700;line-height:1.2}.map-status{display:inline-flex;align-items:center;gap:.3rem;padding:.05rem .45rem;border-radius:var(--pill);background:var(--surface-2);color:var(--text-3);font-size:.68rem;font-weight:600;letter-spacing:0;text-transform:none}.map-status:before{content:"";width:6px;height:6px;border-radius:var(--pill);background:currentColor}.map-status.is-live{color:var(--success)}.map-status.is-offline{color:var(--danger)}.map-rail-close{flex:none;display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(255,255,255,.05);color:var(--text-2);cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}.map-rail-close:hover{background:rgba(255,255,255,.12);color:var(--text)}.map-rail-scrim{display:none}.map-rail-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:.35rem .9rem 1.5rem}.map-rail-section{padding-block:1rem;-webkit-border-after:1px solid var(--border);border-block-end:1px solid var(--border)}.map-rail-section:last-child{-webkit-border-after:none;border-block-end:none;-webkit-padding-after:0;padding-block-end:0}.map-rail-section-head{display:flex;align-items:center;margin:0 0 .7rem}.map-rail-section-head button{all:unset;display:inline-flex;align-items:center;gap:.5rem;color:var(--accent-hi);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}.map-rail-section-head button:focus-visible{outline:2px solid var(--accent-hi);outline-offset:3px;border-radius:var(--radius-sm)}.map-layer-list{display:flex;flex-direction:column;gap:.1rem}.map-layer-row{display:flex;align-items:center;gap:.6rem;width:100%;min-height:40px;padding:.35rem .45rem;background:none;border:none;border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:.88rem;text-align:start;cursor:pointer;transition:background .18s ease}.map-layer-row:hover{background:var(--surface-2)}.map-layer-name{flex:1 1 auto;min-width:0}.map-switch{flex:none;position:relative;width:34px;height:20px;border:1px solid var(--border-strong);border-radius:var(--pill);background:var(--surface-2);transition:background .18s ease,border-color .18s ease}.map-switch:after{content:"";position:absolute;inset-block-start:2px;inset-inline-start:2px;width:14px;height:14px;border-radius:var(--pill);background:var(--text-3);transition:transform .18s ease,background .18s ease}.map-layer-row[aria-pressed=true] .map-switch{background:var(--accent);border-color:var(--accent)}.map-layer-row[aria-pressed=true] .map-switch:after{background:#fff;transform:translateX(14px)}.map-stage .btn[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}.map-search{width:100%;-webkit-margin-after:.6rem;margin-block-end:.6rem;padding:.5rem .7rem;background:var(--bg-deep);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:.88rem}.map-search::placeholder{color:var(--text-3)}.map-search:focus-visible{outline:none;border-color:var(--accent-hi);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-hi) 35%,transparent)}.map-rail-meta{-webkit-margin-after:.6rem;margin-block-end:.6rem;color:var(--text-3);font-size:.8rem}.map-player-list{display:flex;flex-direction:column;gap:.1rem}.map-player-row{display:flex;align-items:center;gap:.55rem;width:100%;min-height:40px;padding:.3rem .45rem;background:none;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text);font:inherit;font-size:.88rem;text-align:start;cursor:pointer;transition:background .18s ease,border-color .18s ease}.map-player-row:hover{background:var(--surface-2)}.map-player-row:disabled{cursor:default;opacity:.5}.map-player-row:disabled:hover{background:none}.map-player-row img{width:24px;height:24px;border-radius:4px;image-rendering:pixelated}.map-player-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-player-hidden{flex:none;color:var(--text-3)}.map-tlist,.map-trow{display:flex;flex-direction:column;gap:.1rem}.map-trow{justify-content:center;width:100%;min-height:46px;padding:.45rem .5rem;background:none;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--text);font:inherit;text-align:start;cursor:pointer;transition:background .18s ease,border-color .18s ease}.map-trow:hover{background:var(--surface-2)}.map-trow[aria-current=true]{background:var(--surface-2);border-color:var(--accent)}.map-trow-name{font-size:.88rem;font-weight:600}.map-trow-sub{color:var(--text-3);font-size:.76rem}.map-stage{position:relative;overflow:hidden;background:var(--bg-deep)}.globe-canvas,.map-stage>#globe-container,.map-stage>#map{position:absolute;inset:0;height:100%;width:100%}.globe-canvas{touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;cursor:-webkit-grab;cursor:grab}.globe-canvas.grabbing{cursor:-webkit-grabbing;cursor:grabbing}.globe-canvas.pointer{cursor:pointer}.map-stage .leaflet-pane>canvas{max-width:none}.map-stage-topbar{position:absolute;inset-block-start:0;inset-inline:0;z-index:1100;display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem;pointer-events:none}.map-stage-topbar>*{pointer-events:auto}.map-stage-group,.map-stage-options{display:flex;align-items:center;gap:.3rem;padding:.3rem;background:color-mix(in srgb,var(--surface-1) 88%,transparent);border:1px solid var(--border);border-radius:var(--pill);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.map-view-toggle{display:flex;gap:.2rem}.map-stage-group .map-view-toggle{-webkit-margin-start:.1rem;margin-inline-start:.1rem;-webkit-padding-start:.35rem;padding-inline-start:.35rem;-webkit-border-start:1px solid var(--border);border-inline-start:1px solid var(--border)}.map-stage-group .btn,.map-stage-options .btn,.map-view-toggle .btn{display:inline-flex;align-items:center;gap:.35rem;border-radius:var(--pill)}.map-stage-group .btn[aria-expanded=true]{background:var(--accent);border-color:var(--accent);color:#fff}.map-view-toggle .btn:disabled{opacity:.5;cursor:not-allowed}.map-notice{position:absolute;inset-block-start:4.75rem;inset-inline:.75rem;z-index:1150;margin-inline:auto;width:-moz-fit-content;width:fit-content;max-width:calc(100% - 1.5rem);padding:.35rem .75rem;background:color-mix(in srgb,var(--surface-1) 92%,transparent);border:1px solid var(--border-strong);border-radius:var(--pill);color:var(--text-2);font-size:.8rem;text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.map-panel-scrim{position:absolute;inset:0;z-index:1250;background:rgba(0,0,0,.55)}.map-panel{position:absolute;inset-block:0;inset-inline-end:0;z-index:1200;width:min(400px,42vw);display:flex;flex-direction:column;background:var(--surface-1);-webkit-border-start:1px solid var(--border);border-inline-start:1px solid var(--border);box-shadow:var(--shadow-2);container-type:inline-size;animation:map-panel-in .28s cubic-bezier(.22,.61,.36,1)}@keyframes map-panel-in{0%{opacity:0;transform:translateX(100%)}}.map-panel-head{position:relative;display:grid;grid-template-columns:1fr auto;grid-gap:.15rem .75rem;gap:.15rem .75rem;padding:1rem 1.1rem .85rem;background:var(--surface-1);-webkit-border-after:1px solid var(--border);border-block-end:1px solid var(--border)}.map-panel-handle{display:none}.map-panel-kind{color:var(--accent-hi);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.map-panel-kind,.map-panel-title{grid-column:1;margin:0;font-weight:700}.map-panel-title{color:var(--text);font-size:1.2rem;line-height:1.25;overflow-wrap:anywhere}.map-panel-close{grid-column:2;grid-row:1/span 2;align-self:center;display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:rgba(255,255,255,.06);color:var(--text-2);transition:background .18s ease,color .18s ease,border-color .18s ease}.map-panel-close:hover{background:rgba(255,255,255,.12);color:var(--text)}.map-panel-body{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:1rem 1.1rem 2rem;display:flex;flex-direction:column;gap:.9rem}.map-panel-body>*{margin-block:0}.map-badges{display:flex;flex-wrap:wrap;gap:.35rem}.map-badge{padding:.1rem .55rem;border:1px solid var(--border);border-radius:var(--pill);background:var(--surface-2);color:var(--text-2);font-size:.74rem;font-weight:600}.map-badge.is-live{background:var(--danger);border-color:transparent;color:#120d02}.map-badge.is-occupied{background:var(--bulk);border-color:transparent;color:#120d02}.map-lead{margin:0;color:var(--text-2);font-size:.95rem;overflow-wrap:anywhere}.map-lead strong{color:var(--text)}.map-score{display:flex;align-items:baseline;flex-wrap:wrap;gap:.4rem .7rem;padding:.6rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(255,255,255,.03)}.map-score-value{color:var(--text);font-size:1.35rem;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.map-score-note{color:var(--text-3);font-size:.8rem}.map-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.6rem 1rem;gap:.6rem 1rem;margin:0}.map-stat{min-width:0}.map-stat dt{color:var(--text-3);font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.map-stat dd{display:flex;align-items:center;gap:.4rem;margin:.15rem 0 0;color:var(--text);font-weight:700;overflow-wrap:anywhere}.map-stat dd img{flex:none;width:22px;height:22px;border-radius:4px;background:var(--surface-2);object-fit:cover}@container (min-width: 460px){.map-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.map-rows{margin:0;display:flex;flex-direction:column}.map-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.75rem;gap:.75rem;padding:.42rem 0;-webkit-border-after:1px solid var(--border);border-block-end:1px solid var(--border)}.map-row:last-child{-webkit-border-after:none;border-block-end:none}.map-row dt{color:var(--text-3);font-size:.82rem}.map-row dd{margin:0;color:var(--text);font-weight:600;text-align:end;overflow-wrap:anywhere}.map-section{display:flex;flex-direction:column;gap:.45rem}.map-section-head{display:flex;align-items:center;gap:.5rem;margin:0;color:var(--accent-hi);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.map-section-head button{all:unset;display:inline-flex;align-items:center;gap:.5rem;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.map-section-head button:focus-visible{outline:2px solid var(--accent-hi);outline-offset:3px;border-radius:var(--radius-sm)}.map-chevron{flex:none;width:7px;height:7px;-webkit-border-end:2px solid currentColor;border-inline-end:2px solid currentColor;-webkit-border-after:2px solid currentColor;border-block-end:2px solid currentColor;transform:rotate(45deg);transition:transform .18s ease}.map-rail-section-head button[aria-expanded=false] .map-chevron,.map-section-head button[aria-expanded=false] .map-chevron{transform:rotate(-45deg)}.map-count{padding:0 .4rem;border-radius:var(--pill);background:var(--surface-2);color:var(--text-2);font-size:.72rem;letter-spacing:0}.map-people{display:flex;flex-direction:column;gap:.05rem;margin:0;padding:0;list-style:none}.map-people.is-capped{max-height:16rem;overflow-y:auto;overscroll-behavior:contain}.map-person{display:flex;align-items:center;gap:.5rem;min-height:40px;padding:.1rem 0}.map-person img{flex:none;width:28px;height:28px;border-radius:var(--radius-sm);background:var(--surface-2);image-rendering:pixelated}.map-person-name{flex:1 1 auto;min-width:0;overflow:hidden;color:var(--text);text-overflow:ellipsis;white-space:nowrap}.map-person-dot{flex:none;width:8px;height:8px;border-radius:var(--pill);background:var(--text-3)}.map-person-dot.is-online{background:var(--success)}.map-note{margin:0;color:var(--text-2);font-size:.88rem;overflow-wrap:anywhere}.map-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin:0}.map-chip{padding:.1rem .5rem;border:1px solid var(--border);border-radius:var(--pill);background:var(--surface-2);color:var(--text-2);font-size:.74rem}.map-panel-cta{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 .9rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:rgba(255,255,255,.05);color:var(--text);font-size:.9rem;font-weight:600;transition:background .18s ease,border-color .18s ease}.map-panel-cta:hover{background:rgba(255,255,255,.1);border-color:var(--border-strong);text-decoration:none}.map-panel-cta:after{content:"→";-webkit-margin-start:.45rem;margin-inline-start:.45rem}.map-panel-action{align-self:flex-start}.bm-tip{padding:.25rem .5rem;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);color:var(--text);font-family:var(--font-body);font-size:.85rem;font-weight:600}.bm-tip:before{border-top-color:var(--border-strong)}.m-coords{display:flex;flex-direction:column;gap:.1rem;padding:.35rem .65rem;background:color-mix(in srgb,var(--surface-1) 88%,transparent);border:1px solid var(--border);border-radius:var(--pill);color:var(--text-2);font-family:var(--font-body);font-size:.78rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.globe-coords{position:absolute;inset-block-end:.75rem;inset-inline-start:.75rem;z-index:3}.m-pick .leaflet-popup-content-wrapper{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);color:var(--text);font-family:var(--font-body)}.m-pick .leaflet-popup-content{margin:0;font-size:13px}.m-pick .leaflet-popup-tip{background:var(--surface-2);border:none;box-shadow:none}.leaflet-container .m-pick a.leaflet-popup-close-button{color:var(--text-2)}.leaflet-container .m-pick a.leaflet-popup-close-button:focus,.leaflet-container .m-pick a.leaflet-popup-close-button:hover{color:var(--text)}.m-pick-body{display:flex;flex-direction:column;gap:.25rem;padding:.5rem 1.85rem .55rem .7rem;font-size:.8rem}.m-pick-xz{color:var(--text);font-weight:600}.m-pick-copy{align-self:flex-start;margin-top:.2rem}.pm-wrap{background:none;border:none}.pm-box{display:inline-flex;align-items:center;gap:.15rem}.pm-head{border-radius:2px;image-rendering:pixelated}.pm-name{padding:.05rem .3rem;background:var(--surface-1);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-body);font-size:.72rem;font-weight:600;white-space:nowrap}.globe-icons,.globe-overlays,.globe-players{position:absolute;inset:0;pointer-events:none}.globe-icons>*,.globe-players>*{position:absolute;inset-block-start:0;inset-inline-start:0;pointer-events:auto;will-change:transform}.globe-players .pm-name{display:none}.globe-players.near .pm-name{display:inline-block}.globe-icon{cursor:pointer}.globe-icon,.globe-icon img{width:16px;height:16px}.globe-tooltip{z-index:3;padding:.25rem .5rem;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);font-family:var(--font-body);font-size:.82rem;font-weight:600;white-space:nowrap}.globe-hint,.globe-tooltip{position:absolute;pointer-events:none}.globe-hint{inset-block-end:3.5rem;inset-inline:0;margin:0 auto;width:-moz-fit-content;width:fit-content;max-width:calc(100% - 1.5rem);padding:.3rem .7rem;background:color-mix(in srgb,var(--surface-1) 88%,transparent);border:1px solid var(--border);border-radius:var(--pill);color:var(--text-3);font-size:.78rem;text-align:center}.globe-hint.gone{display:none}.globe-ctl{position:absolute;inset-block-end:.75rem;inset-inline-end:.75rem;z-index:4;display:flex;flex-direction:column;gap:.35rem}.globe-ctl button{width:34px;height:34px;display:grid;place-items:center;background:color-mix(in srgb,var(--surface-1) 88%,transparent);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;font:inherit;transition:background .18s ease,border-color .18s ease}.globe-ctl button:hover{background:var(--surface-2);border-color:var(--border-strong)}.bm-poi-dot{display:block;width:var(--s,16px);height:var(--s,16px);background:var(--accent-hi);border:1px solid var(--bg-deep);border-radius:50%}.map-stage .leaflet-control-zoom{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;box-shadow:none}.map-stage .leaflet-control-zoom a{background:color-mix(in srgb,var(--surface-1) 92%,transparent);-webkit-border-after:1px solid var(--border);border-block-end:1px solid var(--border);color:var(--text)}.map-stage .leaflet-control-zoom a:hover{background:var(--surface-2);color:var(--text)}.map-loading{position:absolute;inset:0;z-index:900;display:flex;align-items:center;justify-content:center;gap:.6rem;color:var(--text-3);font-size:.9rem;pointer-events:none}.map-loading:before{content:"";width:22px;height:22px;border:2px solid var(--border-strong);border-block-start-color:var(--accent-hi);border-radius:var(--pill);animation:map-spin .9s linear infinite}@keyframes map-spin{to{transform:rotate(1turn)}}@media (max-width:900px){.map-page{grid-template-columns:1fr;position:relative}.map-rail{position:absolute;inset-block:0;inset-inline-start:0;z-index:1300;width:min(320px,88vw);box-shadow:var(--shadow-2);animation:map-rail-in .22s ease}@keyframes map-rail-in{0%{transform:translateX(-100%)}}.map-rail-scrim{display:block;position:absolute;inset:0;z-index:1290;background:rgba(0,0,0,.5);animation:map-scrim-in .22s ease}@keyframes map-scrim-in{0%{opacity:0}}.map-panel{inset-block:auto 0;inset-inline:0;width:auto;max-height:min(78dvh,640px);-webkit-border-start:none;border-inline-start:none;-webkit-border-before:1px solid var(--border);border-block-start:1px solid var(--border);border-start-start-radius:var(--radius-lg);border-start-end-radius:var(--radius-lg);z-index:1350;animation:map-panel-up .22s ease}@keyframes map-panel-up{0%{opacity:0;transform:translateY(22px)}}.map-panel-scrim{z-index:1340}.map-panel-head{-webkit-padding-before:1.5rem;padding-block-start:1.5rem;cursor:-webkit-grab;cursor:grab;touch-action:none}.map-panel-head:active{cursor:-webkit-grabbing;cursor:grabbing}.map-panel-handle{display:block;position:absolute;inset-block-start:.5rem;inset-inline:0;margin-inline:auto;width:42px;height:4px;border-radius:var(--pill);background:var(--border-strong)}.map-panel-body{-webkit-padding-after:calc(1.75rem + env(safe-area-inset-bottom, 0px));padding-block-end:calc(1.75rem + env(safe-area-inset-bottom, 0px))}.map-panel-action{align-self:stretch}}@media (max-width:560px){.map-stage-topbar{gap:.4rem;padding:.5rem}.map-stage-group,.map-stage-options{gap:.2rem;padding:.2rem}.map-stage-group .btn,.map-stage-options .btn,.map-view-toggle .btn{gap:.3rem;min-height:38px;padding:.3rem .5rem;font-size:.8rem}.map-opt-label{position:absolute;width:1px;height:1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.map-stage-group .map-view-toggle{-webkit-padding-start:.25rem;padding-inline-start:.25rem}}@media (pointer:coarse){.map-layer-row,.map-player-row,.map-trow{min-height:44px}}@media (prefers-reduced-motion:reduce){.globe-ctl button,.map-chevron,.map-loading:before,.map-panel,.map-player-row,.map-rail,.map-rail-scrim,.map-switch,.map-switch:after,.map-trow{transition:none;animation:none}}.tsg-container{max-width:1320px}.tsg-shell{display:grid;grid-template-columns:268px minmax(0,1fr);grid-gap:clamp(1rem,2.5vw,2rem);gap:clamp(1rem,2.5vw,2rem);align-items:start}.tsg-shell.tsg-loading{opacity:.55}.tsg-sidebar{position:-webkit-sticky;position:sticky;top:calc(var(--nav-h) + 1rem);max-height:calc(100dvh - var(--nav-h) - 2rem);overflow-y:auto;overscroll-behavior:contain;padding:1rem .75rem;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius);gap:.9rem}.tsg-brand,.tsg-sidebar{display:flex;flex-direction:column}.tsg-brand{text-align:left;padding:.25rem .5rem .6rem;border-bottom:1px solid var(--border);gap:.15rem}.tsg-brand-title{font-weight:800;font-size:1.05rem;color:var(--text);letter-spacing:-.01em}.tsg-brand-sub{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:var(--text-3)}.tsg-search-button{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .7rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-deep);color:var(--text-3);font-size:.85rem;transition:border-color .15s ease,color .15s ease}.tsg-search-button:hover{border-color:var(--accent);color:var(--text-2)}.tsg-search-button kbd{font-family:inherit;font-size:.7rem;padding:.1rem .4rem;border:1px solid var(--border);border-radius:6px;color:var(--text-3)}.tsg-nav{gap:1rem}.tsg-nav,.tsg-nav-group{display:flex;flex-direction:column}.tsg-nav-group{gap:.15rem}.tsg-nav-heading{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);padding:.35rem .5rem .25rem}.tsg-nav-item{display:flex;align-items:center;gap:.5rem;text-align:left;padding:.42rem .5rem;border-radius:var(--radius-sm);color:var(--text-2);font-size:.88rem;transition:background .12s ease,color .12s ease}.tsg-nav-item:hover{background:var(--surface-2);color:var(--text)}.tsg-nav-item.is-active{background:var(--accent-soft);color:var(--text);font-weight:600;box-shadow:inset 2px 0 0 var(--accent)}.tsg-nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tsg-nav-tiers{display:flex;flex-wrap:wrap;gap:.3rem;padding:.15rem .4rem .3rem}.tsg-nav-tier{display:inline-flex;align-items:center;gap:.25rem;padding:.3rem .5rem;border:1px solid var(--border);border-radius:var(--pill);font-size:.8rem;color:var(--text-2);transition:border-color .12s ease,background .12s ease}.tsg-nav-tier.is-active,.tsg-nav-tier:hover{border-color:var(--accent);color:var(--text)}.tsg-nav-tier.is-active{background:var(--accent-soft)}.tsg-nav-tier.is-empty{opacity:.5}.tsg-main{min-width:0}.tsg-view{display:flex;flex-direction:column;gap:1.75rem}.tsg-view-head{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.tsg-view-head>div{min-width:0}.tsg-view-badges{display:flex;gap:.4rem;flex-wrap:wrap;width:100%}.tsg-view-icon{border-radius:var(--radius-sm);background:var(--bg-deep);padding:.4rem;border:1px solid var(--border)}.tsg-lede{color:var(--text-3);font-size:.95rem;margin-top:.35rem}.tsg-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:var(--accent-hi);margin-bottom:.35rem}.tsg-empty{padding:1.25rem;border:1px dashed var(--border);border-radius:var(--radius);background:var(--surface-1)}.tsg-empty,.tsg-muted{color:var(--text-3)}.tsg-home{display:flex;flex-direction:column;gap:2rem}.tsg-hero{padding:1.5rem 0 .5rem}.tsg-stats{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:1.25rem}.tsg-stat{display:flex;flex-direction:column}.tsg-stat-value{font-size:1.8rem;font-weight:800;color:var(--text);line-height:1}.tsg-stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3)}.tsg-quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:.75rem;gap:.75rem}.tsg-quick-card{text-align:left;padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);display:flex;flex-direction:column;gap:.3rem;transition:border-color .15s ease,transform .15s ease}.tsg-quick-card:hover{border-color:var(--accent);transform:translateY(-2px)}.tsg-quick-label{font-weight:700;color:var(--text)}.tsg-quick-hint{font-size:.82rem;color:var(--text-3)}.tsg-section{display:flex;flex-direction:column;gap:.9rem}.tsg-section-title{font-size:1.1rem;color:var(--text)}.tsg-loop{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:.6rem;gap:.6rem}.tsg-loop-item{display:flex;align-items:center;gap:.65rem;padding:.7rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-1)}.tsg-loop-name{display:block;font-weight:600;color:var(--text);font-size:.9rem}.tsg-loop-lore{display:block;font-size:.8rem;color:var(--text-3)}.tsg-cta{align-self:flex-start;padding:.6rem 1rem;border-radius:var(--radius-sm);background:var(--accent);color:#fff;font-weight:600;transition:background .15s ease}.tsg-cta:hover{background:var(--accent-hi)}.tsg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));grid-gap:.6rem;gap:.6rem}.tsg-grid-compact{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.tsg-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:.4rem;text-align:center;padding:.85rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-1);transition:border-color .12s ease,background .12s ease,transform .12s ease}.tsg-card:hover:not(:disabled){border-color:var(--accent);background:var(--surface-2);transform:translateY(-2px)}.tsg-card.is-disabled,.tsg-card:disabled{opacity:.5;cursor:not-allowed}.tsg-card-compact{flex-direction:row;align-items:center;text-align:left;gap:.6rem}.tsg-card-icon{image-rendering:pixelated}.tsg-card-name{font-size:.85rem;font-weight:600;color:var(--text);line-height:1.25}.tsg-card-meta{font-size:.72rem;color:var(--text-3)}.tsg-card-badge{position:absolute;top:.4rem;right:.4rem;font-size:.68rem;font-weight:700;color:var(--accent-hi);background:var(--accent-soft);border-radius:var(--pill);padding:.05rem .4rem}.tsg-card-compact .tsg-card-badge{position:static;margin-left:auto}.tsg-icon{image-rendering:pixelated;flex-shrink:0}.tsg-icon-fallback{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:6px;background:var(--surface-2);border:1px solid var(--border);color:var(--text-3);font-weight:700;letter-spacing:.02em}.tsg-tier-rail{display:flex;flex-wrap:wrap;gap:.4rem}.tsg-tier-pill{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border:1px solid var(--border);border-radius:var(--pill);background:var(--surface-1);color:var(--text-2);font-weight:600;font-size:.85rem;transition:border-color .12s ease,background .12s ease}.tsg-tier-pill.is-active,.tsg-tier-pill:hover{border-color:var(--accent)}.tsg-tier-pill.is-active{background:var(--accent-soft);color:var(--text)}.tsg-tier-pill.is-empty{opacity:.5}.tsg-tier-count{font-size:.72rem;color:var(--text-3);background:var(--bg-deep);border-radius:var(--pill);padding:0 .4rem}.tsg-chip-row{display:flex;flex-wrap:wrap;gap:.35rem}.tsg-chips{flex-wrap:wrap}.tsg-chip,.tsg-chips{display:inline-flex;gap:.3rem}.tsg-chip{align-items:center;padding:.28rem .6rem;border:1px solid var(--border);border-radius:var(--pill);font-size:.78rem;color:var(--text-2);background:var(--surface-1);transition:border-color .12s ease,color .12s ease}.tsg-chip.is-active,.tsg-chip:hover{border-color:var(--accent);color:var(--text)}.tsg-chip.is-active{background:var(--accent-soft);font-weight:600}.tsg-chip-muted{background:var(--bg-deep);color:var(--text-3);font-size:.72rem}.tsg-pill{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:var(--pill);border:1px solid var(--border);background:var(--surface-1);font-size:.75rem;color:var(--text-2);text-transform:uppercase;letter-spacing:.05em}.tsg-pill-tier{border-color:var(--accent);color:var(--accent-hi)}.tsg-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.5rem}.tsg-tag{font-size:.72rem;color:var(--text-3);border:1px solid var(--border);border-radius:var(--pill);padding:.1rem .5rem}.tsg-metrics{display:flex;flex-wrap:wrap;gap:1.5rem;width:100%;margin-top:.35rem}.tsg-metric{display:flex;flex-direction:column}.tsg-metric-value{font-size:1.25rem;font-weight:700;color:var(--text)}.tsg-metric-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:var(--text-3)}.tsg-list{display:flex;flex-direction:column;gap:.3rem;font-size:.88rem}.tsg-list li{padding:.45rem .7rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-1);color:var(--text-2)}.tsg-family{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.tsg-family-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3)}.tsg-chain{display:flex;flex-direction:column;gap:1rem}.tsg-chain-controls{justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1)}.tsg-chain-controls,.tsg-field{display:flex;align-items:center}.tsg-field{gap:.55rem;font-size:.9rem}.tsg-number{width:5.5rem;padding:.35rem .5rem;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-deep);color:var(--text);font:inherit}.tsg-chain-summary{font-size:.85rem;color:var(--text-3)}.tsg-steps{display:flex;flex-direction:column;gap:.6rem;counter-reset:step}.tsg-step{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);overflow:hidden}.tsg-step-head{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.6rem .8rem;background:var(--surface-2);border-bottom:1px solid var(--border)}.tsg-step-index{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background:var(--accent);color:#fff;font-size:.78rem;font-weight:700;flex-shrink:0}.tsg-link{color:var(--accent-hi);font-weight:600;text-decoration:none;padding:0}.tsg-link:hover{text-decoration:underline}.tsg-step-producer{font-weight:600;color:var(--text)}.tsg-step-body{padding:.8rem}.tsg-step-io{display:flex;align-items:flex-start;gap:.75rem}.tsg-io-group{display:flex;flex-direction:column;gap:.4rem;min-width:0;flex:1 1}.tsg-io-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3)}.tsg-arrow{color:var(--text-3);font-size:1.2rem;align-self:center;padding-top:1rem}.tsg-tile-row{display:flex;flex-wrap:wrap;gap:.4rem}.tsg-tile{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .6rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-deep);color:var(--text-2);font-size:.82rem;transition:border-color .12s ease}.tsg-tile:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.tsg-tile:disabled{cursor:default;opacity:.85}.tsg-tile-output{border-color:rgba(87,199,133,.4)}.tsg-tile-name{white-space:nowrap}.tsg-tile-amount{font-weight:700;color:var(--accent-hi)}.tsg-panel{padding:.9rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1)}.tsg-panel-title{font-size:.95rem;margin-bottom:.6rem;color:var(--text)}.tsg-panel-sigil p{font-style:italic;color:var(--text-2);margin-bottom:.3rem}.tsg-material{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .65rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-deep);font-size:.82rem;color:var(--text-2)}.tsg-material:disabled{opacity:.8;cursor:default}.tsg-material strong{color:var(--accent-hi)}.tsg-usedby{display:flex;flex-wrap:wrap;gap:.4rem}.tsg-usedby li{font-size:.82rem;color:var(--text-2);border:1px solid var(--border);border-radius:var(--pill);padding:.15rem .6rem}.tsg-multiblock{gap:1rem;overflow-x:auto}.tsg-layer,.tsg-multiblock{display:flex;flex-direction:column}.tsg-layer{gap:2px;width:max-content}.tsg-layer-row{display:flex;gap:2px}.tsg-cell{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:var(--surface-2);border:1px solid var(--border)}.tsg-cell.is-air{background:transparent;border-style:dashed}.tsg-legend{display:flex;flex-wrap:wrap;gap:.75rem}.tsg-legend li{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--text-2)}.tsg-search-input{width:100%;padding:.75rem 1rem;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-1);color:var(--text);font:inherit;font-size:1rem}.tsg-search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tsg-pages{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:.75rem;gap:.75rem}.tsg-page-card{padding:1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-1);display:flex;flex-direction:column;gap:.6rem}.tsg-page-card header{display:flex;align-items:center;gap:.6rem}.tsg-page-name{font-weight:700;color:var(--text)}.tsg-page-lines{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--text-2)}.tsg-page-action{align-self:flex-start;font-size:.85rem}@media (max-width:900px){.tsg-shell{grid-template-columns:1fr}.tsg-sidebar{position:static;max-height:none}.tsg-step-io{flex-direction:column}.tsg-arrow{transform:rotate(90deg);padding-top:0;align-self:flex-start}}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/b1f344208eb4edfe-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/48e2044251ef3125-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/bf24a9759715e608-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/1f173e5e25f3efee-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Montserrat;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/904be59b21bd51cb-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Montserrat Fallback;src:local("Arial");ascent-override:85.79%;descent-override:22.25%;line-gap-override:0.00%;size-adjust:112.83%}.__className_6b4153{font-family:Montserrat,Montserrat Fallback;font-style:normal}.__variable_6b4153{--font-montserrat:"Montserrat","Montserrat Fallback"}