/* NuviFlux Ocean Blue: a reversible visual layer over the existing English app.
   Data, actions, and the Today ParticleField algorithm remain in their original files. */
:root{
  --ink:#102949;--text:#243c57;--muted:#58718b;--cream:#f8f6f0;
  --teal:#163b62;--deep:#092746;--teal-soft:#35648e;
  --mint:#d8e9f8;--positive:#7ebaca;--gold:#f3d7a7;--amber:#bf8d4b;
  --border:rgba(93,131,169,.3);--surface:rgba(255,253,247,.97);
  --stage-shadow:0 22px 40px -18px rgba(23,62,100,.44),0 4px 12px rgba(14,49,85,.13);
  --serif:Georgia,'Palatino Linotype',serif;--sans:Arial,Helvetica,sans-serif;
}
html{background:#f8f6f0}body{color:var(--ink);background:transparent}
.warm-landscape{background-image:url('assets/warm/alpine-blue-v1.png');background-position:center -115px;background-size:cover;background-repeat:no-repeat}
.warm-landscape:after{background:linear-gradient(180deg,rgba(255,253,247,.07) 0%,transparent 27%,rgba(250,248,242,.14) 45%,rgba(248,246,240,.83) 82%,#f8f6f0 100%)}
.wrap{width:92%;max-width:1580px}
.topbar.wrap,.site-footer.wrap{width:84%;max-width:1440px}
.topbar{height:108px;padding-top:25px}.brand{font-size:31px;letter-spacing:-1.35px;color:#112847}
.brand small{font-size:9px;letter-spacing:2.8px;margin-top:5px;font-weight:600}
.mainnav a{font-size:15px}.mainnav .active{border-bottom-color:#d3a962}
.me{background:#102949;color:#fff;border:1px solid #456688}.me.active{outline-color:#d3a962}
.pagehead{width:91.3%;margin-inline:auto;min-height:135px;padding:0 0 25px;align-items:center}
.eyebrow{color:#35597c;font-weight:600;letter-spacing:2.4px}
h1{font-size:clamp(34px,3vw,47px);letter-spacing:-1.15px;color:#102949}
.sub{color:#233e5b;font-size:17px}.motto{color:#496a8e;border-left-color:#96b5d2}
.stage{color:#f8fbff;border:1px solid #c2e0f1;border-radius:20px;
  background:radial-gradient(ellipse at 102% 110%,#416688 0,transparent 51%),
    radial-gradient(ellipse at 20% -70%,#718fa3 0,transparent 69%),
    linear-gradient(115deg,#11253b,#132b45 60%,#102a43);
  box-shadow:0 21px 33px -17px #41698688,0 2px 3px #56789255,inset 0 1px 3px #e0f6ffbb,inset 0 0 35px #a4d5ee26}
.stage:before{content:'';position:absolute;inset:0;height:auto;pointer-events:none;border-radius:inherit;z-index:10;background:none;
  box-shadow:inset 0 1px 2px #f1ffff,inset 0 14px 27px -17px #c6e8ff,inset 0 -13px 25px -23px #e5f8ff}
.stage:after{content:'';position:absolute;inset:auto;right:11%;top:-2px;width:120px;height:4px;border-radius:0;background:#e2f9ff;filter:blur(3px);box-shadow:0 0 22px #dcf6ff;pointer-events:none;z-index:11}
.hero{grid-template-columns:53% 47%;height:clamp(500px,36vw,510px);min-height:0}
.hero-copy{padding:27px 5% 22px 5.5%;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#7c9fbb66 transparent}.meta{color:#d4e3f3}.pill{color:#e5f1ff;border-color:#a7c9e6aa;background:#d8eeff19}
.pill.pending{color:#f0dfbd;border-color:#d8b47b99;background:#f7dba31a}
.hero h2{font-size:clamp(35px,3.15vw,46px);line-height:1.04;margin:17px 0 11px;color:#fff;text-shadow:0 2px 2px #06172b66}
.hero .lead{color:#eef5fc;font-size:16px;line-height:1.34;margin-bottom:15px}.hero .facts{gap:8px;margin-bottom:15px}
.hero .fact{border-left-color:#90b5d6;grid-template-columns:83px minmax(0,1fr);gap:9px;padding-left:12px}.hero .fact b{color:#d2e3f3;font-size:9px}.hero .fact span{color:#e4edf7;font-size:13px;line-height:1.33}
.hero .evidence-button{margin-top:10px}
.hero .actions button{border-color:#a7c4dc;color:#eef6fe}.hero .actions button:hover{background:#d5e9fc22}
.hero .actions .solid,.warm-button.gold{background:linear-gradient(110deg,#f4dab3,#fff0d4);color:#122d4d;border-color:#fff1d8;box-shadow:0 6px 17px rgba(16,34,55,.17)}
.hero .actions .solid{transition:filter .18s ease,box-shadow .18s ease,border-color .18s ease}
.hero .actions .solid:hover,.hero .actions .solid:focus-visible,.warm-button.gold:hover{background:linear-gradient(110deg,#f4dab3,#fff0d4);color:#122d4d;filter:brightness(1.055);box-shadow:0 8px 20px rgba(16,34,55,.2)}
.hero .actions button[aria-pressed=true]{background:#bed8ec2c;border-color:#dcecf8}
.evidence-button{color:#e2edf9}.hero-object{mask-image:linear-gradient(90deg,transparent,#000 9%)}
.object-label{color:#c7dded}.section-heading{margin-top:29px}.text-link{color:#31587b}
.alternative+.alternative{border-left-color:#aec4db}.alternative .meta{color:#6883a1}.alternative .meta b{color:#355675}
.alternative h3{color:#142f50}.alternative p{color:#38536f}.alternative .warm-button{color:#173a60;border-color:#8caecc}
.mini-art{background:radial-gradient(ellipse at 50% 67%,#35658e,#0b2b4c 80%);border-color:#6b94b6}
.mini-art .stream-object{inset:0}.mini-art .stream-object img{width:112%;height:112%}
.mini-art .object-paper{transform:scale(.52) rotate(-13deg);flex:none}
.mini-art .object-wave{width:80%;height:65%}.mini-art .object-orb{transform:scale(.55)}
.mini-art .object-branch{transform:scale(.6) rotate(-18deg)}
.below-note,.read-status{color:#4e6c88}.site-footer{color:#617d99}
/* The stage dimensions are shared by Today, Explore, and Cross-market on desktop. */
.opportunity-stream-field,.geo-stage{height:clamp(500px,36vw,510px);min-height:0}
.ocean-tabs{display:flex;justify-content:center;align-items:end;gap:37px;height:43px;margin-top:-12px;margin-bottom:7px}
.ocean-tabs a{text-decoration:none;color:#244866;font:13px var(--sans);padding:8px 3px 10px;border-bottom:2px solid transparent}
.ocean-tabs a.selected{font-weight:700;border-bottom-color:#caa269;color:#142f50}
body[data-route=radar] .pagehead,body[data-route=geo] .pagehead{min-height:97px;justify-content:center;text-align:center;padding-bottom:4px}
body[data-route=radar] .pagehead .eyebrow,body[data-route=geo] .pagehead .eyebrow,
body[data-route=radar] .pagehead .sub,body[data-route=geo] .pagehead .sub,
body[data-route=radar] .pagehead .motto,body[data-route=geo] .pagehead .motto{display:none}
body[data-route=radar] .pagehead h1,body[data-route=geo] .pagehead h1{font-size:clamp(31px,3vw,44px);margin:0}
.opportunity-stream-field .toolbar{justify-content:flex-end;top:13px;right:18px;left:auto;gap:8px}
.opportunity-stream-field .toolbar .motion-toggle{margin-left:0}
.toolbar{z-index:8}.toolbar a,.toolbar button,.toolbar select{background:#173b60e8;border-color:#a5c4dd91;color:#e9f4fe}
.toolbar .selected{background:#d7e9f637;color:#fff}.toolbar label{color:#e2edf7}
.opportunity-stream-viewport{inset:69px 0 46px;perspective:1000px;mask-image:linear-gradient(90deg,transparent 0%,#000 5%,#000 95%,transparent 100%)}
.opportunity-stream-track{gap:16px;padding:6px 0;align-items:center}
.opportunity-stream-card{flex:0 0 clamp(225px,18.8vw,280px);width:clamp(225px,18.8vw,280px);height:100%;min-height:0;
  display:grid;grid-template-rows:auto minmax(58px,1fr) auto auto auto auto;gap:0;padding:15px 16px 14px;
  background:linear-gradient(152deg,#e5e9e9 0%,#fcfbf7 44%,#fffdf7 100%);color:#132c4c;
  border:1px solid rgba(255,255,255,.96);border-radius:13px;
  box-shadow:0 14px 25px rgba(3,27,51,.23),0 2px 3px rgba(10,49,88,.09),inset 0 1px rgba(255,255,255,.96),inset 1px 0 rgba(255,255,255,.8);
  transform:translateY(var(--stream-lift,0px)) rotate(var(--stream-tilt,0deg)) rotateY(var(--stream-yaw,0deg));
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;overflow:hidden}
.opportunity-stream-card:nth-child(5n+1){--stream-yaw:8deg;z-index:1}
.opportunity-stream-card:nth-child(5n+2){--stream-yaw:3deg;z-index:2}
.opportunity-stream-card:nth-child(5n+3){--stream-yaw:0deg;z-index:4;box-shadow:0 17px 32px rgba(3,27,51,.32),inset 0 1px #fff}
.opportunity-stream-card:nth-child(5n+4){--stream-yaw:-3deg;z-index:2}
.opportunity-stream-card:nth-child(5n+5){--stream-yaw:-8deg;z-index:1}
.opportunity-stream-card:hover,.opportunity-stream-card:focus-visible{border-color:#fff;z-index:6;transform:translateY(calc(var(--stream-lift,0px) - 7px)) rotate(0) rotateY(0);box-shadow:0 22px 34px rgba(2,23,45,.32)}
.stream-card-meta{color:#3f6284;font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:1px}
.stream-card-art{position:relative;min-height:0;height:100%;overflow:hidden;border-radius:6px;
  background:radial-gradient(ellipse at 50% 30%,rgba(255,255,255,.94),rgba(183,207,231,.38) 57%,rgba(244,247,250,.2) 87%)}
.stream-card-art:after{content:'';position:absolute;inset:auto 0 0;height:35%;background:linear-gradient(transparent,rgba(252,253,251,.72));pointer-events:none}
.stream-card-art canvas{position:absolute;inset:0;opacity:.32}
.stream-object{position:absolute;inset:3% 0 1%;display:grid;place-items:center;filter:drop-shadow(0 12px 13px rgba(43,88,130,.2))}
.stream-object img{width:111%;height:118%;object-fit:contain;transform:translateY(6%)}
.object-paper{width:72px;height:105px;background:linear-gradient(150deg,#fff,#dfe8f3);border:1px solid #fff;border-radius:3px;
  transform:rotate(-13deg) skewY(2deg);box-shadow:8px 10px 1px -4px #dce5ef,12px 14px 2px -6px #f7fafc,14px 21px 19px rgba(38,67,100,.28)}
.object-paper:after{content:'';display:block;margin:17px 11px 0;height:53px;
  background:repeating-linear-gradient(180deg,#688aab 0 2px,transparent 2px 9px);opacity:.47}
.object-wave{width:86%;height:65%;overflow:visible;filter:drop-shadow(0 0 8px #e6f3ff)}
.object-wave path{fill:none;stroke:#f6fbff;stroke-width:1.25;stroke-linecap:round}
.object-wave path:last-child{stroke:#deb986;stroke-width:.65;opacity:.85}
.object-orb{width:115px;height:115px;border-radius:50%;border:1px solid #f6fbff;
  background:radial-gradient(circle at 31% 29%,#ffffffdd,transparent 26%),radial-gradient(circle at 68% 75%,#5889b471,transparent 48%),
    repeating-radial-gradient(circle at 50% 50%,#f4fbff77 0 1px,transparent 1px 5px),linear-gradient(135deg,#a9cce9,#eff9ff 54%,#6694bb);
  box-shadow:inset -12px -12px 22px #27587d38,inset 9px 9px 24px #fff9,0 0 25px #dcefffbc}
.object-branch{width:120px;height:120px;position:relative;transform:rotate(-18deg)}
.object-branch:before{content:'';position:absolute;left:57%;top:11%;height:95px;border-left:1px solid #f7fbff;transform:rotate(17deg);box-shadow:0 0 12px #fff}
.object-branch:after{content:'✧  ✧  ✧';position:absolute;left:14%;top:24%;color:#fff;font:36px Georgia;text-shadow:0 0 8px #fff,0 0 18px #dfba7e;transform:rotate(17deg)}
.opportunity-stream-card h2{font:400 clamp(22px,1.7vw,27px)/1.1 var(--serif);margin:9px 0 4px;color:#112a49;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.stream-card-description{font:13px/1.38 var(--sans);color:#354f6d;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.stream-first-test{font:11px/1.36 var(--sans);color:#2b4866;margin:6px 0 0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.stream-first-test b{font-weight:700;color:#153656}.stream-card-actions{padding-top:9px;gap:6px;margin:0}
.stream-card-actions button{color:#fff;background:#153858;border-color:#153858;border-radius:22px;font:11px var(--sans);padding:9px 12px}
.stream-card-actions button:last-child{flex:0 0 37px;border:1px solid #9db7cf;color:#163b60;background:#fff;font-size:16px;padding:3px}
.stream-card-actions [aria-pressed=true]{color:#fff!important;background:#35658b!important;border-color:#35658b!important}
.stream-controls{color:#d7e7f5}.stream-controls button{background:#dceaf5;color:#153858;border-color:#dceaf5}
.stream-empty p{color:#dce9f6}.stream-count{color:#cbdff1}
/* The visual globe stays illustrative; only validated market connections get routes. */
.geo-stage{overflow:hidden;padding:15px}.geo-view{height:100%;min-height:0;display:grid;
  grid-template-columns:minmax(0,1.42fr) minmax(310px,.93fr);gap:13px;padding:0}
.globe-region{height:100%;min-height:0}.globe-caption{color:#cbdff2}.globe-caption span{color:#e8f3fd}
.globe-controls button{background:#113656dd;border-color:#9abbd5;color:#eef6ff}.earth-legend{color:#d8e7f4}
.geo-panel{max-height:none;overflow:auto;border:1px solid #fdfefe;border-radius:13px;color:#15314f;
  background:linear-gradient(148deg,#fbfaf6,#fffdf7 77%);box-shadow:0 13px 26px rgba(4,28,52,.17),inset 0 1px #fff;
  padding:24px 25px;align-self:stretch}
.geo-panel .eyebrow{color:#3e668b}.geo-panel h2{color:#18314f;font-size:clamp(25px,2vw,31px)}
.geo-panel>p,.geo-evidence p{color:#35536f}.geo-direction{color:#315b85!important;font-size:17px!important}
.geo-evidence{border-top-color:#aec4d8;padding:13px 0}.geo-icon{border-color:#8caecb;color:#1c4c76}
.geo-evidence h3{color:#183957}.geo-evidence a{color:#315d8a}.earth-disclosure{color:#647d96!important;border-top-color:#c8d7e4}
.geo-panel .warm-button{color:#fff;background:#173b61;border-color:#173b61;box-shadow:none}
.geo-panel .warm-button:hover{background:#2b5d89}.route-list button{background:#dce9f5;color:#143658;border-color:#9dbbda}
.route-list button.active{border-color:#ca9d5c;background:#faecd4}
/* Other pages inherit the same shell and cooler porcelain surfaces. */
.watch-card,.library-stage,.personal-stage{background:#fffdf7ed}.watch-art,.preference-map{background:radial-gradient(ellipse at 50% 70%,#315f89,#0a2b4c 80%)}
.library-card{background:#fffef9}.library-meta b{background:#e3edf7}.personal-stage{border-color:#d1e1ef}
dialog{background:#fffdf8;border-color:#acc8df}dialog::backdrop{background:#092a4b99}
#toast{background:#12395f;border-color:#a2c3dd}
@media(max-width:1150px){
  .wrap{width:94%}.topbar.wrap,.site-footer.wrap{width:90%}.pagehead{width:94%}
  .hero{grid-template-columns:53% 47%}.geo-view{grid-template-columns:minmax(0,1.15fr) minmax(285px,.85fr)}
  .opportunity-stream-card{flex-basis:250px;width:250px}
}
@media(max-width:760px){
  .warm-landscape{background-size:auto 550px;background-position:center -43px}
  .warm-landscape:after{background:linear-gradient(180deg,rgba(255,253,247,.38),transparent 27%,#f8f6f0 74%)}
  .wrap{width:92%}.topbar.wrap,.site-footer.wrap{width:92%}.topbar{height:116px;padding-top:19px}
  .brand{font-size:27px}.brand small{font-size:8px}.mainnav{top:78px}.mainnav a{font-size:13px}
  .pagehead{width:100%;min-height:190px;padding:6px 0 19px}.pagehead h1{font-size:clamp(28px,8vw,36px)}.sub{font-size:15px}
  body[data-route=today] .pagehead .eyebrow{font-size:9px;letter-spacing:1.25px;max-width:34em}
  .stage{border-radius:15px}.hero{display:flex;flex-direction:column;min-height:0;height:auto}
  .hero-copy{padding:26px 22px 4px;overflow:visible}.hero h2{font-size:clamp(31px,9vw,40px)}.hero .lead{font-size:16px}
  .hero-object{min-height:205px;height:205px}.object-label{font-size:7px}.ol3{display:none}
  .opportunity-stream-field{height:610px;min-height:610px}
  .opportunity-stream-viewport{inset:111px 0 49px;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
  .opportunity-stream-track{gap:13px;padding:10px 9% 15px}
  .opportunity-stream-card{flex-basis:76vw;width:76vw;max-width:333px;height:100%;padding:15px;grid-template-rows:auto minmax(70px,1fr) auto auto auto auto}
  .opportunity-stream-card h2{font-size:25px}.stream-card-description{font-size:13px}.stream-first-test{font-size:11px}
  .stream-card-art{min-height:0}.stream-card-actions button{min-height:39px}
  .ocean-tabs{height:39px;margin-top:0;gap:22px}.ocean-tabs a{font-size:12px}
  body[data-route=radar] .pagehead,body[data-route=geo] .pagehead{min-height:144px}
  body[data-route=radar] .pagehead h1,body[data-route=geo] .pagehead h1{font-size:clamp(28px,7.5vw,34px)}
  .geo-stage{height:auto;min-height:0;padding:12px}.geo-view{height:auto;display:flex;flex-direction:column;gap:13px;padding:0}
  .globe-region{height:clamp(330px,89vw,450px);min-height:0}.geo-panel{max-height:none;padding:20px}
  .earth-legend{bottom:48px}.geo-panel h2{font-size:28px}
  .watch-card,.library-stage,.personal-stage{border-radius:12px}
}
@media(prefers-reduced-motion:reduce){.opportunity-stream-card{transition:none}}
