/*!**********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./styles/theme.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************/
/* Baseline theme tokens (dark gray + pink) and user-overrides via CSS vars */
:root {
  --bg: #0f0f12;
  --panel: #17171c;
  --text: #e8e8f0;
  --muted: #a1a1b3;
  --accent: #ff3ea5;
  --accent-2: #ff8bdc;

  --radius: 14px;
  --shadow: 0 10px 30px rgba(0,0,0,.35);
  
  --color-scheme: dark;
  color-scheme: var(--color-scheme); /* Force native form elements to match mode */
}

/* Use native accent-color for all form controls */
input[type="range"], input[type="checkbox"], input[type="radio"] {
  accent-color: var(--accent);
  color-scheme: var(--color-scheme);
  cursor: pointer;
}
input[type="file"] {
  color-scheme: var(--color-scheme);
  color: var(--text);
}
input[type="file"]::-webkit-file-upload-button {
  background: var(--accent);
  color: #fff;
  border: none;
  padding: 8px 12px;
  border-radius: calc(var(--radius) - 4px);
  cursor: pointer;
  margin-right: 12px;
  font-weight: bold;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
input[type="file"]::file-selector-button {
  background: var(--accent);
  color: #fff;
  border: none;
  padding: 8px 12px;
  border-radius: calc(var(--radius) - 4px);
  cursor: pointer;
  margin-right: 12px;
  font-weight: bold;
  transition: all 0.2s;
}
input[type="file"]::-webkit-file-upload-button:hover {
  filter: brightness(1.2);
}
input[type="file"]::file-selector-button:hover {
  filter: brightness(1.2);
}
select {
  background-color: var(--panel);
  color: var(--text);
  color-scheme: var(--color-scheme);
}

[data-theme="high-contrast"] {
  --text: #ffffff;
  --muted: #d0d0d0;
}

.fg-muted { color: var(--muted); }
.btn {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.6rem .9rem; border-radius: var(--radius);
  background: var(--accent); color:#fff; border:none; cursor:pointer;
  box-shadow: var(--shadow);
}
.btn.ghost { background: transparent; color: var(--text); border:1px solid #2a2a33; }
.input, .select { width:100%; background:#1d1d23; color:var(--text); border:1px solid #2a2a33; border-radius:var(--radius); padding:.6rem .8rem; }
.card { background:var(--panel); border:1px solid #1f1f27; border-radius:var(--radius); box-shadow: var(--shadow); }
.link { color: var(--accent); text-decoration:none; }

/*!************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./styles/globals.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************/
/* Global resets */
* { box-sizing: border-box; }
html, body, #__next { height: 100%; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Apple Color Emoji", "Segoe UI Emoji";
}

/* App layout helpers */
.app-wrap { min-height:100vh; display:flex; flex-direction:column; }
.app-main { flex:1 1; display:flex; min-height:0; }
.left-panel { width:360px; max-width:90vw; background:var(--panel); border-right:1px solid #23232c; }
.map-wrap { flex:1 1; min-width:0; position:relative; }
.header {
  height:56px; display:flex; align-items:center; justify-content:space-between;
  padding:0 16px; border-bottom:1px solid #23232c; background:linear-gradient(to right, #141418, #1a1a22);
}
.brand { font-weight:700; letter-spacing:.3px; }

/* FM_PATCH_RIGHT_PANEL_CSS */
.right-panel {
  width: 320px;
  max-width: 90vw;
  background: var(--panel, #101016);
  border-left: 1px solid #23232c;
}

/* Mobile: stack panels */
@media (max-width: 1024px) {
  .app-main { display: block; }
  .left-panel, .right-panel { width: 100%; max-width: 100%; }
  .map-wrap { height: min(70vh, 70svh); }
}

/* Profile Animated Ring Level Perk */
.profile-ring {
  position: relative;
  z-index: 1;
}
.profile-ring::before {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  background: conic-gradient(from 0deg, var(--accent), var(--accent-2), #ffcc00, #00cc66, var(--accent));
  animation: profile-spin 4s linear infinite;
  z-index: -1;
  pointer-events: none;
}
@keyframes profile-spin {
  100% { transform: rotate(360deg); }
}

/*!********************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[2]!../../node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[12].use[3]!./styles/map.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************/
.map-container {
  position: relative;
  width: 100%;
  height: 100vh; /* full viewport height */
}

