.home-hero .hero-plus { position: absolute; top: 24px; right: 32px; width: 64px; height: 64px; z-index: 3; }
.hero-plus [hidden] { display: none; }
.plus-button { position: relative; display: block; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; border-radius: 12px; cursor: pointer; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.plus-character, .plus-fallback { display: block; width: 100%; height: 100%; }
.plus-button:focus-visible { outline: 2px solid #ff6a00; outline-offset: 6px; }
.plus-hint { position: absolute; right: calc(100% + 16px); top: 50%; transform: translateY(-50%); width: max-content; max-width: min(248px, calc(100vw - 106px)); text-align: right; font-size: 13px; line-height: 1.4; pointer-events: none; }
.plus-hint { visibility: hidden; color: #a1a1aa; }
.hero-plus.is-ready .plus-hint { visibility: visible; }
.plus-sparks { position: absolute; inset: 0; pointer-events: none; }
.plus-sparks i { position: absolute; left: 50%; top: 50%; font: 900 22px/1 sans-serif; color: #ff6a00; opacity: 0; }
.plus-sparks i:nth-child(1) { --x: -65px; --y: -22px; --r: -35deg; }
.plus-sparks i:nth-child(2) { --x: -56px; --y: 40px; --r: 65deg; }
.plus-sparks i:nth-child(3) { --x: -19px; --y: 62px; --r: -80deg; }
.plus-sparks i:nth-child(4) { --x: 34px; --y: 45px; --r: 110deg; }
.plus-sparks i:nth-child(5) { --x: 43px; --y: -16px; --r: 45deg; }
.plus-sparks i:nth-child(6) { --x: -7px; --y: -28px; --r: -110deg; }
@media (prefers-reduced-motion: no-preference) {
  .plus-button:focus-visible .plus-character { animation: plus-wiggle 620ms ease-in-out; }
  .hero-plus.is-playing .plus-character { animation: plus-somersault 950ms cubic-bezier(.2,.7,.3,1) both; }
  .hero-plus.is-playing .plus-sparks i { animation: plus-spark 750ms ease-out 180ms both; }
  @media (hover: hover) {
    .plus-button:hover .plus-character { animation: plus-wiggle 620ms ease-in-out; }
    .hero-plus.is-playing .plus-button:hover .plus-character { animation: plus-somersault 950ms cubic-bezier(.2,.7,.3,1) both; }
    .plus-button:hover ~ .plus-hint { color: #fafafa; }
  }
}
@keyframes plus-wiggle {
  0%, 100% { transform: rotate(0); }
  25% { transform: rotate(-14deg) translateY(-3px); }
  50% { transform: rotate(12deg) translateY(-5px); }
  75% { transform: rotate(-6deg); }
}
@keyframes plus-somersault {
  0%, 100% { transform: translateY(0) rotate(0) scale(1); }
  14% { transform: translateY(5px) rotate(-12deg) scale(1.1,.8); }
  55% { transform: translateY(-12px) rotate(330deg) scale(.95,1.05); }
  78% { transform: translateY(3px) rotate(360deg) scale(1.12,.88); }
  100% { transform: translateY(0) rotate(360deg) scale(1); }
}
@keyframes plus-spark {
  0% { opacity: 0; transform: translate(-50%,-50%) scale(.3); }
  15% { opacity: 1; }
  100% { opacity: 0; transform: translate(calc(-50% + var(--x)),calc(-50% + var(--y))) rotate(var(--r)) scale(.6); }
}
/* A small, dismissible prompt sheet anchored to the playful plus. */
.home-hero .plus-tip { position: absolute; top: 102px; right: 32px; z-index: 4; display: flex; flex-direction: column; width: min(424px, calc(100% - 48px)); max-height: min(610px, calc(100svh - var(--brand-header-height) - 126px)); background: #fafafa; color: #18181b; border: 1px solid #d4d4d8; border-top: 4px solid #ff6a00; border-radius: 14px; box-shadow: 0 18px 60px rgba(0,0,0,.4); overflow: hidden; }
.home-hero .plus-tip[hidden], .plus-tip [hidden] { display: none; }
.tip-header { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; padding: 20px 20px 14px; flex-shrink: 0; }
.tip-counter { margin: 0 0 8px; color: #71717a; font-size: 12px; line-height: 1.3; }
.plus-tip h2 { margin: 0; font-size: 25px; line-height: 1.1; letter-spacing: -.7px; font-weight: 900; }
.plus-tip h2:focus { outline: none; }
.plus-tip button { font-family: inherit; cursor: pointer; }
.tip-close { flex: 0 0 44px; display: grid; place-items: center; width: 44px; height: 44px; padding: 10px; margin: -8px -8px 0 0; border: 0; background: transparent; color: #52525b; border-radius: 8px; }
.tip-close svg { width: 22px; height: 22px; }
.tip-close:hover { background: #e4e4e7; color: #18181b; }
.tip-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 20px 8px; }
.tip-instruction { margin: 0 0 16px; font-size: 14px; line-height: 1.5; }
.tip-prompt-label { display: block; margin-bottom: 7px; font-weight: 700; font-size: 12px; }
.tip-prompt { display: block; width: 100%; min-height: 174px; resize: none; border: 1px solid #d4d4d8; border-left: 3px solid #ff6a00; border-radius: 0 6px 6px 0; padding: 12px; background: #f4f4f5; color: #27272a; font: 14px/1.55 var(--font); }
.tip-prompt:focus-visible { outline: 2px solid #a84500; outline-offset: 3px; }
.tip-help { margin: 12px 0 0; color: #52525b; font-size: 12px; line-height: 1.5; }
.tip-footer { padding: 12px 20px 14px; flex-shrink: 0; }
.tip-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.tip-actions button, .tip-source { min-height: 44px; padding: 10px 8px; border-radius: 8px; font-size: 13px; font-weight: 750; line-height: 1.35; }
.tip-source { display: flex; align-items: center; justify-content: center; gap: 6px; text-align: center; border: 1px solid #ff6a00; background: #ff6a00; color: #09090b; text-decoration: none; }
.tip-source:hover { background: #ff8229; color: #09090b; text-decoration: underline; }
.tip-fact-text { margin: 0; font-size: 16px; line-height: 1.65; }
.tip-takeaway { margin: 20px 0 8px; padding: 14px 16px; background: #f4f4f5; border-left: 3px solid #ff6a00; font-size: 14px; line-height: 1.55; }
.tip-takeaway strong { display: block; margin-bottom: 6px; }
.tip-copy { border: 1px solid #ff6a00; background: #ff6a00; color: #09090b; }
.tip-copy:hover { background: #ff8229; }
.tip-copy:disabled { cursor: progress; opacity: .65; }
.tip-next { border: 1px solid #a1a1aa; background: transparent; color: #27272a; }
.tip-next:hover { background: #e4e4e7; }
.tip-feedback { min-height: 18px; margin: 9px 0 0; color: #52525b; font-size: 12px; line-height: 1.5; }
.home-hero .tip-announcement { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 760px) {
  .home-hero .hero-plus { top: 16px; right: 18px; width: 44px; height: 44px; }
  .plus-hint { font-size: 12px; right: calc(100% + 12px); }
  .home-hero .mvp-kicker { align-items: flex-start; flex-direction: column; gap: 14px; }
  .mvp-logo { width: 119px; }
  .home-hero .plus-tip { top: 72px; right: 16px; width: calc(100% - 32px); max-height: calc(100svh - var(--brand-header-height) - 168px); }
  .tip-header { padding: 16px 16px 12px; }
  .plus-tip h2 { font-size: 23px; }
  .tip-body { padding: 0 16px 8px; }
  .tip-footer { padding: 10px 16px 12px; }
  .tip-prompt { font-size: 16px; min-height: 180px; }
  .tip-actions { gap: 8px; }
  .tip-actions button, .tip-source { font-size: 12px; }
}
@media (max-height: 560px) {
  .home-hero .plus-tip { position: fixed; top: 12px; right: 16px; max-height: calc(100svh - 96px); z-index: 35; }
}

/* Keep the original homepage position; show tips in the sticky header elsewhere. */
.home-hero { --brand-header-height:94px; overflow:visible; overflow-x:clip; }
.home-hero .plus-tip h2 { text-transform:none; }
.home-hero .plus-tip :focus-visible { outline-color:#a84500; }
.plus-hint { display:flex;align-items:center;gap:5px;padding:5px 8px;background:rgba(9,9,11,.75);color:#fafafa;border-radius:4px; }
.plus-hint svg { width:14px;height:14px;flex-shrink:0; }
.tip-source svg { width:14px;height:14px;flex-shrink:0; }
.header-tips { --tips-header-height:94px;position:relative;flex:0 0 44px;width:44px;height:44px; }
.header-tips .hero-plus { position:relative;width:44px;height:44px;z-index:1; }
.header-tips .plus-hint { display:none; }
.header-tips .plus-tip { position:fixed;top:calc(var(--tips-header-height) + 12px);right:32px;z-index:40;display:flex;flex-direction:column;width:min(424px,calc(100vw - 48px));max-height:min(610px,calc(100svh - var(--tips-header-height) - 36px));background:#fafafa;color:#18181b;border:1px solid #d4d4d8;border-top:4px solid #ff6a00;border-radius:14px;box-shadow:0 18px 60px rgba(0,0,0,.25);overflow:hidden; }
.header-tips .plus-tip h2 { text-transform:none; }
.header-tips .plus-tip :focus-visible { outline-color:#a84500; }
.header-tips .tip-announcement { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
@media(max-width:1150px) { .has-copilot-tips .nav-cta { display:none; } }
@media(max-width:970px) { .home-hero { --brand-header-height:86px; } }
@media(max-width:970px) { .header-tips { --tips-header-height:86px;margin-left:auto; } }
@media(max-width:720px) {
  .home-hero { --brand-header-height:80px; }
  .home-hero .hero-content { padding-top:92px; }
  .header-tips { --tips-header-height:80px; }
  .header-tips .plus-tip { right:16px;width:calc(100vw - 32px); }
}
@media(max-height:560px) { .header-tips .plus-tip { top:12px;max-height:calc(100svh - 24px); } }
