#yondelo-ai-search-entry,.yai-property,.yai-results{--yai-bg:#fff;--yai-text:#172334;--yai-border:#d8dfe7;--yai-muted:#5b6876;--yai-field:#f5f7f9;color:var(--yai-text)}
html[data-theme="night"] #yondelo-ai-search-entry,html[data-theme="night"] .yai-property,html[data-theme="night"] .yai-results{--yai-bg:#171c23;--yai-text:#f0f3f7;--yai-border:#414c59;--yai-muted:#b5c0cd;--yai-field:#222b36}
#yondelo-ai-search-entry{padding:0 10px 12px}.yai-toggle,.yai-button,.yai-link{font:inherit;cursor:pointer;touch-action:manipulation}.yai-toggle{width:100%;padding:12px;border:1px solid var(--yai-border);border-radius:12px;background:var(--yai-field);color:var(--yai-text);font-weight:600}.yai-form{padding:14px 0}.yai-label{display:block;font-size:15px;font-weight:600;margin-bottom:9px}.yai-input{display:block;box-sizing:border-box;width:100%;resize:vertical;max-height:160px;min-height:76px;border:1px solid var(--yai-border);background:var(--yai-field);color:var(--yai-text);border-radius:12px;padding:12px;font:inherit;font-size:16px}.yai-input:focus{outline:2px solid #638ac5;outline-offset:2px}.yai-actions{display:flex;gap:12px;align-items:center;margin-top:10px}.yai-button{padding:11px 17px;border:0;border-radius:12px;background:#254970;color:#fff;font-weight:600;min-height:44px}.yai-link{padding:10px;border:0;background:transparent;color:var(--yai-text);min-height:44px}.yai-button:disabled{opacity:.5;cursor:wait}.yai-status,.yai-note{font-size:13px;line-height:1.5;color:var(--yai-muted);overflow-wrap:anywhere}.yai-status:empty,.yai-answer:empty{display:none}.yai-answer{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.65;margin-top:14px}.yai-property{margin:18px 12px;padding:4px 16px 12px;background:var(--yai-bg);border:1px solid var(--yai-border);border-radius:16px}
.yai-actions{flex-wrap:wrap;gap:8px}.yai-mic{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:10px 12px;border:1px solid var(--yai-border);border-radius:12px;background:var(--yai-field);color:var(--yai-text);font:inherit;cursor:pointer;touch-action:manipulation}.yai-mic.is-recording{color:#c53030;border-color:currentColor}.yai-mic:disabled{opacity:.55;cursor:default}.yai-mic.is-recording:disabled{opacity:1}.yai-mic:focus-visible{outline:2px solid #638ac5;outline-offset:2px}.yai-actions [hidden]{display:none!important}

.yai-mic{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}

.yai-correction{border:1px solid var(--yai-border);border-radius:12px;padding:12px;margin:8px 0}.yai-correction label{display:block;margin:10px 0;font-size:14px}.yai-correction input[type=text]{min-height:44px}.yai-correction[hidden]{display:none!important}

.yai-location-recovery{margin:12px 0;padding:12px;border:1px solid var(--yai-border);border-radius:12px}.yai-location-options{max-height:260px;overflow:auto}.yai-location-option{display:block;width:100%;text-align:left;min-height:44px;padding:12px;border:0;border-bottom:1px solid var(--yai-border);background:var(--yai-bg);color:var(--yai-text);font:inherit;cursor:pointer}.yai-location-option span{display:block;font-size:12px;color:var(--yai-muted)}.yai-location-option:focus-visible{outline:2px solid #638ac5;outline-offset:-2px}
/* Search modes share the native sheet and result renderer. */
.yai-tabs{display:flex;gap:4px;margin:0 18px 12px;padding:4px;border-radius:14px;background:#eef1f5;flex-shrink:0}.yai-tabs button{flex:1;border:0;border-radius:10px;min-height:44px;font:inherit;font-size:14px;font-weight:600;background:transparent;color:#586575;cursor:pointer}.yai-tabs button[aria-selected=true]{background:#fff;color:#254970;box-shadow:0 1px 5px #13233314}.yai-tabs button:focus-visible{outline:2px solid #638ac5;outline-offset:2px}
#yai-standard-panel[hidden],#yondelo-ai-search-entry[hidden],.yai-maintenance[hidden]{display:none!important}
#location-modal.yai-mode .index-location-footer,#location-modal.yai-mode .index-location-subtitle{display:none!important}
#location-modal.yai-mode .index-location-body{padding-bottom:16px}#yondelo-ai-search-entry{padding:0 8px}.yai-form{padding:4px 0}.yai-label{font-size:14px}.yai-input{min-height:88px;line-height:1.45;background:var(--yai-bg)}.yai-actions{gap:6px}.yai-actions>.yai-link{font-size:12px;margin-left:auto;padding:6px}.yai-note{margin:6px 0}.yai-status{padding:10px 12px;border-radius:10px;background:var(--yai-field);margin:10px 0}.yai-location-recovery{padding:12px;margin:12px 0;background:var(--yai-field)}.yai-location-recovery input.yai-input{min-height:44px;height:44px;padding:9px 12px}.yai-location-options{max-height:180px;border-radius:10px;margin-top:8px;overscroll-behavior:contain}.yai-location-option{padding:9px 11px;font-size:14px;line-height:1.4}.yai-location-option strong{font-weight:500}.yai-location-option:hover{background:var(--yai-field)}.yai-location-option span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.yai-maintenance{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--yai-border);background:var(--yai-field);border-radius:12px;font-size:13px;margin-top:12px}.yai-maintenance svg{flex-shrink:0;color:var(--yai-muted)}.yai-maintenance p{margin:4px 0;color:var(--yai-muted)}.yai-maintenance .yai-link{margin-left:auto;font-size:12px}
html[data-theme=night] .yai-tabs{background:#222b36}html[data-theme=night] .yai-tabs button{color:#b5c0cd}html[data-theme=night] .yai-tabs button[aria-selected=true]{background:#354457;color:#fff}
#yai-standard-panel{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
#location-modal.yai-mode .index-location-body{overflow-y:auto;display:block}
/* Both search tabs inherit the same native sheet height. */

.yai-progress{margin:14px 0;padding:16px;border:1px solid var(--yai-border);border-radius:16px;background:var(--yai-field);color:var(--yai-text)}
.yai-progress[hidden]{display:none!important}
.yai-progress-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;font-weight:600;margin-bottom:16px}
.yai-progress-dots{display:flex;gap:3px;flex:none}.yai-progress-dots i{width:4px;height:4px;background:currentColor;border-radius:50%;animation:yai-dot 1.3s ease-in-out infinite}.yai-progress-dots i:nth-child(2){animation-delay:.15s}.yai-progress-dots i:nth-child(3){animation-delay:.3s}
.yai-progress-track{display:flex;gap:0}.yai-progress-step{position:relative;flex:1;display:flex;align-items:center;flex-direction:column;gap:7px;min-width:0;color:var(--yai-muted)}
.yai-progress-step:not(:last-child):after{content:'';position:absolute;top:13px;height:2px;left:calc(50% + 17px);right:calc(-50% + 17px);background:var(--yai-border);transition:background .25s}
.yai-progress-pin{display:grid;place-items:center;position:relative;z-index:1;width:26px;height:26px;box-sizing:border-box;border-radius:50%;border:1px solid var(--yai-border);background:var(--yai-bg);font-size:11px;font-weight:600;transition:background .25s,color .25s,border-color .25s}
.yai-progress-name{font-size:10px;font-weight:500;text-align:center;line-height:1.3}
.yai-progress-step[data-state=done]{color:#25776c}.yai-progress-step[data-state=done] .yai-progress-pin{background:#25776c;border-color:#25776c;color:#fff}.yai-progress-step[data-state=done]:after{background:#25776c}
.yai-progress-step[data-state=active]{color:#315f90}.yai-progress-step[data-state=active] .yai-progress-pin{border-color:currentColor;box-shadow:0 0 0 4px #638ac519;animation:yai-stage 1.8s ease-in-out infinite}.yai-progress-step[data-state=active] .yai-progress-name{font-weight:700}
.yai-status.yai-status-accessible{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
html[data-theme=night] .yai-progress-step[data-state=done]{color:#86cfc2}html[data-theme=night] .yai-progress-step[data-state=active]{color:#a9c8ef}
@keyframes yai-dot{0%,70%,100%{opacity:.25;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}
@keyframes yai-stage{50%{box-shadow:0 0 0 6px #638ac50b}}
@media(prefers-reduced-motion:reduce){.yai-progress *{animation:none!important;transition:none!important}}

/* ── Eric, the virtual assistant, shows progress (replaces the step tracker) ───────────── */
.eric-progress{display:flex;align-items:center;gap:12px;min-height:96px;box-sizing:border-box;margin:12px 0;padding:8px 14px 8px 6px;border-radius:18px;background:linear-gradient(135deg,#eef5ff,#f7fbff);border:1px solid #d7e5f7;color:var(--yai-text);animation:eric-in .28s ease-out both}
.eric-progress[hidden]{display:none!important}
.eric-figure{flex:none;width:84px;height:84px;overflow:visible}
.eric-progress-words{display:flex;flex-direction:column;gap:3px;min-width:0}
.eric-progress-title{font-size:15px;font-weight:700;line-height:1.3;color:#173a63}
.eric-progress-sub{font-size:12.5px;line-height:1.4;color:var(--yai-muted)}
.eric-progress-steps{display:flex;gap:5px;margin-top:5px}
.eric-progress-steps i{width:7px;height:7px;border-radius:50%;background:#c9d7e8;transition:background .25s,width .25s}
.eric-progress-steps i[data-state=done]{background:#25776c}
.eric-progress-steps i[data-state=active]{width:18px;border-radius:4px;background:#1769d2}
html[data-theme=night] .eric-progress{background:linear-gradient(135deg,#1d2a3b,#18222f);border-color:#2f4157}
html[data-theme=night] .eric-progress-title{color:#dbe8fa}
html[data-theme=night] .eric-progress-steps i{background:#3a4a5e}
html[data-theme=night] .eric-progress-steps i[data-state=active]{background:#8fbaff}

/* Only the props for the current stage are shown. */
.eric-prop,.eric-grin{display:none}
.eric-progress[data-stage=listen] .eric-prop-listen,
.eric-progress[data-stage=write] .eric-prop-write,
.eric-progress[data-stage=search] .eric-prop-search,
.eric-progress[data-stage=think] .eric-prop-think,
.eric-progress[data-stage=found] .eric-prop-found,
.eric-progress[data-stage=found] .eric-grin{display:inline}
.eric-progress[data-stage=found] .eric-smile{display:none}

.eric-figure *{transform-box:fill-box}
.eric-body{animation:eric-bob 2.4s ease-in-out infinite;transform-origin:50% 100%}
.eric-eyes{transform-origin:center;animation:eric-blink 4.2s infinite}
.eric-head{transition:transform .35s ease}
.eric-progress[data-stage=listen] .eric-head{transform:rotate(-7deg);transform-origin:50% 80%}
.eric-progress[data-stage=write] .eric-eyes{animation:eric-blink 4.2s infinite,eric-look-down 1s ease-out forwards}
.eric-progress[data-stage=think] .eric-eyes{animation:eric-blink 4.2s infinite,eric-look-up 1s ease-out forwards}
.eric-progress[data-stage=search] .eric-eyes{animation:eric-blink 4.2s infinite,eric-scan 2.2s ease-in-out infinite}
.eric-progress[data-stage=found] .eric-body{animation:eric-hop .7s ease-in-out infinite}

.eric-wave{opacity:0;animation:eric-wave 1.5s ease-out infinite}
.eric-wave.w2{animation-delay:.25s}.eric-wave.w3{animation-delay:.5s}

.eric-line{stroke-dasharray:34;stroke-dashoffset:34;animation:eric-write 2.4s linear infinite}
.eric-line.l2{animation-delay:.8s}.eric-line.l3{animation-delay:1.6s}
.eric-pencil{animation:eric-pencil 2.4s ease-in-out infinite}

.eric-glass{animation:eric-glass 2.2s ease-in-out infinite}
.eric-houses{animation:eric-bob 1.8s ease-in-out infinite}

.eric-dot{animation:yai-dot 1.3s ease-in-out infinite}
.eric-dot.d2{animation-delay:.15s}.eric-dot.d3{animation-delay:.3s}

.eric-home{transform-origin:50% 100%;animation:eric-pop .5s cubic-bezier(.3,1.6,.6,1) both}
.eric-spark{transform-origin:center;animation:eric-twinkle 1.2s ease-in-out infinite}
.eric-spark.s2{animation-delay:.3s}.eric-spark.s3{animation-delay:.6s}

@keyframes eric-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes eric-bob{50%{transform:translateY(-1.6px)}}
@keyframes eric-hop{50%{transform:translateY(-5px)}}
@keyframes eric-blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
@keyframes eric-look-down{to{translate:0 2.5px}}
@keyframes eric-look-up{to{translate:2px -2.5px}}
@keyframes eric-scan{0%,100%{translate:-2.5px 0}50%{translate:2.5px 0}}
@keyframes eric-wave{0%{opacity:0;transform:translateX(8px)}40%{opacity:1}100%{opacity:0;transform:translateX(-6px)}}
@keyframes eric-write{0%{stroke-dashoffset:34}30%,100%{stroke-dashoffset:0}}
@keyframes eric-pencil{0%,100%{transform:translate(-30px,14px) rotate(4deg)}25%{transform:translate(-14px,13px) rotate(-4deg)}50%{transform:translate(-26px,21px) rotate(4deg)}75%{transform:translate(-12px,27px) rotate(-4deg)}}
@keyframes eric-glass{0%,100%{transform:translate(0,0) rotate(0)}33%{transform:translate(-8px,-5px) rotate(-8deg)}66%{transform:translate(-3px,4px) rotate(6deg)}}
@keyframes eric-pop{from{transform:scale(.2);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes eric-twinkle{0%,100%{transform:scale(.5);opacity:.4}50%{transform:scale(1.15);opacity:1}}

/* While the button is held: a pulse ring that takes no extra space, so nothing moves. */
.yai-mic.is-recording{animation:eric-mic-pulse 1.2s ease-out infinite}
.yai-mic>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@keyframes eric-mic-pulse{0%{box-shadow:0 0 0 0 rgba(197,48,48,.45)}100%{box-shadow:0 0 0 12px rgba(197,48,48,0)}}

@media(prefers-reduced-motion:reduce){.eric-progress,.eric-progress *,.yai-mic.is-recording{animation:none!important;transition:none!important}.eric-line{stroke-dashoffset:0}.eric-wave{opacity:1}}

/* Eric's "no match" face (results page) */
.eric-oh{display:none}
.eric-progress[data-stage=empty] .eric-prop-search{display:inline}
.eric-progress[data-stage=empty] .eric-smile{display:none}
.eric-progress[data-stage=empty] .eric-oh{display:inline}
.eric-progress[data-stage=empty] .eric-brows{translate:0 -1.6px}
.eric-progress[data-stage=empty] .eric-eyes{animation:eric-blink 4.2s infinite,eric-scan 2.6s ease-in-out infinite}
.eric-brows{transition:translate .3s ease}

/* ── Eric's reply: a chat bubble he types out ──────────────────────────────────────── */
.yai-answer.has-reply{white-space:normal!important;margin-top:16px}
.eric-reply{display:flex;align-items:flex-start;gap:10px}
.eric-progress.eric-reply-avatar{flex:none;display:block;width:46px;height:46px;min-height:0;margin:0;padding:0;border-radius:50%;overflow:hidden;animation:none;background:linear-gradient(160deg,#e3eeff,#f4f8ff)}
.eric-reply-avatar .eric-figure{width:62px;height:62px;margin:-2px 0 0 -8px}
.eric-reply-avatar .eric-prop{display:none!important}
.eric-reply-bubble{position:relative;flex:1;min-width:0;padding:12px 14px;border-radius:4px 18px 18px 18px;background:var(--yai-field);border:1px solid var(--yai-border);color:var(--yai-text);font-size:15px;line-height:1.55;overflow-wrap:anywhere}
.eric-reply-body>*{margin:0}
.eric-reply-body>*+*{margin-top:8px}
.eric-reply-body strong{font-weight:700;color:inherit}
.eric-reply-heading{font-weight:700}
.eric-reply-list{padding-left:20px}
.eric-reply-list li+li{margin-top:4px}
.eric-reply-note{margin:10px 0 0;padding-top:8px;border-top:1px solid var(--yai-border);font-size:11.5px;line-height:1.45;color:var(--yai-muted)}
.eric-reply-bubble.is-typing .eric-reply-note{display:none}
.eric-caret{display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-2px;background:#1769d2;animation:eric-caret .8s steps(1) infinite}
@keyframes eric-caret{50%{opacity:0}}
html[data-theme=night] .eric-progress.eric-reply-avatar{background:linear-gradient(160deg,#243a58,#1b2a3e)}
.eric-reply-body .eric-pending{display:none}

/* Eric's face in the Ask Eric header (replaces the letter E). */
.eric-head .eric-progress.eric-reply-avatar{width:42px;height:42px}
.eric-head .eric-reply-avatar .eric-figure{width:58px;height:58px;margin:-2px 0 0 -8px}


/* 2026-10: simplified search sheet; icon-only map, floating Ask Eric view. */
#location-modal .index-location-dialog{position:relative}
#location-modal .index-location-header{align-items:center;gap:12px}
#location-modal .index-location-heading{flex:1;min-width:0}
#location-modal .index-location-body{flex:1 1 auto;min-height:0}
#location-modal .index-location-input-row{display:flex;align-items:stretch;gap:10px;min-width:0}
#location-modal .index-location-input-wrap{flex:1 1 auto;min-width:0}
#location-modal .index-location-input-wrap .tags-holder{width:100%;min-width:0;box-sizing:border-box;margin:0!important}
#location-modal .index-location-input-row #open-map-picker.index-location-map-button{
  display:flex!important;align-items:center;justify-content:center;flex:0 0 54px;
  width:54px!important;min-width:54px;min-height:54px!important;height:54px!important;
  margin:0!important;padding:0!important;border-radius:12px;
  color:var(--ui-text,#20395d);background:var(--ui-surface-muted,#eef2f6);
  border:1px solid var(--ui-border,#d8dfe7);box-shadow:none;cursor:pointer;
}
#location-modal .index-location-input-row #open-map-picker.index-location-map-button::before{display:none!important;content:none!important}
#location-modal .index-location-input-row #open-map-picker svg{
  width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linejoin:round;stroke-linecap:round;pointer-events:none;
}
#location-modal .index-location-input-row #open-map-picker:focus-visible,
#location-modal .yai-ask-eric-launcher:focus-visible,
#location-modal .yai-back-to-search:focus-visible{outline:3px solid #6ab1ff;outline-offset:2px}
#location-modal .yai-ask-eric-launcher{
  position:absolute;z-index:8;right:22px;bottom:calc(92px + env(safe-area-inset-bottom,0px));
  width:82px;height:82px;border-radius:50%;padding:10px 4px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  border:1px solid #7098c2;background:#416b98;color:#fff;
  box-shadow:0 8px 24px rgba(14,45,82,.26);font:650 12px/1.2 system-ui,sans-serif;
  cursor:pointer;touch-action:manipulation;
}
#location-modal .yai-ask-eric-launcher svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
#location-modal .yai-ask-eric-launcher svg circle{fill:currentColor;stroke:none}
#location-modal .yai-ask-eric-launcher span{white-space:nowrap}
#location-modal .yai-ask-eric-launcher[hidden],#location-modal .yai-back-to-search[hidden]{display:none!important}
#location-modal .yai-back-to-search{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border:0;border-radius:12px;background:var(--ui-surface-muted,#eef2f6);color:var(--ui-text,#172033);cursor:pointer}
#location-modal .yai-back-to-search svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#location-modal.yai-mode .index-location-subtitle{display:none!important}
#location-modal.yai-mode .index-location-body{overflow-y:auto;display:block!important;padding-bottom:16px}
#location-modal .yai-ask-eric-launcher:active{transform:scale(.97)}
@media (max-width:640px){
  #location-modal .index-location-input-row{gap:8px}
  #location-modal .index-location-input-row #open-map-picker.index-location-map-button{flex-basis:52px;width:52px!important;min-width:52px;min-height:54px!important;height:54px!important}
  #location-modal .yai-ask-eric-launcher{right:16px;bottom:calc(88px + env(safe-area-inset-bottom,0px))}
}

/* 2026-10-13: keep Ask Eric visible while location input is focused. */
/* On narrow screens use more vertical space for location suggestions. */
@media (max-width: 640px) {
  #location-modal.index-location-modal .index-location-dialog {
    height: calc(100dvh - 8px);
    max-height: calc(100dvh - 8px);
    margin-top: 0;
  }
}
/* Installed home-screen apps may extend beneath the system status bar. */
@media (max-width: 640px) and (display-mode: standalone) {
  #location-modal.index-location-modal .index-location-dialog {
    height: calc(100dvh - max(8px, env(safe-area-inset-top, 0px)));
    max-height: calc(100dvh - max(8px, env(safe-area-inset-top, 0px)));
  }
}

/* Eric's greeting (AI search form): a friendly wave */
.eric-progress[data-stage=hello] .eric-prop-hello{display:inline}
.eric-hand{transform-origin:30% 100%;animation:eric-wave-hand 1.6s ease-in-out infinite}
@keyframes eric-wave-hand{0%,60%,100%{transform:rotate(0)}15%,45%{transform:rotate(-18deg)}30%{transform:rotate(12deg)}}
/* Bullet points under a numbered item */
.eric-reply-sublist{margin:4px 0 2px;padding-left:18px;list-style:disc}
.eric-reply-list>li+li{margin-top:6px}
@media(prefers-reduced-motion:reduce){.eric-hand{animation:none!important}}

/* Eric's pop-up scrolls on its own; reaching the end never passes the swipe to the page behind. */
.eric-content{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
