/* Shared Compass */
.aqua-compass-widget{--needle-angle:0deg;position:relative;isolation:isolate}.aqua-compass-surface{border:1px solid rgba(255,255,255,.13);border-radius:2rem;background:radial-gradient(circle at 45% 35%,rgba(91,169,162,.15),transparent 36%),linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.025));box-shadow:var(--aqua-shadow);overflow:hidden}.aqua-compass-full{display:grid;grid-template-columns:minmax(240px,.78fr) minmax(350px,1.15fr) minmax(290px,.92fr);gap:1.2rem;padding:1.4rem}.aqua-compass-panel{border-radius:1.3rem;padding:1.2rem;background:#f8f5ee;color:var(--aqua-ink)}.aqua-compass-panel h2,.aqua-compass-panel h3{font-family:var(--aqua-display)}.aqua-compass-form{display:grid;gap:1rem}.aqua-adaptive{display:grid;gap:1rem;padding-top:.2rem;border-top:1px solid var(--aqua-line)}.aqua-compass-instrument{position:relative;display:grid;place-items:center;min-height:560px;padding:1rem}.aqua-compass-instrument::before{content:"";position:absolute;inset:11%;border-radius:50%;background:radial-gradient(circle,rgba(123,207,196,.16),transparent 64%);filter:blur(12px)}.aqua-compass-instrument img{position:relative;width:min(100%,580px);transform:rotate(0deg)}.aqua-compass-instrument [data-needle-layer]{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}.aqua-compass-instrument [data-needle-layer]::before{content:"";width:2px;height:42%;transform-origin:50% 89%;transform:rotate(var(--needle-angle));transition:transform .55s cubic-bezier(.2,.75,.15,1)}.aqua-compass-summary{position:absolute;left:50%;bottom:1.2rem;transform:translateX(-50%);width:min(92%,480px);padding:.72rem 1rem;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(2,20,30,.78);color:#fff;text-align:center;font-size:.82rem;font-weight:750;backdrop-filter:blur(8px)}.aqua-recommendation-stack{display:grid;gap:.8rem}.aqua-match-card{border-radius:1.15rem;padding:1.1rem;background:#fff;color:var(--aqua-ink);border:1px solid var(--aqua-line)}.aqua-match-card--primary{background:linear-gradient(150deg,#fff,#faf2df);border-color:#e1c58b}.aqua-match-head{display:flex;justify-content:space-between;gap:1rem}.aqua-match-score{display:grid;place-items:center;min-width:58px;height:58px;border-radius:50%;background:var(--aqua-navy);color:#fff;font-weight:850}.aqua-match-card h3{margin:.3rem 0 .45rem;font:600 1.7rem/1 var(--aqua-display)}.aqua-match-card p{font-size:.88rem;color:#4f6870}.aqua-reasons{display:flex;gap:.35rem;flex-wrap:wrap}.aqua-reasons span{padding:.32rem .55rem;border-radius:999px;background:#eef4f3;font-size:.7rem;font-weight:750}.aqua-compass-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1rem}.aqua-plan-b-card{display:grid;grid-template-columns:170px 1fr;gap:1rem;align-items:center;margin-top:1rem;padding:1rem;border:1px solid rgba(255,255,255,.15);border-radius:1.3rem;background:rgba(255,255,255,.07)}.aqua-plan-b-graphic{aspect-ratio:1;border-radius:1rem;background:radial-gradient(circle at 30% 30%,#c9953e,transparent 25%),linear-gradient(145deg,#1e5f73,#061e2c)}.aqua-plan-b-card h3{font:600 1.85rem/1 var(--aqua-display)}
/* Mini Compass: purpose-built composition, shared state */
.aqua-mini-compass{display:grid;grid-template-columns:minmax(220px,.75fr) minmax(0,1.3fr);align-items:center;gap:1.35rem;padding:1.25rem}.aqua-mini-compass__instrument{position:relative;display:grid;place-items:center}.aqua-mini-compass__instrument img{width:min(100%,340px)}.aqua-mini-compass__instrument::after{content:"";position:absolute;width:2px;height:37%;background:linear-gradient(var(--aqua-ochre) 0 52%,var(--aqua-mineral) 52%);transform-origin:50% 88%;transform:rotate(var(--needle-angle));transition:transform .55s cubic-bezier(.2,.75,.15,1);border-radius:99px}.aqua-mini-compass__content{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.8rem;align-items:start;padding:1.15rem;border-radius:1.3rem;background:#fff;color:var(--aqua-ink)}.aqua-mini-compass__content .aqua-field{min-width:0}.aqua-mini-compass__content>.aqua-adaptive{align-self:start;padding-top:0;border-top:0}.aqua-mini-compass__content>.aqua-adaptive>.aqua-field{height:100%;grid-template-rows:auto 52px auto}.aqua-mini-compass__result{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:center;padding:1rem;border-radius:1rem;background:#f2eee4}.aqua-mini-compass__result h3{margin:.2rem 0;font:600 1.55rem/1 var(--aqua-display)}
/* Explorer */
.aqua-explorer-surface{border-radius:2rem;background:radial-gradient(circle at 50% 35%,rgba(91,169,162,.18),transparent 36%),linear-gradient(145deg,#051923,#0b3444);box-shadow:var(--aqua-shadow);overflow:hidden}.aqua-explorer-toolbar{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(220px,1fr) auto;gap:.8rem;padding:1rem;border-bottom:1px solid rgba(255,255,255,.12)}.aqua-explorer-toolbar input,.aqua-explorer-toolbar select{width:100%;min-height:46px;border:1px solid rgba(255,255,255,.18);border-radius:.8rem;background:rgba(255,255,255,.08);color:#fff;padding:.65rem .85rem}.aqua-explorer-toolbar option{color:var(--aqua-ink)}.aqua-explorer-main{display:grid;grid-template-columns:250px minmax(420px,1fr) 360px;min-height:760px}.aqua-explorer-list{overflow:auto;padding:1rem;border-right:1px solid rgba(255,255,255,.1)}.aqua-destination-row{display:grid;grid-template-columns:32px 1fr;gap:.7rem;width:100%;border:0;border-bottom:1px solid rgba(255,255,255,.1);background:transparent;color:#fff;padding:.85rem .35rem;text-align:left}.aqua-destination-row[aria-current="true"]{background:rgba(123,207,196,.12)}.aqua-destination-row__num{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.09);font-size:.7rem;font-weight:800}.aqua-destination-row strong{display:block}.aqua-destination-row small{opacity:.62}.aqua-map{position:relative;display:grid;place-items:center;overflow:hidden;padding:1.5rem}.aqua-map::before{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle,rgba(123,207,196,.16),transparent 68%)}.aqua-map-stage{position:relative;height:min(700px,72vw);aspect-ratio:1920/2941;max-width:100%;z-index:1}.aqua-map-stage>img{width:100%;height:100%;object-fit:contain}.aqua-marker-layer{position:absolute;inset:0}.aqua-marker{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);display:grid;place-items:center;width:28px;height:28px;border:0;background:transparent;color:var(--aqua-navy);padding:0}.aqua-marker::before{content:"";width:13px;height:13px;border-radius:50%;background:var(--aqua-ochre);border:2px solid #fff;box-shadow:0 0 0 4px rgba(201,149,62,.23),0 6px 12px rgba(0,0,0,.3);transition:transform .18s}.aqua-marker:hover::before,.aqua-marker[aria-pressed="true"]::before{transform:scale(1.5);background:var(--aqua-turquoise)}.aqua-explorer-detail{padding:1rem;background:#f7f4ee;color:var(--aqua-ink);overflow:auto}.aqua-detail-visual{min-height:210px;border-radius:1rem;background:radial-gradient(circle at 68% 20%,rgba(123,207,196,.9),transparent 25%),linear-gradient(145deg,#0b3444,#1e5f73 58%,#d3b86e);margin-bottom:1rem}.aqua-explorer-detail h2{margin:.35rem 0;font:600 2.25rem/1 var(--aqua-display)}.aqua-detail-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin:1rem 0}.aqua-detail-facts div{padding:.65rem;border:1px solid var(--aqua-line);border-radius:.7rem;background:#fff}.aqua-detail-facts small{display:block;color:var(--aqua-muted)}.aqua-list-only{display:none;padding:1rem}.aqua-list-only .aqua-card{margin-bottom:.8rem}
/* Mini Explorer */
.aqua-mini-explorer{display:grid;grid-template-columns:minmax(250px,.95fr) minmax(0,1.05fr);gap:1rem;padding:1.15rem}.aqua-mini-map{position:relative;display:grid;place-items:center;min-height:480px;border-radius:1.2rem;background:rgba(255,255,255,.04);overflow:hidden}.aqua-mini-map .aqua-map-stage{height:min(440px,70vw)}.aqua-mini-explorer__content{display:grid;align-content:start;gap:.8rem;padding:1rem;border-radius:1.2rem;background:#fff;color:var(--aqua-ink)}.aqua-mini-explorer__content h3{font:600 2rem/1 var(--aqua-display);margin:.35rem 0}.aqua-featured-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.aqua-featured-tile{border:1px solid var(--aqua-line);border-radius:.8rem;background:#fff;padding:.8rem;text-align:left}.aqua-featured-tile[aria-current="true"]{border-color:var(--aqua-ochre);background:#fff8e8}.aqua-featured-tile strong{display:block}.aqua-featured-tile small{color:var(--aqua-muted)}
/* State lab */
.aqua-state-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.aqua-state-grid .aqua-conditions{min-height:280px}.aqua-contract-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.aqua-contract-card{padding:1rem;border:1px solid var(--aqua-line);border-radius:1rem;background:#fff}.aqua-contract-card strong{display:block;font-size:1.55rem}.aqua-contract-card small{color:var(--aqua-muted)}
@media(max-width:1160px){.aqua-compass-full{grid-template-columns:280px 1fr}.aqua-compass-full>.aqua-compass-panel:last-child{grid-column:1/-1}.aqua-recommendation-stack{grid-template-columns:repeat(2,minmax(0,1fr))}.aqua-explorer-main{grid-template-columns:210px minmax(350px,1fr)}.aqua-explorer-detail{grid-column:1/-1;display:grid;grid-template-columns:220px 1fr;gap:1rem}.aqua-detail-visual{min-height:100%;margin:0}.aqua-state-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.aqua-compass-full{grid-template-columns:1fr}.aqua-compass-instrument{min-height:480px}.aqua-compass-results{grid-template-columns:1fr 1fr}.aqua-mini-compass{grid-template-columns:1fr}.aqua-mini-compass__instrument img{width:min(72vw,330px)}.aqua-mini-compass__content{grid-template-columns:1fr 1fr}.aqua-explorer-main{grid-template-columns:1fr}.aqua-explorer-list{display:none}.aqua-explorer-detail{grid-column:auto;display:block}.aqua-map-stage{height:min(620px,95vw)}.aqua-mini-explorer{grid-template-columns:1fr}.aqua-mini-map{min-height:400px}.aqua-contract-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.aqua-compass-full,.aqua-mini-compass{padding:.7rem}.aqua-compass-instrument{min-height:360px;padding:0}.aqua-compass-instrument img{width:min(90vw,390px)}.aqua-compass-summary{position:relative;left:auto;bottom:auto;transform:none;margin-top:-1rem}.aqua-recommendation-stack,.aqua-compass-results{grid-template-columns:1fr}.aqua-plan-b-card{grid-template-columns:1fr}.aqua-plan-b-graphic{aspect-ratio:16/7}.aqua-mini-compass__content{grid-template-columns:1fr}.aqua-mini-compass__result{grid-template-columns:1fr}.aqua-explorer-toolbar{grid-template-columns:1fr}.aqua-explorer-main[data-view="list"] .aqua-map{display:none}.aqua-explorer-main[data-view="list"] .aqua-list-only{display:block}.aqua-map{padding:.4rem}.aqua-map-stage{height:min(560px,125vw)}.aqua-explorer-detail{padding:.8rem}.aqua-mini-map{min-height:350px}.aqua-mini-map .aqua-map-stage{height:min(390px,110vw)}.aqua-featured-rail{grid-template-columns:1fr}.aqua-state-grid,.aqua-contract-grid{grid-template-columns:1fr}.aqua-conditions__metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
.aqua-compass-full>*{min-width:0}.aqua-compass-panel,.aqua-compass-form,.aqua-adaptive{min-width:0}.aqua-explorer-main>*{min-width:0}
@media(max-width:620px){.aqua-compass-surface{overflow:hidden}.aqua-compass-full{min-width:0}.aqua-field select,.aqua-field input{max-width:100%}}
/* Stateful Compass needle is a shared CSS presentation layer; the base SVG remains mode-neutral. */
.aqua-compass-instrument [data-needle-layer]::before{
 content:"";width:62px;height:64%;background:linear-gradient(to bottom,var(--aqua-ochre) 0 49%,var(--aqua-mineral) 51% 100%);
 clip-path:polygon(50% 0,82% 46%,61% 46%,61% 100%,39% 100%,39% 54%,18% 54%);
 transform-origin:50% 50%;transform:rotate(var(--needle-angle));transition:transform .55s cubic-bezier(.2,.75,.15,1);
 filter:drop-shadow(0 7px 4px rgba(0,18,27,.28));
}
.aqua-mini-compass__instrument::after{
 width:42px;height:64%;background:linear-gradient(to bottom,var(--aqua-ochre) 0 49%,var(--aqua-mineral) 51% 100%);
 clip-path:polygon(50% 0,82% 46%,61% 46%,61% 100%,39% 100%,39% 54%,18% 54%);
 transform-origin:50% 50%;filter:drop-shadow(0 6px 3px rgba(0,18,27,.25));
}
/* Desktop Explorer is a contained application surface; tablet/mobile stack without dead canvas. */
@media(min-width:1161px){.aqua-explorer-main{height:760px;min-height:0}}
@media(min-width:901px) and (max-width:1160px){
 .aqua-explorer-main{height:auto;min-height:0;grid-template-rows:640px auto}
 .aqua-explorer-list,.aqua-map{height:640px}
}
.aqua-mini-compass__content>[data-mini-result]{grid-column:1/3;min-width:0}.aqua-mini-compass__content>.aqua-btn{grid-column:3;align-self:end}.aqua-mini-compass__result .aqua-btn{white-space:nowrap}
@media(min-width:1161px){.aqua-explorer-main{height:880px}}
@media(max-width:900px){.aqua-mini-compass__content>[data-mini-result],.aqua-mini-compass__content>.aqua-btn{grid-column:1/-1}}
@media(min-width:1161px){
 .aqua-explorer-detail{padding:.85rem}
 .aqua-explorer-detail .aqua-detail-visual{min-height:150px;margin-bottom:.7rem}
 .aqua-explorer-detail h2{font-size:2rem}
 .aqua-explorer-detail>p{font-size:.84rem;line-height:1.45}
 .aqua-explorer-detail .aqua-detail-facts{margin:.65rem 0;gap:.4rem}
 .aqua-explorer-detail .aqua-detail-facts div{padding:.48rem}
 .aqua-explorer-detail .aqua-card__meta{gap:.3rem}
 .aqua-explorer-detail .aqua-pill{padding:.32rem .55rem;font-size:.68rem}
 .aqua-explorer-detail .aqua-conditions{padding:.8rem;margin-top:.65rem}
 .aqua-explorer-detail .aqua-conditions__metrics{margin:.55rem 0;gap:.35rem}
 .aqua-explorer-detail .aqua-metric{padding:.45rem}
 .aqua-explorer-detail .aqua-conditions__note{font-size:.7rem;line-height:1.35}
 .aqua-explorer-detail .aqua-card__actions{margin-top:.65rem;gap:.4rem}
 .aqua-explorer-detail .aqua-btn{min-height:40px;padding:.55rem .8rem;font-size:.78rem}
}
@media(max-width:900px){
 .aqua-explorer-detail{overflow:visible}
 .aqua-explorer-detail .aqua-detail-visual{min-height:210px;margin:0 0 1rem}
}

/* Live conditions placement */
.aqua-mini-compass__content>[data-mini-conditions]{grid-column:1/-1;min-width:0}
.aqua-mini-explorer__content [data-mini-live-conditions]{margin:.75rem 0}
.aqua-explorer-detail [data-live-conditions]{margin-top:.7rem}

/* RC2 shared Compass and Explorer motion contract. */
.aqua-motion-enabled .aqua-compass-instrument::before,
.aqua-motion-enabled .aqua-mini-compass__instrument::before {
  animation: aqua-widget-breathe 8s ease-in-out infinite;
}

.aqua-motion-enabled .aqua-map::before,
.aqua-motion-enabled .aqua-mini-map::before {
  animation: aqua-widget-ocean-drift 12s ease-in-out infinite alternate;
}

.aqua-motion-enabled .aqua-marker[aria-pressed="true"]::before,
.aqua-motion-enabled .aqua-featured-tile[aria-current="true"] {
  animation: aqua-widget-selected-pulse 2.8s ease-in-out infinite;
}

.aqua-widget-host[data-platform-state="loading"] {
  cursor: progress;
}

.aqua-widget-host[data-platform-state="partial"] .aqua-compass-surface,
.aqua-widget-host[data-platform-state="partial"] .aqua-explorer-surface {
  box-shadow: inset 0 0 0 1px rgba(201,149,62,.46), var(--aqua-shadow);
}

.aqua-widget-host[data-platform-state="seasonal"] .aqua-compass-surface,
.aqua-widget-host[data-platform-state="seasonal"] .aqua-explorer-surface {
  box-shadow: inset 0 0 0 1px rgba(123,207,196,.38), var(--aqua-shadow);
}

.aqua-widget-host[data-platform-state="error"] .aqua-compass-surface,
.aqua-widget-host[data-platform-state="error"] .aqua-explorer-surface,
.aqua-widget-host[data-platform-state="unavailable"] .aqua-compass-surface,
.aqua-widget-host[data-platform-state="unavailable"] .aqua-explorer-surface {
  box-shadow: inset 0 0 0 1px rgba(143,61,53,.42), var(--aqua-shadow);
}

@keyframes aqua-widget-breathe {
  0%,100% { opacity:.72; transform:scale(.98); }
  50% { opacity:1; transform:scale(1.025); }
}

@keyframes aqua-widget-ocean-drift {
  from { transform:translate3d(-1.5%,0,0) scale(.98); opacity:.72; }
  to { transform:translate3d(1.5%,1%,0) scale(1.03); opacity:1; }
}

@keyframes aqua-widget-selected-pulse {
  0%,100% { filter:drop-shadow(0 0 0 rgba(123,207,196,0)); }
  50% { filter:drop-shadow(0 0 9px rgba(123,207,196,.52)); }
}

@media (prefers-reduced-motion: reduce) {
  .aqua-compass-instrument::before,
  .aqua-mini-compass__instrument::before,
  .aqua-map::before,
  .aqua-mini-map::before,
  .aqua-marker[aria-pressed="true"]::before,
  .aqua-featured-tile[aria-current="true"] {
    animation:none !important;
    transform:none;
  }

  .aqua-compass-instrument [data-needle-layer]::before,
  .aqua-mini-compass__instrument::after,
  .aqua-marker::before {
    transition:none;
  }
}
