body{background-color:#f0f7f5}.map-hero{opacity:0;flex:1;min-height:0;transition:opacity .12s ease-out;position:relative;overflow:hidden}.map-hero.is-ready{opacity:1}#world-map{width:100%;height:100%;display:block}#map-viewport{transition:transform .6s}.map-hint{border:1px solid var(--border);color:var(--text-secondary);pointer-events:none;background-color:#fffffff5;border-radius:.5rem;align-items:center;gap:.5rem;margin:0;padding:.5rem .875rem;font-size:.8125rem;display:inline-flex;position:absolute;top:1.5rem;left:1.5rem;box-shadow:0 4px 12px #0f172a14}.map-hint.clickable{pointer-events:auto;cursor:pointer;color:#fff;background-color:#12182b;border-color:#12182b;border-radius:.625rem;font-weight:700}.map-hint.clickable:hover{background-color:#232c47}.map-hint-icon{flex-shrink:0}.hitbox{fill:#0000;cursor:pointer;pointer-events:all}.display{pointer-events:none;stroke:#fff;stroke-width:1.5px;fill:var(--tier-color,#cfe3de);transition:fill .2s}.region.hovered .display,.subregion.hovered .display{fill:#0f766e}#regions{transition:opacity .4s}#regions.hidden{opacity:0}#regions.hidden .hitbox{pointer-events:none}.subregion-group{opacity:0;transition:opacity .4s}.subregion-group.active{opacity:1}.subregion-group:not(.active) .hitbox{pointer-events:none}.overlay-panel{border:1px solid var(--border);background-color:#fffffffa;border-radius:.75rem;width:360px;max-width:calc(100vw - 3rem);max-height:calc(100% - 3rem);padding:1.25rem;position:absolute;top:1.5rem;right:1.5rem;overflow-y:auto;box-shadow:0 8px 24px #0f172a1f}.panel-breadcrumb{color:var(--text-secondary);margin-bottom:.75rem;font-size:.8125rem}.panel-breadcrumb button{color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.panel-breadcrumb button:hover{color:var(--primary)}.panel-heading{margin-bottom:.125rem;font-size:1.375rem;font-weight:700}.panel-subtitle{color:var(--text-secondary);margin-bottom:1rem;font-size:.8125rem}.mastery-card{background-color:#f3f6f5;border-radius:.625rem;margin-bottom:1.25rem;padding:1rem}.mastery-card-row{justify-content:space-between;align-items:baseline;margin-bottom:.5rem;display:flex}.mastery-card-label{letter-spacing:.04em;color:var(--text-secondary);font-size:.6875rem;font-weight:700}.mastery-card-pct{color:var(--primary);font-size:1.375rem;font-weight:700}.mastery-card .mastery-bar{margin-bottom:.5rem}.mastery-card-placed{color:var(--text-secondary);font-size:.8125rem}.deck-card-list{flex-direction:column;gap:.625rem;margin-bottom:1.25rem;list-style:none;display:flex}.deck-card{border:1px solid var(--border);border-radius:.625rem;padding:.75rem .875rem}.deck-card-type{letter-spacing:.04em;color:var(--type-color,var(--primary));align-items:center;gap:.375rem;margin-bottom:.25rem;font-size:.6875rem;font-weight:700;display:flex}.deck-type-dot{background-color:var(--type-color,var(--primary));border-radius:50%;width:6px;height:6px}.deck-card-name{margin-bottom:.5rem;font-size:.9375rem;font-weight:600}.deck-card-progress{align-items:center;gap:.625rem;display:flex}.deck-card-bar{flex:1;margin:0}.subregion-list{flex-direction:column;gap:.25rem;margin-bottom:1rem;list-style:none;display:flex}.subregion-row{width:100%;font:inherit;color:var(--foreground);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.625rem;padding:.5rem 0;display:flex}.subregion-swatch{background-color:var(--tier-color,var(--border));border-radius:4px;flex-shrink:0;width:12px;height:12px}.subregion-name{flex:1;font-size:.875rem;font-weight:600}.subregion-bar{width:64px;margin:0}.panel-cta{text-align:center;background-color:var(--primary);color:#fff;border-radius:.5rem;width:100%;padding:.75rem 1rem;font-size:.9375rem;font-weight:700;display:block}.panel-cta:hover{background-color:var(--primary-hover)}.signin-notice{border-top:1px solid var(--border);color:var(--text-secondary);margin-top:1rem;padding-top:1rem;font-size:.8125rem;position:relative}.signin-notice a{color:var(--primary);font-weight:600}.signin-notice a:hover{text-decoration:underline}.signin-notice button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1rem;line-height:1;position:absolute;top:-.5rem;right:-.25rem}
