/* Warm, satin-frosted material. Geometry and interaction colors stay shared. */
:root{--glass-solid:#f3f0eb;--glass-tint:rgba(247,244,239,.48);--glass-rim:rgba(255,255,255,.82);--glass-low-edge:rgba(128,115,100,.15);--glass-depth:0 14px 38px rgba(77,65,51,.075),0 2px 7px rgba(77,65,51,.035);--glass-inner:inset 0 1px 0 rgba(255,255,255,.95),inset 1px 0 0 rgba(255,255,255,.5),inset 0 -1px 0 rgba(122,106,90,.06)}
body:not(.city-page){background:radial-gradient(ellipse 760px 580px at 100% 14%,rgba(215,194,172,.37),transparent 72%),radial-gradient(ellipse 650px 500px at 0% 70%,rgba(226,209,191,.44),transparent 73%),linear-gradient(130deg,#f6f4f0,#eeebe6 55%,#f5f3ef);color:var(--ink,#262a30)}
.project-card,.profile-card:not(.about-profile),.cv-card,.role-card,.skills-card,.about-postcard,.audience-case,.proof-card,.full-resume .cv-role,.full-resume .cv-education,.full-resume .support-section,.full-resume #work,.full-resume #certifications,.full-resume #referees,.composer-dock,dialog{background:var(--glass-solid);border:1px solid var(--glass-rim);border-bottom-color:var(--glass-low-edge);box-shadow:var(--glass-depth),var(--glass-inner)}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 .project-card,.profile-card:not(.about-profile),.cv-card,.role-card,.skills-card,.about-postcard,.audience-case,.proof-card,.full-resume .cv-role,.full-resume .cv-education,.full-resume .support-section,.full-resume #work,.full-resume #certifications,.full-resume #referees,.composer-dock,dialog{background:linear-gradient(135deg,rgba(255,255,255,.54),rgba(255,255,255,.08) 48%,rgba(238,231,221,.25)),var(--glass-tint);-webkit-backdrop-filter:blur(18px) saturate(110%);backdrop-filter:blur(18px) saturate(110%)}
}
.composer-dock{box-shadow:0 10px 30px rgba(77,65,51,.08),var(--glass-inner)}
#chat-form{background:rgba(255,255,255,.64);border-color:rgba(255,255,255,.9);box-shadow:inset 0 1px 3px rgba(87,76,60,.045),0 1px 0 rgba(255,255,255,.7)}
.composer-row .contact-chip,.quick-actions button,.quick-actions .cv-view-link,.postcard-share>button,.postcard-share>a{background:rgba(255,255,255,.52);border-color:rgba(255,255,255,.78);box-shadow:inset 0 1px 0 rgba(255,255,255,.92),0 3px 9px rgba(77,65,51,.045)}
.quick-actions button:hover,.quick-actions .cv-view-link:hover,.postcard-share>button:hover,.postcard-share>a:hover{background:rgba(255,255,255,.82)}
.quick-actions button[aria-pressed=true]{background:rgba(255,255,255,.86);box-shadow:inset 0 0 0 1px rgba(102,108,120,.28),0 3px 10px rgba(77,65,51,.05)}
.tags span,.proof-metric{background:rgba(225,218,207,.3);color:var(--body-ink)}
.message.user{background:rgba(230,225,217,.8);border-color:rgba(255,255,255,.82)}
.postcard-heading,.postcard-contact,.postcard-share{border-color:rgba(104,94,82,.13)}
dialog{background:#f4f1ed;box-shadow:0 26px 80px rgba(52,44,35,.18),var(--glass-inner)}
dialog::backdrop{background:rgba(69,60,51,.19);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){dialog{background:linear-gradient(130deg,rgba(255,255,255,.66),rgba(246,241,234,.65)),rgba(244,241,237,.78)}}
/* Avoid double layers in the readable CV. */
.full-resume #work>.cv-role{background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
/* Island glass is limited to interface chrome; scene lighting is untouched. */
.city-page.city-page #info-panel,.city-page.city-page .welcome-card,.city-page.city-page .arrival-card,.city-page.city-page .destination-panel,.city-page.city-page .city-header nav{background:#f3f0eb;border:1px solid var(--glass-rim);border-bottom-color:var(--glass-low-edge);box-shadow:var(--glass-depth),var(--glass-inner)}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.city-page.city-page #info-panel,.city-page.city-page .welcome-card,.city-page.city-page .arrival-card,.city-page.city-page .destination-panel,.city-page.city-page .city-header nav{background:linear-gradient(135deg,rgba(255,255,255,.6),rgba(255,255,255,.12)),rgba(244,241,236,.84);-webkit-backdrop-filter:blur(18px) saturate(110%);backdrop-filter:blur(18px) saturate(110%)}}
@media(max-width:700px){.project-card,.profile-card:not(.about-profile),.cv-card,.role-card,.skills-card,.about-postcard,.audience-case,.proof-card,.full-resume .cv-role,.full-resume .cv-education,.full-resume .support-section,.full-resume #work,.full-resume #certifications,.full-resume #referees,.composer-dock{--glass-tint:rgba(247,244,239,.84);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.full-resume #work>.cv-role{-webkit-backdrop-filter:none;backdrop-filter:none}}
@media(prefers-reduced-transparency:reduce){.project-card,.profile-card:not(.about-profile),.cv-card,.role-card,.skills-card,.about-postcard,.audience-case,.proof-card,.full-resume .cv-role,.full-resume .cv-education,.full-resume .support-section,.full-resume #work,.full-resume #certifications,.full-resume #referees,.composer-dock,dialog,.city-page.city-page #info-panel,.city-page.city-page .welcome-card,.city-page.city-page .arrival-card,.city-page.city-page .destination-panel,.city-page.city-page .city-header nav{background:var(--glass-solid);-webkit-backdrop-filter:none;backdrop-filter:none}.full-resume #work>.cv-role{background:transparent}dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}}
@media print{body:not(.city-page){background:white}.project-card,.profile-card:not(.about-profile),.cv-card,.role-card,.skills-card,.about-postcard,.audience-case,.proof-card,.full-resume .cv-role,.full-resume .cv-education,.full-resume .support-section,.full-resume #work,.full-resume #certifications,.full-resume #referees{background:white;box-shadow:none;border-color:#ccc;-webkit-backdrop-filter:none;backdrop-filter:none}}

@media(pointer:coarse){.city-page.city-page #info-panel,.city-page.city-page .welcome-card,.city-page.city-page .arrival-card,.city-page.city-page .destination-panel,.city-page.city-page .city-header nav{background:#f3f0eb;-webkit-backdrop-filter:none;backdrop-filter:none}}
/* Preserve explicit demo result status cues on the still-addressable demo page. */
.proof-card.check-pass{border-top:4px solid #39806a}.proof-card.check-block{border-top:4px solid #b74747}.proof-card.check-unknown{border-top:4px solid #a77825}
@media(prefers-reduced-transparency:reduce),(pointer:coarse){.city-page.city-page dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.city-page.city-page .surface-pill,.city-page.city-page .location-pill,.city-page.city-page .control-help summary{background:#f3f0eb;-webkit-backdrop-filter:none;backdrop-filter:none}}
body:not(.city-page){min-height:100svh}
