/* Guide · the lumHUB isotype as a living orb: the inner arc orbits, a conic ring turns, an aura breathes.
 * Floating launcher (long-press drag on touch/narrow screens), glass panel with aurora light, chat turns with avatars.
 * Motion is decoration only: every state stays readable with prefers-reduced-motion. Content is never delayed. */
.guide-dialog,.growth-widget{--g-teal:oklch(80% .13 190);--g-teal-deep:oklch(58% .12 200);--g-gold:oklch(84% .1 82);--g-gold-deep:oklch(66% .1 72);--g-live:oklch(82% .17 158);--g-orb-1:oklch(30% .06 230);--g-orb-2:oklch(15% .035 245);--g-orb-3:oklch(10% .025 250)}
.lh-iso-defs{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
.lh-iso{display:block;overflow:visible}.lh-iso .lh-iso-spin{transform-origin:32px 32px}

/* ── Floating launcher ───────────────────────────────────────── */
.growth-widget .guide-launch.guide-fab[data-guide-open]{position:fixed;left:auto;top:auto;right:20px;bottom:calc(20px + var(--app-bar-h,0px) + var(--consent-reserve,0px));z-index:var(--z-guide);display:block;width:64px;height:64px;min-height:0;max-width:none;margin:0;padding:0;border:0;border-radius:50%;background:none;box-shadow:none;color:var(--color-ink);font:600 .8125rem/1.2 var(--font-body);cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:none;transform:none}
.growth-widget .guide-fab[hidden]{display:none}
.guide-fab[data-placed]{left:var(--fab-x)!important;top:var(--fab-y)!important;right:auto!important;bottom:auto!important}
.guide-fab[data-snapping]{transition:left .5s cubic-bezier(.34,1.56,.64,1),top .5s cubic-bezier(.34,1.56,.64,1)!important}
.guide-fab-orb{position:absolute;inset:0;display:block;border-radius:50%;isolation:isolate;transition:transform .45s cubic-bezier(.34,1.56,.64,1);animation:fab-float 5s ease-in-out infinite}
.guide-fab-orb::before,.guide-fab-orb::after{content:'';position:absolute;inset:2px;border-radius:50%;border:1.5px solid var(--g-teal);opacity:0;z-index:-2;animation:fab-ripple 3.6s cubic-bezier(.2,.7,.3,1) infinite}
.guide-fab-orb::after{border-color:var(--g-gold);animation-delay:1.8s}
.guide-fab-aura{position:absolute;inset:-14px;border-radius:50%;z-index:-3;background:radial-gradient(closest-side,oklch(78% .14 190 / .55),oklch(80% .1 80 / .18) 60%,transparent);filter:blur(8px);animation:fab-breathe 4s ease-in-out infinite}
.guide-fab-ring{position:absolute;inset:0;border-radius:50%;padding:2px;background:conic-gradient(from 0deg,var(--g-teal),oklch(80% .1 80 / .1) 28%,var(--g-gold) 50%,oklch(70% .12 200 / .1) 74%,var(--g-teal));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:fab-spin 5s linear infinite}
.guide-fab-core{position:absolute;inset:3px;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:radial-gradient(120% 120% at 30% 18%,var(--g-orb-1),var(--g-orb-2) 58%,var(--g-orb-3));box-shadow:inset 0 1px 0 oklch(100% 0 0 / .22),inset 0 -10px 20px oklch(0% 0 0 / .45),0 14px 34px -10px oklch(55% .13 200 / .6),0 4px 12px -4px oklch(0% 0 0 / .5)}
.guide-fab-core::before{content:'';position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 40%,oklch(100% 0 0 / .16) 50%,transparent 60%);transform:translateX(-70%);animation:fab-sheen 6s ease-in-out infinite}
.guide-fab-core::after{content:'';position:absolute;inset:0;border-radius:50%;background:radial-gradient(60% 45% at 50% 0%,oklch(100% 0 0 / .14),transparent 70%)}
.guide-fab .guide-fab-iso{position:relative;z-index:1;width:36px;height:36px;filter:drop-shadow(0 0 6px oklch(84% .1 82 / .45))}
.guide-fab .lh-iso-ring{stroke-width:9}
.guide-fab .lh-iso-spin{animation:iso-orbit 7s cubic-bezier(.65,0,.35,1) infinite}
.guide-fab-orbit{position:absolute;inset:-7px;border-radius:50%;animation:fab-spin 9s linear infinite reverse;pointer-events:none}
.guide-fab-orbit i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--g-gold);box-shadow:0 0 8px 1px var(--g-gold)}
.guide-fab-orbit i:nth-child(1){top:2px;left:50%}.guide-fab-orbit i:nth-child(2){bottom:9px;left:4px;width:4px;height:4px;background:var(--g-teal);box-shadow:0 0 8px 1px var(--g-teal)}.guide-fab-orbit i:nth-child(3){bottom:12px;right:1px;width:3px;height:3px;opacity:.8}
.guide-fab-live{position:absolute;right:2px;bottom:4px;width:13px;height:13px;border-radius:50%;background:var(--g-live);box-shadow:0 0 0 3px var(--color-paper),0 0 12px var(--g-live);z-index:2}
.guide-fab-live::after{content:'';position:absolute;inset:0;border-radius:50%;background:var(--g-live);animation:fab-ping 2.4s cubic-bezier(0,0,.2,1) infinite}
.guide-fab-label{position:absolute;top:50%;right:32px;z-index:-1;display:block;max-width:0;overflow:hidden;opacity:0;white-space:nowrap;padding:12px 0;border-radius:var(--radius-pill);border:1px solid transparent;background:color-mix(in oklch,var(--color-raised) 84%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);box-shadow:inset 0 1px 0 var(--color-rim),0 18px 40px -18px oklch(5% .02 250 / .7);transform:translateY(-50%) translateX(10px);transition:max-width .55s var(--ease-out),opacity .3s var(--ease-out),transform .55s var(--ease-out),padding .55s var(--ease-out),border-color .3s}
.guide-fab-label>span{display:block;background:linear-gradient(90deg,var(--color-ink),var(--color-accent) 50%,var(--color-ink));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:text-shine 4s linear infinite}
.guide-fab[data-side=left] .guide-fab-label{right:auto;left:32px;transform:translateY(-50%) translateX(-10px)}
.guide-fab[data-peek] .guide-fab-label,.guide-fab:focus-visible .guide-fab-label{max-width:280px;opacity:1;padding:12px 44px 12px 18px;border-color:var(--color-rule-strong);transform:translateY(-50%)}
.guide-fab[data-side=left][data-peek] .guide-fab-label,.guide-fab[data-side=left]:focus-visible .guide-fab-label{padding:12px 18px 12px 44px}
.growth-widget .guide-fab:focus-visible{outline:none}.guide-fab:focus-visible .guide-fab-core{outline:3px solid var(--color-focus);outline-offset:4px}
.guide-fab:active .guide-fab-orb{transform:scale(.93)}
.guide-fab[data-pressing] .guide-fab-orb{transform:scale(.9);transition-duration:.42s}
.guide-fab[data-dragging]{cursor:grabbing}.guide-fab[data-dragging] .guide-fab-orb{transform:scale(1.16);animation:none}.guide-fab[data-dragging] .guide-fab-ring{animation-duration:1.2s}.guide-fab[data-dragging] .guide-fab-aura{inset:-22px;opacity:1}.guide-fab[data-dragging] .guide-fab-label{opacity:0;max-width:0;padding:12px 0}
.guide-fab[data-dragging] .lh-iso-spin{animation-duration:1.6s}
@media(hover:hover) and (pointer:fine){.guide-fab:hover .guide-fab-orb{transform:scale(1.07)}.guide-fab:hover .guide-fab-ring{animation-duration:2.2s}.guide-fab:hover .lh-iso-spin{animation-duration:2.6s}.guide-fab:hover .guide-fab-label{max-width:280px;opacity:1;padding:12px 44px 12px 18px;border-color:var(--color-rule-strong);transform:translateY(-50%)}}
@media(max-width:47.99rem),(pointer:coarse){.growth-widget .guide-launch.guide-fab[data-guide-open]{right:14px;bottom:calc(14px + var(--app-bar-h,0px) + var(--consent-reserve,0px));width:60px;height:60px;touch-action:none}.guide-fab .guide-fab-iso{width:34px;height:34px}}

/* ── Panel ───────────────────────────────────────────────────── */
.guide-dialog{--guide-ox:100%;--guide-oy:100%;position:fixed;width:min(580px,calc(100vw - 32px));height:min(800px,calc(var(--guide-viewport,100dvh) - 32px));max-height:calc(var(--guide-viewport,100dvh) - 32px);padding:0;margin:auto 16px 16px auto;border:1px solid color-mix(in oklch,var(--color-rule-strong) 70%,transparent);border-radius:26px;overflow:hidden;background:var(--color-surface);color:var(--color-ink);box-shadow:inset 0 1px 0 var(--color-rim),0 50px 120px -40px oklch(5% .02 250 / .8),0 0 0 1px oklch(80% .13 190 / .05),0 0 90px -30px oklch(70% .13 195 / .45);text-align:left;isolation:isolate;transform-origin:var(--guide-ox) var(--guide-oy)}
.guide-dialog[open]{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;animation:guide-in .55s var(--ease-out) both}
.guide-dialog[data-closing]{animation:guide-out .22s var(--ease-in) forwards}
.guide-dialog::backdrop{background:var(--color-scrim);-webkit-backdrop-filter:blur(6px) saturate(1.1);backdrop-filter:blur(6px) saturate(1.1);animation:guide-fade .4s var(--ease-out)}
.guide-dialog::before{content:'';position:absolute;inset:0;background-size:160% 160%!important;z-index:-1;pointer-events:none;background:radial-gradient(32% 26% at 18% 14%,oklch(78% .13 190 / .2),transparent 70%),radial-gradient(30% 24% at 88% 32%,oklch(82% .1 80 / .13),transparent 70%),radial-gradient(36% 30% at 40% 92%,oklch(65% .12 230 / .14),transparent 70%);animation:aurora 22s ease-in-out infinite alternate}
.guide-dialog::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(oklch(80% .05 220 / .09) 1px,transparent 1.2px);background-size:22px 22px;-webkit-mask:linear-gradient(180deg,#000,transparent 55%);mask:linear-gradient(180deg,#000,transparent 55%)}
.guide-dialog>*{position:relative;z-index:0}

/* Header with a living avatar and presence line */
.guide-dialog .guide-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 14px 18px;border:0;background:color-mix(in oklch,var(--color-surface) 70%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.guide-dialog .guide-header::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-rule) 15%,var(--color-rule) 85%,transparent)}
.guide-dialog .guide-header::before{content:'';position:absolute;left:0;bottom:0;height:2px;width:35%;z-index:1;opacity:0;background:linear-gradient(90deg,transparent,var(--g-teal),var(--g-gold),transparent);filter:drop-shadow(0 0 6px var(--g-teal))}
.guide-dialog[data-ui-state=loading] .guide-header::before{opacity:1;animation:scan 1.3s ease-in-out infinite}
.guide-identity{display:flex;align-items:center;gap:12px;min-width:0}
.guide-dialog .guide-header h2{font-family:var(--font-display);font-size:1.08rem;font-weight:600;line-height:1.2;letter-spacing:-.02em;margin:0}
.guide-presence{display:flex;align-items:center;gap:7px;margin:4px 0 0;color:var(--color-muted);font-size:.74rem;line-height:1.4;min-width:0}
.guide-presence>span:not(.guide-presence-dot){overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.guide-presence-dot{position:relative;width:7px;height:7px;flex:none;border-radius:50%;background:var(--g-live);box-shadow:0 0 8px var(--g-live)}
.guide-presence-dot::after{content:'';position:absolute;inset:0;border-radius:50%;background:inherit;animation:fab-ping 2.4s cubic-bezier(0,0,.2,1) infinite}
.guide-presence-busy{display:none;background:linear-gradient(90deg,var(--color-muted),var(--color-accent) 45%,var(--g-gold) 55%,var(--color-muted));background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:text-shine 1.6s linear infinite}
.guide-dialog[data-ui-state=loading] .guide-presence-idle{display:none}.guide-dialog[data-ui-state=loading] .guide-presence-busy{display:block}.guide-dialog[data-ui-state=loading] .guide-presence-dot{background:var(--g-gold);box-shadow:0 0 8px var(--g-gold)}
.guide-header-actions{display:flex;gap:4px;flex:none;margin-left:auto}
.guide-dialog .icon-button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:10px;border:1px solid transparent;border-radius:14px;background:transparent;color:var(--color-ink);transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}
.guide-dialog .icon-button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .4s var(--ease-out)}
.guide-dialog [data-guide-new]:hover svg{transform:rotate(90deg)}.guide-dialog [data-guide-close]:hover svg{transform:rotate(90deg) scale(.9)}

/* Avatar orb (header, turns, thinking) */
.guide-avatar{position:relative;flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:radial-gradient(120% 120% at 30% 18%,var(--g-orb-1),var(--g-orb-2) 60%,var(--g-orb-3));box-shadow:inset 0 1px 0 oklch(100% 0 0 / .2),0 6px 16px -6px oklch(55% .13 200 / .55)}
.guide-avatar::before{content:'';position:absolute;inset:-2px;border-radius:50%;padding:1.5px;background:conic-gradient(from 0deg,var(--g-teal),transparent 30%,var(--g-gold) 55%,transparent 80%,var(--g-teal));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:fab-spin 6s linear infinite}
.guide-avatar .lh-iso{width:66%;height:66%}.guide-avatar .lh-iso-ring{stroke-width:12}
.guide-avatar .lh-iso-spin{animation:iso-orbit 9s cubic-bezier(.65,0,.35,1) infinite}
.guide-dialog .guide-mark.guide-avatar-lg{width:44px;height:44px;border:0}.guide-avatar-lg .lh-iso{width:62%;height:62%}.guide-avatar-lg .lh-iso-ring{stroke-width:9}
.guide-dialog[data-ui-state=loading] .guide-avatar .lh-iso-spin,.guide-avatar.is-thinking .lh-iso-spin{animation-duration:1.4s;animation-timing-function:linear}
.guide-dialog[data-ui-state=loading] .guide-avatar::before,.guide-avatar.is-thinking::before{animation-duration:1.1s}

/* Context chips */
.guide-context{display:flex;align-items:center;gap:8px;padding:10px 18px;overflow:hidden;border:0;background:transparent;color:var(--color-muted);font-size:.7rem;line-height:1.4}
.guide-chip{display:inline-flex;align-items:center;gap:6px;min-width:0;padding:5px 11px;border:1px solid var(--color-rule);border-radius:var(--radius-pill);background:color-mix(in oklch,var(--color-well) 70%,transparent);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.guide-context>.guide-chip:last-child{display:block;flex:0 1 auto;max-width:62%;overflow:hidden;text-overflow:ellipsis}
.guide-chip-live{flex:none;color:var(--color-accent);font-weight:500;border-color:color-mix(in oklch,var(--color-accent-line) 50%,transparent)}
.guide-chip-live::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}

/* Scroll area and welcome */
.guide-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:10px 20px 18px;scrollbar-gutter:stable;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--color-rule) transparent}
.guide-welcome{display:flex;flex-direction:column;align-items:center;text-align:center;padding:10px 0 18px}
.guide-welcome[hidden]{display:none}
.guide-hero{position:relative;width:118px;height:118px;margin:4px auto 6px;display:grid;place-items:center;perspective:400px;animation:rise .8s var(--ease-out) both}
.guide-hero-glow{position:absolute;inset:6px;border-radius:50%;background:radial-gradient(closest-side,oklch(78% .14 190 / .45),oklch(82% .1 80 / .15) 60%,transparent);filter:blur(10px);animation:fab-breathe 4.5s ease-in-out infinite}
.guide-hero-core{position:relative;display:grid;place-items:center;width:70px;height:70px;border-radius:50%;background:radial-gradient(120% 120% at 30% 18%,var(--g-orb-1),var(--g-orb-2) 60%,var(--g-orb-3));box-shadow:inset 0 1px 0 oklch(100% 0 0 / .22),inset 0 -12px 24px oklch(0% 0 0 / .45),0 20px 44px -16px oklch(55% .13 200 / .7)}
.guide-hero-core::before{content:'';position:absolute;inset:-3px;border-radius:50%;padding:2px;background:conic-gradient(from 0deg,var(--g-teal),transparent 30%,var(--g-gold) 55%,transparent 80%,var(--g-teal));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);animation:fab-spin 4s linear infinite}
.guide-hero .guide-hero-iso{width:42px;height:42px;filter:drop-shadow(0 0 8px oklch(84% .1 82 / .5))}.guide-hero .lh-iso-ring{stroke-width:8}.guide-hero .lh-iso-spin{animation:iso-orbit 6s cubic-bezier(.65,0,.35,1) infinite}
.guide-hero-orbit{position:absolute;inset:4px;border-radius:50%;border:1px solid color-mix(in oklch,var(--color-accent-line) 45%,transparent);transform-style:preserve-3d}
.guide-hero-orbit i{position:absolute;top:-3px;left:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:var(--g-teal);box-shadow:0 0 10px 2px var(--g-teal)}
.guide-hero-orbit-a{animation:orbit-a 7s linear infinite}
.guide-hero-orbit-b{inset:14px;border-color:color-mix(in oklch,var(--g-gold) 35%,transparent);animation:orbit-b 9s linear infinite}.guide-hero-orbit-b i{background:var(--g-gold);box-shadow:0 0 10px 2px var(--g-gold)}
.guide-eyebrow{margin:8px 0 0;font:500 .7rem/1.4 var(--font-body);letter-spacing:.14em;color:var(--color-accent);animation:rise .7s .08s var(--ease-out) both}
.guide-welcome h3{margin:10px 0 8px;font-family:var(--font-display);font-size:clamp(1.65rem,4.4vw,2.15rem);font-weight:600;line-height:1.1;letter-spacing:-.045em;background:linear-gradient(100deg,var(--color-ink) 20%,var(--color-accent) 50%,var(--g-gold) 62%,var(--color-ink) 82%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:rise .7s .14s var(--ease-out) both,text-shine 7s linear 1s infinite}
.guide-welcome>p:not(.guide-eyebrow){max-width:44ch;margin:0 auto;font-size:.9rem;line-height:1.7;color:var(--color-muted);animation:rise .7s .2s var(--ease-out) both}
.guide-starters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;margin-top:24px}
.guide-starters button{--mx:50%;--my:50%;position:relative;display:flex;align-items:center;gap:11px;min-width:0;min-height:62px;padding:12px 12px 12px 12px;overflow:hidden;border:1px solid var(--color-rule);border-radius:18px;background:color-mix(in oklch,var(--color-well) 75%,transparent);color:var(--color-ink);font-size:.8rem;font-weight:500;line-height:1.3;text-align:left;white-space:normal;box-shadow:inset 0 1px 0 var(--color-rim);animation:rise .6s calc(.26s + var(--i,0) * .07s) var(--ease-out) both;transition:border-color .25s var(--ease-out),transform .35s var(--ease-out),box-shadow .35s var(--ease-out)}
.guide-starters button:nth-child(2){--i:1}.guide-starters button:nth-child(3){--i:2}.guide-starters button:nth-child(4){--i:3}
.guide-starters button::before,.guide-dialog .guide-links a::before,.guide-followups button::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(160px circle at var(--mx,50%) var(--my,50%),oklch(80% .13 190 / .16),transparent 70%);transition:opacity .3s}
.guide-starter-symbol{position:relative;width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:12px;background:linear-gradient(140deg,color-mix(in oklch,var(--color-accent) 22%,transparent),color-mix(in oklch,var(--g-gold) 14%,transparent));color:var(--color-accent);box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--color-accent-line) 40%,transparent)}
.guide-starter-symbol svg,.guide-starter-arrow svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.guide-starter-text{flex:1;min-width:0}
.guide-starter-arrow{flex:none;color:var(--color-muted);opacity:.5;transition:transform .35s var(--ease-out),opacity .25s,color .25s}.guide-starter-arrow svg{width:15px;height:15px}

/* Thread */
.guide-dialog .guide-thread{display:flex;flex-direction:column;gap:18px;max-height:none;overflow:visible;padding:4px 0 0;outline-offset:3px}
.guide-dialog .guide-message{margin:0;max-width:100%;font-family:var(--font-body);font-size:.92rem;line-height:1.72;white-space:pre-wrap;overflow-wrap:anywhere;flex-shrink:0}
.guide-dialog .guide-message-user{align-self:flex-end;max-width:84%;margin-left:40px;padding:11px 16px;border:0;border-radius:20px 20px 6px 20px;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-strong));color:var(--color-accent-ink);box-shadow:0 12px 26px -14px oklch(60% .13 195 / .8),inset 0 1px 0 oklch(100% 0 0 / .25);transform-origin:100% 100%;animation:bubble-in .45s cubic-bezier(.34,1.4,.64,1) both}
.guide-turn-bot{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;align-items:start;animation:rise .5s var(--ease-out) both}
.guide-turn-body{display:grid;gap:12px;min-width:0}
.guide-dialog .guide-message-bot{align-self:stretch;margin:0;padding:3px 0 0;border:0;border-radius:0;background:transparent;color:var(--color-ink);-webkit-mask-image:linear-gradient(90deg,#000 45%,transparent 55%);mask-image:linear-gradient(90deg,#000 45%,transparent 55%);-webkit-mask-size:240% 100%;mask-size:240% 100%;-webkit-mask-position:0 0;mask-position:0 0;animation:reveal .9s .08s var(--ease-out) both}
.guide-turn{min-width:0;display:grid;gap:12px}
.guide-dialog .guide-links{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;margin:0}
.guide-dialog .guide-links a{--mx:50%;--my:50%;position:relative;display:grid;grid-template-columns:36px minmax(0,1fr) 18px;column-gap:12px;row-gap:3px;align-items:center;min-height:48px;min-width:0;padding:12px 14px;overflow:hidden;border:1px solid var(--color-rule);border-radius:16px;background:color-mix(in oklch,var(--color-raised) 80%,transparent);box-shadow:inset 0 1px 0 var(--color-rim);color:var(--color-ink);text-decoration:none;overflow-wrap:anywhere;animation:rise .5s calc(.25s + var(--i,0) * .08s) var(--ease-out) both;transition:border-color .25s var(--ease-out),transform .35s var(--ease-out),box-shadow .35s var(--ease-out)}
.guide-result-icon{grid-row:1/span 4;align-self:start;width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(140deg,color-mix(in oklch,var(--color-accent) 22%,transparent),color-mix(in oklch,var(--g-gold) 14%,transparent));color:var(--color-accent)}
.guide-result-icon svg,.guide-result-go svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.guide-result-go{grid-column:3;grid-row:1/span 4;align-self:center;color:var(--color-muted);opacity:.55;transition:transform .35s var(--ease-out),opacity .25s,color .25s}.guide-result-go svg{width:16px;height:16px}
.guide-result-meta,.guide-result-title,.guide-result-description,.guide-result-source{grid-column:2;min-width:0}
.guide-result-meta{display:flex;justify-content:space-between;gap:12px;font:500 .62rem/1.5 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent)}
.guide-result-title{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-display);font-size:.95rem;font-weight:500;line-height:1.4;color:var(--color-ink)}
.guide-result-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.78rem;line-height:1.55;color:var(--color-muted)}
.guide-result-source{font-size:.64rem;line-height:1.5;color:var(--color-muted);opacity:.85}

/* Thinking: real request in flight */
.guide-thinking{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;align-items:center;margin-top:18px;animation:rise .35s var(--ease-out) both}
.guide-thinking[hidden]{display:none}
.guide-thinking-body{display:flex;align-items:center;gap:12px;justify-self:start;max-width:100%;padding:10px 16px;border:1px solid var(--color-rule);border-radius:6px 18px 18px 18px;background:color-mix(in oklch,var(--color-raised) 75%,transparent)}
.guide-thinking-dots{display:flex;gap:4px;flex:none}.guide-thinking-dots i{width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,var(--g-teal),var(--g-gold));animation:dot 1.1s ease-in-out infinite}.guide-thinking-dots i:nth-child(2){animation-delay:.15s}.guide-thinking-dots i:nth-child(3){animation-delay:.3s}
.guide-thinking-text{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;line-height:1.5;background:linear-gradient(90deg,var(--color-muted),var(--color-ink) 45%,var(--color-accent) 55%,var(--color-muted));background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:text-shine 1.8s linear infinite}

/* Follow-ups */
.guide-followups{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px;padding-left:42px}
.guide-followups:empty,.guide-dialog[data-ui-state=loading] .guide-followups{display:none;margin:0;padding:0}
.guide-followups button{--mx:50%;--my:50%;position:relative;display:inline-flex;align-items:center;gap:7px;min-height:44px;max-width:100%;padding:9px 14px;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-accent-line) 45%,var(--color-rule));border-radius:var(--radius-pill);background:color-mix(in oklch,var(--color-accent-soft) 35%,transparent);color:var(--color-ink);font-size:.76rem;line-height:1.35;white-space:nowrap;text-overflow:ellipsis;animation:rise .45s calc(.35s + var(--i,0) * .07s) var(--ease-out) both;transition:border-color .25s,background-color .25s,transform .3s var(--ease-out)}
.guide-followups button>span{overflow:hidden;text-overflow:ellipsis}
.guide-followups button svg{width:13px;height:13px;flex:none;fill:var(--color-accent)}

/* Suggestion form */
.guide-dialog .guide-suggestion{margin-top:22px;padding-top:8px;border-top:1px solid var(--color-rule);font-size:.75rem;color:var(--color-muted)}
.guide-suggestion>p{font-size:.75rem;line-height:1.7}.guide-suggestion summary{color:var(--color-ink)}

/* Composer */
.guide-composer{min-width:0;padding:10px 16px 10px;border:0;background:linear-gradient(180deg,transparent,color-mix(in oklch,var(--color-surface) 85%,transparent) 30%)}
.guide-composer .guide-label{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.guide-composer .guide-input{position:relative;display:flex;flex-direction:row;align-items:flex-end;gap:8px;padding:7px 7px 7px 10px;border:1px solid var(--color-rule-strong);border-radius:22px;background:color-mix(in oklch,var(--color-well) 88%,transparent);box-shadow:inset 0 1px 0 var(--color-rim),0 16px 34px -22px oklch(5% .02 250 / .7);transition:border-color .25s var(--ease-out),box-shadow .3s var(--ease-out)}
.guide-composer .guide-input::before{content:'';position:absolute;inset:-1.5px;border-radius:inherit;padding:1.5px;pointer-events:none;opacity:0;background:conic-gradient(from var(--guide-angle,0deg),var(--g-teal),transparent 25%,var(--g-gold) 50%,transparent 75%,var(--g-teal));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);transition:opacity .35s;animation:angle 4s linear infinite}
.guide-composer .guide-input:focus-within{border-color:transparent;box-shadow:inset 0 1px 0 var(--color-rim),0 0 0 4px color-mix(in oklch,var(--color-accent-soft) 60%,transparent),0 18px 40px -20px oklch(60% .13 195 / .55)}
.guide-composer .guide-input:focus-within::before,.guide-dialog[data-ui-state=loading] .guide-input::before{opacity:1}
.guide-dialog .guide-composer .guide-input textarea{flex:1;min-width:0;min-height:44px;max-height:140px;padding:10px 4px;border:0;border-radius:0;background:transparent;color:var(--color-ink);font-size:16px;line-height:1.5;resize:none;outline:none;box-shadow:none}
.guide-composer .guide-input textarea::placeholder{color:var(--color-muted);opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.guide-dialog .guide-composer textarea:focus-visible{outline:none}
.guide-dialog .guide-composer .guide-input .guide-send{position:relative;display:grid;place-items:center;flex:none;width:44px;height:44px;min-height:44px;padding:0;overflow:hidden;border:0;border-radius:50%;background:linear-gradient(140deg,var(--g-teal),var(--g-teal-deep) 55%,var(--g-gold-deep));color:oklch(15% .03 240);box-shadow:0 10px 22px -10px oklch(60% .13 195 / .9),inset 0 1px 0 oklch(100% 0 0 / .35);transition:transform .35s cubic-bezier(.34,1.56,.64,1),filter .25s,opacity .25s}
.guide-send svg{position:relative;z-index:1;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--ease-out)}
.guide-send::after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,oklch(100% 0 0 / .45) 50%,transparent 65%);transform:translateX(-120%)}
.guide-composer form[data-empty] .guide-send{filter:saturate(.35) brightness(.8);opacity:.6}
.guide-composer form:not([data-empty]) .guide-send::after{animation:send-sheen 2.6s ease-in-out infinite}
.guide-dialog[data-ui-state=loading] .guide-send svg{animation:send-pulse 1s ease-in-out infinite}
.guide-composer .guide-input-help{margin:6px 0 0;padding-left:12px;font-size:.63rem;line-height:1.5;color:var(--color-muted)}
.guide-status-row{display:flex;align-items:center;gap:10px;min-height:20px;padding-inline:12px}
.guide-dialog .guide-status-row [role=status]{flex:1;margin:0;font-size:.65rem;line-height:1.5;color:var(--color-muted)}
.guide-dialog .guide-status-row [data-state=error]{color:var(--color-error)}
.guide-retry{flex:none;min-height:44px;border:0;background:transparent;color:var(--color-accent);font-size:.75rem;text-decoration:underline}
.guide-options{max-height:min(260px,35dvh);overflow:auto;overscroll-behavior:contain;padding-inline:12px;font-size:.7rem}
.guide-options>summary{min-height:36px;align-content:center;cursor:pointer;color:var(--color-muted);font-size:.68rem}
.guide-options>p{margin-block:8px;font-size:.7rem;line-height:1.65}.guide-options .guide-consent{margin-block:10px;font-size:.7rem}.guide-options .guide-forget{min-height:44px;padding:0;font-size:.7rem}

/* States */
.guide-dialog [aria-invalid=true]{outline:0}.guide-dialog .guide-input:has([aria-invalid=true]){border-color:var(--color-error);box-shadow:0 0 0 3px color-mix(in oklch,var(--color-error) 25%,transparent)}
.guide-dialog[data-ui-state=success] .guide-input{border-color:var(--color-accent-line)}
.guide-dialog button:disabled,.guide-dialog button[aria-disabled=true]{opacity:.5;cursor:not-allowed}
.guide-dialog :is(button,a,summary,select):focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}
.guide-dialog .guide-send:active:not(:disabled){transform:scale(.88)}
.guide-starters button:active,.guide-followups button:active,.guide-dialog .guide-links a:active{transform:scale(.98)}
@media(hover:hover){
 .guide-dialog .icon-button:hover{background:var(--color-hover);border-color:var(--color-rule)}
 .guide-starters button:hover,.guide-dialog .guide-links a:hover{border-color:color-mix(in oklch,var(--color-accent-line) 70%,transparent);transform:translateY(-2px);box-shadow:inset 0 1px 0 var(--color-rim),0 16px 32px -20px oklch(60% .13 195 / .7)}
 .guide-starters button:hover::before,.guide-dialog .guide-links a:hover::before,.guide-followups button:hover::before{opacity:1}
 .guide-starters button:hover .guide-starter-arrow,.guide-dialog .guide-links a:hover .guide-result-go{opacity:1;color:var(--color-accent);transform:translate(2px,-2px)}
 .guide-followups button:hover{border-color:var(--color-accent-line);background:color-mix(in oklch,var(--color-accent-soft) 65%,transparent);transform:translateY(-1px)}
 .guide-composer .guide-input:hover{border-color:var(--color-accent-line)}
 .guide-composer form:not([data-empty]) .guide-send:hover{transform:scale(1.07)}.guide-composer form:not([data-empty]) .guide-send:hover svg{transform:translateY(-2px)}
}

/* Narrow screens: full-height sheet */
@media(max-width:600px){
 .guide-dialog{--guide-oy:100%;width:100vw;max-width:100vw;height:var(--guide-viewport,100dvh);max-height:var(--guide-viewport,100dvh);margin:0;border:0;border-radius:0}
 .guide-dialog[open]{animation-name:sheet-in}.guide-dialog[data-closing]{animation-name:sheet-out}
 .guide-dialog .guide-header{padding:12px 10px 12px 14px}.guide-context{padding:8px 14px}.guide-scroll{padding:6px 14px 12px}
 .guide-composer{padding:8px 10px max(8px,env(safe-area-inset-bottom))}.guide-composer .guide-input-help{display:none}
 .guide-dialog .guide-header h2{font-size:1rem}.guide-presence{font-size:.7rem}.guide-dialog .guide-mark.guide-avatar-lg{width:40px;height:40px}.guide-header-actions{gap:0}
 .guide-hero{width:100px;height:100px}.guide-hero-core{width:62px;height:62px}.guide-hero .guide-hero-iso{width:38px;height:38px}
 .guide-starters{gap:8px;margin-top:20px}.guide-starters button{min-height:58px;padding:10px 9px;font-size:.74rem;gap:9px}.guide-starter-symbol{width:30px;height:30px;border-radius:10px}.guide-starter-arrow{display:none}
 .guide-dialog .guide-message-user{max-width:88%;margin-left:28px}.guide-followups{padding-left:0}
}
@media(max-width:360px){.guide-starters{grid-template-columns:minmax(0,1fr)}.guide-starters button{min-height:50px;font-size:.8rem}.guide-identity{gap:9px}.guide-presence{max-width:24ch}.guide-dialog .guide-header{padding-inline:10px}.guide-scroll{padding-inline:12px}.guide-context>.guide-chip:last-child{display:none}}

/* Keyframes */
@keyframes fab-spin{to{transform:rotate(360deg)}}
@keyframes fab-float{0%,100%{translate:0 0}50%{translate:0 -3px}}
@keyframes fab-ripple{0%{transform:scale(1);opacity:.55}80%,100%{transform:scale(1.75);opacity:0}}
@keyframes fab-breathe{0%,100%{transform:scale(.92);opacity:.7}50%{transform:scale(1.08);opacity:1}}
@keyframes fab-sheen{0%,62%{transform:translateX(-70%)}82%,100%{transform:translateX(70%)}}
@keyframes fab-ping{0%{transform:scale(1);opacity:.7}75%,100%{transform:scale(2.4);opacity:0}}
@keyframes iso-orbit{0%{transform:rotate(0deg)}45%,50%{transform:rotate(200deg)}95%,100%{transform:rotate(360deg)}}
@keyframes text-shine{to{background-position:-200% 0}}
@keyframes guide-in{0%{opacity:0;transform:translateY(18px) scale(.88);filter:blur(10px)}60%{filter:blur(0)}100%{opacity:1;transform:none;filter:none}}
@keyframes guide-out{to{opacity:0;transform:translateY(12px) scale(.94);filter:blur(6px)}}
@keyframes sheet-in{0%{opacity:0;transform:translateY(40px)}100%{opacity:1;transform:none}}
@keyframes sheet-out{to{opacity:0;transform:translateY(40px)}}
@keyframes guide-fade{from{opacity:0}}
@keyframes aurora{0%{background-position:0% 0%,100% 30%,40% 100%}50%{background-position:30% 20%,70% 0%,60% 70%}100%{background-position:10% 40%,90% 60%,20% 90%}}
@keyframes rise{from{opacity:0;transform:translateY(10px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
@keyframes bubble-in{from{opacity:0;transform:translateY(8px) scale(.85)}to{opacity:1;transform:none}}
@keyframes reveal{from{-webkit-mask-position:100% 0;mask-position:100% 0}to{-webkit-mask-position:0 0;mask-position:0 0}}
@keyframes scan{0%{left:-35%}100%{left:100%}}
@keyframes dot{0%,80%,100%{transform:translateY(0) scale(.8);opacity:.45}40%{transform:translateY(-5px) scale(1);opacity:1}}
@keyframes orbit-a{from{transform:rotateX(68deg) rotateZ(0deg)}to{transform:rotateX(68deg) rotateZ(360deg)}}
@keyframes orbit-b{from{transform:rotateY(62deg) rotateZ(0deg)}to{transform:rotateY(62deg) rotateZ(-360deg)}}
@keyframes send-sheen{0%,55%{transform:translateX(-120%)}85%,100%{transform:translateX(120%)}}
@keyframes send-pulse{50%{transform:translateY(-3px);opacity:.6}}
@property --guide-angle{syntax:'<angle>';inherits:false;initial-value:0deg}
@keyframes angle{to{--guide-angle:360deg}}

@media(prefers-reduced-motion:reduce){
 .guide-fab *,.guide-fab *::before,.guide-fab *::after,.guide-dialog,.guide-dialog *,.guide-dialog *::before,.guide-dialog *::after,.guide-dialog::before,.guide-dialog::backdrop{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .guide-dialog .guide-message-bot{-webkit-mask-image:none;mask-image:none}
 .guide-dialog[data-ui-state=loading] .guide-header::before{left:0;width:100%}
}
