.profile-photo { position: absolute; right: 8%; top: 12%; width: 420px; height: 420px; overflow: hidden; border-radius: 50%; opacity: 0; transform: scale(.9); transition: opacity .35s ease, transform .35s ease; pointer-events: none; box-shadow: 18px 22px 0 rgba(27,28,32,.08); }
.profile-photo img { width: 100%; height: 100%; object-fit: cover; }
.hero.has-photo .profile-photo { opacity: 1; transform: scale(1); }
.hero.has-photo .hero-orb { opacity: 0; }
.owner-tools { position: fixed; z-index: 20; right: 22px; bottom: 22px; width: min(390px, calc(100vw - 36px)); padding: 21px; background: #202225; color: #f1f0eb; box-shadow: 0 22px 60px rgba(0,0,0,.28); font-size: 13px; }
.owner-tools[hidden] { display: none; }
.owner-tools-head { display: flex; justify-content: space-between; align-items: center; color: var(--lime); font: 10px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.owner-tools-head button { border: 0; color: #f1f0eb; background: none; font-size: 24px; line-height: 1; cursor: pointer; }
.owner-tools p { margin: 15px 0 19px; color: #b9beb7; font-size: 12px; line-height: 1.55; }
.owner-tools label { display: flex; flex-direction: column; gap: 3px; margin: 15px 0 7px; color: #f1f0eb; font: 10px var(--mono); letter-spacing: .07em; text-transform: uppercase; }
.owner-tools label small { color: #a6aaa4; font-size: 8px; letter-spacing: .04em; }
.owner-tools input { display: block; width: 100%; color: #d9ddd5; font: 10px var(--mono); }
.owner-actions { display: flex; gap: 10px; margin-top: 21px; }
.owner-actions button { padding: 10px 12px; border: 0; font: 9px var(--mono); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.owner-save { background: var(--lime); color: #1b1c20; }
.owner-reset { color: #f1f0eb; background: transparent; border: 1px solid #575c55 !important; }
.owner-tools output { display: block; min-height: 14px; margin-top: 13px; color: #aeb5aa; font: 9px var(--mono); letter-spacing: .04em; }
@media (max-width: 800px) { .profile-photo { width: 240px; height: 240px; right: -28px; top: 80px; opacity: .25; } .hero.has-photo .profile-photo { opacity: .35; } }
