/* Shared Earth assistant. All styling is scoped to its own floating surface. */
.earth-helper-launcher,.earth-helper-dialog{--eh-ink:#eef5eb;--eh-muted:#b4c8b9;--eh-surface:#172b22;--eh-soft:#223b2e;--eh-line:#c4dfca26;--eh-accent:#c2dfaa;--eh-on-accent:#173b29;--eh-focus:#d5eec1;font-family:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--eh-ink);font-size:14px;line-height:1.55;box-sizing:border-box}
html[data-theme="light"] :is(.earth-helper-launcher,.earth-helper-dialog){--eh-ink:#173d2c;--eh-muted:#536e5f;--eh-surface:#fafbf6;--eh-soft:#edf3e8;--eh-line:#204e3426;--eh-accent:#245c40;--eh-on-accent:#fff;--eh-focus:#286748}
.earth-helper-dialog *,.earth-helper-launcher *{box-sizing:border-box}
.earth-helper-launcher[hidden],.earth-helper-dialog [hidden]{display:none!important}
.earth-helper-launcher{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(22px + env(safe-area-inset-bottom));z-index:900;display:flex;align-items:center;gap:10px;min-height:56px;border:1px solid #b8d2ba66;border-radius:50px;padding:9px 17px 9px 11px;background:linear-gradient(130deg,#31523fef,#17392cef);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:#f6fbf0;box-shadow:0 9px 35px #07221738,inset 0 1px 0 #fff3;font-weight:650;letter-spacing:-.2px;cursor:pointer;transition:transform .18s,box-shadow .18s}
.earth-helper-launcher:hover{transform:translateY(-3px);box-shadow:0 13px 40px #07221748,inset 0 1px 0 #fff3}
.earth-helper-launcher-icon{width:33px;height:33px;display:grid;place-items:center;border-radius:50%;color:#d7edbd;background:#d3edbd15}
.earth-helper-launcher svg{width:23px;height:23px}
.earth-helper-ai-label{font-size:9px;letter-spacing:.055em;font-weight:750;border:1px solid #ddf1d84a;border-radius:5px;padding:1px 4px;color:#d9e9d6}
.earth-helper-dialog{position:fixed;inset:auto max(22px,env(safe-area-inset-right)) calc(22px + env(safe-area-inset-bottom)) auto;margin:0;width:min(460px,calc(100% - 36px));height:min(740px,calc(100dvh - 44px));max-width:none;max-height:none;padding:0;border:1px solid var(--eh-line);border-radius:26px;background:var(--eh-surface);box-shadow:0 30px 110px #001c2080;overflow:hidden;overscroll-behavior:contain;text-align:left;color-scheme:dark}
html[data-theme="light"] .earth-helper-dialog{color-scheme:light;box-shadow:0 30px 100px #1b3e323d}
.earth-helper-dialog::backdrop{background:#061a1252;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.earth-helper-dialog[open]{animation:earth-helper-arrive .22s ease-out}
.earth-helper-dialog button,.earth-helper-dialog textarea{font:inherit;letter-spacing:normal}
.earth-helper-dialog button{cursor:pointer}
.earth-helper-dialog button:disabled{cursor:default;opacity:.55}
.earth-helper-dialog :is(button,a,textarea,[tabindex]):focus-visible,.earth-helper-launcher:focus-visible{outline:3px solid var(--eh-focus);outline-offset:3px}
.earth-helper-shell{height:100%;display:flex;flex-direction:column;background:radial-gradient(ellipse at 80% 0%,#769d5e17,transparent 48%)}
.earth-helper-header{display:flex;align-items:center;gap:11px;padding:20px 19px 17px;border-bottom:1px solid var(--eh-line);flex:none}
.earth-helper-brand{display:grid;place-items:center;width:36px;height:39px;flex:none;color:var(--eh-accent)}
.earth-helper-brand svg{height:30px;width:30px}
.earth-helper-header h2{margin:0;color:var(--eh-ink);font-size:16px;font-family:inherit;font-weight:700;line-height:1.35;letter-spacing:-.35px}
.earth-helper-mode{margin:3px 0 0;color:var(--eh-muted);font-size:10px;line-height:1.4}
.earth-helper-clear{margin-left:auto;background:none;border:0;color:var(--eh-muted);padding:10px 6px;font-size:11px!important;min-height:40px;white-space:nowrap;border-radius:10px}
.earth-helper-icon-button{display:grid;place-items:center;width:38px;height:40px;flex:none;padding:9px;background:none;color:var(--eh-ink);border:1px solid var(--eh-line);border-radius:12px}
.earth-helper-icon-button svg{height:18px;width:18px}
.earth-helper-log{min-height:140px;flex:1;overflow-y:auto;padding:22px 21px 16px;scrollbar-width:thin;scrollbar-color:#78967a70 transparent;overscroll-behavior:contain;scroll-padding:20px}
.earth-helper-intro{padding:9px 0 5px}
.earth-helper-eyebrow{margin:0 0 16px;color:var(--eh-muted);font-size:9px;font-weight:700;letter-spacing:.12em}
.earth-helper-intro h3{white-space:pre-line;margin:0 0 15px;color:var(--eh-ink);font-size:36px;font-weight:600;line-height:1.08;letter-spacing:-1.6px;font-family:inherit}
.earth-helper-intro-copy{margin:0;max-width:320px;font-size:13px;line-height:1.7;color:var(--eh-muted)}
.earth-helper-prompts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:23px 0 0}
.earth-helper-prompt{display:block;width:100%;min-height:52px;padding:12px;text-align:left;font-size:11px!important;line-height:1.5;color:var(--eh-ink);border:1px solid var(--eh-line);border-radius:13px;background:var(--eh-soft);transition:background .18s,border-color .18s}
.earth-helper-prompt:hover{border-color:var(--eh-accent)}
.earth-helper-followups{display:flex;flex-wrap:wrap;margin:13px 0 0;gap:7px}
.earth-helper-followups .earth-helper-prompt{width:auto;min-height:38px;font-size:11px!important;border-radius:25px;padding:8px 11px;background:transparent}
.earth-helper-message{margin:0 0 19px;min-width:0}
.earth-helper-message-label{font-size:9px;font-weight:700;letter-spacing:.035em;color:var(--eh-muted);margin:0 0 8px}
.earth-helper-message-text{font-size:13px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;color:var(--eh-ink)}
.earth-helper-message-user{margin-left:30px;border:1px solid var(--eh-line);padding:12px 15px;border-radius:17px 17px 5px 17px;background:var(--eh-soft)}
.earth-helper-message-user .earth-helper-message-label{margin-bottom:3px}
.earth-helper-message-note{font-size:10px;color:var(--eh-muted);display:block;line-height:1.55;margin-top:9px}
.earth-helper-extract{margin:13px 0 0;padding:11px 13px;border-left:2px solid var(--eh-accent);border-radius:0 9px 9px 0;background:var(--eh-soft)}
.earth-helper-extract small{display:block;font-size:9px;font-weight:650;line-height:1.6;color:var(--eh-muted);margin-bottom:5px}
.earth-helper-extract p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.8;color:var(--eh-ink)}
.earth-helper-sources{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}
.earth-helper-source{border:1px solid var(--eh-line);border-radius:9px;padding:8px 10px;display:inline-block;max-width:100%;overflow-wrap:anywhere;font-size:11px;line-height:1.4;color:var(--eh-accent);text-decoration:none;min-height:34px}
.earth-helper-source:hover{text-decoration:underline;border-color:var(--eh-accent)}
.earth-helper-working{display:flex;align-items:center;gap:10px;color:var(--eh-muted);font-size:11px;min-height:35px}
.earth-helper-working>span:first-child{display:flex;align-items:center;gap:4px}
.earth-helper-working i{display:block;width:5px;height:5px;border-radius:50%;background:var(--eh-accent);animation:earth-helper-breathe 1.2s infinite ease-in-out}
.earth-helper-working i:nth-child(2){animation-delay:.15s}.earth-helper-working i:nth-child(3){animation-delay:.3s}
.earth-helper-model{margin:0 16px 11px;padding:12px 13px;background:var(--eh-soft);border:1px solid var(--eh-line);border-radius:14px;flex:none}
.earth-helper-model-heading{display:flex;align-items:center;gap:6px}
.earth-helper-model-heading>span{display:flex;align-items:center;color:var(--eh-accent)}
.earth-helper-model-heading svg{height:14px;width:14px}
.earth-helper-model-heading strong{font-size:11px;font-weight:650;color:var(--eh-ink)}
.earth-helper-model-description{margin:5px 0 0;color:var(--eh-muted);font-size:10px;line-height:1.55}
.earth-helper-model-actions{display:flex;gap:8px;flex-wrap:wrap}
.earth-helper-model-button{margin-top:9px;min-height:34px;border:0;border-radius:8px;padding:7px 10px;background:var(--eh-accent);color:var(--eh-on-accent);font-size:10px!important;font-weight:650!important;line-height:1.4}
.earth-helper-model-button.is-subtle{margin-top:5px;padding:5px 0;min-height:28px;background:none;color:var(--eh-accent);font-weight:500!important;text-decoration:underline;text-underline-offset:3px}
.earth-helper-model-progress{display:block;margin:9px 0 0;width:100%;height:4px;border:0;border-radius:4px;overflow:hidden;background:var(--eh-line);accent-color:var(--eh-accent)}
.earth-helper-model-progress::-webkit-progress-bar{background:var(--eh-line)}
.earth-helper-model-progress::-webkit-progress-value{background:var(--eh-accent);border-radius:4px;transition:width .25s}
.earth-helper-model-progress::-moz-progress-bar{background:var(--eh-accent)}
.earth-helper-form{padding:0 16px 12px;flex:none;margin:0}
.earth-helper-composer{display:flex;gap:6px;align-items:flex-end;border:1px solid var(--eh-line);border-radius:15px;background:var(--eh-surface);padding:8px}
.earth-helper-composer:focus-within{border-color:var(--eh-focus);box-shadow:0 0 0 1px var(--eh-focus)}
.earth-helper-composer textarea{display:block;flex:1;min-width:0;min-height:44px;max-height:95px;border:0;outline:0!important;box-shadow:none!important;resize:none;background:transparent;color:var(--eh-ink);font-size:13px;line-height:1.55;padding:7px 5px;margin:0;border-radius:5px}
.earth-helper-composer textarea::placeholder{color:var(--eh-muted);opacity:1}
.earth-helper-send{display:grid;place-items:center;height:38px;width:38px;flex:none;border:0;border-radius:11px;background:var(--eh-accent);color:var(--eh-on-accent);padding:10px}
.earth-helper-send svg{height:19px;width:19px}
.earth-helper-stop-square{height:12px;width:12px;background:currentColor;border-radius:2px}
.earth-helper-footnote{margin:7px 0 0;text-align:center;color:var(--eh-muted);font-size:9px;line-height:1.4}
.earth-helper-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes earth-helper-arrive{from{opacity:0;transform:translateY(9px) scale(.99)}to{opacity:1;transform:none}}
@keyframes earth-helper-breathe{0%,80%,100%{opacity:.45;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@media(max-width:600px){.earth-helper-launcher{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));min-height:52px;padding:8px 13px 8px 9px;font-size:13px}.earth-helper-dialog{width:calc(100% - 16px);right:8px;bottom:calc(8px + env(safe-area-inset-bottom));height:min(740px,calc(100dvh - 16px - env(safe-area-inset-bottom)));border-radius:23px}.earth-helper-header{padding:16px 14px 14px;gap:8px}.earth-helper-log{padding:19px 17px 12px}.earth-helper-intro h3{font-size:33px}.earth-helper-composer textarea{font-size:16px}.earth-helper-mode{font-size:9px}.earth-helper-model{margin-left:12px;margin-right:12px}.earth-helper-form{padding-left:12px;padding-right:12px}.earth-helper-message-text{font-size:14px}.earth-helper-source{min-height:40px;font-size:12px}.earth-helper-prompt{font-size:12px!important}.earth-helper-clear{font-size:10px!important}.earth-helper-footnote{font-size:10px}.earth-helper-model-description{font-size:11px}.earth-helper-model-button{min-height:38px;font-size:11px!important}}
@media(max-height:620px){.earth-helper-model{padding:9px 11px}.earth-helper-model-heading{display:none}.earth-helper-model-description{margin-top:0}.earth-helper-model-actions{position:relative}.earth-helper-model-button{margin-top:5px}.earth-helper-intro{padding:0}.earth-helper-intro h3{font-size:27px}.earth-helper-eyebrow{margin-bottom:9px}.earth-helper-prompts{margin-top:14px}.earth-helper-header{padding-top:12px;padding-bottom:12px}.earth-helper-log{min-height:100px}}
@media(prefers-reduced-motion:reduce){.earth-helper-dialog[open],.earth-helper-working i{animation:none}.earth-helper-launcher,.earth-helper-prompt,.earth-helper-model-progress::-webkit-progress-value{transition:none}.earth-helper-launcher:hover{transform:none}}
@media(forced-colors:active){.earth-helper-launcher,.earth-helper-dialog,.earth-helper-prompt,.earth-helper-model,.earth-helper-composer,.earth-helper-source,.earth-helper-icon-button{border:1px solid ButtonText}.earth-helper-dialog::backdrop{background:#0008}.earth-helper-send,.earth-helper-model-button{border:1px solid ButtonText}}
@media print{.earth-helper-launcher,.earth-helper-dialog{display:none!important}}
