:root{--bg:#07111f;--panel:#122036;--panel2:#0c1728;--line:#24476d;--text:#e7f1ff;--muted:#9db9dc;--cyan:#42d9ff;--green:#72ffb0;--pink:#ff5c8a;--yellow:#ffd166}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,"Microsoft Yahei",sans-serif}.layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.side{background:#081423;border-right:1px solid var(--line);padding:28px 18px;position:sticky;top:0;height:100vh;overflow:auto}.logo{font-size:27px;color:var(--cyan);font-weight:800;letter-spacing:1px;margin-bottom:28px}.nav a{display:block;color:var(--muted);text-decoration:none;padding:13px 14px;border-radius:12px;margin:6px 0;font-size:17px}.nav a:hover,.nav a.active{background:#142946;color:#fff}.main{padding:28px 34px}.hero,.card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:24px;margin-bottom:20px}.hero h1{margin:0 0 8px;font-size:34px}.muted{color:var(--muted)}.agentBox{display:flex;gap:14px;margin-top:18px}.agentBox input,.field input,.field textarea,.field select{width:100%;background:#081524;border:1px solid #2b527e;border-radius:13px;color:#fff;padding:13px 14px;font-size:15px}.agentBox input{font-size:18px}.btn{background:var(--cyan);border:0;border-radius:14px;color:#00121e;font-weight:800;padding:12px 20px;cursor:pointer}.btn.danger{background:var(--pink);color:#fff}.btn.secondary{background:#193454;color:#dff2ff;border:1px solid #2b527e}.chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.chip{background:#173154;border:1px solid #2b527e;color:#d9edff;border-radius:999px;padding:8px 14px;font-weight:700;cursor:pointer}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.stat h3{margin:0 0 22px}.stat .num{font-size:46px;color:var(--green);font-weight:900}.grid2{display:grid;grid-template-columns:1.2fr .8fr;gap:20px}.holoStage{height:620px;background:#050b13;border:1px solid var(--line);border-radius:22px;position:relative;overflow:hidden}.holoBase{position:absolute;left:50%;bottom:80px;transform:translateX(-50%);width:280px;height:70px;background:#07192b;border:1px solid #2e638d;border-radius:50%;box-shadow:0 0 35px rgba(66,217,255,.5)}.holoTube{position:absolute;left:50%;bottom:115px;transform:translateX(-50%);width:260px;height:390px;border:2px solid rgba(126,238,255,.45);border-radius:20px;background:linear-gradient(180deg,rgba(80,230,255,.08),rgba(80,230,255,.01));box-shadow:inset 0 0 45px rgba(66,217,255,.2),0 0 45px rgba(66,217,255,.25)}.avatar{position:absolute;left:50%;bottom:145px;transform:translateX(-50%);width:140px;height:270px;filter:drop-shadow(0 0 20px rgba(66,217,255,.7));transition:.35s}.avatar.speaking{animation:pulse 1s infinite}.head{width:80px;height:80px;background:radial-gradient(circle,#dffcff,#62e6ff);border-radius:50%;margin:0 auto 8px}.body{width:120px;height:155px;background:linear-gradient(180deg,#43f4ff,#1b78ff);border-radius:40px 40px 22px 22px;margin:auto}.legs{width:90px;height:45px;background:#155094;border-radius:0 0 20px 20px;margin:auto}.scan{position:absolute;left:0;right:0;height:4px;background:rgba(114,255,176,.6);box-shadow:0 0 18px var(--green);animation:scan 3s infinite}.memoryOrbit{position:absolute;inset:0}.orb{position:absolute;width:18px;height:18px;background:var(--yellow);border-radius:50%;box-shadow:0 0 20px var(--yellow)}.orb:nth-child(1){left:27%;top:32%}.orb:nth-child(2){left:70%;top:36%;background:var(--cyan);box-shadow:0 0 20px var(--cyan)}.orb:nth-child(3){left:35%;top:75%;background:var(--pink);box-shadow:0 0 20px var(--pink)}@keyframes pulse{50%{transform:translateX(-50%) scale(1.04);filter:drop-shadow(0 0 35px rgba(114,255,176,.9))}}@keyframes scan{0%{top:10%}100%{top:90%}}.panelTitle{font-size:24px;font-weight:800;margin:0 0 16px}.answer{border:1px solid #2f8cb4;background:#0b1d32;border-radius:16px;padding:18px;margin-bottom:18px}.answer h3{color:var(--cyan);margin:0 0 10px}.evidence{border-left:4px solid var(--cyan);padding:12px 14px;background:#0b1828;margin:10px 0;border-radius:10px}.step{display:flex;gap:12px;border:1px solid var(--line);background:#0b1a2d;border-radius:14px;padding:12px;margin:10px 0}.badge{min-width:32px;height:32px;border-radius:50%;background:var(--cyan);color:#00121e;display:flex;align-items:center;justify-content:center;font-weight:900}.tableWrap{overflow:auto;max-height:560px}.table{width:100%;border-collapse:collapse}.table th,.table td{border-bottom:1px solid #25496f;padding:10px;text-align:left;white-space:nowrap}.table th{color:#b9d7ff}.truncate{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.formGrid{display:grid;grid-template-columns:1fr;gap:13px}.field label{display:block;color:var(--muted);margin-bottom:7px}.adminGrid{display:grid;grid-template-columns:1.4fr .8fr;gap:20px}.status{margin-top:14px;padding:12px;border-radius:12px;background:#0b1d32;border:1px solid var(--line)}@media(max-width:900px){.layout{grid-template-columns:1fr}.side{position:relative;height:auto}.stats,.grid2,.adminGrid{grid-template-columns:1fr}.agentBox{flex-direction:column}}
:root{--avatarColor:#43f4ff}.head{position:relative;background:radial-gradient(circle,#f4feff,var(--avatarColor))}.eye{position:absolute;top:28px;width:9px;height:9px;border-radius:50%;background:#082033;box-shadow:0 0 8px rgba(0,0,0,.4)}.eye.left{left:24px}.eye.right{right:24px}.mouth{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);width:28px;height:8px;background:#0b2638;border-radius:20px;transition:.08s}.avatar.thinking .head{animation:thinkGlow 1.2s infinite}.avatar.speaking .mouth{background:#11344f}.avatar.warm .head{background:radial-gradient(circle,#fff7d4,#52e6ff)}.avatar.nostalgic .head{background:radial-gradient(circle,#fff,#69f5ff)}.avatar.careful .head,.avatar.uncertain .head{background:radial-gradient(circle,#ffe1e8,#ff5c8a)}.avatarStatus{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);font-size:13px;color:#9ddfff;background:rgba(6,17,29,.8);border:1px solid #2b527e;border-radius:999px;padding:7px 12px}.answer.danger{border-color:#ff5c8a}.metaRow{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.metaRow span,.reasons span{display:inline-block;background:#173154;border:1px solid #2b527e;border-radius:999px;padding:4px 9px;color:#d9edff;font-size:13px;margin:2px}.evidence.strong{border-left-color:#72ffb0}.evidence.medium{border-left-color:#ffd166}.evidence.weak{border-left-color:#ff5c8a}.voiceCard{background:#081524;border:1px solid #24476d;border-radius:12px;padding:12px;margin-top:12px}@keyframes thinkGlow{50%{filter:brightness(1.35);transform:scale(1.03)}}
.wideSelect{width:100%;background:#081524;border:1px solid #2b527e;border-radius:13px;color:#fff;padding:13px 14px;font-size:16px}.profilePreview{margin-top:16px}.personaCard{display:flex;gap:16px;align-items:center;background:#0b1d32;border:1px solid #24476d;border-radius:16px;padding:16px}.photoBox{width:120px;height:120px;border-radius:18px;background:#081524;border:1px solid #2b527e;display:flex;align-items:center;justify-content:center;color:#9db9dc;overflow:hidden}.photoBox img{width:100%;height:100%;object-fit:cover}.photoFace{position:absolute;left:50%;top:20px;transform:translateX(-50%);width:115px;height:135px;border-radius:26px;background-size:cover;background-position:center;opacity:0;z-index:4;border:1px solid rgba(126,238,255,.6);box-shadow:0 0 22px rgba(66,217,255,.45);transition:.3s}.photoFace.hasPhoto{opacity:.92}.photoFace.hasPhoto + .head{opacity:.25}.avatar.speaking .photoFace.hasPhoto{animation:photoSpeak 1s infinite}.avatar.thinking .photoFace.hasPhoto{animation:thinkGlow 1.2s infinite}@keyframes photoSpeak{50%{transform:translateX(-50%) scale(1.035);filter:brightness(1.22)}}pre{white-space:pre-wrap;background:#081524;border:1px solid #24476d;border-radius:14px;padding:14px;color:#dff2ff;overflow:auto}.voiceError{border-color:#ff5c8a;color:#ffdbe4}
.studioGrid{display:grid;grid-template-columns:1fr 1.15fr;gap:20px}.splitTitle{display:flex;align-items:center;justify-content:space-between;gap:14px}.twoCols{grid-template-columns:1fr 1fr}.studioActions{display:flex;align-items:center;gap:10px;margin-top:14px;flex-wrap:wrap}.personaRows{display:flex;flex-direction:column;gap:12px;max-height:680px;overflow:auto}.personaListRow{display:grid;grid-template-columns:64px 1fr auto;gap:12px;align-items:center;border:1px solid var(--line);background:#0b1d32;border-radius:16px;padding:12px;cursor:pointer}.personaListRow:hover,.personaListRow.active{border-color:var(--cyan);box-shadow:0 0 0 1px rgba(66,217,255,.25)}.miniPhoto{width:58px;height:58px;border-radius:16px;border:1px solid #2b527e;background:#081524;color:var(--cyan);display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:900;overflow:hidden}.miniPhoto img{width:100%;height:100%;object-fit:cover}.personaListBody span{font-size:14px;color:var(--muted)}.assetPanel{border:1px solid var(--line);background:#0b1d32;border-radius:16px;padding:16px;margin-bottom:18px}.assetRows{display:flex;flex-direction:column;gap:10px}.assetRow{display:flex;gap:10px;align-items:center;border-bottom:1px solid #24476d;padding:8px 0}.assetRow a{color:#dff2ff}.assetType{border-radius:999px;padding:3px 9px;font-weight:800;background:#193454}.assetType.photo{background:#244a79}.assetType.voice{background:#6b3d84}.captureGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}#cameraVideo{width:100%;max-height:260px;background:#050b13;border:1px solid var(--line);border-radius:16px;object-fit:cover}.recordBox{height:160px;border:1px solid var(--line);background:#081524;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;text-align:center;padding:16px}.recordDot{width:28px;height:28px;border-radius:50%;background:#24476d}.recordDot.on{background:#ff3366;box-shadow:0 0 24px #ff3366;animation:pulseDot 1s infinite}@keyframes pulseDot{50%{transform:scale(1.25)}}@media(max-width:1100px){.studioGrid,.captureGrid,.twoCols{grid-template-columns:1fr}}

/* v9 containment fixes: keep workflow cards inside Agent Result panel */
.agentResultCard{max-height:620px;overflow:auto;position:relative;z-index:2;scrollbar-color:#657080 #081524;}
.grid2{align-items:start;}
.holoStage{position:relative;z-index:1;}
.agentResultCard .step{position:relative;z-index:1;overflow:hidden;}
.photoFace.hasPhoto{background-color:#081524;background-repeat:no-repeat;background-size:cover;background-position:center;}
.avatarVideoHolder{position:absolute;left:24px;right:24px;bottom:16px;z-index:20;background:rgba(5,18,32,.82);border:1px solid #2bd8ff;border-radius:18px;padding:10px;box-shadow:0 0 28px rgba(67,244,255,.25)}
.avatarVideoHolder video{width:100%;max-height:220px;border-radius:12px;display:block;background:#000}
.voiceCard audio{width:100%;margin-top:8px}



/* v22 hologram avatar visual upgrade
   Goal: uploaded portrait should look like a projected 2.5D bust, not a flat sticker on the body.
   True talking-head/3D generation still requires a provider such as DeeVid/D-ID/LivePortrait. */
.holoStage{
  perspective: 900px;
  background:
    radial-gradient(circle at 50% 45%, rgba(67,244,255,.11), transparent 32%),
    radial-gradient(circle at 50% 82%, rgba(114,255,176,.10), transparent 30%),
    #050b13;
}
.holoTube{
  width: 330px;
  height: 440px;
  bottom: 118px;
  border-radius: 28px 28px 46px 46px;
  border: 1px solid rgba(126,238,255,.38);
  background:
    linear-gradient(90deg, rgba(255,255,255,.08), transparent 17%, transparent 83%, rgba(255,255,255,.08)),
    linear-gradient(180deg, rgba(80,230,255,.10), rgba(80,230,255,.015));
  box-shadow:
    inset 0 0 58px rgba(66,217,255,.18),
    inset 0 -26px 55px rgba(114,255,176,.08),
    0 0 52px rgba(66,217,255,.22);
}
.holoTube:before{
  content:"";
  position:absolute;
  inset:12px;
  border-radius:22px 22px 40px 40px;
  border:1px solid rgba(255,255,255,.055);
  background:linear-gradient(180deg, rgba(255,255,255,.04), transparent 48%, rgba(67,244,255,.045));
  pointer-events:none;
}
.scan{display:none!important;}
.holoBase{
  width:340px;height:82px;bottom:70px;
  background:radial-gradient(ellipse at center, rgba(67,244,255,.18), rgba(7,25,43,.96) 55%, rgba(4,10,18,.98));
  box-shadow:0 0 44px rgba(66,217,255,.42), inset 0 0 28px rgba(114,255,176,.10);
}
.avatar.photoMode{
  width:260px;height:365px;bottom:142px;
  transform:translateX(-50%) rotateX(5deg) rotateY(-7deg);
  transform-style:preserve-3d;
  filter:drop-shadow(0 0 26px rgba(67,244,255,.55));
}
.avatar.photoMode.speaking{animation:avatarBreathe 1.15s infinite ease-in-out;}
.avatar.photoMode.thinking{animation:avatarThink 1.4s infinite ease-in-out;}
.avatar.photoMode .photoFace{
  opacity:.98;
  width:230px;height:290px;
  top:0;left:50%;
  border-radius:42px 42px 54px 54px;
  background-size:cover;
  background-position:center top;
  border:1px solid rgba(126,238,255,.72);
  box-shadow:
    0 0 28px rgba(67,244,255,.42),
    inset 0 0 30px rgba(255,255,255,.10);
  transform:translateX(-50%) translateZ(46px);
  overflow:hidden;
}
.avatar.photoMode .photoFace:after{
  content:"";
  position:absolute;inset:0;
  border-radius:inherit;
  background:
    linear-gradient(90deg, rgba(255,255,255,.16), transparent 18%, transparent 84%, rgba(255,255,255,.10)),
    radial-gradient(circle at 50% 76%, transparent 45%, rgba(5,18,32,.28));
  mix-blend-mode:screen;
  pointer-events:none;
}
.avatar.photoMode .head,.avatar.photoMode .eye,.avatar.photoMode .mouth{display:none!important;}
.avatar.photoMode .body{
  position:absolute;left:50%;top:235px;transform:translateX(-50%) translateZ(14px);
  width:180px;height:115px;border-radius:56px 56px 34px 34px;
  background:linear-gradient(180deg, rgba(67,244,255,.82), rgba(27,120,255,.55));
  box-shadow:0 0 30px rgba(67,244,255,.35), inset 0 0 22px rgba(255,255,255,.09);
}
.avatar.photoMode .body:before{
  content:"";position:absolute;left:50%;top:-46px;transform:translateX(-50%);
  width:92px;height:56px;border-radius:42px 42px 12px 12px;
  background:linear-gradient(180deg, rgba(67,244,255,.45), rgba(27,120,255,.25));
  filter:blur(.2px);
}
.avatar.photoMode .legs{display:none!important;}
.avatar.photoMode:after{
  content:"";position:absolute;left:50%;bottom:-8px;transform:translateX(-50%) rotateX(72deg);
  width:210px;height:92px;border-radius:50%;
  background:radial-gradient(ellipse at center, rgba(67,244,255,.30), transparent 62%);
  border:1px solid rgba(67,244,255,.26);
}
.avatar.photoMode .photoDepthShadow{
  position:absolute;left:50%;top:28px;transform:translateX(-50%) translateZ(-28px) scale(.96);
}
.avatarStatus{bottom:18px;background:rgba(6,17,29,.72);backdrop-filter:blur(8px)}
.memoryOrbit .orb{opacity:.82;filter:blur(.2px)}
@keyframes avatarBreathe{50%{transform:translateX(-50%) rotateX(5deg) rotateY(7deg) scale(1.025);filter:drop-shadow(0 0 44px rgba(114,255,176,.75))}}
@keyframes avatarThink{50%{transform:translateX(-50%) rotateX(6deg) rotateY(-2deg) scale(1.015);filter:drop-shadow(0 0 36px rgba(67,244,255,.70))}}
.avatarVideoHolder{left:32px;right:32px;bottom:22px;max-height:340px;overflow:auto;}
.avatarVideoHolder video{max-height:300px;object-fit:contain;}

/* v23 MetaPerson 3D Avatar integration */
.metapersonFrameWrap{margin-top:16px;border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#050b13;height:720px;box-shadow:0 0 28px rgba(67,244,255,.12)}
.metapersonFrameWrap iframe{width:100%;height:100%;display:block;background:#050b13}
.avatarModelFields{margin-top:12px}
.avatar3dContainer{position:absolute;left:50%;bottom:102px;transform:translateX(-50%);width:360px;height:490px;z-index:8;filter:drop-shadow(0 0 30px rgba(67,244,255,.45));}
.avatar3dContainer canvas{width:100%!important;height:100%!important;display:block;}
.avatar3dLoading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#9ddfff;background:rgba(6,17,29,.78);border:1px solid #2b527e;border-radius:16px;padding:16px;text-align:center;}
.holoStage:has(.avatar3dContainer[style*="block"]) .holoTube{opacity:.72}.holoStage:has(.avatar3dContainer[style*="block"]) .holoBase{box-shadow:0 0 60px rgba(67,244,255,.50), inset 0 0 28px rgba(114,255,176,.12)}


/* v24 MetaPerson full-screen creator modal */
.metapersonModalOpen{overflow:hidden}
.metapersonFrameWrap{
  position:fixed !important;
  inset:18px !important;
  z-index:9999 !important;
  display:none;
  flex-direction:column;
  height:auto !important;
  margin:0 !important;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  background:#050b13;
  box-shadow:0 0 0 9999px rgba(2,8,16,.72),0 0 46px rgba(67,244,255,.18);
}
.metapersonFrameWrap iframe{
  width:100% !important;
  height:calc(100vh - 112px) !important;
  min-height:680px;
  display:block;
  background:#050b13;
  border:0;
}
.metapersonToolbar{
  min-height:58px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:12px 16px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#142641,#0d1828);
}
.metapersonToolbar .muted{flex:1}
.smallBtn{padding:10px 14px;font-size:14px}


/* v26: keep MetaPerson embedded and stable while devtools/browser resizes. */
body .metapersonFrameWrap{
  position:relative !important;
  left:auto !important; right:auto !important; top:auto !important; bottom:auto !important;
  z-index:auto !important;
  display:none;
  width:100%;
  height:820px !important;
  min-height:760px !important;
  margin-top:16px !important;
  border:1px solid var(--line);
  border-radius:18px;
  overflow:hidden;
  background:#050b13;
  box-shadow:0 0 28px rgba(67,244,255,.12) !important;
}
body .metapersonFrameWrap iframe{
  width:100% !important;
  height:760px !important;
  min-height:720px !important;
  display:block !important;
  border:0 !important;
  background:#050b13;
}
body .metapersonToolbar{position:relative !important; height:58px; display:flex; align-items:center; gap:14px; padding:10px 14px; border-bottom:1px solid var(--line); background:#102034;}


/* v28 MetaPerson visible progress status; keep iframe progress/model visible */
.metapersonProgress{margin:12px 0 10px;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:rgba(7,18,32,.86)}
.metapersonProgressTop{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:8px;color:var(--text)}
.metapersonProgressTop span{color:var(--muted);font-weight:600;text-align:right}
.metapersonProgressTrack{height:10px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;border:1px solid rgba(85,160,255,.22)}
.metapersonProgressBar{height:100%;border-radius:999px;background:linear-gradient(90deg,#43f4ff,#72ffb0);box-shadow:0 0 18px rgba(67,244,255,.65);transition:width .35s ease}
.smallText{font-size:13px;margin-top:8px}
body .metapersonFrameWrap{height:760px !important;min-height:700px !important;}
body .metapersonFrameWrap iframe{height:700px !important;min-height:660px !important;}


/* v31: bust-view 3D hologram stage. Show head + shoulders + chest, not head-only and not full T-pose. */
.avatar3dContainer{
  width:380px!important;
  height:500px!important;
  bottom:92px!important;
  overflow:hidden!important;
  border-radius:30px;
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 88%, transparent 100%);
  mask-image:linear-gradient(to bottom, #000 0%, #000 88%, transparent 100%);
}
.avatar3dContainer canvas{transform:translateY(-6px);}
.holoStage:has(.avatar3dContainer[style*="block"]) .holoTube{opacity:.46;width:380px;height:455px;bottom:108px;border-radius:30px;background:linear-gradient(180deg,rgba(80,230,255,.06),rgba(80,230,255,.012));}
.holoStage:has(.avatar3dContainer[style*="block"]) .holoBase{bottom:78px;width:380px;height:84px;opacity:.96;}
.holoStage:has(.avatar3dContainer[style*="block"]) .avatar{display:none!important;}
.holoStage:has(.avatar3dContainer[style*="block"]) .memoryOrbit{opacity:.62;}


/* v32: cleaner 3D bust view, crop T-pose arms, remove unused D-ID/video notice path */
.avatar3dContainer{
  width:300px!important;
  height:520px!important;
  bottom:92px!important;
  overflow:hidden!important;
  border-radius:26px;
}
.avatar3dContainer canvas{
  transform:translateY(-18px)!important;
}
.holoStage:has(.avatar3dContainer[style*="block"]) .holoTube{
  width:330px!important;
  height:470px!important;
  bottom:106px!important;
  opacity:.42!important;
}
.holoStage:has(.avatar3dContainer[style*="block"]) .holoBase{
  width:360px!important;
  height:82px!important;
  bottom:74px!important;
}
.voiceCard audio{
  width:100%;
  max-width:520px;
  margin-top:10px;
}


/* v33: natural full-body 3D avatar view. No face-only crop, no over-zoom. */
.avatar3dContainer{
  width:500px!important;
  height:620px!important;
  bottom:80px!important;
  overflow:hidden!important;
  border-radius:30px;
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 94%, transparent 100%);
  mask-image:linear-gradient(to bottom, #000 0%, #000 94%, transparent 100%);
}
.avatar3dContainer canvas{transform:none!important;}
.holoStage:has(.avatar3dContainer[style*="block"]) .holoTube{
  opacity:.50;
  width:500px;
  height:620px;
  bottom:92px;
  border-radius:34px;
  background:linear-gradient(180deg,rgba(80,230,255,.055),rgba(80,230,255,.012));
}
.holoStage:has(.avatar3dContainer[style*="block"]) .holoBase{
  bottom:66px;
  width:500px;
  height:86px;
  opacity:.96;
}
.holoStage:has(.avatar3dContainer[style*="block"]) .avatar{display:none!important;}
.holoStage:has(.avatar3dContainer[style*="block"]) .memoryOrbit{opacity:.50;}

/* v34: natural full-body stage. Keep the full figure visible with margins. */
.avatar3dContainer{
  width:430px!important;
  height:610px!important;
  bottom:84px!important;
  overflow:hidden!important;
  border-radius:30px;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 96%,transparent 100%)!important;
  mask-image:linear-gradient(to bottom,#000 0%,#000 96%,transparent 100%)!important;
}
.avatar3dContainer canvas{transform:none!important;}
.holoStage:has(.avatar3dContainer[style*="block"]) .holoTube{
  opacity:.46!important;
  width:450px!important;
  height:615px!important;
  bottom:92px!important;
  border-radius:34px!important;
  background:linear-gradient(180deg,rgba(80,230,255,.045),rgba(80,230,255,.010))!important;
}
.holoStage:has(.avatar3dContainer[style*="block"]) .holoBase{
  bottom:66px!important;
  width:460px!important;
  height:82px!important;
  opacity:.92!important;
}

/* v35: full-body GLB framing. Keep the avatar canvas inside the chamber and avoid bust crops. */
.avatar3dContainer{
  width:min(420px, 82%)!important;
  height:520px!important;
  bottom:88px!important;
  overflow:visible!important;
  border-radius:0!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
}
.avatar3dContainer canvas{transform:none!important;}
.holoStage:has(.avatar3dContainer[style*="block"]) .holoTube{
  opacity:.50!important;
  width:min(460px, 88%)!important;
  height:520px!important;
  bottom:88px!important;
  border-radius:34px!important;
  background:linear-gradient(180deg,rgba(80,230,255,.052),rgba(80,230,255,.010))!important;
}
.holoStage:has(.avatar3dContainer[style*="block"]) .holoBase{
  bottom:62px!important;
  width:min(470px, 90%)!important;
  height:86px!important;
  opacity:.95!important;
}
.holoStage:has(.avatar3dContainer[style*="block"]) .memoryOrbit{opacity:.42;}
.holoStage:has(.avatar3dContainer[style*="block"]) .avatarStatus{bottom:20px;}

/* v40 hackathon hero demo: emotional first screen, admin metrics moved below. */
body:has(.homeDemo){
  background:
    radial-gradient(circle at 34% 16%, rgba(67,244,255,.16), transparent 34%),
    radial-gradient(circle at 86% 28%, rgba(114,255,176,.10), transparent 28%),
    linear-gradient(180deg,#030710,#07111f 58%,#050a12);
}
body:has(.homeDemo) .side{
  background:rgba(4,10,18,.72);
  border-right:1px solid rgba(66,217,255,.18);
  backdrop-filter:blur(14px);
}
.homeMain{padding:28px clamp(22px,3vw,46px) 48px;}
.emotionalHero{
  min-height:calc(100vh - 56px);
  position:relative;
  overflow:hidden;
  border:1px solid rgba(90,180,255,.28);
  border-radius:8px;
  padding:clamp(22px,3vw,38px);
  background:
    linear-gradient(120deg, rgba(10,24,42,.72), rgba(5,10,18,.94)),
    radial-gradient(circle at 25% 45%, rgba(67,244,255,.12), transparent 32%);
  box-shadow:0 30px 80px rgba(0,0,0,.35), inset 0 0 70px rgba(66,217,255,.05);
}
.emotionalHero:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(255,255,255,.035), transparent 16%, transparent 84%, rgba(255,255,255,.025));
  pointer-events:none;
}
.heroIntro{position:relative;z-index:2;max-width:980px;margin-bottom:24px;}
.heroBadge{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 12px;
  border-radius:999px;
  color:#9ff4ff;
  border:1px solid rgba(66,217,255,.34);
  background:rgba(8,21,36,.72);
  font-size:13px;
  font-weight:800;
  text-transform:uppercase;
}
.heroIntro h1{
  margin:14px 0 6px;
  font-size:clamp(46px,6vw,86px);
  line-height:.95;
  letter-spacing:0;
  color:#f4fbff;
}
.heroIntro h2{
  margin:0;
  max-width:900px;
  font-size:clamp(22px,2.6vw,38px);
  line-height:1.12;
  color:#d9f3ff;
}
.heroIntro p{margin:14px 0 0;color:#9db9dc;font-size:clamp(17px,1.5vw,22px);}
.heroDemoGrid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(420px,1.08fr) minmax(360px,.92fr);
  gap:clamp(22px,3vw,36px);
  align-items:stretch;
}
.avatarHeroPanel,.demoConversationPanel{
  min-width:0;
}
.heroHoloStage{
  height:min(680px, calc(100vh - 260px));
  min-height:560px;
  border-radius:8px;
  border-color:rgba(66,217,255,.30);
  background:
    radial-gradient(circle at 50% 50%, rgba(67,244,255,.13), transparent 34%),
    radial-gradient(circle at 50% 88%, rgba(114,255,176,.12), transparent 32%),
    rgba(3,8,15,.94);
}
.heroHoloStage .avatar3dContainer{
  width:min(560px,96%)!important;
  height:calc(100% - 70px)!important;
  bottom:52px!important;
}
.heroHoloStage:has(.avatar3dContainer[style*="block"]) .holoTube{
  width:min(600px,96%)!important;
  height:calc(100% - 74px)!important;
  bottom:62px!important;
}
.heroHoloStage:has(.avatar3dContainer[style*="block"]) .holoBase{
  width:min(610px,96%)!important;
  bottom:28px!important;
}
.demoConversationPanel{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.askGrandpaCard,.heroResult,.manualAskPanel{
  border:1px solid rgba(66,217,255,.24);
  border-radius:8px;
  background:rgba(8,20,34,.78);
  box-shadow:0 18px 48px rgba(0,0,0,.25);
}
.askGrandpaCard{padding:22px;}
.askGrandpaCard span{color:#72ffb0;font-weight:900;text-transform:uppercase;font-size:13px;}
.askGrandpaCard blockquote{
  margin:12px 0 18px;
  color:#f3fbff;
  font-size:clamp(22px,2vw,30px);
  line-height:1.18;
  font-weight:850;
}
.groundedAiFlow{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:-4px 0 16px;
  padding:9px 12px;
  border:1px solid rgba(66,217,255,.22);
  border-radius:8px;
  background:rgba(4,14,25,.58);
  color:#b9d7ff;
  font-size:12px;
}
.groundedAiFlow b{
  color:#dffcff;
  font-size:12px;
  font-weight:700;
  text-transform:none;
}
.groundedAiFlow i{color:#5d85a8;font-style:normal;}
.geminiFlowStep{display:inline-flex;align-items:center;gap:7px;color:#72ffb0!important;}
.googleSpark{
  position:relative;
  width:15px;
  height:15px;
  flex:0 0 15px;
  border-radius:50%;
  background:conic-gradient(from 20deg,#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0);
  box-shadow:0 0 15px rgba(66,133,244,.34);
}
.googleSpark::after{
  content:"";
  position:absolute;
  inset:4px;
  border-radius:50%;
  background:#071522;
}
.geminiGroundingBadge{
  display:flex;
  align-items:center;
  gap:10px;
  margin:14px 0 4px;
  padding:10px 12px;
  border:1px solid rgba(114,255,176,.34);
  border-radius:8px;
  background:linear-gradient(90deg,rgba(52,168,83,.10),rgba(66,133,244,.09));
  color:#dffcff;
  font-size:12.5px;
  line-height:1.35;
}
.askGrandpaCard .geminiGroundingBadge span{
  color:inherit;
  font-size:inherit;
  font-weight:400;
  text-transform:none;
}
.geminiGroundingBadge b{color:#72ffb0;}
.geminiGroundingBadge small{
  display:block;
  margin-top:2px;
  color:#9db9dc;
  font-size:11px;
}
.responseGeminiBadge{margin:10px 0;}
@media(max-width:760px){
  .groundedAiFlow{gap:6px;font-size:10px;}
  .groundedAiFlow b{font-size:10px;}
}
.tryDemoBtn{
  width:100%;
  min-height:58px;
  font-size:20px;
  border-radius:8px;
  background:linear-gradient(90deg,#72ffb0,#42d9ff);
  box-shadow:0 0 34px rgba(66,217,255,.34),0 12px 30px rgba(0,0,0,.28);
}
.tryDemoBtn:disabled{opacity:.72;cursor:wait;}
.heroResult{padding:20px;flex:1;overflow:auto;max-height:520px;}
.emptyResult h3,.heroAnswer h3{margin:0 0 10px;font-size:28px;color:#f7fbff;}
.emptyResult p,.heroAnswer p{color:#b9d7ff;font-size:16px;line-height:1.55;}
.placeholderEvidence{display:grid;gap:10px;margin-top:18px;}
.placeholderEvidence span,.evidenceImpact h3{color:#72ffb0;font-weight:900;text-transform:uppercase;font-size:13px;}
.placeholderEvidence b{
  display:block;
  border:1px solid rgba(114,255,176,.22);
  border-radius:8px;
  padding:11px 12px;
  background:rgba(10,36,44,.55);
  color:#e9fff5;
}
.responseKicker{color:#72ffb0;text-transform:uppercase;font-weight:900;font-size:12px;margin-bottom:8px;}
.responseText{font-size:18px!important;color:#eef9ff!important;}
.heroVoiceCard{
  margin:16px 0 10px;
  border-color:rgba(66,217,255,.30);
  background:rgba(5,14,24,.68);
}
.groundingLine{
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:12px;
  color:#c7e8ff;
}
.evidenceImpact{margin-top:18px;}
.evidenceGrid{display:grid;gap:12px;margin-top:10px;}
.memoryEvidenceCard{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:12px;
  padding:14px;
  border:1px solid rgba(114,255,176,.28);
  border-radius:8px;
  background:linear-gradient(180deg,rgba(10,36,44,.78),rgba(5,15,25,.88));
  box-shadow:0 0 26px rgba(114,255,176,.10);
}
.evidenceCheck{
  width:28px;height:28px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#031016;background:#72ffb0;font-weight:900;
}
.memoryEvidenceCard h4{margin:0 0 8px;color:#f6fffb;font-size:18px;}
.memoryEvidenceCard p{margin:3px 0;color:#b9d7ff;font-size:14px;}
.manualAskPanel{padding:14px;opacity:.78;}
.manualAskPanel label{display:block;color:#9db9dc;font-size:13px;font-weight:800;margin-bottom:8px;text-transform:uppercase;}
.manualAskRow{display:grid;grid-template-columns:minmax(140px,.7fr) minmax(220px,1.3fr) auto;gap:10px;}
.manualAskRow select,.manualAskRow input{
  width:100%;
  background:#07111f;
  border:1px solid rgba(66,217,255,.22);
  color:#e7f1ff;
  border-radius:8px;
  padding:12px 13px;
}
.systemOverview{margin-top:28px;}
.sectionHeading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin:0 0 14px;}
.sectionHeading span{font-size:30px;font-weight:900;color:#f7fbff;}
.sectionHeading p{margin:0;color:#9db9dc;}
.systemOverview .stats{margin-top:0;}
.systemOverview .card{border-radius:8px;background:rgba(18,32,54,.78);}
@media(max-width:1100px){
  .heroDemoGrid{grid-template-columns:1fr;}
  .heroHoloStage{height:560px;}
  .manualAskRow{grid-template-columns:1fr;}
}

/* v41 judge mode polish: collapsed nav, retrieval sequence, larger digital human, emotional story. */
body:has(.homeDemo) .layout{grid-template-columns:92px 1fr;}
body:has(.homeDemo) .side{
  width:92px;
  padding:22px 10px;
  overflow:hidden;
  transition:width .22s ease, padding .22s ease;
}
body:has(.homeDemo) .side:hover{
  width:245px;
  padding:22px 16px;
  overflow:auto;
  z-index:20;
}
body:has(.homeDemo) .logo{
  font-size:0;
  margin-bottom:20px;
}
body:has(.homeDemo) .logo:before{
  content:"HM";
  display:flex;
  width:52px;height:52px;
  align-items:center;justify-content:center;
  border-radius:50%;
  color:#031016;
  background:linear-gradient(135deg,#72ffb0,#42d9ff);
  font-size:18px;
  font-weight:950;
}
body:has(.homeDemo) .side:hover .logo{font-size:24px;}
body:has(.homeDemo) .side:hover .logo:before{display:none;}
body:has(.homeDemo) .nav a,
.judgeNavButton{
  min-height:46px;
  display:flex;
  align-items:center;
  border-radius:8px;
}
body:has(.homeDemo) .nav a{
  justify-content:center;
  padding:12px 8px;
  font-size:0;
}
body:has(.homeDemo) .nav a:before{
  content:"";
  width:10px;height:10px;
  border-radius:50%;
  background:#42d9ff;
  box-shadow:0 0 16px rgba(66,217,255,.65);
}
body:has(.homeDemo) .side:hover .nav a{
  justify-content:flex-start;
  font-size:16px;
  padding:12px 13px;
}
body:has(.homeDemo) .side:hover .nav a:before{display:none;}
.judgeNavButton{
  width:100%;
  border:1px solid rgba(114,255,176,.36);
  background:linear-gradient(90deg,#72ffb0,#42d9ff);
  color:#02131b;
  font-weight:950;
  justify-content:center;
  cursor:pointer;
  margin-bottom:10px;
  font-size:0;
}
.judgeNavButton:before{content:"▶";font-size:18px;}
body:has(.homeDemo) .side:hover .judgeNavButton{font-size:15px;}
body:has(.homeDemo) .side:hover .judgeNavButton:before{content:"";display:none;}
.developerNav{opacity:.62;}
.heroDemoGrid{grid-template-columns:minmax(500px,1.12fr) minmax(380px,.88fr);}
.heroHoloStage{
  height:min(760px, calc(100vh - 230px));
  min-height:620px;
}
.heroHoloStage .avatar3dContainer{
  width:min(720px,112%)!important;
  height:calc(100% - 34px)!important;
  bottom:28px!important;
  filter:drop-shadow(0 0 46px rgba(67,244,255,.55)) drop-shadow(0 0 22px rgba(114,255,176,.20));
}
.heroHoloStage:has(.avatar3dContainer[style*="block"]) .holoTube{
  width:min(690px,104%)!important;
  height:calc(100% - 52px)!important;
  bottom:48px!important;
  opacity:.58!important;
}
.heroHoloStage:has(.avatar3dContainer[style*="block"]) .holoBase{
  width:min(700px,106%)!important;
  height:98px!important;
  bottom:18px!important;
}
.heroHoloStage .memoryOrbit .orb{opacity:.55;}
.demoButtonRow{display:grid;grid-template-columns:1fr .62fr;gap:12px;}
.judgeModeBtn{
  min-height:58px;
  border-radius:8px;
  background:rgba(7,17,31,.74);
  color:#dffcff;
  border:1px solid rgba(114,255,176,.38);
  box-shadow:0 0 24px rgba(114,255,176,.12);
}
.retrievalFlow{
  min-height:310px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:14px;
  border:1px solid rgba(66,217,255,.24);
  border-radius:8px;
  background:radial-gradient(circle at 50% 38%, rgba(67,244,255,.16), transparent 42%), rgba(5,14,24,.72);
}
.retrievalPulse{
  width:78px;height:78px;
  border-radius:50%;
  border:1px solid rgba(114,255,176,.38);
  background:radial-gradient(circle,#72ffb0 0 8px,rgba(114,255,176,.18) 9px,transparent 58%);
  box-shadow:0 0 34px rgba(114,255,176,.30);
  animation:retrievalPulse 1.1s infinite ease-in-out;
}
.retrievalFlow h3{margin:0;font-size:28px;color:#f5fbff;}
.retrievalFlow p{margin:0;max-width:420px;color:#9db9dc;}
.retrievalBars{display:flex;gap:8px;margin-top:8px;}
.retrievalBars span{
  width:54px;height:4px;border-radius:99px;
  background:#42d9ff;
  animation:barScan 1s infinite ease-in-out;
}
.retrievalBars span:nth-child(2){animation-delay:.14s;}
.retrievalBars span:nth-child(3){animation-delay:.28s;}
@keyframes retrievalPulse{50%{transform:scale(1.14);box-shadow:0 0 54px rgba(114,255,176,.44);}}
@keyframes barScan{50%{opacity:.28;transform:translateY(5px);}}
.judgeAnswer blockquote{
  margin:8px 0 18px;
  color:#f8fdff;
  font-size:clamp(22px,2vw,30px);
  line-height:1.35;
  font-weight:800;
}
.demoProofGrid{
  display:grid;
  gap:8px;
  margin:14px 0;
}
.demoProofGrid span{
  border:1px solid rgba(66,217,255,.20);
  background:rgba(6,17,29,.58);
  color:#dffcff;
  border-radius:8px;
  padding:10px 12px;
  font-weight:800;
}
.retrievedMemories{margin-top:18px;}
.retrievedMemories h3{
  margin:0 0 10px;
  color:#72ffb0;
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.retrievedMemoryGrid{display:grid;gap:12px;}
.retrievedMemoryCard{
  border:1px solid rgba(114,255,176,.30);
  border-radius:8px;
  background:linear-gradient(180deg,rgba(12,40,45,.82),rgba(5,15,25,.92));
  box-shadow:0 0 26px rgba(114,255,176,.12);
  animation:cardReveal .9s ease both;
  animation-delay:var(--delay,0s);
}
.retrievedMemoryCard summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 15px;
}
.retrievedMemoryCard summary::-webkit-details-marker{display:none;}
.retrievedMemoryCard summary span{color:#f8fffb;font-size:18px;font-weight:900;}
.retrievedMemoryCard summary b{color:#72ffb0;white-space:nowrap;}
.retrievedMemoryCard p{
  margin:0;
  padding:0 15px 15px;
  color:#b9d7ff;
  line-height:1.5;
}
@keyframes cardReveal{from{opacity:0;transform:translateY(18px) scale(.98);}to{opacity:1;transform:none;}}
.whyItMatters{
  margin-top:28px;
  padding:clamp(34px,5vw,74px);
  border:1px solid rgba(66,217,255,.18);
  border-radius:8px;
  background:linear-gradient(135deg,rgba(8,20,34,.78),rgba(5,9,16,.94));
}
.whyItMatters p{
  margin:0 0 8px;
  color:#9ff4ff;
  font-size:clamp(24px,3vw,42px);
  font-weight:900;
}
.whyItMatters h2{
  max-width:980px;
  margin:24px 0 0;
  color:#f7fbff;
  font-size:clamp(34px,5vw,68px);
  line-height:1.02;
  letter-spacing:0;
}
.systemOverview .stat h3{
  color:#cdefff;
  font-size:18px;
}
.systemOverview .stat .num{
  color:#72ffb0;
}
@media(max-width:1100px){
  body:has(.homeDemo) .layout{grid-template-columns:1fr;}
  body:has(.homeDemo) .side{width:auto;height:auto;position:relative;overflow:auto;}
  body:has(.homeDemo) .side:hover{width:auto;}
  body:has(.homeDemo) .nav a{font-size:15px;justify-content:flex-start;}
  body:has(.homeDemo) .nav a:before{display:none;}
  .heroDemoGrid{grid-template-columns:1fr;}
  .demoButtonRow{grid-template-columns:1fr;}
}

/* v42 type scale correction: keep the hero cinematic without shouting at the judges. */
.heroIntro{max-width:820px;margin-bottom:18px;}
.heroIntro h1{
  font-size:clamp(38px,4.2vw,64px)!important;
  line-height:1.02!important;
  margin:10px 0 6px!important;
}
.heroIntro h2{
  max-width:780px;
  font-size:clamp(19px,2vw,30px)!important;
  line-height:1.18!important;
}
.heroIntro p{
  font-size:clamp(15px,1.25vw,19px)!important;
  margin-top:10px!important;
}
.heroBadge{font-size:11px;min-height:26px;padding:5px 10px;}
.emotionalHero{padding:clamp(18px,2.4vw,30px);}
.heroDemoGrid{
  grid-template-columns:minmax(500px,1.05fr) minmax(390px,.95fr);
  gap:clamp(18px,2.4vw,30px);
}
.askGrandpaCard{padding:18px;}
.askGrandpaCard span{font-size:12px;}
.askGrandpaCard blockquote{
  font-size:clamp(18px,1.45vw,26px)!important;
  line-height:1.22!important;
  margin:10px 0 16px!important;
}
.tryDemoBtn,.judgeModeBtn{
  min-height:48px;
  font-size:16px!important;
}
.heroResult{
  padding:16px;
  max-height:440px;
}
.emptyResult h3,.heroAnswer h3{
  font-size:clamp(20px,1.55vw,26px)!important;
  line-height:1.16;
}
.responseKicker,.retrievedMemories h3{font-size:11px;}
.judgeAnswer blockquote{
  font-size:clamp(17px,1.35vw,23px)!important;
  line-height:1.34!important;
  margin:6px 0 14px!important;
  font-weight:760!important;
  max-height:7.9em;
  overflow:auto;
}
.demoProofGrid{gap:7px;margin:10px 0;}
.demoProofGrid span{
  padding:8px 10px;
  font-size:13px;
}
.heroVoiceCard{
  padding:10px 12px;
  font-size:13px;
}
.groundingLine{font-size:13px;padding-top:9px;}
.retrievedMemories{margin-top:14px;}
.retrievedMemoryGrid{gap:9px;}
.retrievedMemoryCard summary{
  padding:11px 12px;
}
.retrievedMemoryCard summary span{
  font-size:15px;
}
.retrievedMemoryCard summary b{
  font-size:13px;
}
.retrievedMemoryCard p{
  padding:0 12px 12px;
  font-size:13px;
}
.manualAskPanel{padding:12px;}
.manualAskPanel label{font-size:11px;}
.manualAskRow select,.manualAskRow input{
  padding:10px 11px;
  font-size:13px;
}
.manualAskRow .btn{padding:10px 12px;font-size:13px;}
.sectionHeading span{font-size:24px;}
.sectionHeading p{font-size:14px;}
.systemOverview .stat h3{font-size:15px;}
.systemOverview .stat .num{font-size:36px;}
.whyItMatters p{
  font-size:clamp(20px,2.1vw,34px)!important;
}
.whyItMatters h2{
  font-size:clamp(28px,3.4vw,52px)!important;
  line-height:1.08!important;
}

/* v43 final response polish + local gesture reaction. */
.gestureReactionBtn{
  width:100%;
  min-height:38px;
  margin-top:10px;
  border:1px solid rgba(66,217,255,.30);
  border-radius:8px;
  background:rgba(7,17,31,.62);
  color:#bfefff;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
}
.gestureReactionBtn:hover{border-color:#72ffb0;color:#eafff2;}
.gestureReactionBtn:disabled{opacity:.62;cursor:wait;}
.gestureStatus{
  margin-top:7px;
  color:#7898b8;
  font-size:11px;
  text-align:center;
}
.gestureVideo,.gestureCanvas{
  position:absolute;
  width:1px;height:1px;
  opacity:0;
  pointer-events:none;
}
.heroHoloStage.gestureReacting{
  box-shadow:inset 0 0 74px rgba(114,255,176,.18),0 0 34px rgba(66,217,255,.30);
}
.heroHoloStage.gestureReacting .avatar3dContainer{
  animation:gestureAvatarPulse .7s ease-in-out 2;
}
.heroHoloStage.gestureReacting .holoBase{
  animation:gestureBasePulse .75s ease-in-out 2;
}
@keyframes gestureBasePulse{50%{filter:brightness(1.45);transform:translateX(-50%) scale(1.025);}}
@keyframes gestureAvatarPulse{
  50%{filter:drop-shadow(0 0 70px rgba(114,255,176,.78)) drop-shadow(0 0 34px rgba(66,217,255,.48));}
}
.heroResult{
  max-height:none!important;
  overflow:visible!important;
  padding:16px!important;
}
.responseSurface{
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
.response-title{
  margin:4px 0 8px!important;
  color:#f4fbff!important;
  font-size:21px!important;
  line-height:1.2!important;
  font-weight:700!important;
}
.response-content{
  margin:0 0 12px!important;
  color:#dcecff!important;
  font-size:15.5px!important;
  line-height:1.6!important;
  font-weight:450!important;
}
.demoProofGrid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin:10px 0;
}
.demoProofGrid span{
  min-height:38px;
  display:flex;
  align-items:center;
  padding:7px 9px;
  font-size:11.5px;
  font-weight:650;
  line-height:1.25;
}
.heroVoiceStatus{
  padding:8px 10px;
  border-top:1px solid rgba(66,217,255,.18);
  color:#d9f3ff;
  font-size:12px;
  line-height:1.4;
}
.heroVoiceStatus audio{
  width:100%;
  height:30px;
  margin-top:6px;
}
.retrievedMemories{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(114,255,176,.16);
}
.retrievedMemoryGrid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.retrievedMemoryCard summary{
  min-height:62px;
  align-items:flex-start;
  flex-direction:column;
  gap:4px;
  padding:10px;
}
.retrievedMemoryCard summary span{
  font-size:13px;
  line-height:1.25;
}
.retrievedMemoryCard summary b{
  font-size:11px;
}
.retrievedMemoryCard p{
  padding:0 10px 10px;
  font-size:12px;
  line-height:1.4;
}
@media(max-width:1350px){
  .demoProofGrid,.retrievedMemoryGrid{grid-template-columns:1fr;}
}
@media(max-height:720px) and (min-width:1101px){
  .heroResult{max-height:430px!important;overflow:auto!important;}
}

/* v44 recording polish: tighter hero, evidence-first flow, clean 1440x900 framing. */
.heroIntro{
  max-width:760px;
  margin-bottom:14px;
}
.heroIntro h1{
  font-size:clamp(34px,3.45vw,52px)!important;
  margin:7px 0 4px!important;
}
.heroIntro h2{
  max-width:720px;
  font-size:clamp(17px,1.65vw,25px)!important;
  line-height:1.2!important;
}
.heroIntro p{
  font-size:clamp(14px,1.05vw,17px)!important;
  margin-top:7px!important;
}
.emotionalHero{padding-top:16px;}
.heroDemoGrid{gap:22px;}
.heroHoloStage .avatar3dContainer{
  animation:avatarIdleGlow 4.6s ease-in-out infinite;
}
@keyframes avatarIdleGlow{
  50%{filter:drop-shadow(0 0 52px rgba(67,244,255,.62)) drop-shadow(0 0 26px rgba(114,255,176,.25));}
}
.response-title{
  font-size:20px!important;
  font-weight:650!important;
}
.response-content{
  font-size:15px!important;
  line-height:1.58!important;
  font-weight:450!important;
}
.retrievedMemoryCard .usedInResponse{
  padding:0 10px 6px;
  color:#8fd9b1;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
}
.evidencePreview{
  min-height:230px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border-top:0;
  padding-top:0;
}
.evidencePreview h3{
  margin-bottom:12px;
  color:#72ffb0;
  font-size:14px;
}
.evidencePreview .retrievedMemoryCard{
  padding:12px;
  min-height:110px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:7px;
}
.previewMemoryTitle{
  color:#f5fffb;
  font-size:14px;
  font-weight:850;
  line-height:1.25;
}
.evidencePreview .retrievedMemoryCard b{
  color:#72ffb0;
  font-size:12px;
}
.evidencePreview .retrievedMemoryCard span{
  color:#8fd9b1;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
}
@media(min-width:1101px) and (min-height:800px){
  .emotionalHero{min-height:auto;}
  .heroHoloStage{
    height:650px;
    min-height:650px;
  }
  .askGrandpaCard{padding:14px 16px;}
  .askGrandpaCard blockquote{margin:7px 0 12px!important;}
  .tryDemoBtn,.judgeModeBtn{min-height:43px;}
  .gestureReactionBtn{min-height:34px;margin-top:7px;}
  .gestureStatus{margin-top:4px;}
  .heroResult{padding:14px!important;}
  .manualAskPanel{padding:9px 11px;}
}

/* v45 Family Memory Timeline: judge-facing archive with CRUD preserved below. */
.crudActions{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap;}
.memoryTimelinePage{
  background:
    radial-gradient(circle at 72% 4%,rgba(66,217,255,.09),transparent 28%),
    radial-gradient(circle at 42% 40%,rgba(114,255,176,.045),transparent 32%),
    #06101c;
}
.memoryTimelinePage .main{
  width:100%;
  min-width:0;
  max-width:1640px;
  margin:0 auto;
  padding:30px clamp(24px,3vw,54px) 64px;
}
.memoryTimelineHero{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(410px,.8fr);
  gap:34px;
  align-items:end;
  padding:34px 0 32px;
  border-bottom:1px solid rgba(66,217,255,.22);
}
.memoryEyebrow{
  display:block;
  margin-bottom:10px;
  color:var(--green);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.memoryHeroCopy h1{
  margin:0;
  color:#f4fbff;
  font-size:clamp(38px,4.2vw,68px);
  line-height:1;
  letter-spacing:0;
}
.memoryHeroCopy p{
  max-width:790px;
  margin:18px 0 0;
  color:#a9c7e6;
  font-size:clamp(16px,1.25vw,20px);
  line-height:1.55;
}
.memorySummary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border:1px solid rgba(66,217,255,.25);
  background:rgba(8,21,36,.74);
  box-shadow:0 18px 60px rgba(0,0,0,.22),inset 0 0 30px rgba(66,217,255,.035);
}
.memorySummary div{
  min-width:0;
  padding:18px;
  border-right:1px solid rgba(66,217,255,.12);
  border-bottom:1px solid rgba(66,217,255,.12);
}
.memorySummary div:nth-child(2n){border-right:0;}
.memorySummary div:nth-last-child(-n+2){border-bottom:0;}
.memorySummary strong{
  display:block;
  overflow-wrap:anywhere;
  color:#f2fffa;
  font-size:18px;
  line-height:1.2;
}
.memorySummary span{
  display:block;
  margin-top:5px;
  color:#7697b7;
  font-size:11px;
  line-height:1.35;
}
.timelineSection{padding:38px 0 18px;}
.timelineHeading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:30px;
  margin-bottom:26px;
}
.timelineHeading h2,.flowIntro h2{
  margin:0;
  color:#f2f8ff;
  font-size:clamp(25px,2.5vw,38px);
  line-height:1.15;
}
.timelineHeading>p{
  max-width:470px;
  margin:0;
  color:#87a6c5;
  font-size:14px;
  line-height:1.55;
  text-align:right;
}
.familyMemoryTimeline{
  position:relative;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 44px;
  padding:4px 0 4px 34px;
}
.familyMemoryTimeline:before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:10px;
  width:2px;
  background:linear-gradient(180deg,rgba(114,255,176,.12),var(--cyan) 18%,var(--green) 82%,rgba(114,255,176,.12));
  box-shadow:0 0 18px rgba(66,217,255,.65);
}
.familyMemoryCard{
  position:relative;
  min-width:0;
  min-height:222px;
  padding:20px;
  overflow:visible;
  border:1px solid rgba(66,217,255,.28);
  border-radius:8px;
  background:
    linear-gradient(135deg,rgba(16,36,58,.96),rgba(7,18,31,.94)),
    #0b1a2c;
  box-shadow:0 15px 38px rgba(0,0,0,.22),inset 0 0 30px rgba(66,217,255,.035);
  animation:memoryCardIn .45s ease both;
  animation-delay:var(--timeline-delay);
}
.familyMemoryCard:after{
  content:"";
  position:absolute;
  right:12px;
  bottom:12px;
  width:70px;
  height:70px;
  border:1px solid rgba(114,255,176,.12);
  border-radius:50%;
  box-shadow:0 0 45px rgba(114,255,176,.08);
}
.familyMemoryCard:hover{
  border-color:rgba(114,255,176,.55);
  box-shadow:0 18px 46px rgba(0,0,0,.28),0 0 26px rgba(66,217,255,.10);
}
.timelineNode{
  position:absolute;
  left:-31px;
  top:28px;
  width:15px;
  height:15px;
  padding:3px;
  border:1px solid var(--cyan);
  border-radius:50%;
  background:#06101c;
  box-shadow:0 0 16px rgba(66,217,255,.7);
}
.timelineNode span{
  display:block;
  width:100%;
  height:100%;
  border-radius:50%;
  background:var(--green);
}
.memoryCardTop,.memoryCardFooter{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.memoryFormatBadge,.memoryStatusBadge,.groundingBadge{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:5px 9px;
  border:1px solid rgba(66,217,255,.32);
  border-radius:999px;
  background:rgba(66,217,255,.08);
  color:#aeeeff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.memoryStatusBadge{
  border-color:rgba(114,255,176,.28);
  background:rgba(114,255,176,.07);
  color:#94ffc0;
}
.familyMemoryCard h3{
  margin:20px 0 8px;
  color:#f7fbff;
  font-size:22px;
  line-height:1.2;
  overflow-wrap:anywhere;
}
.memoryPlaceDate{
  color:#85cfe0;
  font-size:12px;
  font-weight:700;
  line-height:1.4;
}
.memoryPlaceDate span{
  display:inline-block;
  width:3px;
  height:3px;
  margin:0 7px 3px;
  border-radius:50%;
  background:var(--green);
}
.familyMemoryCard p{
  position:relative;
  z-index:1;
  margin:17px 0 22px;
  color:#acc4dc;
  font-size:14px;
  line-height:1.55;
}
.memoryCardFooter{
  position:relative;
  z-index:1;
  padding-top:13px;
  border-top:1px solid rgba(66,217,255,.13);
  color:#8ba8c4;
  font-size:11px;
}
.memoryCardFooter b{color:#e5f5ff;text-transform:capitalize;}
.groundingBadge{
  min-height:auto;
  padding:0;
  border:0;
  background:transparent;
  color:#72ffb0;
  letter-spacing:0;
  text-transform:none;
}
.type-audio,.type-voice{border-color:rgba(197,130,255,.34);}
.type-photo{border-color:rgba(66,217,255,.38);}
.type-diary,.type-event,.type-note{border-color:rgba(255,209,102,.30);}
.type-video{border-color:rgba(255,92,138,.30);}
.type-chat{border-color:rgba(114,255,176,.35);}
.timelineLoading,.timelineEmpty{
  grid-column:1/-1;
  min-height:220px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(66,217,255,.18);
  color:#89abc9;
  text-align:center;
}
.timelineLoading span{
  width:30px;
  height:30px;
  border:2px solid rgba(66,217,255,.2);
  border-top-color:var(--cyan);
  border-radius:50%;
  animation:memorySpin .8s linear infinite;
}
.timelineEmpty b{color:#edf8ff;font-size:20px;}
.timelineEmpty p{margin:8px 0 0;}
.memoryAnswerFlow{
  display:grid;
  grid-template-columns:minmax(250px,.65fr) minmax(620px,1.35fr);
  gap:34px;
  align-items:center;
  margin-top:38px;
  padding:28px;
  border:1px solid rgba(114,255,176,.2);
  border-radius:8px;
  background:rgba(9,23,39,.74);
}
.flowIntro p{
  margin:11px 0 0;
  color:#85a4c2;
  font-size:13px;
}
.answerFlowSteps{
  display:grid;
  grid-template-columns:1fr 34px 1fr 34px 1fr 34px 1fr;
  align-items:center;
}
.answerFlowStep{
  min-height:112px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:15px;
  border:1px solid rgba(66,217,255,.20);
  background:#09192a;
  text-align:center;
}
.answerFlowStep b{
  margin-bottom:8px;
  color:var(--green);
  font-size:11px;
}
.answerFlowStep span{
  color:#e4f2ff;
  font-size:13px;
  font-weight:800;
  line-height:1.35;
}
.answerFlowSteps i{
  position:relative;
  height:1px;
  background:linear-gradient(90deg,var(--cyan),var(--green));
}
.answerFlowSteps i:after{
  content:"";
  position:absolute;
  right:0;
  top:-3px;
  width:7px;
  height:7px;
  border-top:1px solid var(--green);
  border-right:1px solid var(--green);
  transform:rotate(45deg);
}
.developerView{
  margin-top:38px;
  border:1px solid rgba(66,217,255,.18);
  border-radius:8px;
  background:rgba(7,17,31,.72);
}
.developerView>summary{
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 22px;
  cursor:pointer;
  list-style:none;
}
.developerView>summary::-webkit-details-marker{display:none;}
.developerView>summary span:first-child{display:flex;flex-direction:column;gap:4px;}
.developerView>summary b{color:#eff8ff;font-size:18px;}
.developerView>summary small{color:#728fac;font-size:11px;}
.developerViewButton{
  padding:9px 13px;
  border:1px solid #2b527e;
  border-radius:6px;
  color:#b8d9f7;
  font-size:12px;
  font-weight:800;
}
.developerView[open] .developerViewButton{font-size:0;}
.developerView[open] .developerViewButton:after{content:"Hide raw memory table";font-size:12px;}
.developerViewBody{
  padding:0 18px 18px;
  border-top:1px solid rgba(66,217,255,.12);
}
.developerViewBody .adminGrid{margin-top:18px;}
.developerViewBody .card{border-radius:8px;background:#0b192b;}
@keyframes memoryCardIn{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
@keyframes memorySpin{to{transform:rotate(360deg);}}
@media(max-width:1200px){
  .memoryTimelineHero{grid-template-columns:1fr;}
  .memorySummary{max-width:760px;}
  .memoryAnswerFlow{grid-template-columns:1fr;}
}
@media(max-width:900px){
  .memoryTimelinePage .main{padding:22px 18px 48px;}
  .memoryTimelineHero{padding-top:14px;}
  .timelineHeading{align-items:flex-start;flex-direction:column;}
  .timelineHeading>p{text-align:left;}
  .familyMemoryTimeline{grid-template-columns:1fr;}
  .answerFlowSteps{grid-template-columns:1fr;}
  .answerFlowSteps i{width:1px;height:22px;margin:auto;background:linear-gradient(var(--cyan),var(--green));}
  .answerFlowSteps i:after{right:-3px;top:auto;bottom:0;transform:rotate(135deg);}
}
@media(max-width:560px){
  .memorySummary{grid-template-columns:1fr;}
  .memorySummary div{border-right:0;border-bottom:1px solid rgba(66,217,255,.12)!important;}
  .memorySummary div:last-child{border-bottom:0!important;}
  .familyMemoryTimeline{padding-left:26px;}
  .timelineNode{left:-23px;}
  .memoryCardFooter{align-items:flex-start;flex-direction:column;}
  .developerView>summary{align-items:flex-start;flex-direction:column;}
}

/* v46 Devpost product views: Persona Studio + repaired Memory Timeline. */
.personaShowcasePage{
  background:
    radial-gradient(circle at 66% 0,rgba(66,217,255,.08),transparent 28%),
    radial-gradient(circle at 34% 42%,rgba(114,255,176,.045),transparent 34%),
    #06101c;
}
.personaShowcasePage .main{
  width:100%;
  min-width:0;
  max-width:1640px;
  margin:0 auto;
  padding:30px clamp(24px,3vw,54px) 64px;
}
.personaShowcaseHero{
  padding:18px 0 28px;
  border-bottom:1px solid rgba(66,217,255,.20);
}
.productEyebrow{
  display:block;
  margin-bottom:9px;
  color:var(--green);
  font-size:11px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.personaShowcaseHero h1{
  margin:0;
  color:#f5fbff;
  font-size:clamp(38px,4vw,64px);
  line-height:1;
}
.personaShowcaseHero p{
  margin:14px 0 0;
  color:#a9c7e6;
  font-size:clamp(16px,1.2vw,20px);
}
.personaProductGrid{
  display:grid;
  grid-template-columns:1.05fr .95fr 1fr;
  gap:18px;
  padding:28px 0 20px;
}
.personaProductColumn{
  min-width:0;
  min-height:500px;
  padding:22px;
  border:1px solid rgba(66,217,255,.28);
  border-radius:8px;
  background:linear-gradient(145deg,rgba(17,37,59,.96),rgba(7,18,31,.96));
  box-shadow:0 18px 46px rgba(0,0,0,.22),inset 0 0 36px rgba(66,217,255,.035);
}
.identityColumn{border-color:rgba(114,255,176,.34);}
.groundingColumn{border-color:rgba(114,255,176,.28);}
.productColumnLabel{
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:18px;
  color:#dceeff;
  font-size:13px;
  font-weight:850;
  text-transform:uppercase;
}
.productColumnLabel span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:27px;
  height:27px;
  border:1px solid rgba(114,255,176,.42);
  border-radius:50%;
  color:var(--green);
  font-size:10px;
}
.featuredPersonaPortrait{
  position:relative;
  height:238px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid rgba(66,217,255,.24);
  border-radius:7px;
  background:
    radial-gradient(circle at 50% 40%,rgba(66,217,255,.23),transparent 32%),
    linear-gradient(180deg,#0b2235,#07111e);
  background-size:cover;
  background-position:center 20%;
  color:#cfffff;
  font-size:68px;
  font-weight:900;
}
.featuredPersonaPortrait.hasFeaturedPhoto>span{opacity:0;}
.portraitGlow{
  position:absolute;
  left:12%;
  right:12%;
  bottom:-32px;
  height:76px;
  border-radius:50%;
  background:rgba(114,255,176,.20);
  filter:blur(18px);
}
.featuredPersonaHeading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:16px;
  margin-top:18px;
}
.readyBadge{
  display:block;
  margin-bottom:4px;
  color:var(--green);
  font-size:9px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.featuredPersonaHeading h2{
  margin:0;
  color:#f7fbff;
  font-size:27px;
}
.personaLiveDot{
  position:relative;
  padding-left:13px;
  color:#8fffb9;
  font-size:11px;
  font-weight:800;
}
.personaLiveDot:before{
  content:"";
  position:absolute;
  left:0;
  top:4px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 10px var(--green);
}
.personaDescriptor{
  margin:7px 0 16px;
  color:#91aec9;
  font-size:13px;
  line-height:1.5;
}
.showcaseMetric{
  display:flex;
  flex-direction:column;
  gap:5px;
  padding:13px 14px;
  border-left:2px solid var(--green);
  background:rgba(114,255,176,.055);
}
.showcaseMetric span{color:#7c9ab7;font-size:10px;text-transform:uppercase;}
.showcaseMetric b{color:#eafff2;font-size:14px;}
.voiceWave{
  height:105px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:30px 0 34px;
  border-bottom:1px solid rgba(66,217,255,.14);
}
.voiceWave i{
  width:6px;
  height:26px;
  border-radius:6px;
  background:linear-gradient(var(--cyan),var(--green));
  box-shadow:0 0 12px rgba(66,217,255,.40);
}
.voiceWave i:nth-child(2),.voiceWave i:nth-child(8){height:48px;}
.voiceWave i:nth-child(3),.voiceWave i:nth-child(7){height:72px;}
.voiceWave i:nth-child(4),.voiceWave i:nth-child(6){height:92px;}
.voiceWave i:nth-child(5){height:58px;}
.productFeature{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:14px;
  padding:17px 0;
  border-bottom:1px solid rgba(66,217,255,.12);
}
.featureIcon,.flowSymbol{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border:1px solid rgba(66,217,255,.40);
  border-radius:50%;
  background:rgba(66,217,255,.08);
  color:#bdf2ff;
  font-size:12px;
  font-weight:900;
}
.productFeature small{display:block;color:#72ffb0;font-size:9px;font-weight:900;text-transform:uppercase;}
.productFeature strong{display:block;margin-top:4px;color:#eff8ff;font-size:15px;}
.productFeature p{margin:6px 0 0;color:#829fbc;font-size:12px;line-height:1.45;}
.groundingCount{
  display:flex;
  align-items:end;
  gap:12px;
  margin:24px 0 26px;
  padding-bottom:20px;
  border-bottom:1px solid rgba(114,255,176,.17);
}
.groundingCount strong{color:var(--green);font-size:58px;line-height:.8;}
.groundingCount span{color:#dff8e9;font-size:14px;font-weight:800;}
.groundingMemory{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  margin:10px 0;
  padding:14px;
  border:1px solid rgba(66,217,255,.17);
  background:rgba(7,23,38,.74);
}
.groundingMemory b{color:#e8f5ff;font-size:13px;}
.groundingMemory span{color:#79a3bf;font-size:10px;white-space:nowrap;}
.groundingMetric{margin-top:18px;}
.personaCreationFlow{
  display:grid;
  grid-template-columns:minmax(270px,.65fr) minmax(680px,1.35fr);
  gap:34px;
  align-items:center;
  margin:8px 0 28px;
  padding:24px;
  border:1px solid rgba(66,217,255,.20);
  border-radius:8px;
  background:rgba(8,21,36,.72);
}
.personaCreationFlow h2{margin:0;color:#eff8ff;font-size:24px;line-height:1.2;}
.personaFlowSteps{
  display:grid;
  grid-template-columns:1fr 26px 1fr 26px 1fr 26px 1fr 26px 1fr;
  align-items:center;
}
.personaFlowSteps>div{
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:9px;
  color:#cfe4f5;
  font-size:11px;
  text-align:center;
}
.personaFlowSteps .flowSymbol{width:42px;height:42px;}
.personaFlowSteps .flowFinal .flowSymbol{
  border-color:var(--green);
  color:#dffff0;
  box-shadow:0 0 20px rgba(114,255,176,.18);
}
.personaFlowSteps i{
  position:relative;
  height:1px;
  background:linear-gradient(90deg,var(--cyan),var(--green));
}
.personaFlowSteps i:after{
  content:"";
  position:absolute;
  right:0;
  top:-3px;
  width:7px;
  height:7px;
  border-top:1px solid var(--green);
  border-right:1px solid var(--green);
  transform:rotate(45deg);
}
.studioDisclosure{
  margin-top:16px;
  border:1px solid rgba(66,217,255,.18);
  border-radius:8px;
  background:rgba(7,17,31,.75);
}
.studioDisclosure>summary{
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:17px 22px;
  cursor:pointer;
  list-style:none;
}
.studioDisclosure>summary::-webkit-details-marker{display:none;}
.studioDisclosure>summary span:first-child{display:flex;flex-direction:column;gap:4px;}
.studioDisclosure>summary b{color:#eff8ff;font-size:18px;}
.studioDisclosure>summary small{color:#728fac;font-size:11px;}
.disclosureButton{
  padding:9px 13px;
  border:1px solid #2b527e;
  border-radius:6px;
  color:#b8d9f7;
  font-size:12px;
  font-weight:800;
}
.studioDisclosure[open] .disclosureButton{font-size:0;}
.studioDisclosure[open] .disclosureButton:after{content:"Close section";font-size:12px;}
.studioDisclosureBody{padding:18px;border-top:1px solid rgba(66,217,255,.12);}
.studioDisclosureBody .card{border-radius:8px;background:#0b192b;}

.memoryTimelinePage .memorySummary{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  border:0;
  background:transparent;
  box-shadow:none;
}
.memoryTimelinePage .memorySummary div{
  min-width:145px;
  flex:1 1 145px;
  padding:14px 16px;
  border:1px solid rgba(66,217,255,.26)!important;
  border-radius:999px;
  background:rgba(9,25,42,.78);
}
.memoryTimelinePage .memorySummary strong{
  display:inline;
  margin-right:6px;
  color:#f4fbff;
  font-size:15px;
}
.memoryTimelinePage .memorySummary span{
  display:inline;
  margin:0;
  color:#91b1ce;
  font-size:12px;
}
.memoryTimelinePage .familyMemoryCard{border-radius:10px;}
.memoryTimelinePage .familyMemoryCard h3{font-size:21px;line-height:1.3;}
.memoryTimelinePage .familyMemoryCard p{font-size:15px;line-height:1.6;}
.memoryTimelinePage .memoryCardFooter{gap:14px;line-height:1.4;}
.memoryTimelinePage .memoryFormatBadge,
.memoryTimelinePage .memoryStatusBadge{margin:0;line-height:1.2;}

@media(max-width:1200px){
  .personaProductGrid{grid-template-columns:1fr 1fr;}
  .groundingColumn{grid-column:1/-1;min-height:auto;}
  .personaCreationFlow{grid-template-columns:1fr;}
}
@media(max-width:900px){
  .personaShowcasePage .main{padding:22px 18px 48px;}
  .personaProductGrid{grid-template-columns:1fr;}
  .groundingColumn{grid-column:auto;}
  .personaProductColumn{min-height:auto;}
  .personaFlowSteps{grid-template-columns:1fr;}
  .personaFlowSteps i{width:1px;height:20px;margin:auto;background:linear-gradient(var(--cyan),var(--green));}
  .personaFlowSteps i:after{right:-3px;top:auto;bottom:0;transform:rotate(135deg);}
}
