/* Helium™ UI 1.9.1 — loading motion and bot avatar. Source patterns credited in docs. */
:root{--he-load-ink:var(--he-p-143155);--he-load-green:var(--he-p-234C7D);--he-load-lime:var(--he-p-0062CB);--he-load-track:var(--he-p-DCE2E9);--he-load-surface:var(--he-p-FFFFFF);--he-load-orb-size:64px;--he-avatar-brand:var(--he-p-255185);--he-loader-duration:1s}
.he-loader{--he-size:54px;--he-stroke:6px;--he-gap:7px;--he-dot:10px;position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--he-size);height:var(--he-size);color:var(--he-load-ink);vertical-align:middle;contain:layout style}
.he-loader[data-size=xs]{--he-size:20px;--he-stroke:3px;--he-gap:3px;--he-dot:4px}
.he-loader[data-size=sm]{--he-size:32px;--he-stroke:4px;--he-gap:4px;--he-dot:6px}
.he-loader[data-size=lg]{--he-size:72px;--he-stroke:8px;--he-gap:8px;--he-dot:12px}
.he-loader[data-tone=lime]{--he-load-ink:var(--he-p-0062CB);--he-load-track:var(--he-p-45586B)}
.he-loader[data-tone=light]{--he-load-ink:var(--he-p-F4F9FF);--he-load-track:var(--he-p-5D738D)}
.he-loader[data-tone=blue]{--he-load-ink:var(--he-p-3E6FA8);--he-load-track:var(--he-p-DBE6F4)}
.he-loader>i,.he-loader>span{box-sizing:border-box}
/* Spinner: port of six provided MIT CSS patterns, with brand tokens and better scale. */
.he-loader--spin:before,.he-loader--dual:before{content:"";box-sizing:border-box;position:absolute;inset:7%;border:var(--he-stroke) solid var(--he-load-track);border-top-color:var(--he-load-ink);border-radius:50%;animation:he-load-spin 1s linear infinite}
.he-loader--dual:before{border-right-color:var(--he-load-ink);animation-duration:.85s}
.he-loader--dots,.he-loader--bars{gap:var(--he-gap)}
.he-loader--dots>i{width:var(--he-dot);height:var(--he-dot);border-radius:35%;background:var(--he-load-ink);animation:he-load-bounce .72s ease-in-out infinite alternate}
.he-loader--dots>i:nth-child(2){animation-delay:.12s}.he-loader--dots>i:nth-child(3){animation-delay:.24s}
.he-loader--pulse:before,.he-loader--pulse:after{content:"";position:absolute;inset:15%;border:var(--he-stroke) solid var(--he-load-ink);border-radius:32%;animation:he-load-pulse 1.5s ease-out infinite;box-sizing:border-box}
.he-loader--pulse:after{animation-delay:.75s}
.he-loader--bars>i{height:60%;width:12%;border-radius:35%;background:var(--he-load-ink);animation:he-load-wave .9s ease-in-out infinite}
.he-loader--bars>i:nth-child(2){animation-delay:.1s}.he-loader--bars>i:nth-child(3){animation-delay:.2s}.he-loader--bars>i:nth-child(4){animation-delay:.3s}.he-loader--bars>i:nth-child(5){animation-delay:.4s}
.he-loader--orbit>i{position:absolute;inset:4%;border-radius:50%;animation:he-load-spin 1.2s linear infinite}
.he-loader--orbit>i:before{content:"";position:absolute;top:0;left:50%;height:var(--he-dot);width:var(--he-dot);border-radius:35%;background:var(--he-load-ink);transform:translateX(-50%)}
.he-loader--orbit>i:nth-child(1){opacity:1}.he-loader--orbit>i:nth-child(2){transform:rotate(45deg);animation-delay:-.15s;opacity:.86}.he-loader--orbit>i:nth-child(3){animation-delay:-.3s;opacity:.72}.he-loader--orbit>i:nth-child(4){animation-delay:-.45s;opacity:.58}.he-loader--orbit>i:nth-child(5){animation-delay:-.6s;opacity:.48}.he-loader--orbit>i:nth-child(6){animation-delay:-.75s;opacity:.38}.he-loader--orbit>i:nth-child(7){animation-delay:-.9s;opacity:.27}.he-loader--orbit>i:nth-child(8){animation-delay:-1.05s;opacity:.18}
/* Helium first-class squircle spinner: four continuous rounded-square edges, not a rotated diamond. */
.he-loader--squircle:before{content:"";position:absolute;inset:7%;border:var(--he-stroke) solid var(--he-load-track);border-top-color:var(--he-load-ink);border-right-color:var(--he-load-ink);border-radius:33%;corner-shape:squircle;animation:he-load-spin 1.1s cubic-bezier(.5,.2,.45,.8) infinite}
.he-loader--squircle:after{content:"";position:absolute;width:21%;height:21%;border-radius:32%;corner-shape:squircle;background:var(--he-load-ink);opacity:.24}
.he-loader[data-paused=true] *, .he-loader[data-paused=true]:before,.he-loader[data-paused=true]:after{animation-play-state:paused!important}
@keyframes he-load-spin{to{transform:rotate(360deg)}}
@keyframes he-load-bounce{to{transform:translateY(-55%);opacity:.5}}
@keyframes he-load-pulse{0%{transform:scale(.26);opacity:.9}100%{transform:scale(1.15);opacity:0}}
@keyframes he-load-wave{0%,100%{transform:scaleY(.42);opacity:.55}50%{transform:scaleY(1.12);opacity:1}}
.he-thinking-orb,.he-bot-avatar{display:inline-flex;position:relative;align-items:center;justify-content:center;flex:none;width:var(--he-orb-size,64px);height:var(--he-orb-size,64px);vertical-align:middle;isolation:isolate}
.he-thinking-orb canvas,.he-bot-avatar canvas{display:block;width:100%;height:100%;max-width:100%;max-height:100%}
.he-bot-avatar{--he-orb-size:64px;overflow:visible;cursor:default}
.he-bot-avatar[tabindex]{cursor:pointer}
.he-bot-avatar:focus-visible{outline:2px solid var(--he-load-ink);outline-offset:5px;border-radius:30%;corner-shape:squircle}
.he-loading-inline{display:inline-flex;align-items:center;gap:12px;min-height:48px;font:500 15px/1.4 var(--helium-font-family,'Stack Sans Text',sans-serif);color:var(--he-p-48596C)}
.he-loading-inline .he-loader{flex:none}
.he-loader-card{background:var(--he-p-FFFFFFCC);border-radius:30px;corner-shape:squircle;padding:24px;display:grid;gap:12px;align-content:center;min-width:0}
.he-loader-card h3{font-size:17px;line-height:1.3;margin:0;color:var(--he-p-0F223A)}
.he-loader-card p{font-size:13px;color:var(--he-p-667281);margin:0;line-height:1.6}
.he-loader-card .he-specimen{display:flex;align-items:center;justify-content:center;min-height:122px;gap:12px}
.he-loader-card .he-specimen--dark{background:var(--he-p-0A192C);border-radius:22px;corner-shape:squircle;color:white}
@media(prefers-reduced-motion:reduce){.he-loader *,.he-loader:before,.he-loader:after{animation:none!important}}
