@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{color-scheme:dark;font-family:Space Grotesk,sans-serif;background:radial-gradient(circle at top,rgba(34,63,84,.26),transparent 38%),radial-gradient(circle at 20% 30%,rgba(158,255,127,.1),transparent 22%),linear-gradient(180deg,#04060c,#080b12 42%,#06070c);color:#edf1e8;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 50% -10%,rgba(107,224,212,.08),transparent 30%),linear-gradient(180deg,#04060c,#060910)}button,input,select{font:inherit}button{cursor:pointer}#root{min-height:100vh}.app-shell{position:relative;height:100vh;padding:1.35rem 1.35rem 1.1rem;overflow:hidden;display:flex;flex-direction:column}.app-shell.is-loading{height:100vh}.starscape{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle at 25% 30%,rgba(255,255,255,.24) 0 1px,transparent 1px),radial-gradient(circle at 62% 20%,rgba(255,255,255,.18) 0 1px,transparent 1px),radial-gradient(circle at 80% 60%,rgba(255,255,255,.16) 0 1px,transparent 1px);background-size:210px 210px,310px 310px,260px 260px;opacity:.45;pointer-events:none}.global-loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(circle at 50% 20%,rgba(107,224,212,.14),transparent 34%),linear-gradient(180deg,#04060cf0,#05080efa);pointer-events:all}.global-loading-panel{width:min(38rem,100%);display:grid;gap:1rem;padding:1.55rem 1.6rem;border-radius:30px;border:1px solid rgba(148,170,170,.18);background:radial-gradient(circle at top,rgba(127,242,208,.12),transparent 42%),#080b11eb;box-shadow:0 28px 70px #0000005c,inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.global-loading-kicker{font-family:IBM Plex Mono,monospace;color:#7ff2d0;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase}.global-loading-panel h2{margin:0;font-size:clamp(2rem,3.5vw,3.1rem);line-height:.96;letter-spacing:-.04em}.global-loading-panel p{margin:0;max-width:54ch;color:#d8e0e7c7;line-height:1.55}.global-loading-progress-meta{display:flex;justify-content:space-between;align-items:center;gap:1rem;color:#eef3f7}.global-loading-progress-meta strong{font-size:1rem}.global-loading-progress-meta span{font-family:IBM Plex Mono,monospace;color:#7ff2d0;font-size:.9rem;letter-spacing:.08em}.global-loading-progress{position:relative;height:.72rem;overflow:hidden;border-radius:999px;background:#ffffff14;box-shadow:inset 0 1px 2px #0000003d}.global-loading-progress-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:linear-gradient(90deg,#7ff2d0e6,#c4ff6fdb),#7ff2d0cc;box-shadow:0 0 30px #7ff2d033,inset 0 1px #ffffff29;transition:width .22s ease}.global-loading-steps{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.65rem}.global-loading-step{display:grid;gap:.35rem;padding:.72rem .75rem;border-radius:18px;border:1px solid rgba(255,255,255,.06);background:#ffffff08;color:#99a9b2e0}.global-loading-step.is-complete{border-color:#7ff2d042;background:linear-gradient(180deg,#7ff2d01a,#ffffff05),#ffffff08;color:#eef3f7}.global-loading-step span{font-family:IBM Plex Mono,monospace;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}.global-loading-step small{font-size:.82rem}.app-header,.dashboard-grid,.controls-panel{position:relative;z-index:1}.app-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;width:100%}.app-header h1{margin:0;font-size:clamp(2rem,3vw,3.6rem);line-height:.98;letter-spacing:-.05em;max-width:8ch}.header-left{flex:1;display:flex;align-items:center;min-width:0}.header-center{flex:0 0 auto;display:flex;align-items:center;gap:28px}.header-right{flex:1;display:flex;align-items:center}.mycelium-spacer{flex:1;display:flex;justify-content:right;padding:0 1rem}.header-stats{display:grid;grid-template-columns:repeat(3,minmax(110px,1fr));gap:.65rem;min-width:360px}.header-stats div,.overlay-panel,.panel,.controls-panel{border:1px solid rgba(148,170,170,.14);background:#0a0e14c2;box-shadow:0 20px 40px #00000052,inset 0 1px #ffffff0a;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-stats div{padding:.85rem 1rem;border-radius:18px}.header-stats span,.eyebrow,.feed-kind,.status-pill,.panel-topline span,.leader-row span:first-child{font-family:IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.12em;margin-right:10px}.header-stats span,.eyebrow,.muted,.feed-meta{color:#99a9b2}.header-stats strong{display:block;margin-top:.2rem;color:#f2f6ee;font-size:1.25rem}.dashboard-grid{display:grid;grid-template-columns:minmax(280px,320px) minmax(600px,1fr) minmax(320px,400px);gap:1rem;flex:1;min-height:0}.left-column,.right-column,.globe-column{position:relative;height:100%;min-height:70vh}.left-column-stack{display:flex;flex-direction:column;height:100%;gap:.75rem}.left-column-stack .panel{flex:1;min-height:0;height:auto}.portfolio-chart-card{flex-shrink:0;border-radius:16px;padding:12px 14px;background:#ffffff06;border:1px solid rgba(255,255,255,.07)}.globe-stage{position:relative;height:100%}.globe-scene-slot{opacity:0;transform:scale(.985);transition:opacity .36s ease,transform .36s ease;height:100%}.panel{border-radius:24px;padding:1rem;height:100%;display:flex;flex-direction:column;overflow-y:auto}.panel-topline{display:flex;justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:.6rem}.status-pill{padding:.32rem .62rem;border-radius:999px;border:1px solid rgba(209,238,112,.16);color:#d7f184;background:#d7f18414;font-size:.68rem}.status-pill.live{color:#ffb365;border-color:#ffb3652e;background:#ffb36514}.status-pill.accent{color:#7ff2d0;border-color:#7ff2d033;background:#7ff2d014}.feed-panel,.market-panel{display:flex;flex-direction:column;gap:.85rem}.feed-panel h2,.market-panel h2{margin:0;font-size:1.3rem}.feed-list{display:grid;gap:.75rem;overflow:auto;max-height:48vh;padding-right:.25rem}.feed-card{padding:.9rem;border-radius:18px;background:#ffffff06;border:1px solid rgba(255,255,255,.05)}.feed-card.is-spoken{box-shadow:inset 0 0 0 1px #7ff2d029}.feed-card h3{margin:.3rem 0;font-size:.98rem}.feed-card p,.oracle-summary p,.overlay-panel p,.transcript-entry p{margin:0;line-height:1.5}.feed-meta{display:flex;justify-content:space-between;font-size:.72rem}.feed-kind{color:#f1df8c}.kind-opportunity{color:#aef57a}.severity-watch{border-color:#ffba5f29}.severity-alert{border-color:#ff7a5c3d;box-shadow:inset 0 0 0 1px #ff7a5c1f}.severity-critical{border-color:#c4ff6f3d;box-shadow:inset 0 0 0 1px #c4ff6f1a}.oracle-transcript{display:grid;gap:.7rem;border-top:1px solid rgba(255,255,255,.06);padding-top:.9rem}.transcript-entry{padding:.8rem;border-radius:16px;background:#6be0d40f}.transcript-entry span{display:inline-block;margin-bottom:.35rem;font-family:IBM Plex Mono,monospace;color:#7ff2d0;font-size:.74rem;text-transform:uppercase}.globe-column,.globe-stage{position:relative;min-height:70vh}.globe-scene-slot{opacity:0;transform:scale(.985);transition:opacity .36s ease,transform .36s ease}.globe-scene-slot.is-ready{opacity:1;transform:scale(1)}.globe-shell{position:relative;height:100%;min-height:70vh;border-radius:34px;overflow:hidden;border:1px solid rgba(150,170,184,.16);background:radial-gradient(circle at 50% 20%,rgba(50,83,84,.16),transparent 40%),#05070deb}.globe-shell canvas{width:100%!important;height:100%!important}.globe-label{position:absolute;left:1.2rem;top:1rem;display:grid;gap:.12rem;padding:.75rem .9rem;border-radius:18px;background:#00000057;border:1px solid rgba(255,255,255,.08)}.globe-label span{font-family:IBM Plex Mono,monospace;color:#89c6bd;font-size:.76rem;text-transform:uppercase}.globe-overlay{position:absolute;right:1rem;top:1rem;display:grid;gap:.8rem}.overlay-panel{border-radius:18px;padding:.9rem 1rem}.overlay-location-meta{display:grid;gap:.28rem;margin-top:.85rem;color:#b8c6ce;font-size:.8rem}.overlay-flight-chip{margin-top:.8rem;padding:.55rem .7rem;border-radius:999px;border:1px solid rgba(191,235,255,.18);background:#9fe8ff14;color:#bfefff;font-family:IBM Plex Mono,monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.overlay-no-fly-panel{display:grid;gap:.45rem;margin-top:.9rem;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.06)}.city-marker-label{--city-label-color: #d8e0e7;padding:.16rem .38rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--city-label-color) 22%,rgba(255,255,255,.08));background:linear-gradient(135deg,color-mix(in srgb,var(--city-label-color) 10%,transparent),transparent 72%),#04070ce6;color:var(--city-label-color);font-family:IBM Plex Mono,monospace;font-size:.54rem;line-height:1;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;box-shadow:0 6px 14px #0000003d,inset 0 1px #ffffff0a;pointer-events:auto;cursor:pointer;transform:translate(7px,-2px);transition:opacity .12s linear,transform .12s ease,box-shadow .12s ease}.city-marker-label:hover{opacity:.85;transform:translate(7px,-2px) scale(1.12);box-shadow:0 6px 18px #00000052,0 0 0 1px color-mix(in srgb,var(--city-label-color) 40%,transparent),inset 0 1px #ffffff12}.city-marker-label.selected{font-size:.6rem;font-weight:700;box-shadow:0 0 0 1px color-mix(in srgb,var(--city-label-color) 18%,transparent),0 8px 18px #0000004d,inset 0 1px #ffffff0f}.city-marker-label.current{box-shadow:0 0 0 1px color-mix(in srgb,var(--city-label-color) 16%,transparent),0 8px 18px #0000003d,inset 0 1px #ffffff0f}.city-marker-label.blocked{font-size:.58rem;font-weight:700;border-color:#b4fbff52;background:linear-gradient(135deg,rgba(180,251,255,.16),transparent 72%),#050a12f0;box-shadow:0 0 0 1px #b4fbff2e,0 8px 22px #00000057,0 0 30px #b4fbff1f}.overlay-panel strong{display:block;margin:.2rem 0 .4rem}.ticker-grid{display:grid;gap:.55rem}.travel-panel{display:grid;gap:.8rem;padding:.95rem;border-radius:20px;background:linear-gradient(145deg,#7ff2d014,#ffffff05),#ffffff05;border:1px solid rgba(127,242,208,.12)}.travel-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.travel-card div{padding:.8rem;border-radius:16px;background:#ffffff08}.travel-card span{display:block;margin-bottom:.3rem;color:#99a9b2;font-family:IBM Plex Mono,monospace;text-transform:uppercase;font-size:.7rem}.travel-card strong{font-size:.94rem}.textLeft{text-align:left}.textRight{text-align:right}.ticker-card{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.6rem;align-items:center;width:100%;border:1px solid rgba(255,255,255,.06);border-radius:16px;background:#ffffff08;color:inherit;padding:.72rem .78rem}.ticker-card.active{border-color:#c4ff6f47;background:#c4ff6f14}.ticker-card span{font-family:IBM Plex Mono,monospace}.action-btn{padding:.8rem 1rem;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#edf1e8;font-weight:700;letter-spacing:.02em;transition:border-color .16s ease,background .16s ease,opacity .16s ease,transform .16s ease}.action-btn:hover:not(:disabled){transform:translateY(-1px)}.action-btn:disabled{cursor:not-allowed;opacity:.48}.buy-btn{border-color:#7ff2d029;background:#7ff2d01f}.sell-btn{border-color:#f5dc8429;background:#f5dc8414}.flight-btn{width:100%;border-color:#bfebff33;background:#9fe8ff1a;color:#dff8ff}.return-btn{width:100%;border-color:#fff4a838;background:#fff4a81f;color:#fff4a8}.hold-panel,.no-fly-list-panel{display:grid;gap:.55rem;padding:.8rem;border-radius:16px;background:#ffffff08;border:1px solid rgba(255,255,255,.05)}.hold-panel span{color:#dce9ee;font-size:.88rem;line-height:1.45}.up{color:#c8f678}.down{color:#ff9a83}.asset-focus{display:grid;gap:.85rem}.hero-metric{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.hero-metric div{padding:.9rem;border-radius:18px;background:#ffffff08}.hero-metric span{display:block;margin-bottom:.3rem;color:#99a9b2;font-family:IBM Plex Mono,monospace;text-transform:uppercase;font-size:.72rem}.hero-metric strong{font-size:1.5rem}.oracle-summary{padding:.95rem;border-radius:18px;background:linear-gradient(135deg,#c7e36a1a,#7af2d00a),#ffffff06}.influence-grid{display:grid;gap:.55rem}.influence-row{display:grid;gap:.28rem}.influence-row span{color:#dae4dd;font-size:.93rem}.bar-track{overflow:hidden;border-radius:999px;background:#ffffff0d;height:10px}.bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff9e54,#d1ee70 58%,#6be0d4)}.leaderboard{display:grid;gap:.55rem;padding-top:.45rem;border-top:1px solid rgba(255,255,255,.06)}.leader-row{display:grid;grid-template-columns:34px 1fr auto;gap:.55rem;align-items:center;padding:.65rem .75rem;border-radius:14px;background:#ffffff06}.city-fly-popup{min-width:3rem;padding:.3rem .6rem;border-radius:999px;border:1px solid rgba(100,220,160,.5);background:#64dca02e;color:#64dcaa;font-family:IBM Plex Mono,monospace;font-size:.65rem;font-weight:700;text-align:center;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;box-shadow:0 6px 16px #00000059,0 0 18px #64dca026;transition:background .15s,box-shadow .15s}.city-fly-popup:hover{background:#64dca04d;box-shadow:0 6px 20px #0006,0 0 24px #64dca04d}.city-fly-popup.is-blocked{border-color:#ff645073;background:#ff645024;color:#ff6450;cursor:default;box-shadow:0 6px 16px #00000059,0 0 18px #ff64501a}.controls-panel{display:grid;gap:1rem;margin-top:1rem;border-radius:26px;padding:1rem}.selector-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:.9rem}.selector-row label,.scenario-control{display:grid;gap:.45rem}.selector-row span,.scenario-control span{color:#b7c6cc;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-family:IBM Plex Mono,monospace}.selector-row select{width:100%}.city-selection-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.city-selection-card{--city-accent: #95a5af;position:relative;overflow:hidden;display:grid;gap:.35rem;padding:1rem 1.05rem 1.05rem;border-radius:20px;border:1px solid color-mix(in srgb,var(--city-accent) 28%,rgba(255,255,255,.08));background:linear-gradient(135deg,color-mix(in srgb,var(--city-accent) 12%,transparent),transparent 62%),#ffffff09;box-shadow:inset 0 0 0 1px #ffffff05,0 14px 30px #0000002e}.city-selection-card:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--city-accent);opacity:.9}.city-selection-card h3{margin:0;font-size:1.2rem;letter-spacing:-.03em}.city-selection-card p{margin:0;color:#aab8c0}.city-selection-card.is-empty{opacity:.8}.city-selection-topline{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.city-selection-topline span,.city-selection-topline strong{font-family:IBM Plex Mono,monospace;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}.city-selection-topline span{color:#9baab3}.city-selection-topline strong{color:var(--city-accent)}.city-selection-tags{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.2rem}.city-selection-tags span{padding:.28rem .48rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--city-accent) 24%,rgba(255,255,255,.08));background:color-mix(in srgb,var(--city-accent) 9%,rgba(255,255,255,.025));color:#dfe7eb;font-family:IBM Plex Mono,monospace;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}select,.toggle,.reset-button{border-radius:14px;border:1px solid rgba(255,255,255,.08);background:#ffffff0a;color:#edf1e8;padding:.78rem .9rem}select:focus,.toggle:focus,.reset-button:focus,input[type=range]:focus{outline:2px solid rgba(127,242,208,.22);outline-offset:2px}.toggle-cluster{display:flex;align-items:end;gap:.55rem}.toggle.active,.reset-button{border-color:#c4ff6f3d;background:#c4ff6f14}.scenario-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.8rem;align-items:end}.scenario-control{padding:.8rem;border-radius:18px;background:#ffffff06}.scenario-control div{display:flex;justify-content:space-between;gap:.6rem;align-items:baseline}.scenario-control strong{color:#f2f6ee}.scenario-control input{width:100%}.reset-button{height:100%;min-height:94px}.fungal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;pointer-events:none;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(57,255,20,.018) 3px,rgba(57,255,20,.018) 4px);mix-blend-mode:screen}@keyframes oracle-flash-anim{0%{box-shadow:inset 0 0 0 2px #39ff14e6;background:#39ff1412}35%{box-shadow:inset 0 0 0 2px #39ff1473;background:#39ff1408}to{box-shadow:inset 0 0 0 2px #39ff1400;background:transparent}}.oracle-flash-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:45;pointer-events:none;animation:oracle-flash-anim 1.5s ease-out forwards}.oracle-frame{display:flex;flex-direction:column;align-items:center;gap:40px;padding:60px;background:radial-gradient(circle,#0f1a0f,#050505)}.spore-core{width:80px;height:80px;border-radius:50%;background:#1a3a1a;position:relative;transition:all .5s ease}.spore-glow{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:50%;background:#39ff14;filter:blur(20px);opacity:.2}.spore-core.dormant{animation:breathe 4s infinite ease-in-out}.spore-core.communing{background:#fff;animation:flicker .2s infinite;box-shadow:0 0 40px #39ff14}.spore-core.speaking{background:#39ff14;animation:bloom 1.5s infinite alternate ease-in-out;box-shadow:0 0 60px #39ff14}@keyframes breathe{0%{transform:scale(1);opacity:.5}to{transform:scale(1.1);opacity:.8}}@keyframes flicker{0%{opacity:1;transform:scale(1.2)}50%{opacity:.5;transform:scale(1.1)}to{opacity:1;transform:scale(1.2)}}@keyframes bloom{0%{transform:scale(1.2);filter:brightness(1)}to{transform:scale(1.8);filter:brightness(1.5)}}.oracle-active{filter:drop-shadow(0 0 30px rgba(57,255,20,.4));transition:filter .5s ease-in-out}.bloom-glow{border-left:4px solid #39ff14!important;background:#39ff140d!important;box-shadow:inset 0 0 20px #39ff1433;animation:fungal-flicker 2s infinite alternate}@keyframes fungal-flicker{0%{opacity:.8}to{opacity:1}}.brutalist-input{background:transparent;border:2px solid #39ff14;color:#39ff14;padding:10px;font-family:Courier New,monospace;text-align:center;outline:none}.brutalist-button{background:#39ff14;color:#000;border:none;padding:10px 20px;font-weight:700;cursor:pointer;margin-left:10px}
