@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--background:#060907;--background-secondary:#0a0f0c;--surface:#101711;--surface-elevated:#16201a;--text-primary:#e9f0e8;--text-secondary:#9fab9e;--text-muted:#5f6b5e;--text-placeholder:#454f45;--color-brand:#e8b64c;--color-brand-hover:#f2c96e;--color-brand-muted:#e8b64c1f;--accent-action-bg:#e8b64c;--accent-action-bg-hover:#f2c96e;--accent-action-fg:#141008;--tile-deepwater:#1d5666;--tile-water:#2e7d8c;--tile-sand:#c9b27a;--tile-grass:#4c9e5a;--tile-forest:#2e6b44;--tile-soil:#8a6a48;--tile-rock:#6e7370;--tile-claim:#e8b64c;--color-success:#46c884;--color-error:#f05050;--color-warning:#f0a43c;--color-info:#4690e8;--border:#1b241d;--border-subtle:#141c16;--border-hover:#2a3a2e;--font-display:"JetBrains Mono", "Courier New", monospace;--font-mono:"JetBrains Mono", "Courier New", monospace;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.875rem;--text-lg:1rem;--text-xl:1.125rem;--text-2xl:1.375rem;--text-3xl:1.75rem;--text-4xl:2rem;--text-5xl:2.5rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.25;--leading-normal:1.5;--leading-relaxed:1.75;--tracking-micro:.1em;--tracking-display:.04em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--radius-sm:2px;--radius-md:4px;--radius-lg:6px;--radius-xl:8px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0006;--shadow-md:0 4px 12px -2px #00000080;--shadow-lg:0 12px 32px -4px #0009;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-tooltip:1070;--z-toast:1080;--content-max-width:1200px;--transition-fast:.12s ease-out;--transition-normal:.16s ease-out;--transition-slow:.24s ease-out}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--background);font-variant-numeric:tabular-nums;min-height:100vh}#root{min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-semibold);line-height:var(--leading-tight)}h1,h2{font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:var(--tracking-display)}h1{font-size:clamp(1.375rem, 3vw, var(--text-3xl))}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}h4{font-size:var(--text-base)}h5{font-size:var(--text-sm)}h6{font-size:var(--text-xs)}p{margin-bottom:var(--space-4);color:var(--text-secondary)}a{color:var(--color-brand);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-brand-hover)}code,pre,.mono{font-family:var(--font-mono)}.microlabel{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:var(--tracking-micro);color:var(--text-muted)}::selection{background-color:var(--color-brand-muted);color:var(--text-primary)}.container{width:100%;max-width:var(--content-max-width);padding:0 var(--space-4);margin:0 auto}@media (width>=768px){.container{padding:0 var(--space-6)}}button{font-family:var(--font-mono);cursor:pointer;background:0 0;border:none}.page-loader{background:var(--background);justify-content:center;align-items:center;min-height:100vh;display:flex}.page-loader__spinner{border:3px solid var(--border-hover);border-top-color:var(--color-brand);border-radius:var(--radius-full);width:28px;height:28px;animation:.8s linear infinite page-loader-spin}@keyframes page-loader-spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--border-hover)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}:focus:not(:focus-visible){outline:none}
