#home .hero-visual { width:100%; max-width:420px; min-width:0; align-self:center; }
#home .hero-portrait-stage { position:relative; width:100%; height:480px; }
#home .hero-portrait-stage .hero-image-container { position:absolute; top:calc(50% - 165px); left:calc(50% - 150px); width:300px; height:300px; z-index:12 !important; pointer-events:none !important; }
#home .hero-portrait-stage .hero-image-container * { pointer-events:none !important; }
#home .hero-portrait-stage .hero-image { transform-origin:0 0; animation:none; }
#home .hero-portrait-stage .profile-photo { transform:none; }
#home .hero-portrait-controls { position:absolute; bottom:20px; left:0; width:100%; display:flex; justify-content:center; }
#home .hero-portrait-controls[hidden], #home .hero-chat[hidden] { display:none !important; }
#home .hero-chat-open { position:relative; isolation:isolate; display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:10px 18px; border:1px solid var(--border-strong); border-radius:999px; color:var(--text-0); background:var(--surface-1); font:500 14px/1.4 var(--font-primary); cursor:pointer; }
#home .hero-chat-ring { position:absolute; inset:-2px; z-index:0 !important; overflow:hidden; border-radius:inherit; padding:1.5px; pointer-events:none !important; opacity:.8; -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; transition:opacity .2s ease; }
#home .hero-chat-ring::before { content:''; position:absolute; top:50%; left:-5%; width:110%; aspect-ratio:1; background:conic-gradient(transparent 0deg,var(--accent-primary) 35deg,var(--accent-secondary) 80deg,transparent 110deg,transparent 190deg,var(--accent-secondary) 235deg,var(--accent-primary) 270deg,transparent 300deg); transform:translateY(-50%) rotate(0deg); animation:hero-chat-ring-orbit 7s linear infinite paused; }
#home .hero-chat-open[data-motion-paused="false"] .hero-chat-ring::before { animation-play-state:running; }
#home .hero-chat-open:is(:hover,:focus-visible) { border-color:var(--accent-secondary); }
#home .hero-chat-open:is(:hover,:focus-visible) .hero-chat-ring { opacity:1; }
@keyframes hero-chat-ring-orbit { to { transform:translateY(-50%) rotate(360deg); } }
#home .hero-chat-invite { position:relative; z-index:1; }
#home .hero-chat { position:absolute; inset:0; display:flex; flex-direction:column; min-width:0; border:0; border-radius:24px; background:transparent; box-shadow:none; overflow:hidden; opacity:0; visibility:hidden; z-index:11 !important; }
#home .hero-chat-navigation { position:absolute; top:10px; right:0; z-index:13 !important; display:flex; justify-content:flex-end; min-height:44px; padding:0 12px; background:transparent; }
#home .hero-chat-header { display:flex; align-items:center; gap:10px; padding:12px 100px 12px 12px; flex-shrink:0; }
#home .hero-chat-avatar-slot { flex:0 0 40px; width:40px; height:40px; }
#home .hero-chat-identity { flex:1; min-width:0; }
#home .hero-chat-identity h2 { margin:0; color:var(--text-0); font:600 15px/1.4 var(--font-primary); letter-spacing:-.02em; }
#home .hero-chat-identity p { margin:3px 0 0; color:var(--text-2); font:12px/1.4 var(--font-primary); }
#home .hero-chat-back { position:relative; display:flex; align-items:center; justify-content:center; gap:7px; flex-shrink:0; min-height:44px; padding:8px 16px; color:var(--text-1); background:var(--surface-1); border:1px solid var(--border); border-radius:999px; font:500 12px/1.3 var(--font-primary); cursor:pointer; }
#home .hero-chat-back:hover { color:var(--accent-secondary); }
#home .hero-chat-history { flex:1; min-height:0; overflow:auto; overscroll-behavior:contain; padding:16px; display:flex; flex-direction:column; gap:12px; scrollbar-width:thin; scrollbar-color:transparent transparent; }
#home .hero-chat-history:hover, #home .hero-chat-history:focus-within { scrollbar-color:var(--border-strong) transparent; }
#home .hero-chat-history::-webkit-scrollbar { width:5px; }
#home .hero-chat-history::-webkit-scrollbar-thumb { background:transparent; border-radius:4px; }
#home .hero-chat-history:hover::-webkit-scrollbar-thumb { background:var(--border-strong); }
#home .hero-chat-answer, #home .hero-chat-question { padding:11px 13px; border:1px solid var(--border); border-radius:15px; max-width:96%; font:14px/1.6 var(--font-primary); overflow-wrap:anywhere; }
#home .hero-chat-answer { align-self:flex-start; color:var(--text-1); background:var(--surface-2); }
#home .hero-chat-question { align-self:flex-end; color:#fff; border:0; background:linear-gradient(115deg,#4355d8,#793cdb); background-clip:border-box; }
#home .hero-chat-answer p, #home .hero-chat-question p { margin:0; }
#home .hero-chat-question p { color:#fff; }
#home .hero-chat-answer a { display:inline-flex; margin-top:8px; gap:7px; color:var(--accent-primary); font-weight:500; text-decoration:none; }
#home .hero-chat-answer a:hover { text-decoration:underline; }
#home .hero-chat-sources { display:flex; flex-wrap:wrap; gap:0 12px; font-size:12px; }
#home .hero-chat-typing { display:flex; align-items:center; justify-content:center; gap:5px; min-width:58px; min-height:44px; }
#home .hero-chat-typing span { width:6px; height:6px; border-radius:50%; background:var(--text-2); animation:hero-chat-dot 1.2s ease-in-out infinite; }
#home .hero-chat-typing span:nth-child(2) { animation-delay:.15s; }
#home .hero-chat-typing span:nth-child(3) { animation-delay:.3s; }
@keyframes hero-chat-dot { 0%,60%,100% { transform:translateY(0); opacity:.45; } 30% { transform:translateY(-3px); opacity:1; } }
#home .hero-chat-error { border-color:var(--border-strong); }
#home .hero-chat-privacy { flex-shrink:0; padding:0 12px; color:var(--text-2); font:11px/1.5 var(--font-primary); }
#home .hero-chat-privacy summary { cursor:pointer; width:max-content; padding:5px 0; }
#home .hero-chat-privacy p { position:absolute; z-index:20 !important; left:12px; right:12px; bottom:100%; max-height:180px; overflow:auto; padding:12px; margin:0 0 6px; border:1px solid var(--border-strong); border-radius:14px; background:var(--surface-1); box-shadow:0 6px 20px #0002; font:12px/1.5 var(--font-primary); color:var(--text-1); }
#home .hero-chat-suggestions { display:flex; justify-content:center; flex-wrap:wrap; gap:6px; padding:8px 12px 12px; flex-shrink:0; }
#home .hero-chat-suggestions button { min-height:40px; padding:7px 10px; border:1px solid var(--border); border-radius:999px; color:var(--text-1); background:var(--surface-0); font:12px/1.4 var(--font-primary); cursor:pointer; }
#home .hero-chat-suggestions button:hover { border-color:var(--accent-secondary); color:var(--text-0); }
#home .hero-chat-suggestions button:disabled { opacity:.5; cursor:default; }
#home .hero-chat-form { flex-shrink:0; padding:8px 12px 0; }
#home .hero-chat-composer { display:flex; align-items:flex-end; gap:8px; padding:10px; border:1px solid var(--border-strong); border-radius:16px; background:var(--surface-0); }
#home .hero-chat-composer:focus-within { border-color:var(--accent-primary); box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-primary) 18%,transparent); }
#home .hero-chat-composer textarea { width:100%; flex:1; min-width:0; min-height:44px; padding:2px; border:0; outline:none; resize:none; background:transparent; color:var(--text-0); font:14px/1.5 var(--font-primary); }
#home .hero-chat-composer textarea::placeholder { color:var(--text-2); }
#home .hero-chat-composer button { display:grid; place-items:center; flex-shrink:0; width:40px; height:40px; border:0; border-radius:50%; background:var(--accent-primary); color:#fff; cursor:pointer; }
#home .hero-chat-composer button:disabled { opacity:.35; cursor:default; }
#home :is(.hero-chat-open,.hero-chat-back,.hero-chat-suggestions button,.hero-chat-composer button,.hero-chat-answer a):focus-visible { outline:2px solid var(--accent-primary); outline-offset:3px; }
@media (min-width:901px) {
  #home .hero-visual { align-self:stretch; }
  #home .hero-portrait-stage { flex:1; height:auto; min-height:480px; }
  #home .hero-focus { flex-shrink:0; }
}
@media (max-width:900px) {
  #home .hero-portrait-stage { height:450px; }
  #home .hero-portrait-stage .hero-image-container { width:200px; height:200px; top:calc(50% - 125px); left:calc(50% - 100px); }
}
@media (max-width:640px) {
  #home .hero-portrait-stage { height:450px; }
  #home .hero-portrait-stage .hero-image-container { width:180px; height:180px; top:calc(50% - 115px); left:calc(50% - 90px); }
  #home .hero-chat-header { padding:12px 100px 12px 12px; gap:8px; }
  #home .hero-chat-history { padding:12px; }
  #home .hero-chat-composer textarea { font-size:16px; }
  #home .hero-chat-suggestions button { min-height:44px; }
  #home .hero-chat-composer button { width:44px; height:44px; }
}
@media (prefers-reduced-motion:reduce) {
  #home .hero-chat-ring { transition:none; }
  #home .hero-chat-ring::before { animation:none; }
  #home .hero-chat-typing span { animation:none; }
}
