/* Real content in the approved Memory Space visual language. */
.capture-orb-surface {transform-origin:832px 453px;animation:capture-core-turn 110s linear infinite}
@keyframes capture-core-turn {to{transform:rotate(360deg)}}
.motion-paused .capture-orb-surface {animation-play-state:paused}
.release-world-art {position:fixed;inset:0;pointer-events:none;opacity:.55;z-index:0}
.release-world-art svg {width:100%;height:100%}
.app-shell {position:relative;z-index:1}
.memory-original-photo {display:block;width:min(100%,420px);max-height:320px;object-fit:contain;border-radius:var(--ds-radius-md);border:1px solid var(--ds-border-strong);margin:18px 0;box-shadow:var(--ds-glow-important)}
.search-located .memory-original-photo {transform:translateY(-4px);box-shadow:var(--ds-glow-core);transition:transform var(--ds-duration-reveal)}
.memory-original-audio {display:block;width:100%;max-width:420px;margin:16px 0;color-scheme:dark}
.photo-pending {display:block;margin:6px auto 12px;font-size:11px;color:var(--ds-text-muted)}
.media-dialog,.profile-dossier {width:min(660px,calc(100vw - 32px));padding:30px;border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-lg);background:var(--ds-bg-depth);color:var(--ds-text-primary);max-height:90svh;overflow:auto}
.media-dialog h2,.profile-dossier h2 {font:26px var(--ds-font-display);color:var(--ds-accent-memory-soft)}
.media-dialog p,.profile-dossier p {color:var(--ds-text-secondary);font:13px/1.8 var(--ds-font-ui)}
.media-dialog label,.profile-dossier label {display:grid;gap:9px;margin:18px 0;font-size:13px;color:var(--ds-text-secondary)}
.media-dialog textarea,.profile-dossier textarea {width:100%;padding:12px;line-height:1.8;background:var(--ds-surface-glass);border:1px solid var(--ds-border-strong);border-radius:var(--ds-radius-sm);color:var(--ds-text-primary);resize:vertical}
.photo-original {width:100%;max-height:300px;object-fit:contain;border-radius:var(--ds-radius-sm)}
.media-actions {display:flex;gap:10px;flex-wrap:wrap}.media-actions button {padding:12px 18px}
.photo-drafts {display:grid;grid-template-columns:1fr 1fr;gap:14px}.photo-drafts button {padding:10px;color:var(--ds-text-secondary);background:var(--ds-surface-glass)}
.photo-drafts img {display:block;width:100%;height:140px;object-fit:cover;margin-bottom:8px;border-radius:var(--ds-radius-sm)}
.profile-space .profile-hero {padding:0;width:100%;max-width:none;margin:0 auto 32px;min-height:0;height:auto;overflow:visible}
.profile-people {grid-column:1/-1;min-width:0}
.personal-orbit {position:relative;width:min(100%,680px);aspect-ratio:600/340;margin:auto}
.personal-orbit-line {position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.personal-orbit-line path {fill:none;stroke:var(--ds-accent-memory);stroke-width:.7;opacity:.5;filter:drop-shadow(0 0 3px var(--ds-accent-memory))}
.personal-orbit-line .memory-flow {stroke-width:1.5;opacity:1}
.personal-avatar {position:absolute;left:50%;top:27%;width:24%;aspect-ratio:1;transform:translate(-50%,-50%);border:1px solid var(--ds-accent-memory);border-radius:50%;padding:0;background:radial-gradient(circle,var(--ds-bg-depth),var(--ds-surface-elevated));box-shadow:var(--ds-glow-core);color:var(--ds-accent-memory-soft)}
.personal-avatar img {width:100%;height:100%;border-radius:50%;object-fit:cover}.personal-avatar>span {font:clamp(22px,4vw,42px) var(--ds-font-display)}
.personal-avatar small {position:absolute;bottom:9%;left:12%;right:12%;font-size:10px;background:var(--ds-bg-depth);border-radius:var(--ds-radius-round);opacity:0}.personal-avatar:hover small,.personal-avatar:focus-visible small {opacity:1}
.personal-avatar .graph-node-halo {inset:-30%;pointer-events:none}
.personal-orbit h1 {position:absolute;top:48%;left:20%;width:60%;margin:0;font:clamp(22px,3vw,32px) var(--ds-font-display);color:var(--ds-accent-memory-soft)}
.personal-orbit>p {position:absolute;top:62%;left:20%;width:60%;font-size:11px;color:var(--ds-text-muted);margin:0}
.personal-role {position:absolute;transform:translate(-50%,-50%);width:12%;aspect-ratio:1;border-radius:50%;border:1px solid var(--ds-border-strong);background:radial-gradient(circle,var(--ds-surface-elevated),var(--ds-bg-depth));box-shadow:var(--ds-glow-important);padding:0;color:var(--ds-accent-memory-soft)}
.personal-role .graph-node-halo {inset:-35%;pointer-events:none}.personal-role>span {position:absolute;left:50%;top:110%;transform:translateX(-50%);width:140px;font:12px/1.5 var(--ds-font-display);text-wrap:balance}
.personal-role::after {content:'✧';font:22px var(--ds-font-display)}
.personal-people-grid {display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:20px 0 32px}.personal-person {display:flex;align-items:center;text-align:left;gap:16px;background:var(--ds-surface-glass);border:1px solid var(--ds-border-subtle);border-radius:var(--ds-radius-md);padding:18px;color:var(--ds-text-primary)}
.personal-person strong {font:18px var(--ds-font-display)}.personal-person small {display:block;color:var(--ds-text-muted);font-size:11px;margin-top:8px}.personal-person>span:last-child {margin-left:auto;color:var(--ds-accent-memory-soft)}
.person-mark {display:grid;place-items:center;width:46px;height:46px;flex-shrink:0;border-radius:50%;border:1px solid var(--ds-border-strong);color:var(--ds-accent-memory-soft);box-shadow:var(--ds-glow-important)}
.profile-people .section-title small {font-size:11px;color:var(--ds-text-muted)}
.profile-save-status {font-size:12px;min-height:20px}
@media(min-width:960px){
  .app-header,body:has(.capture-home.active) .app-header {position:fixed;inset:0 0 auto;background:transparent;border:0;backdrop-filter:none;pointer-events:none}.app-header button,.app-header a {pointer-events:auto}
  .app-shell {padding-top:110px;min-height:100svh}.bottom-nav {background:transparent!important}
  .has-profile .capture-home {min-height:calc(100svh - 180px)}
  .capture-home-copy {padding-top:0}.capture-home-copy h1 {font-size:34px}
  #record-button.voice-orb {width:min(380px,43svh);margin:8px auto 24px}
  .memory-capture-controls {margin-top:0}.memory-capture-controls button {max-width:180px}
  .memory-timeline-active .app-shell {padding-top:110px}
}
@media(max-width:600px){.personal-people-grid {grid-template-columns:1fr}.personal-role>span {width:86px;font-size:10px}.personal-orbit>p {font-size:9px}.memory-capture-controls {gap:7px}.memory-capture-controls button {font-size:12px;gap:5px}.media-dialog,.profile-dossier {padding:22px}.media-actions button {flex:1}.photo-drafts {grid-template-columns:1fr}}
.motion-paused .search-located .memory-original-photo {transform:none}
