/* Distinct circular Core / permission research, over the shared IBEN GRID stage. */
body[data-project=moi-numerique] .back-stage { background:radial-gradient(ellipse at 50% 26%,#103236,#030b11 70%); }
body[data-project=moi-numerique] .back-header p { max-width:70%; }
.self-core-projection { top:16%; height:21%; left:12%; right:12%; padding:0; border-radius:40% 40% 12% 12%; border-color:#6ae1d950; }
.self-core-network { position:relative; min-width:720px; height:150px; }
.self-core-links { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.self-core-links line { stroke:#7eced752; stroke-width:1; stroke-dasharray:8 12; animation:self-data-flow 5s linear infinite; }
.self-core-links line.is-active { stroke:#d3ffff; stroke-width:2; }
.self-core-heart { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:9rem; padding:.4rem; border:1px solid #7be6e9; border-radius:50%; text-align:center; background:radial-gradient(#246069,#06151e); box-shadow:0 0 20px #55e6e630; font:.875rem/1.5 monospace; animation:self-core-pulse 4s ease-in-out infinite; }
.self-core-heart small { display:block; font-size:.75rem; color:#9ed4d9; }
.self-core-network button { position:absolute; transform:translate(-50%,-50%); min-height:44px; width:7rem; font-size:.875rem; background:#071a20ed; border-radius:1rem; }
.self-core-network button[aria-pressed=true] { border-color:#e4ffff; background:#12353c; }
.self-core-projection.is-core-initializing .self-core-network [data-core-material] { opacity:0; filter:blur(5px); }
.self-core-projection .self-core-network [data-core-material] { transition:opacity .55s ease,filter .55s ease,transform .55s ease; }
.self-core-projection.is-core-initializing .self-core-heart[data-core-material] { transform:translate(-50%,-50%) scale(.82); }
.self-core-projection.is-core-initializing .self-core-network [data-core-material].is-materialized { opacity:1; filter:blur(0); }
.self-core-projection.is-core-initializing .self-core-heart[data-core-material].is-materialized { transform:translate(-50%,-50%) scale(1); }
.self-core-projection.is-core-online .self-core-network [data-core-material] { opacity:1; filter:none; }
.self-avatar-connection { font:.75rem/1.5 monospace; color:#c7f9f9!important; }
.self-autonomy-projection { top:18%; height:19%; left:13%; right:13%; }
.self-permission-banner { margin:0 0 .6rem; color:#a3e2e5; font:.875rem/1.5 monospace; }
.self-autonomy-chain { display:flex; align-items:center; flex-wrap:wrap; gap:.5rem; }
.self-autonomy-chain span { font:.875rem/1.5 monospace; padding:.4rem; border-bottom:1px solid #547582; }
.self-autonomy-chain span+span::before { content:'→ '; color:#738c97; }
.self-autonomy-projection[data-permission=authorized-preview] [data-self-stage="AUTHORIZED ACTIONS"] { color:#deffff; border-color:#aaf5f5; background:#153b44; }
.self-autonomy-projection[data-permission=blocked] [data-self-stage="AUTHORIZED ACTIONS"] { color:#ffb485; border-color:#b97450; }
.self-missions,.self-permission-controls { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.6rem; }
.self-missions button,.self-permission-controls button { font-size:.875rem; }
.self-missions button[aria-pressed=true] { border-color:#d2ffff; }
.self-mission-result,.self-world-link { color:#a2c1cb; font:.875rem/1.6 monospace; }
body[data-back-view=digital-core] .room-scene > :is(.project-wall,.prompt-nav,.briefing-controls,.prompt-status),body[data-back-view=autonomy-lab] .room-scene > :is(.project-wall,.prompt-nav,.briefing-controls,.prompt-status),body[data-back-view=digital-core] [data-journey-status],body[data-back-view=autonomy-lab] [data-journey-status] { visibility:hidden; pointer-events:none; }
body[data-back-view=project] .self-core-links line,body[data-back-view=project] .self-core-heart { animation-play-state:paused; }
@keyframes self-data-flow { to { stroke-dashoffset:-100; } }
@keyframes self-core-pulse { 50% { box-shadow:0 0 30px #65efff45; } }
@media(max-width:760px){
  .self-core-projection { left:5%; right:5%; top:18%; height:19%; border-radius:1rem; }
  .self-core-network { min-width:720px; height:150px; }
  .self-core-network button { width:6.5rem; font-size:.875rem; }
  .self-autonomy-projection { left:5%; right:5%; }
  body[data-project=moi-numerique] .back-header p { max-width:100%; font-size:.75rem; }
}
@media(prefers-reduced-motion:reduce){.self-core-links line,.self-core-heart { animation:none; }}
