/* ============================================================================
   theme-green.css — Embassy Eden · LIGHT BEIGE override layer
   ----------------------------------------------------------------------------
   Client note (2026-08-25): the estate moves to the official Eden palette —
   warm beige grounds, garden-green ink, glass over photography. This sheet was
   originally the *dark* override layer; it is now the *light* override layer.
   Its job is unchanged: it loads LAST in index.html (line 32) and re-paints the
   hard-coded surfaces that the other 13 stylesheets own, keyed by the
   per-file section comments below. Because it loads last,
   nothing the other sheets do is visible until this file agrees with them.

   Every value here consumes the tokens declared in eden-theme.css (loaded
   first): --e-ground / --e-surface / --e-surface-2 for surfaces,
   --e-ink / --e-ink-strong / --e-ink-soft for type, --e-line / --e-line-strong
   for strokes, --e-glass / --e-glass-strong / --e-glass-line + --e-blur for
   panels that sit over photography, and the --eden-* ladders for material
   ramps. No new hex is invented.

   Conversion rules applied:
     · near-black grounds        → var(--e-ground)
     · raised cards / drawers    → var(--e-surface) or --e-glass(-strong)
     · wells / tracks / borders  → var(--e-surface-2) / var(--e-line-strong)
     · cream type                → var(--e-ink) / --e-ink-strong / --e-ink-soft
     · gold / bronze             → var(--eden-olive) (not in the palette as gold)
     · rgba(0,0,0,a) shadows     → rgba(63,89,58, a×0.32)
     · legibility scrims INVERT: chrome is dark ink now, so the veils that used
       to darken photography must lighten it instead.

   Untouched by design: geometry (size, position, radius, z-index, timing),
   the photography itself, and the white speculars on the lacquer material —
   a highlight is still white on a beige lacquer, only dialled back ~30%.

   The intro screen and the download gate are owned by eden-intro.css and
   eden-gate.css, which load AFTER this file. The .eg-* / .eden-gate--screen
   rules kept below are legacy and merely palette-correct; they no longer paint.
   ============================================================================ */

/* ==== reel.css ==== */
.interiors-view{background:radial-gradient(120% 120% at 18% 12%, var(--eden-beige-3) 0%, var(--eden-beige-2) 46%, var(--eden-beige-1) 100%)}
.interior-reel{background:var(--e-ground)}
.interior-filmstrip .film-frame{background:var(--e-surface-2)}
.interior-reel-grade{background:linear-gradient(90deg, rgba(255,242,235,.82) 0%, rgba(255,242,235,.52) 14%, rgba(255,242,235,.18) 27%, rgba(255,242,235,0) 38%),
    linear-gradient(0deg,  rgba(255,242,235,.84) 0%, rgba(255,242,235,.38) 12%, rgba(255,242,235,0) 27%),
    rgba(254,230,211,.05)}
.interiors-view #saveInterior{background:var(--e-glass);backdrop-filter:blur(var(--e-blur)) saturate(115%);-webkit-backdrop-filter:blur(var(--e-blur)) saturate(115%)}
.interiors-view .interior-card span{background:linear-gradient(transparent,rgba(255,242,235,.9))}
@media (prefers-reduced-motion:reduce){.interior-backdrop:after{background:linear-gradient(90deg,rgba(255,242,235,.9),rgba(255,242,235,.12) 55%),
               linear-gradient(0deg,rgba(255,242,235,.85),transparent 55%)}}

/* ==== villa-tune.css ==== */
.villa-view .villa-zoom{background:var(--e-glass-strong)}

/* ==== finish-kit.css ==== */
.hmf-stage::before{background:radial-gradient(closest-side at 50% 58%, rgba(63,89,58,.14), rgba(63,89,58,.06) 55%, transparent 78%)}
.reference-home .destination-core,
.reference-home.is-night .destination-core{background:radial-gradient(circle at 36% 22%,
      color-mix(in srgb, var(--eden-beige-3), var(--eden-beige-2) calc(var(--dn,0)*100%)) 0%,
      color-mix(in srgb, var(--eden-beige-2), var(--eden-beige-1) calc(var(--dn,0)*100%)) 30%,
      color-mix(in srgb, var(--eden-beige-1), var(--eden-sage-1) calc(var(--dn,0)*100%)) 62%,
      color-mix(in srgb, var(--eden-sage-1), var(--eden-olive) calc(var(--dn,0)*100%)) 100%)!important}
.hmf-stage::before{background:radial-gradient(closest-side at 50% 60%, rgba(109,96,61,.14), rgba(63,89,58,.10) 48%, transparent 78%)}

/* ==== villa-compare-finish.css ==== */
.villa-view .villa-canvas::before{background:radial-gradient(88% 72% at 0% 0%,rgba(228,201,176,.30) 0%,rgba(228,201,176,.18) 30%,rgba(228,201,176,.06) 46%,transparent 58%),
    linear-gradient(160deg,rgba(228,201,176,.30) 0%,rgba(228,201,176,.10) 34%,transparent 52%)}
#toast{background:var(--e-glass-strong);backdrop-filter:blur(var(--e-blur)) saturate(115%);-webkit-backdrop-filter:blur(var(--e-blur)) saturate(115%);color:var(--e-ink-strong)}

/* ==== interiors-saved-finish.css ==== */
.saved-view .saved-card{background:var(--e-glass-strong);backdrop-filter:blur(var(--e-blur)) saturate(115%);-webkit-backdrop-filter:blur(var(--e-blur)) saturate(115%)}

/* ==== home-hero.css ==== */
#homeView.reference-home{background:var(--e-ground)!important}
#homeView.reference-home .orbit-home-grade,
#homeView.reference-home.is-night .orbit-home-grade{background:radial-gradient(115% 115% at 63% 46%, transparent 50%, rgba(255,242,235,.34) 100%),
    radial-gradient(44% 40% at 0% 0%, rgba(255,242,235,.45), transparent 72%),
    radial-gradient(44% 40% at 100% 0%, rgba(255,242,235,.41), transparent 72%),
    radial-gradient(40% 36% at 100% 100%, rgba(255,242,235,.34), transparent 74%),
    radial-gradient(40% 36% at 0% 100%, rgba(255,242,235,.29), transparent 74%),
    linear-gradient(180deg, rgba(255,242,235,.22) 0%, transparent 16%),
    linear-gradient(90deg, rgba(255,242,235,.23) 0%, rgba(255,242,235,.07) 26%, transparent 44%)!important}
.home-leafshade.ls-b{background:radial-gradient(30% 24% at 28% 94%, rgba(63,89,58,.10), transparent 70%),
    radial-gradient(20% 16% at 58% 2%, rgba(63,89,58,.08), transparent 68%),
    radial-gradient(24% 18% at 4% 58%, rgba(63,89,58,.09), transparent 70%)}
.reference-home .hmf-stage::before{background:radial-gradient(circle at 50% 56%, rgba(171,190,162,.34), rgba(63,89,58,.13) 46%, transparent 72%)!important}
.reference-home .destination-core,
.reference-home.is-night .destination-core{background:radial-gradient(ellipse 68% 42% at 50% 14%,
      rgba(255,255,255,.36), rgba(255,255,255,.07) 58%, transparent 74%),
    
    radial-gradient(ellipse 70% 30% at 50% 108%,
      color-mix(in srgb, rgba(171,190,162,.3), rgba(255,242,235,.34) calc(var(--dn,0)*100%)), transparent 68%),
    
    linear-gradient(180deg,
      color-mix(in srgb, var(--eden-beige-3), var(--eden-beige-2) calc(var(--dn,0)*100%)) 0%,
      color-mix(in srgb, var(--eden-beige-2), var(--eden-beige-1) calc(var(--dn,0)*100%)) 52%,
      color-mix(in srgb, var(--eden-beige-1), var(--eden-sage-1) calc(var(--dn,0)*100%)) 100%)!important;border:1px solid color-mix(in srgb, rgba(63,89,58,.30), rgba(109,96,61,.55) calc(var(--dn,0)*100%))!important}

/* ==== about-location.css ==== */
.about-view{background:radial-gradient(90% 90% at 78% 8%,var(--eden-sage-3) 0,transparent 55%),
    radial-gradient(110% 100% at 0% 100%,var(--eden-beige-2) 0,transparent 60%),
    var(--e-ground)}
.about-hero::after{background:linear-gradient(0deg,rgba(255,242,235,.72),transparent 30%),
             linear-gradient(90deg,rgba(255,242,235,.22),transparent 28%)}
.location-view{background:var(--e-ground)}
.location-map{background:var(--e-ground)}
.map-field{background:var(--e-ground)}
.location-map-grade{background:radial-gradient(120% 120% at 60% 45%,transparent 46%,rgba(255,242,235,.5) 100%),
    linear-gradient(90deg,rgba(255,242,235,.7) 0%,rgba(255,242,235,.2) 16%,transparent 34%),
    linear-gradient(0deg,rgba(255,242,235,.45) 0%,transparent 22%),
    linear-gradient(180deg,rgba(255,242,235,.38) 0%,transparent 18%),
    linear-gradient(0deg,rgba(254,230,211,.3),rgba(254,230,211,.3))}
.location-map::after{background:radial-gradient(118% 118% at 58% 46%,transparent 58%,rgba(228,201,176,.35) 100%)}
.map-mode{background:var(--e-glass)}
.map-zoom{background:var(--e-glass)}
.map-pin .pin-dot{border:1px solid rgba(63,89,58,.7)}
.route-chip{background:var(--e-glass-strong)}
.map-compass{background:var(--e-glass)}

/* ==== download-gate.css ==== */
/* legacy — eden-gate.css loads after this file and owns the gate now.
   Kept palette-correct only so nothing here can leak a dark surface. */
.eg-card{background:linear-gradient(155deg,var(--e-glass-strong),var(--e-glass))}
.eg-chip{background:var(--e-glass)}
.eden-gate--screen{background:radial-gradient(120% 120% at 50% 40%, transparent 40%, rgba(255,242,235,.55) 100%),
    url("assets/brand/eden-night-garden-plate.png") center/cover no-repeat,
    var(--e-ground)}

/* ==== fab.css ==== */
.efab-main{background:radial-gradient(ellipse 68% 42% at 50% 15%,
      rgba(255,255,255,.32), rgba(255,255,255,.06) 58%, transparent 74%),
    
    radial-gradient(ellipse 70% 30% at 50% 108%, rgba(171,190,162,.26), transparent 68%),
    
    linear-gradient(180deg,var(--eden-beige-3) 0%,var(--eden-beige-2) 52%,var(--eden-beige-1) 100%);border:1px solid var(--e-line-strong)}
.efab-chip{background:linear-gradient(145deg,rgba(255,242,235,.94),rgba(254,230,211,.86))}
.efab-mini{background:radial-gradient(ellipse 68% 42% at 50% 15%,
      rgba(255,255,255,.28), rgba(255,255,255,.06) 58%, transparent 74%),
    linear-gradient(180deg,var(--eden-beige-3) 0%,var(--eden-beige-2) 52%,var(--eden-beige-1) 100%);border:1px solid var(--e-line-strong)}
.anno-layer{background:rgba(63,89,58,.05)}
.anno-rail{background:linear-gradient(165deg,rgba(255,242,235,.94),rgba(254,230,211,.90))}
.anno-tool{background:linear-gradient(180deg,rgba(254,230,211,.90),rgba(228,201,176,.92))}

/* ==== responsive.css ==== */
@media (orientation:portrait){.villa-view .villa-shade{background:linear-gradient(0deg,rgba(255,242,235,.88),transparent 55%),
      linear-gradient(180deg,rgba(255,242,235,.62) 0%,rgba(255,242,235,.26) 16%,transparent 38%),
      linear-gradient(90deg,rgba(255,242,235,.5),transparent 55%)}}


/* ==== lacquer day-state: beige lacquer, material look preserved ====
   The three-stop lacquer body is now the beige ladder (beige-3 → beige-2 →
   beige-1) so the orbs and the FAB read as polished ceramic against the light
   ground. Gloss highlights, bevels, grain and shadow stack are all left
   exactly as authored — only the white speculars are dialled back ~30% so
   they don't blow out on a near-white body. */
.reference-home .destination-core,
.reference-home.is-night .destination-core{
  background:
    radial-gradient(ellipse 68% 42% at 50% 14%,
      rgba(255,255,255,.36), rgba(255,255,255,.07) 58%, transparent 74%),
    radial-gradient(ellipse 70% 30% at 50% 108%,
      color-mix(in srgb, rgba(171,190,162,.3), rgba(255,242,235,.34) calc(var(--dn,0)*100%)), transparent 68%),
    linear-gradient(180deg,
      color-mix(in srgb, var(--eden-beige-3), var(--eden-beige-2) calc(var(--dn,0)*100%)) 0%,
      color-mix(in srgb, var(--eden-beige-2), var(--eden-beige-1) calc(var(--dn,0)*100%)) 52%,
      color-mix(in srgb, var(--eden-beige-1), var(--eden-sage-1) calc(var(--dn,0)*100%)) 100%)!important;
  border:1px solid color-mix(in srgb, rgba(63,89,58,.30), rgba(109,96,61,.55) calc(var(--dn,0)*100%))!important}

.efab-main{
  background:
    radial-gradient(ellipse 68% 42% at 50% 15%,
      rgba(255,255,255,.32), rgba(255,255,255,.06) 58%, transparent 74%),
    radial-gradient(ellipse 70% 30% at 50% 108%, rgba(171,190,162,.26), transparent 68%),
    linear-gradient(180deg,var(--eden-beige-3) 0%,var(--eden-beige-2) 52%,var(--eden-beige-1) 100%);
  border:1px solid var(--e-line-strong)}
.efab-mini{
  background:
    radial-gradient(ellipse 68% 42% at 50% 15%,
      rgba(255,255,255,.28), rgba(255,255,255,.06) 58%, transparent 74%),
    linear-gradient(180deg,var(--eden-beige-3) 0%,var(--eden-beige-2) 52%,var(--eden-beige-1) 100%);
  border:1px solid var(--e-line-strong)}


/* ==== download gate: legacy plate treatment (superseded) ====
   eden-gate.css loads after this file and owns the gate. The veil below is
   now a warm beige wash rather than a deep-garden one, and the darkening
   vignette has become a lightening one, so that if this rule ever paints
   again it cannot reintroduce a dark surface. The plate photograph itself is
   untouched; a plain translucent veil keeps its tonality intact (blend modes
   were tried and rejected — `screen` flattened the mansion's warm interior
   lights and, over a light ground, is close to a no-op anyway). */
.eden-gate--screen{
  background:
    linear-gradient(rgba(255,242,235,.34),rgba(254,230,211,.34)),
    radial-gradient(120% 120% at 50% 40%, transparent 44%, rgba(255,242,235,.26) 100%),
    url("assets/brand/eden-night-garden-plate.png") center/cover no-repeat,
    var(--e-ground)}

/* Estate view chrome sits on the light plan field — the white Embassy mark
   washes out there; render it in ink instead (white glyphs → dark via invert) */
/* the Embassy wordmark is 7.6:1 — the old 39×31 contain-box crushed it to a
   5px smear on every view; give it its true proportion */
.brand-lockup img{width:88px;height:12px;object-fit:contain}
.topbar .brand-lockup img,.home-corner-brand.brand-lockup img{width:78px;height:11px;object-fit:contain}

/* ── Inner screens carry the brand leaf-shadow texture (client 2026-07-31:
      "inside screens look too plain") — the wash that holds it back is now a
      warm beige one, so the dapple reads as a faint garden shadow on the
      light ground and content stays primary. ── */
.view.villa-view,.view.compare-view,.view.about-view,.view.location-view,.view.saved-view{
  background-image:
    linear-gradient(rgba(255,242,235,.62), rgba(255,242,235,.62)),
    url("assets/brand/eden-leafshadow-plate-light.webp");
  background-size:cover,cover;
  background-position:center,center;
}

/* ==== FINAL HOME COMP LOCK (client 2026-08-01, re-cut for the light palette) ====
   The approved comp keeps the orbs ONE material at every point of the day↔night
   cycle — the flip is retired. That material is now the beige lacquer, not the
   green one: this block loads last of all and overrides the three ramps above
   (finish-kit / home-hero / lacquer-day-state mirrors), so it is what actually
   paints. Icon and hairline are garden ink so the orbs read on beige. */
.reference-home .destination-core,
.reference-home.is-night .destination-core{
  background:
    radial-gradient(ellipse 68% 42% at 50% 14%,
      rgba(255,255,255,.32), rgba(255,255,255,.06) 58%, transparent 74%),
    radial-gradient(ellipse 70% 30% at 50% 108%, rgba(171,190,162,.3), transparent 68%),
    linear-gradient(180deg, var(--eden-beige-3) 0%, var(--eden-beige-2) 52%, var(--eden-beige-1) 100%)!important;
  border:1px solid var(--e-line-strong)!important;
}
.reference-home .destination-icon,
.reference-home.is-night .destination-icon{color:var(--e-ink-strong)!important}
.reference-home .destination-core>i,
.reference-home.is-night .destination-core>i{background:rgba(63,89,58,.55)!important}
.reference-home .destination:before,
.reference-home.is-night .destination:before{background:rgba(171,190,162,.55)!important}

/* ==== Embassy lockup (client 2026-08-01: no black plate) ====
   embassy-white.webp was white-on-solid-black with no alpha; the entrance
   animation's residual filter isolates blend groups, so a screen blend
   can't fix it reliably. The logo now ships as embassy-white-alpha.webp
   (true transparency, baked from luminance) — no CSS needed. */

/* ==== THE ESTATE est-mode chip lock (client 2026-08-01) ====
   finish-kit's "filter medallions" pass (!important radius/bevels) and the
   plot-label ink pass fight the photoreal estate's chip dressing — this block
   loads last of all and settles it. The dressing is now beige glass over the
   render, with garden-ink labels. */
#masterplanView.est-mode .masterplan-filter button{
  width:auto!important;height:40px!important;border-radius:20px!important;
  background:var(--e-glass)!important;
  border:1px solid var(--e-line)!important;
  box-shadow:none!important;color:var(--e-ink)!important;
  backdrop-filter:blur(var(--e-blur)) saturate(115%);-webkit-backdrop-filter:blur(var(--e-blur)) saturate(115%);
}
#masterplanView.est-mode .masterplan-filter button.is-active{
  background:var(--e-surface-2)!important;
  border-color:var(--e-line-strong)!important;color:var(--e-ink-strong)!important;
  box-shadow:none!important;
}
/* plot pins: finish-kit's transparent-ink look is right for the OVERVIEW,
   but the SELECTED plot must light up like jewellery — olive, the palette's
   nearest legal accent to the retired gold */
#masterplanView.est-mode .est-plot{color:var(--e-ink-strong)!important;text-shadow:0 1px 3px rgba(255,255,255,.45)}
#masterplanView.est-mode .est-plot.is-selected{
  background:var(--eden-olive)!important;border:1px solid rgba(63,89,58,.75)!important;
  color:var(--e-ground)!important;border-radius:5px!important;
  box-shadow:0 0 0 4px rgba(109,96,61,.25), 0 0 18px rgba(109,96,61,.45), 0 2px 6px rgba(63,89,58,.13)!important;
}
/* medallions rest at 72% at the overview so the plan breathes; full size
   once the guest dives (is-deep) */
#masterplanView.est-mode .est-am{transform:scale(calc(var(--inv,1)*.72)) translate(calc(var(--ox,0px)*var(--decl,0)),calc(var(--oy,0px)*var(--decl,0)))}
#masterplanView.est-mode .est-stage.is-deep .est-am{transform:scale(var(--inv,1))}
/* editorial stays legible over the render at depth — the halo lightens now,
   because the type is ink rather than cream */
#masterplanView.est-mode .masterplan-copy h2,
#masterplanView.est-mode .masterplan-copy p{text-shadow:0 2px 14px rgba(255,242,235,.75)}
/* est-mode chip labels + tools (same lock, part 2) */
#masterplanView.est-mode .masterplan-filter button b{display:inline!important;color:inherit!important;font-size:9px;letter-spacing:.16em}
#masterplanView.est-mode .masterplan-filter button img{width:16px!important;height:16px!important;opacity:.85}
#masterplanView.est-mode .model-tools{background:transparent!important;border:0!important;box-shadow:none!important}
#masterplanView.est-mode .model-tools button{
  background:var(--e-glass)!important;border:1px solid var(--e-line-strong)!important;
  color:var(--e-ink)!important;box-shadow:none!important;letter-spacing:.14em!important;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
#masterplanView.est-mode .model-tools button:active{background:var(--e-surface-2)!important}
/* editorial floats above the plate and never blocks the camera */
#masterplanView.est-mode .masterplan-copy{z-index:3!important;pointer-events:none}
/* legend clears the presenter FAB */
#masterplanView.est-mode .est-legend{left:46%;max-width:54%}
/* chip internals flow inline — the 3D dock stacked them absolutely */
#masterplanView.est-mode .masterplan-filter button b,
#masterplanView.est-mode .masterplan-filter button img,
#masterplanView.est-mode .masterplan-filter button i{position:static!important;transform:none!important;margin:0!important}
#masterplanView.est-mode .est-legend{left:43%;max-width:52%}
/* text-only chips — the medallion icons belonged to the 3D dock's circles */
#masterplanView.est-mode .masterplan-filter button img,
#masterplanView.est-mode .masterplan-filter button i{display:none!important}
#masterplanView.est-mode .masterplan-filter button{justify-content:center!important;text-align:center!important;padding:0 16px!important}

/* ═══════════ ONE SAVE MARK EVERYWHERE (client 2026-08-03) ═══════════
   Every save control — Saved chips, gallery Save pills, Save plot, Save
   villa — carries the same bookmark glyph, scaled for in-button use. */
#savePlot,#saveVilla{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.bookmark-icon--btn{width:9px;height:13px;flex:0 0 9px;display:inline-block}
.bookmark-icon--btn:after{width:6px;height:6px;left:0;bottom:-4px}

/* ═══════════ RIGHT-EDGE ALIGNMENT (client 2026-08-03: "the line") ═══════════
   Floating corner controls share ONE right edge with the Saved chip
   (viewport right − 30px). Estate tools, villa docket folio, Expand drawing. */
#masterplanView.est-mode .model-tools{right:17px!important}
.villa-view .villa-docket{right:16px!important}
#expandPlan{margin-right:-4px}
