/* ============================================================
   HOOMANING V3 — visual polish + motion system
   ============================================================ */

/* Shared motion language: soft depth, orbit, gentle glow. */
@keyframes v3-float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }
@keyframes v3-orbit-cw { to{transform:rotate(360deg)} }
@keyframes v3-orbit-ccw { to{transform:rotate(-360deg)} }
@keyframes v3-pulse { 0%,100%{opacity:.45;transform:scale(.96)} 50%{opacity:1;transform:scale(1.06)} }
@keyframes v3-suggestion-in { from{opacity:0;transform:translateY(8px) scale(.992)} to{opacity:1;transform:none} }
@keyframes v3-speck { 0%,100%{opacity:.25} 50%{opacity:.9} }

/* HOME — visual first, much less copy. */
.v3-home { padding-top:14px; }
.v3-home-hero {
  min-height:310px; position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,.9fr); align-items:center; gap:22px;
  border:1px solid var(--line); border-radius:24px; padding:30px 30px 30px 34px;
  background:
    radial-gradient(circle at 78% 34%,rgba(142,163,255,.12),transparent 26%),
    radial-gradient(circle at 70% 70%,rgba(118,217,184,.075),transparent 25%),
    radial-gradient(circle at 88% 72%,rgba(206,141,117,.075),transparent 20%),
    var(--surface);
}
.v3-home-hero::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(115deg,rgba(255,255,255,.02),transparent 42%); }
.v3-home-copy { position:relative; z-index:2; }
.v3-home-copy h1 { max-width:390px; margin:9px 0 8px; font-size:40px; line-height:1.02; letter-spacing:-.045em; }
.v3-home-copy p { margin:0 0 22px; color:var(--text-dim); font-size:18px; }
.v3-home-primary { min-width:142px; }
.v3-home-cosmos { width:270px; height:245px; justify-self:end; position:relative; perspective:700px; transform:rotateX(5deg); }
.v3-cosmos-ring { position:absolute; left:50%; top:50%; border-radius:50%; border:1px solid rgba(142,163,255,.25); transform:translate(-50%,-50%); }
.v3-cosmos-ring.r1 { width:208px; height:112px; transform:translate(-50%,-50%) rotate(-12deg); animation:v3-orbit-cw 24s linear infinite; }
.v3-cosmos-ring.r2 { width:164px; height:164px; border-color:rgba(118,217,184,.22); animation:v3-orbit-ccw 31s linear infinite; }
.v3-cosmos-ring.r3 { width:246px; height:150px; transform:translate(-50%,-50%) rotate(24deg); border-color:rgba(206,141,117,.18); animation:v3-orbit-cw 38s linear infinite; }
.v3-cosmos-core { position:absolute; left:50%; top:50%; translate:-50% -50%; width:76px; height:76px; display:grid; place-items:center; border-radius:50%; color:var(--periwinkle); border:1px solid rgba(142,163,255,.38); background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.08),transparent 30%),rgba(142,163,255,.055); box-shadow:0 0 0 14px rgba(142,163,255,.02),0 18px 45px rgba(0,0,0,.2); animation:v3-float 6s ease-in-out infinite; }
.v3-cosmos-core-svg { width:37px; height:37px; }
.v3-cosmos-dot { position:absolute; width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:var(--surface-2); border:1px solid var(--line); box-shadow:0 10px 24px rgba(0,0,0,.22); }
.v3-cosmos-dot svg { width:17px; height:17px; }
.v3-cosmos-dot.d1 { left:18px; top:66px; color:var(--signal); animation:v3-float 5.4s ease-in-out infinite -.6s; }
.v3-cosmos-dot.d2 { right:16px; top:53px; color:var(--sage); animation:v3-float 6.4s ease-in-out infinite -2.2s; }
.v3-cosmos-dot.d3 { right:45px; bottom:24px; color:var(--ochre); animation:v3-float 5.9s ease-in-out infinite -3.1s; }
.v3-space-speck { width:5px; height:5px; border-radius:50%; position:absolute; background:var(--periwinkle); animation:v3-speck 4s ease-in-out infinite; }
.v3-space-speck.s1{left:45px;bottom:46px}.v3-space-speck.s2{right:82px;top:22px;background:var(--sage);animation-delay:-1.5s}.v3-space-speck.s3{left:103px;top:29px;background:var(--signal);animation-delay:-2.4s}
.v3-home-shortcuts { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:12px; }
.v3-home-shortcut { min-height:92px; display:flex; gap:13px; align-items:center; text-align:left; color:var(--text); border:1px solid var(--line); background:var(--surface); border-radius:18px; padding:15px 17px; transition:transform .18s ease,border-color .18s ease,background .18s ease; }
.v3-home-shortcut:hover { transform:translateY(-2px); border-color:rgba(142,163,255,.4); background:linear-gradient(120deg,rgba(142,163,255,.035),transparent),var(--surface); }
.v3-shortcut-icon { width:42px; height:42px; flex:0 0 42px; display:grid; place-items:center; border:1px solid rgba(142,163,255,.3); border-radius:50%; color:var(--periwinkle); background:rgba(142,163,255,.035); }
.v3-shortcut-icon svg { width:19px; height:19px; }
.v3-home-shortcut small { display:block; color:var(--ochre); font-family:var(--font-mono); font-size:9px; letter-spacing:.13em; }
.v3-home-shortcut strong { display:block; margin-top:5px; font-size:14px; }

/* NOW — controls stay still while the suggestion changes. */
.v3-now { max-width:560px; }
.v3-now-intro { padding-bottom:16px; }
.v3-now-intro h1 { margin-bottom:5px; }
.v3-now-intro p { font-size:14px; }
.v3-now-idle { min-height:360px; background:
  radial-gradient(circle at 50% 44%,rgba(118,217,184,.06),transparent 23%),
  radial-gradient(circle at 50% 48%,rgba(142,163,255,.06),transparent 52%),var(--surface); }
.v3-now-orbit { filter:drop-shadow(0 14px 28px rgba(0,0,0,.12)); }
.v3-now-stage { min-height:410px; }
.v3-now-card { position:relative; min-height:410px; display:grid; grid-template-rows:150px minmax(128px,1fr) 84px; padding:22px 24px 18px; overflow:hidden; animation:v3-suggestion-in .32s cubic-bezier(.2,.8,.2,1) both; background:
  radial-gradient(circle at 50% 28%,rgba(142,163,255,.075),transparent 27%),
  radial-gradient(circle at 72% 67%,rgba(118,217,184,.04),transparent 26%),var(--surface); }
.v3-now-back { position:absolute; left:16px; top:16px; z-index:4; width:34px; height:34px; border-radius:50%; display:grid; place-items:center; border:1px solid var(--line); background:rgba(16,20,22,.72); color:var(--text-dim); font-size:17px; backdrop-filter:blur(8px); }
.v3-now-back:hover { color:var(--text); border-color:rgba(142,163,255,.45); }
.v3-now-visual { width:132px; height:132px; position:relative; margin:0 auto; display:grid; place-items:center; }
.v3-now-visual-ring { position:absolute; left:50%; top:50%; translate:-50% -50%; border-radius:50%; border:1px solid rgba(142,163,255,.25); }
.v3-now-visual-ring.outer { width:124px; height:82px; transform:rotate(-18deg); animation:v3-orbit-cw 16s linear infinite; }
.v3-now-visual-ring.inner { width:82px; height:82px; border-color:rgba(118,217,184,.22); animation:v3-orbit-ccw 12s linear infinite; }
.v3-now-card .v2-now-card-icon { margin:0; position:relative; z-index:2; width:60px; height:60px; color:var(--sage); background:rgba(118,217,184,.035); box-shadow:0 0 0 9px rgba(118,217,184,.018); animation:v3-float 5.5s ease-in-out infinite; }
.v3-now-copy { align-self:center; display:flex; flex-direction:column; justify-content:center; min-height:128px; }
.v3-now-copy small { font-family:var(--font-mono); color:var(--ochre); font-size:9px; letter-spacing:.14em; }
.v3-now-copy h2 { margin:7px auto 8px; max-width:430px; font-size:26px; line-height:1.15; }
.v3-now-copy p { margin:0 auto; min-height:42px; max-width:410px; color:var(--text-dim); font-size:13px; line-height:1.5; }
.v3-now-footer { align-self:end; min-height:84px; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; }
.v3-now-footer .v2-now-actions { margin:0 0 8px; width:100%; }
.v3-now-footer .v2-now-actions button { flex:1; max-width:180px; }
.v3-now-fit-sheet { position:absolute; inset:auto 12px 12px; z-index:8; padding:18px; text-align:left; border:1px solid rgba(142,163,255,.38); border-radius:18px; background:rgba(25,31,34,.97); box-shadow:0 18px 48px rgba(0,0,0,.34); backdrop-filter:blur(18px); animation:v3-suggestion-in .2s ease both; }
.v3-fit-title { font-weight:650; font-size:15px; }
.v3-fit-sub { margin:4px 0 12px; color:var(--text-faint); font-size:10.5px; }
.v3-fit-grid { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:12px; }
.v3-fit-chip { border:1px solid var(--line); border-radius:999px; padding:8px 10px; background:var(--surface-2); color:var(--text-dim); font-size:11px; }
.v3-fit-chip:hover { color:var(--text); border-color:rgba(142,163,255,.42); }

/* LOG + HUMANS — same universe, different screens. */
.v2-log-universe {
  border-color:rgba(142,163,255,.2);
  background:
    radial-gradient(circle at 50% 52%,rgba(118,217,184,.10),transparent 19%),
    radial-gradient(circle at 34% 28%,rgba(142,163,255,.075),transparent 25%),
    radial-gradient(circle at 72% 72%,rgba(206,141,117,.055),transparent 21%),
    var(--surface);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.015),0 16px 40px rgba(0,0,0,.07);
}
.v2-log-universe::before { border-color:rgba(142,163,255,.25); border-style:solid; animation:v3-orbit-cw 28s linear infinite; }
.v2-log-universe::after { border-color:rgba(118,217,184,.20); border-style:solid; animation:v3-orbit-ccw 35s linear infinite; }
.v2-log-universe .human-earth { color:var(--periwinkle); border-color:rgba(142,163,255,.35); background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.08),transparent 24%),rgba(142,163,255,.055); box-shadow:0 0 0 12px rgba(142,163,255,.02),0 20px 46px rgba(0,0,0,.13); }
.v2-log-universe .human-orbit-icon { border-color:rgba(142,163,255,.20); background:rgba(25,31,34,.92); }
.universe-empty { border-style:solid; border-color:rgba(142,163,255,.2); background:radial-gradient(circle at 50% 36%,rgba(142,163,255,.075),transparent 28%),radial-gradient(circle at 62% 65%,rgba(118,217,184,.04),transparent 25%),var(--surface); }
.little-universe .ring-a { border-style:solid; border-color:rgba(142,163,255,.25); animation-duration:22s; }
.little-universe .ring-b { border-style:solid; border-color:rgba(118,217,184,.22); animation-duration:29s; }
.universe-empty .tiny-star { animation:v3-pulse 4.2s ease-in-out infinite; }

/* SEARCH — remove taxonomy noise; keep useful human-language hints only. */
.v3-result-list .v2-result small { color:var(--text-faint); }
.v3-result-list .v2-custom-result { opacity:.78; }
.v3-result-list .v2-custom-result:hover { opacity:1; }

/* TIMELINE / ME */
.v2-history-row .log-row-main { min-height:44px; display:flex; flex-direction:column; justify-content:center; }
.v2-history-row .log-row-side { min-height:44px; display:flex; flex-direction:column; justify-content:center; align-items:flex-end; }
.v2-timeline-item { overflow:visible; }
.v2-timeline-item .v20-row-menu-btn { top:10px; right:9px; width:30px; height:30px; border-radius:50%; display:grid; place-items:center; letter-spacing:1px; z-index:10; }
.v2-timeline-item .v20-row-menu-btn:hover,.v2-timeline-item .v20-row-menu-btn:focus-visible { color:var(--text); background:rgba(142,163,255,.07); outline:1px solid rgba(142,163,255,.25); }
.v2-timeline-item .v20-row-menu { right:40px; top:40px; z-index:45; min-width:116px; box-shadow:0 16px 38px rgba(0,0,0,.34); }
.v2-timeline-item .v21-row-menu-live { right:40px; top:40px; }

/* Icon-only privacy control with accessible tooltip. */
.v3-privacy-button { position:relative; width:30px; height:30px; flex:0 0 30px; margin-top:5px; display:grid; place-items:center; border-radius:50%; border:1px solid var(--line); background:rgba(255,255,255,.012); color:var(--text-faint); transition:transform .16s ease,border-color .16s ease,color .16s ease,background .16s ease; }
.v3-privacy-button.public { color:var(--ochre); border-color:rgba(217,164,65,.34); background:rgba(217,164,65,.035); }
.v3-privacy-button:hover,.v3-privacy-button:focus-visible { transform:translateY(-1px); color:var(--text); border-color:rgba(142,163,255,.42); outline:none; }
.v3-privacy-button.pending { opacity:.62; animation:v3-pulse 1s ease-in-out infinite; }
.v3-privacy-icon { width:13px; height:13px; }
.v3-privacy-button::after { content:attr(data-tooltip); position:absolute; right:0; bottom:calc(100% + 7px); z-index:70; pointer-events:none; opacity:0; translate:0 3px; white-space:nowrap; border:1px solid var(--line); border-radius:8px; padding:5px 7px; background:var(--surface-2); color:var(--text-dim); font-family:var(--font-mono); font-size:9px; box-shadow:0 8px 20px rgba(0,0,0,.24); transition:opacity .14s ease,translate .14s ease; }
.v3-privacy-button:hover::after,.v3-privacy-button:focus-visible::after { opacity:1; translate:0 0; }

@media (max-width:700px){
  .v3-home-hero { grid-template-columns:1fr; min-height:390px; padding:25px 22px; }
  .v3-home-copy h1 { max-width:310px; font-size:34px; }
  .v3-home-cosmos { width:100%; height:180px; justify-self:center; margin-top:-4px; }
  .v3-cosmos-ring.r1{width:190px;height:92px}.v3-cosmos-ring.r2{width:132px;height:132px}.v3-cosmos-ring.r3{width:224px;height:124px}
  .v3-cosmos-dot.d1{left:15%;top:50px}.v3-cosmos-dot.d2{right:15%;top:36px}.v3-cosmos-dot.d3{right:24%;bottom:5px}
  .v3-home-shortcuts { grid-template-columns:1fr 1fr; }
  .v3-home-shortcut { min-height:86px; padding:13px; }
  .v3-now-card { min-height:400px; grid-template-rows:142px minmax(124px,1fr) 82px; padding-left:18px; padding-right:18px; }
  .v3-now-copy h2 { font-size:23px; }
  .v2-timeline-item .v20-row-menu { right:38px; }
}
@media (max-width:430px){
  .v3-home-shortcuts { grid-template-columns:1fr; }
  .v3-home-shortcut { min-height:72px; }
  .v3-now-stage,.v3-now-card { min-height:410px; }
  .v3-fit-grid { max-height:128px; overflow:auto; }
}
@media (prefers-reduced-motion:reduce){
  .v3-cosmos-ring,.v3-cosmos-core,.v3-cosmos-dot,.v3-space-speck,.v3-now-card,.v3-now-visual-ring,.v3-now-card .v2-now-card-icon,.v3-privacy-button.pending,.v2-log-universe::before,.v2-log-universe::after { animation:none !important; }
}
.v3-row-menu-portal { z-index:999 !important; min-width:120px; }
