@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700;800&family=JetBrains+Mono:wght@400;700&display=swap";:root{--font-heading:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Courier New", Courier, monospace;--bg-base:#0a0b10;--bg-surface:#121420a6;--bg-surface-hover:#1a1d2ed9;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--border-color:#ffffff14;--border-color-active:#9333ea66;--color-flow:#10b981;--color-friction-mid:#f59e0b;--color-friction-high:#ef4444;--color-trust:#8b5cf6;--color-energy:#fbbf24;--color-systemic:#06b6d4;--shadow-diffused:0 15px 35px #0006;--shadow-glow-flow:0 0 20px #10b98140;--shadow-glow-trust:0 0 20px #8b5cf640;--shadow-glow-friction:0 0 20px #ef444440;--backdrop-blur:blur(14px);--transition-smooth:all .3s cubic-bezier(.25, .8, .25, 1);--transition-fast:all .15s ease-out;--header-height:70px;--sidebar-width:320px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--text-primary);background-color:var(--bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(at 0 0,#8b5cf614 0,#0000 50%),radial-gradient(at 50% 100%,#06b6d40d 0,#0000 50%),radial-gradient(at 100% 0,#10b9810a 0,#0000 40%);background-attachment:fixed;min-height:100vh;overflow-x:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#00000026}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-trust)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;font-weight:700;line-height:1.2}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.glass-card{background:var(--bg-surface);-webkit-backdrop-filter:var(--backdrop-blur);border:1px solid var(--border-color);box-shadow:var(--shadow-diffused);transition:var(--transition-smooth);border-radius:16px}.glass-card:hover{border-color:#ffffff26}header.app-header{height:var(--header-height);border-bottom:1px solid var(--border-color);-webkit-backdrop-filter:var(--backdrop-blur);backdrop-filter:var(--backdrop-blur);z-index:100;background:#0a0b10cc;justify-content:space-between;align-items:center;padding:0 2rem;display:flex;position:sticky;top:0}.brand-title{background:linear-gradient(135deg,#a78bfa 0%,#06b6d4 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;align-items:center;gap:.5rem;font-size:1.8rem;font-weight:800;display:flex}.app-container{flex-direction:column;height:100vh;display:flex;position:relative;overflow:hidden}.dashboard-layout{grid-template-columns:1fr var(--sidebar-width);width:100%;max-width:1600px;height:calc(100vh - var(--header-height));max-height:calc(100vh - var(--header-height));flex-grow:1;gap:1.5rem;margin:0 auto;padding:1.5rem;display:grid;overflow:hidden}.map-view-container{flex-direction:column;height:100%;min-height:0;display:flex}.map-viewport{border:1px solid var(--border-color);background:#0000004d;border-radius:16px;flex-grow:1;justify-content:center;align-items:center;min-height:0;padding:2rem;display:flex;position:relative;overflow:auto}.map-grid-container{grid-gap:24px;transform-style:preserve-3d;will-change:transform;grid-template-columns:repeat(3,130px);padding:2rem;transition:transform .8s cubic-bezier(.2,.8,.2,1);display:grid}.isometric-tilted{transform:rotateX(60deg)rotate(-45deg)}.map-node{cursor:pointer;width:130px;height:130px;transition:var(--transition-smooth);transform-style:preserve-3d;background:#1e293b66;border:2px solid #ffffff1a;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;box-shadow:0 4px 6px #0003}.map-node:before{content:"";opacity:0;transition:var(--transition-fast);background:radial-gradient(circle,#ffffff14 0%,#0000 70%);border-radius:14px;position:absolute;inset:0}.map-node:hover:not(.locked){border-color:#fff6;transform:translateZ(20px);box-shadow:-10px 10px 20px #00000080}.map-node:hover:not(.locked):before{opacity:1}.map-node.locked{cursor:not-allowed;opacity:.45;background:#0f1117e6;border-color:#ffffff05}.map-node.locked:after{content:"🔒";filter:grayscale();font-size:1.8rem}.node-friction-low{border-color:var(--color-flow);background:#10b98126;box-shadow:0 4px 10px #10b9811a}.node-friction-low:hover:not(.locked){box-shadow:-10px 10px 20px #10b9814d, var(--shadow-glow-flow)}.node-friction-mid{border-color:var(--color-friction-mid);background:#f59e0b26;box-shadow:0 4px 10px #f59e0b1a}.node-friction-mid:hover:not(.locked){box-shadow:-10px 10px 20px #f59e0b4d,0 0 15px #f59e0b33}.node-friction-high{border-color:var(--color-friction-high);background:#ef444426;box-shadow:0 4px 10px #ef44441a}.node-friction-high:hover:not(.locked){box-shadow:-10px 10px 20px #ef44444d, var(--shadow-glow-friction)}.node-active{border-width:3px;border-color:var(--color-trust);animation:2s ease-in-out infinite pulse-active}@keyframes pulse-active{0%{box-shadow:-5px 5px 10px #8b5cf633}50%{box-shadow:-10px 10px 25px #8b5cf680,0 0 20px #8b5cf64d}to{box-shadow:-5px 5px 10px #8b5cf633}}.sidebar{flex-direction:column;gap:1.5rem;height:100%;padding-right:.5rem;display:flex;overflow-y:auto}.stat-row{justify-content:space-between;align-items:center;margin-bottom:.8rem;display:flex}.progress-bar-container{background:#ffffff0d;border-radius:4px;width:100%;height:8px;position:relative;overflow:hidden}@keyframes progress-glow{0%{opacity:.85;filter:brightness()}50%{opacity:1;filter:brightness(1.2)}to{opacity:.85;filter:brightness()}}.progress-bar-fill{border-radius:4px;height:100%;transition:width .5s ease-out;animation:2s ease-in-out infinite progress-glow}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;opacity:0;pointer-events:none;background:#050508d9;justify-content:center;align-items:center;padding:1.5rem;transition:opacity .3s ease-out;display:flex;position:fixed;inset:0}.modal-overlay.active{opacity:1;pointer-events:all}.modal-content{width:100%;max-width:580px;padding:2.2rem;transition:transform .3s cubic-bezier(.34,1.56,.64,1);transform:translateY(20px)scale(.95)}.modal-overlay.active .modal-content{transform:translateY(0)scale(1)}.options-list{flex-direction:column;gap:1rem;margin-top:1.5rem;display:flex}.option-button{color:var(--text-primary);text-align:left;cursor:pointer;transition:var(--transition-fast);font-family:var(--font-sans);background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;padding:1rem 1.2rem;font-size:.95rem;line-height:1.4}.option-button:hover:not(:disabled){border-color:var(--color-trust);background:#ffffff14;transform:translate(4px)}.option-button:disabled{opacity:.5;cursor:not-allowed}.gold-pipe-popup{border:2px solid var(--color-energy);box-shadow:0 0 30px #fbbf2466}@media (width<=900px){.app-container{height:auto;overflow:visible}.dashboard-layout{grid-template-columns:1fr;gap:1rem;height:auto;max-height:none;padding:1rem;overflow:visible}.sidebar{order:-1;height:auto;padding-right:0;overflow-y:visible}.map-viewport{padding:2rem 1rem}.map-grid-container{--grid-col-width:90px;grid-gap:14px}.isometric-tilted{transform:rotateX(55deg)rotate(-40deg)}.map-node{width:90px;height:90px}.map-node.locked:after{font-size:1.3rem}}.achievement-toast{-webkit-backdrop-filter:blur(16px);border:1.5px solid var(--color-energy);z-index:2000;background:#121420e6;border-radius:16px;align-items:center;gap:.8rem;width:330px;padding:1.2rem;animation:.4s cubic-bezier(.16,1,.3,1) forwards slide-in-toast;display:flex;position:fixed;top:24px;right:24px;box-shadow:0 10px 25px #fbbf2440,0 0 15px #fbbf2426}@keyframes slide-in-toast{0%{opacity:0;transform:translate(120%)scale(.9)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes pulse-cyan{0%{border-color:#06b6d440;box-shadow:0 0 15px #06b6d40d}50%{border-color:#06b6d499;box-shadow:0 0 20px #06b6d440}to{border-color:#06b6d440;box-shadow:0 0 15px #06b6d40d}}
