/* ETNIA companion: isolated styles, independent of the legacy panel layers. */
#etniaAssistant{--ea-gold:#e5bd81;--ea-border:rgba(224,187,126,.25);position:fixed;z-index:90;right:max(22px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));color:#faf8f4;font-family:var(--sans,Arial,sans-serif)}
#etniaAssistant [hidden]{display:none!important}#etniaAssistant button,#etniaAssistant input,#etniaAssistant select{font-family:inherit}#etniaAssistant button{cursor:pointer}#etniaAssistant button:focus-visible,#etniaAssistant input:focus-visible,#etniaAssistant select:focus-visible,.etnia-help-open:focus-visible{outline:2px solid #edc889;outline-offset:3px}#etniaAssistant button:disabled{opacity:.5;cursor:wait}
.ea-launcher{position:relative;display:grid;place-items:center;width:64px;height:64px;padding:8px;border:1px solid rgba(225,187,125,.65);border-radius:20px;background:linear-gradient(145deg,#272727,#080909 80%);color:#edc889;box-shadow:0 8px 32px #0009,inset 0 1px 0 #ffffff20;transition:transform .25s,box-shadow .25s}.ea-launcher:hover{transform:translateY(-3px);box-shadow:0 8px 32px #000c,0 0 25px #dbb16e25}.ea-launcher>svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round}.ea-speech{position:absolute;right:-5px;top:-5px;display:grid;place-items:center;width:26px;height:21px;border:1px solid #e5bd8170;border-radius:8px 8px 8px 1px;background:#e5bd81;color:#141414;font:700 18px/1 Arial}.ea-launch-label{position:absolute;right:76px;padding:8px 11px;border:1px solid #e5bd8130;border-radius:5px;background:#090a0be6;color:#f4e6cd;font-size:12px;letter-spacing:.14em;pointer-events:none}.ea-open .ea-launch-label{display:none}
.ea-chat{position:absolute;right:0;bottom:82px;display:flex;flex-direction:column;width:min(430px,calc(100vw - 32px));height:min(660px,calc(var(--ea-vh,100dvh) - 120px));max-height:calc(var(--ea-vh,100dvh) - 120px);overflow:hidden;border:1px solid var(--ea-border);border-radius:20px;background:linear-gradient(150deg,rgba(37,34,29,.97),rgba(8,10,11,.97) 34%);box-shadow:0 30px 90px #0009;backdrop-filter:blur(26px);-webkit-backdrop-filter:blur(26px);animation:ea-reveal .24s ease-out}
.ea-head{display:flex;flex:none;align-items:center;gap:12px;padding:20px 18px;border-bottom:1px solid var(--ea-border);background:radial-gradient(ellipse at 100% 0,#b7884630,transparent 72%)}.ea-avatar{display:grid;place-items:center;flex:none;width:46px;height:46px;border:1px solid var(--ea-border);border-radius:14px;background:#121414;color:var(--ea-gold)}.ea-avatar svg{width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}.ea-overline{display:block;color:var(--ea-gold);font-size:10px;letter-spacing:.16em}.ea-head h2{margin:5px 0;font:400 23px/1.15 var(--serif,Georgia,serif);letter-spacing:-.025em}.ea-status{color:#c5c0b7;font-size:12px}.ea-close,.ea-cancel{display:grid;place-items:center;flex:none;width:36px;height:36px;margin-left:auto;padding:7px;border:1px solid #ffffff25;border-radius:50%;color:#fff;background:#090a0b60}.ea-close svg,.ea-cancel svg,.ea-help-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}.ea-close:hover,.ea-cancel:hover{background:#fff;color:#101010}
.ea-feed{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#6c5740 transparent;padding:20px 17px;display:flex;flex-direction:column;gap:16px}.ea-message{flex:none;max-width:100%;align-self:flex-start;animation:ea-reveal .2s ease-out}.ea-message>p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.75;color:#e6e3dd}.ea-assistant>p{padding:14px 15px;border:1px solid #ffffff12;border-radius:2px 14px 14px 14px;background:#ffffff05}.ea-user{max-width:88%;align-self:flex-end}.ea-user>p{padding:11px 15px;border:1px solid #e5bd8138;border-radius:14px 2px 14px 14px;color:#f7e9d2;background:#bf945723}.ea-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.ea-chip{min-height:36px;padding:8px 12px;border:1px solid #dab27865;border-radius:8px;background:#d4a25d0c;color:#eac898;font-size:12px;line-height:1.3;transition:background .2s}.ea-chip:hover{background:#d4a25d25}
.ea-homes{display:grid;gap:8px;margin-top:12px}.ea-home{display:flex;gap:12px;width:100%;padding:11px;border:1px solid #e5bd813d;border-radius:10px;text-align:left;background:linear-gradient(120deg,#d0a46615,#ffffff04);color:#fff;transition:border-color .2s}.ea-home:hover{border-color:var(--ea-gold)}.ea-home img{width:72px;height:93px;object-fit:contain;flex:none;background:#ffffff08;border-radius:5px}.ea-home>span{display:flex;flex-direction:column;min-width:0;gap:5px}.ea-home strong{font:400 24px/1 var(--serif,Georgia,serif)}.ea-home small{font-size:11px;color:#cbc6bd}.ea-home b{font-size:13px;font-weight:600;color:var(--ea-gold)}.ea-home em{font-size:11px;color:#fff;font-style:normal;text-decoration:underline;text-underline-offset:3px}
.ea-typing{display:flex;flex:none;align-items:center;gap:9px;padding:5px 20px 12px;color:#bdb7ad}.ea-typing>span{display:flex;gap:4px}.ea-typing i{width:5px;height:5px;background:var(--ea-gold);border-radius:50%;animation:ea-dot 1.1s infinite}.ea-typing i:nth-child(2){animation-delay:.15s}.ea-typing i:nth-child(3){animation-delay:.3s}.ea-typing small{font-size:12px}.ea-compose-wrap{padding:13px 15px 12px;border-top:1px solid var(--ea-border);background:#090a0b75;flex:none}.ea-compose{display:flex;gap:8px;align-items:center}.ea-compose input{min-width:0;flex:1;height:46px;border:1px solid #ffffff20;border-radius:10px;padding:0 12px;background:#ffffff06;color:#fff;font-size:16px}.ea-compose input::placeholder{color:#b6b1a8;font-size:13px}.ea-send{display:grid;place-items:center;flex:none;width:44px;height:44px;border:0;border-radius:10px;background:linear-gradient(135deg,#f0d5a4,#c89a5c);color:#171410}.ea-send svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round}.ea-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;color:#b8b1a6;font-size:10px;line-height:1.4}.ea-restart{border:0;padding:3px;color:#d5bd98;background:transparent;font-size:11px;text-decoration:underline;text-underline-offset:3px}
.ea-appointment{flex:none;display:grid;gap:12px;padding:16px;border:1px solid #e3b77855;border-radius:12px;background:linear-gradient(150deg,#c19a5f17,#ffffff04)}.ea-appointment-top{display:flex;align-items:center;gap:8px}.ea-appointment h3{margin:0;color:#edc78f;font:400 23px var(--serif,Georgia,serif)}.ea-appointment>p{margin:0;color:#c6bfb3;font-size:12px;line-height:1.6}.ea-appointment label{display:grid;gap:6px;min-width:0;font-size:13px;color:#eee4d5}.ea-appointment input:not([type=checkbox]),.ea-appointment select{min-width:0;width:100%;height:43px;padding:8px;border:1px solid #ffffff28;border-radius:7px;background:#171819;color:#fff;font-size:16px;color-scheme:dark}.ea-form-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:10px}.ea-appointment label.ea-consent{display:flex;gap:9px;align-items:flex-start;font-size:12px;line-height:1.6}.ea-consent input{width:17px;height:17px;flex:none;margin:3px 0;accent-color:var(--ea-gold)}.ea-primary{min-height:44px;padding:12px;border:1px solid #f1d3a0;border-radius:8px;background:linear-gradient(110deg,#edd0a0,#c69a5f);color:#171410;font-size:14px;font-weight:700}.ea-appointment .ea-error{color:#ffb9b9;font-size:13px}.ea-error:empty{display:none}.ea-sr{position:absolute!important;overflow:hidden;width:1px;height:1px;clip-path:inset(50%);white-space:nowrap}
.etnia-help-open.icon{flex:none;width:41px;height:41px;border-radius:50%;font:italic 500 21px Georgia,serif;color:#f9f6f1;background:rgba(5,7,8,.62)}.etnia-help-open:hover{background:white;color:#111}#info.etnia-help{width:min(1080px,calc(100vw - 36px));max-width:1080px;height:auto;max-height:calc(100dvh - 36px);margin:auto;padding:0;border:1px solid #deb47c66;border-radius:14px;background:rgba(7,9,10,.95);color:#fff;overflow:auto;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 40px 100px #0009}#info.etnia-help::backdrop{background:#000a;backdrop-filter:blur(8px)}.ea-help-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:25px 30px;border-bottom:1px solid #ffffff18;background:#111213f5}.ea-help-head p{margin:0 0 9px!important;color:#e6bf84!important;font:500 11px var(--mono,monospace)!important;letter-spacing:.16em}#info .ea-help-head h2{margin:0;font:400 clamp(25px,3vw,39px)/1.15 var(--serif,Georgia,serif)}#info .ea-help-close{position:static;flex:none;display:grid;place-items:center;width:42px;height:42px;padding:8px;border:1px solid #ffffff70;border-radius:50%;color:#101112;background:#fff}.ea-help-body{padding:24px 30px}.ea-help-image{display:block;width:100%;height:auto;border:1px solid #ffffff20;border-radius:10px}.ea-help-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;margin:26px 0 0;padding:0;list-style:none;counter-reset:guide}.ea-help-steps li{counter-increment:guide;position:relative;padding-top:32px}.ea-help-steps li:before{content:'0' counter(guide);position:absolute;top:0;color:#e2bb81;font:500 12px var(--mono,monospace)}.ea-help-steps b{display:block;margin-bottom:7px;font-size:16px}.ea-help-steps span{display:block;font-size:13px;line-height:1.7;color:#c7c3bc}#info .ea-help-note{margin:24px 0 0;padding-top:17px;border-top:1px solid #ffffff20;font-size:12px;color:#b7b1a6}
body:not([data-scene]) #etniaAssistant,body[data-scene="intro"] #etniaAssistant{display:none}body:has(#menu.open) #etniaAssistant{visibility:hidden}
@keyframes ea-reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes ea-dot{0%,70%,100%{opacity:.3;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}
@media(min-width:601px) and (max-width:760px){.header-actions .etnia-help-open.icon,.masterplan-view-header-actions .etnia-help-open.icon{width:34px;height:34px;min-width:34px}}
@media(max-width:600px){
  #etniaAssistant{right:max(12px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}.ea-launcher{width:54px;height:54px;border-radius:17px}.ea-launch-label{display:none}.ea-launcher>svg{width:35px;height:35px}.ea-speech{right:-3px;top:-3px;width:23px;height:19px}
  .ea-chat{position:fixed;right:12px;left:12px;bottom:calc(80px + var(--ea-keyboard,0px));width:auto;height:min(640px,calc(var(--ea-vh,100dvh) - 102px));max-height:calc(var(--ea-vh,100dvh) - 102px);border-radius:16px}.ea-head{padding:14px 13px;gap:10px}.ea-head h2{font-size:21px}.ea-avatar{width:40px;height:40px}.ea-feed{padding:14px 12px}.ea-compose-wrap{padding:11px 12px}.ea-message>p{font-size:14px}.ea-bottom{font-size:9px}.ea-status{font-size:11px}.ea-overline{font-size:9px}.ea-appointment{padding:12px}
  body[data-scene="floor"] #etniaAssistant:not(.ea-open){bottom:150px}body[data-scene="tour"] #etniaAssistant:not(.ea-open){bottom:165px}
  /* Keep all controls inside the phone viewport, rather than clipping the last icon. */
  #masterplan .interface,#floor .interface{display:flex;flex-wrap:wrap;gap:8px;left:12px;right:12px;top:max(12px,env(safe-area-inset-top))}
  #masterplan .interface .master-brand{position:static;transform:none;flex:0 0 100%;justify-content:space-between;width:100%;max-width:none}
  #floor .interface>.left-actions{width:100%;justify-content:flex-start}
  #masterplan .interface .header-actions,#floor .interface .header-actions{width:100%;justify-content:flex-end;gap:4px;flex-wrap:nowrap}
  .header-actions .etnia-help-open.icon,.masterplan-view-header-actions .etnia-help-open.icon{width:36px;height:36px;min-width:36px}
  #masterplan .header-actions .icon,#floor .header-actions .icon,.masterplan-view-header-actions .icon{width:36px;height:36px;min-width:36px}
  #masterplan .header-actions .mode,.masterplan-view-header-actions .mode{height:36px;box-sizing:border-box;padding:2px}
  #masterplan .header-actions .mode button,.masterplan-view-header-actions .mode button{min-width:39px;padding:0 6px;font-size:9px}
  #masterplan .header-actions .language-switch,#floor .header-actions .language-switch,.masterplan-view-header-actions .language-switch{height:36px;padding:0}
  #masterplan .header-actions .language-switch button,#floor .header-actions .language-switch button,.masterplan-view-header-actions .language-switch button{width:28px;height:100%}
  #floor .header-actions #viewToggle{width:70px;flex:none}
  .masterplan-view-header-actions{right:12px;left:12px;justify-content:flex-end;gap:4px}
  #masterplan .screen-meta,#floor .plan-label{top:112px}
  #info.etnia-help{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:12px}.ea-help-head{padding:20px 16px}.ea-help-body{padding:16px}.ea-help-image{display:none}.ea-help-steps{grid-template-columns:1fr;gap:20px;margin-top:0}.ea-help-steps li{padding:0 0 18px 37px;border-bottom:1px solid #ffffff12}.ea-help-steps li:before{top:3px}.ea-help-steps span{font-size:14px}.ea-help-steps b{font-size:17px}
}
@media(max-width:600px){#info .ea-help-image{display:block;aspect-ratio:400/530;height:auto;margin-bottom:24px}}
@media(max-height:540px){.ea-chat{height:calc(var(--ea-vh,100dvh) - 30px);max-height:calc(var(--ea-vh,100dvh) - 30px);bottom:calc(12px + var(--ea-keyboard,0px))}.ea-open .ea-launcher{visibility:hidden}.ea-head{padding:10px 13px}.ea-bottom{display:none}}
@media(prefers-reduced-motion:reduce){#etniaAssistant *,#info.etnia-help *{animation:none!important;transition:none!important}}
