#map-planner-root .pointer-events-none {
    pointer-events: none
}
#map-planner-root .pointer-events-auto {
    pointer-events: auto
}
#map-planner-root .visible {
    visibility: visible
}
#map-planner-root .static {
    position: static
}
#map-planner-root .fixed {
    position: fixed
}
#map-planner-root .absolute {
    position: absolute
}
#map-planner-root .relative {
    position: relative
}
#map-planner-root .inset-0 {
    inset: 0px
}
#map-planner-root .inset-x-0 {
    left: 0px;
    right: 0px
}
#map-planner-root .bottom-0 {
    bottom: 0px
}
#map-planner-root .left-0 {
    left: 0px
}
#map-planner-root .right-0 {
    right: 0px
}
#map-planner-root .right-1\.5 {
    right: 0.375rem
}
#map-planner-root .top-0 {
    top: 0px
}
#map-planner-root .top-1 {
    top: 0.25rem
}
#map-planner-root .z-10 {
    z-index: 10
}
#map-planner-root .z-20 {
    z-index: 20
}
#map-planner-root .z-30 {
    z-index: 30
}
#map-planner-root .z-40 {
    z-index: 40
}
#map-planner-root .z-50 {
    z-index: 50
}
#map-planner-root .z-\[100\] {
    z-index: 100
}
#map-planner-root .z-\[110\] {
    z-index: 110
}
#map-planner-root .z-\[1\] {
    z-index: 1
}
#map-planner-root .z-\[20\] {
    z-index: 20
}
#map-planner-root .z-\[2\] {
    z-index: 2
}
#map-planner-root .z-\[3\] {
    z-index: 3
}
#map-planner-root .z-\[5\] {
    z-index: 5
}
#map-planner-root .z-\[60\] {
    z-index: 60
}
#map-planner-root .z-\[6\] {
    z-index: 6
}
#map-planner-root .m-0 {
    margin: 0px
}
#map-planner-root .mb-0\.5 {
    margin-bottom: 0.125rem
}
#map-planner-root .mb-3 {
    margin-bottom: 0.75rem
}
#map-planner-root .block {
    display: block
}
#map-planner-root .inline-block {
    display: inline-block
}
#map-planner-root .flex {
    display: flex
}
#map-planner-root .inline-flex {
    display: inline-flex
}
#map-planner-root .grid {
    display: grid
}
#map-planner-root .inline-grid {
    display: inline-grid
}
#map-planner-root .hidden {
    display: none
}
#map-planner-root .h-full {
    height: 100%
}
#map-planner-root .h-screen {
    height: 100vh
}
#map-planner-root .min-h-0 {
    min-height: 0px
}
#map-planner-root .min-h-\[360px\] {
    min-height: 360px
}
#map-planner-root .min-h-\[420px\] {
    min-height: 420px
}
#map-planner-root .min-h-screen {
    min-height: 100vh
}
#map-planner-root .w-full {
    width: 100%
}
#map-planner-root .w-screen {
    width: 100vw
}
#map-planner-root .min-w-0 {
    min-width: 0px
}
#map-planner-root .flex-1 {
    flex: 1 1 0%
}
#map-planner-root .flex-shrink-0 {
    flex-shrink: 0
}
#map-planner-root .shrink-0 {
    flex-shrink: 0
}
#map-planner-root .flex-grow {
    flex-grow: 1
}
#map-planner-root .transform {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
#map-planner-root .cursor-grab {
    cursor: grab
}
#map-planner-root .cursor-pointer {
    cursor: pointer
}
#map-planner-root .select-none {
    user-select: none
}
#map-planner-root .resize-none {
    resize: none
}
#map-planner-root .list-none {
    list-style-type: none
}
#map-planner-root .flex-col {
    flex-direction: column
}
#map-planner-root .flex-wrap {
    flex-wrap: wrap
}
#map-planner-root .items-start {
    align-items: flex-start
}
#map-planner-root .items-end {
    align-items: flex-end
}
#map-planner-root .items-center {
    align-items: center
}
#map-planner-root .items-stretch {
    align-items: stretch
}
#map-planner-root .justify-end {
    justify-content: flex-end
}
#map-planner-root .justify-center {
    justify-content: center
}
#map-planner-root .justify-between {
    justify-content: space-between
}
#map-planner-root .justify-evenly {
    justify-content: space-evenly
}
#map-planner-root .gap-1\.5 {
    gap: 0.375rem
}
#map-planner-root .gap-2 {
    gap: 0.5rem
}
#map-planner-root .gap-3 {
    gap: 0.75rem
}
#map-planner-root .gap-4 {
    gap: 1rem
}
#map-planner-root .overflow-hidden {
    overflow: hidden
}
#map-planner-root .overflow-visible {
    overflow: visible
}
#map-planner-root .overflow-y-auto {
    overflow-y: auto
}
#map-planner-root .overflow-x-hidden {
    overflow-x: hidden
}
#map-planner-root .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}
#map-planner-root .rounded {
    border-radius: 0.25rem
}
#map-planner-root .rounded-\[inherit\] {
    border-radius: inherit
}
#map-planner-root .rounded-full {
    border-radius: 9999px
}
#map-planner-root .rounded-sm {
    border-radius: 0.125rem
}
#map-planner-root .border {
    border-width: 1px
}
#map-planner-root .border-none {
    border-style: none
}
#map-planner-root .bg-transparent {
    background-color: transparent
}
#map-planner-root .p-0 {
    padding: 0px
}
#map-planner-root .p-4 {
    padding: 1rem
}
#map-planner-root .p-6 {
    padding: 1.5rem
}
#map-planner-root .px-1 {
    padding-left: 0.25rem;
    padding-right: 0.25rem
}
#map-planner-root .px-2 {
    padding-left: 0.5rem;
    padding-right: 0.5rem
}
#map-planner-root .px-4 {
    padding-left: 1rem;
    padding-right: 1rem
}
#map-planner-root .py-1 {
    padding-top: 0.25rem;
    padding-bottom: 0.25rem
}
#map-planner-root .py-2 {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem
}
#map-planner-root .py-3 {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem
}
#map-planner-root .py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem
}
#map-planner-root .pb-1\.5 {
    padding-bottom: 0.375rem
}
#map-planner-root .pb-3 {
    padding-bottom: 0.75rem
}
#map-planner-root .pb-3\.5 {
    padding-bottom: 0.875rem
}
#map-planner-root .pb-4 {
    padding-bottom: 1rem
}
#map-planner-root .pl-2 {
    padding-left: 0.5rem
}
#map-planner-root .pt-3\.5 {
    padding-top: 0.875rem
}
#map-planner-root .text-left {
    text-align: left
}
#map-planner-root .text-center {
    text-align: center
}
#map-planner-root .text-right {
    text-align: right
}
#map-planner-root .text-xs {
    font-size: 0.75rem;
    line-height: 1rem
}
#map-planner-root .uppercase {
    text-transform: uppercase
}
#map-planner-root .leading-none {
    line-height: 1
}
#map-planner-root .underline {
    text-decoration-line: underline
}
#map-planner-root .opacity-0 {
    opacity: 0
}
#map-planner-root .outline-none {
    outline: 2px solid transparent;
    outline-offset: 2px
}
#map-planner-root .outline {
    outline-style: solid
}
#map-planner-root .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}
#map-planner-root .drop-shadow {
    --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06));
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}
#map-planner-root .grayscale {
    --tw-grayscale: grayscale(100%);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}
#map-planner-root .invert {
    --tw-invert: invert(100%);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}
#map-planner-root .filter {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}
#map-planner-root .transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}
#map-planner-root .transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}
#map-planner-root .transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}
#map-planner-root .transition-opacity {
    transition-property: opacity;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}
#map-planner-root .transition-transform {
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms
}
#map-planner-root .duration-150 {
    transition-duration: 150ms
}
#map-planner-root .duration-200 {
    transition-duration: 200ms
}
#map-planner-root .ease-in-out {
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1)
}
#map-planner-root .hover\:scale-110:hover {
    --tw-scale-x: 1.1;
    --tw-scale-y: 1.1;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
#map-planner-root .hover\:scale-\[1\.03\]:hover {
    --tw-scale-x: 1.03;
    --tw-scale-y: 1.03;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
#map-planner-root .hover\:bg-white\/5:hover {
    background-color: rgb(255 255 255 / 0.05)
}
#map-planner-root .hover\:brightness-125:hover {
    --tw-brightness: brightness(1.25);
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}
#map-planner-root .active\:scale-\[0\.98\]:active {
    --tw-scale-x: 0.98;
    --tw-scale-y: 0.98;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
#map-planner-root .active\:cursor-grabbing:active {
    cursor: grabbing
}
#map-planner-root :is(.group:hover .group-hover\:opacity-100) {
    opacity: 1
}
#map-planner-page{padding:0;border:1px solid #aa8b4d;border-radius:10px;overflow:hidden;background:#211d18}
#map-planner-root{font-family:'Libre Baskerville',Georgia,serif;color:#eee2c7;position:relative;isolation:isolate}
#map-planner-root *,#map-planner-root *::before,#map-planner-root *::after{box-sizing:border-box}
#map-planner-root button,#map-planner-root input,#map-planner-root textarea{font:inherit;color:inherit}
#map-planner-root button{cursor:pointer;background:transparent;border:0;padding:0}
#map-planner-root h1,#map-planner-root h2,#map-planner-root h3,#map-planner-root p{margin:0}
#map-planner-root input{background:transparent;min-width:0}
#map-planner-page>.back{margin:14px 18px}
#map-planner-root .mp-loading{padding:30px;text-align:center}
#map-planner-root button:disabled{cursor:default;opacity:.55}
#map-planner-root button:focus-visible,#map-planner-root input:focus-visible{outline:2px solid #d9bb62;outline-offset:2px}
#map-planner-root img{max-width:100%;display:block}
#map-planner-root .mp-app{background:linear-gradient(#211d18db,#211d18f5),url('assets/skin/game-tools-background.webp') center/cover}
#map-planner-root .mp-heading{text-align:center;padding:26px 20px 6px}
#map-planner-root .mp-heading h2{font:700 clamp(24px,3vw,34px) 'Cinzel',serif;margin:0 0 12px;color:#eee2c7}
#map-planner-root .mp-heading p{font-weight:700;color:#86c3df;margin:0 0 16px;font-size:14px}
#map-planner-root .mp-divider{height:20px;width:100%;background:url('assets/skin/horizontal-divider.webp') center/190px auto no-repeat;position:relative}
#map-planner-root .mp-divider:before{content:'';position:absolute;top:50%;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,#b69958,transparent)}
#map-planner-root .mp-toolbar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;padding:12px 20px;border-bottom:1px solid #8b774166}
#map-planner-root .mp-toolbar button,#map-planner-root .mp-confirm button,#map-planner-root .mp-view-hero{background:#211d18;border:1px solid #8b774188;border-radius:5px;padding:8px 12px;color:#e6d6b4;font-size:12px}
#map-planner-root .mp-toolbar button[aria-pressed=true]{background:#443723;border-color:#d9bb62;color:#f5df9e}
#map-planner-root .mp-toolbar span{width:100%;text-align:center;font-size:11px;color:#bcaf95}
#map-planner-root .mp-steps{display:flex;justify-content:center;padding:14px 20px 2px;min-width:0}
#map-planner-root .mp-step-list{display:flex;gap:6px;max-width:100%;overflow-x:auto;padding:3px;scrollbar-width:thin}
#map-planner-root .mp-step-list button{flex:0 0 auto;min-height:36px;padding:7px 14px;border:1px solid #8b774166;border-radius:5px;background:#211d18aa;color:#bcaf95;font-size:12px;transition:background-color .18s,color .18s,border-color .18s}
#map-planner-root .mp-step-list button:hover{background:#393022;color:#eee2c7;border-color:#b69958}
#map-planner-root .mp-step-list button[aria-pressed=true]{background:#443723;border-color:#d9bb62;color:#f5df9e}
#map-planner-root .mp-step-list .mp-step-add{min-width:36px;padding:4px 10px;font-size:20px;line-height:1}
#map-planner-root .mp-trial-panel{flex-shrink:0;width:100%;margin-bottom:16px}
#map-planner-root .mp-trial-trigger,#map-planner-root .mp-trial-option{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;gap:8px;width:100%;min-height:60px;padding:10px;border:1px solid #b6995888;border-radius:4px;text-align:left;background:#242019}
#map-planner-root .mp-trial-trigger>svg{flex-shrink:0;color:#ebd59c}
#map-planner-root .mp-trial-trigger .mp-trial-copy strong{font-size:11px}
#map-planner-root .mp-trial-art{position:absolute;inset:0;z-index:-1;pointer-events:none;display:flex}
#map-planner-root .mp-trial-art img{width:100%;height:100%;object-fit:cover;opacity:.55}
#map-planner-root .mp-trial-art-dual img{width:50%}
#map-planner-root .mp-trial-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#171510a6,#17151050)}
#map-planner-root .mp-trial-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
#map-planner-root .mp-trial-copy strong{font-family:'Cinzel',Georgia,serif;font-size:12px;font-weight:700;line-height:1.4;color:#f5e6c9;text-shadow:0 1px 3px #000}
#map-planner-root .mp-trial-copy small{font-size:10px;line-height:1.4;color:#dfd3ba}
#map-planner-root .mp-trial-trigger:hover,#map-planner-root .mp-trial-option:hover{border-color:#ebd59c}
#map-planner-root .mp-trial-option[aria-pressed=true]{border-color:#ebd59c;box-shadow:inset 0 0 0 1px #d9bb6255}
#map-planner-root .mp-trial-overlay{position:fixed;inset:0;z-index:180;display:grid;place-items:center;background:#0009;padding:16px}
/* Both planner isolation and the named workspace transition create stacking
   contexts. Raise those only while this dialog is open, above the dock (40). */
#map-planner-root:has(.mp-trial-overlay),.workspace-main:has(#map-planner-root .mp-trial-overlay){position:relative;z-index:41}
#map-planner-root .mp-trial-dialog{width:min(470px,100%);max-height:85vh;display:flex;flex-direction:column;padding:18px;background:#242019;border:1px solid #b69958;border-radius:6px;box-shadow:0 12px 40px #0008}
#map-planner-root .mp-trial-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
#map-planner-root .mp-trial-dialog-heading h3{font:700 16px 'Cinzel',Georgia,serif;color:#e0c681}
#map-planner-root .mp-trial-dialog-heading button{display:grid;place-items:center;width:32px;height:32px;flex-shrink:0}
#map-planner-root .mp-trial-options{display:flex;flex-direction:column;gap:8px;overflow-y:auto;min-height:0;padding:3px}
#map-planner-root .mp-trial-option{flex-shrink:0;min-height:58px;padding:10px 14px}
#map-planner-root .mp-trial-roster-note{font-size:11px;padding:10px 16px;color:#e0c681;border-bottom:1px solid #8b774144;flex-shrink:0;line-height:1.5}
#map-planner-root .mp-workbench{display:flex;flex-direction:column;height:clamp(720px,85vh,1050px);min-width:0;padding-bottom:20px}
#map-planner-root .mp-team-layout{flex-wrap:wrap}
#map-planner-root .mp-team-layout>div:first-child{flex:1 1 440px}
#map-planner-root .mp-section-title{font:700 13px 'Cinzel',serif;color:#e0c681;text-align:center;padding:6px 0}
#map-planner-root .mp-section-title .mp-divider{height:16px;background-size:125px auto}
#map-planner-root .hero-name-label{font-family:'Cinzel',Georgia,serif;font-weight:700;color:#eee2c7;text-transform:uppercase;line-height:1.2}
#map-planner-root .hero-name-label--muted{color:#b6a98f}
#map-planner-root .mp-confirm-overlay{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:#000b;padding:16px}
#map-planner-root .mp-confirm{max-width:430px;padding:24px;background:#242019;border:1px solid #b69958;border-radius:9px}
#map-planner-root .mp-confirm h3{font-family:'Cinzel',serif;color:#e0c681}
#map-planner-root .mp-confirm p{font-size:13px;line-height:1.7}
#map-planner-root .mp-confirm button{margin-right:8px}
#map-planner-root .mp-view-hero{display:block;width:100%;margin:8px 0}
#map-planner-root .mp-notice{padding:10px 20px;color:#d9bb62;font-size:12px}
#map-planner-root .mp-data-note{padding:10px 20px;font-size:10px;color:#b6a98f;line-height:1.6;text-align:center}
#map-planner-root .account-scrollbar{scrollbar-width:thin;scrollbar-color:#8b7741 #171510}
#map-planner-root ::-webkit-scrollbar{width:6px;height:6px}
#map-planner-root ::-webkit-scrollbar-thumb{background:#8b7741;border-radius:4px}
#map-planner-root .ts-faction-glow{animation:mp-faction-pulse 1.8s ease-in-out infinite}
#map-planner-root .gamemode-card:after{content:'';position:absolute;inset:0;background:linear-gradient(105deg,transparent 40%,#e0c68122 50%,transparent 60%);transform:translateX(-100%);opacity:0;pointer-events:none}
#map-planner-root .gamemode-card:hover:after{animation:mp-shimmer .65s ease forwards}
@keyframes mp-faction-pulse{0%,100%{opacity:.85;filter:brightness(1)}50%{opacity:1;filter:brightness(1.15)}}
@keyframes mp-shimmer{0%{transform:translateX(-100%);opacity:0}20%{opacity:1}100%{transform:translateX(100%);opacity:0}}
@keyframes mp-sparkle-float{0%,100%{opacity:0;transform:translateY(0) scale(.5)}20%{opacity:1;transform:translateY(-3px) scale(1)}80%{opacity:.7;transform:translateY(-6px) scale(.8)}}
@media(prefers-reduced-motion:reduce){#map-planner-root .ts-faction-glow,#map-planner-root .gamemode-card:hover:after{animation:none}#map-planner-root *{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:1000px){#map-planner-root .mp-workbench{height:auto;min-height:720px}#map-planner-root .mp-heading{padding-top:20px}#map-planner-root .mp-team-layout>div:first-child{flex-basis:auto}}
