/* otDiary Stories — isolated profile experience */
.otds-avatar-wrap{--otds-verification-color:#b8b8b8;--otds-verification-glow:rgba(184,184,184,.28);position:relative;display:grid;align-self:start;flex:0 0 auto;place-items:center;width:100%;height:auto;aspect-ratio:1/1;min-width:0;max-width:none;z-index:2}
.otds-avatar-button{position:relative;display:grid;width:100%;height:auto;aspect-ratio:1/1;min-width:0;min-height:0;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;cursor:default}
.otds-avatar-button:not(:disabled){cursor:pointer}
.otds-avatar-button .otd-profile-avatar{position:relative;z-index:2;width:calc(100% - 10px)!important;height:calc(100% - 10px)!important;margin:5px!important;object-fit:cover;border-radius:50%!important;border:3px solid #fff;transition:transform .22s ease,box-shadow .22s ease}
.otds-avatar-ring{position:absolute;inset:0;z-index:1;border-radius:50%;background:var(--otds-verification-color,#b8b8b8);box-shadow:0 10px 28px rgba(0,0,0,.18),0 0 0 2px rgba(255,255,255,.96),0 0 22px var(--otds-verification-glow,rgba(184,184,184,.28));animation:otds-story-ring-pulse 2.6s ease-in-out infinite}
.otds-verification-tier--red{--otds-verification-color:#ff3b4d;--otds-verification-glow:rgba(255,59,77,.34)}
.otds-verification-tier--yellow{--otds-verification-color:#f2c94c;--otds-verification-glow:rgba(242,201,76,.36)}
.otds-verification-tier--black{--otds-verification-color:#111111;--otds-verification-glow:rgba(17,17,17,.3)}
.otds-verification-tier--blue{--otds-verification-color:#2878ff;--otds-verification-glow:rgba(40,120,255,.34)}
.otds-verification-tier--neutral{--otds-verification-color:#b8b8b8;--otds-verification-glow:rgba(184,184,184,.28)}
.otds-avatar-wrap.has-story .otd-profile-avatar{box-shadow:0 0 0 2px rgba(255,255,255,.94)}
.otds-avatar-count{position:absolute;right:2px;bottom:8px;z-index:5;display:grid;place-items:center;border:3px solid #fff;border-radius:50%;background:#111;color:#fff;font-weight:800;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.otds-avatar-count{min-width:31px;height:31px;padding:0 7px;font-size:11px}
html.otds-viewer-open,html.otds-create-open,body.otds-viewer-open,body.otds-create-open{overflow:hidden!important}
body.otds-viewer-open .otd-floating-nav,body.otds-create-open .otd-floating-nav,body.otds-viewer-open .otd-public-brand,body.otds-create-open .otd-public-brand{opacity:0!important;pointer-events:none!important;transform:translateY(22px)!important}
.otds-viewer,.otds-create{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}
.otds-viewer[hidden],.otds-create[hidden]{display:none!important}
.otds-viewer-backdrop,.otds-create-backdrop{position:absolute;inset:0;border:0;background:rgba(8,8,8,.76);backdrop-filter:blur(22px) saturate(115%);-webkit-backdrop-filter:blur(22px) saturate(115%)}
.otds-viewer-dialog{position:relative;width:min(430px,calc(100vw - 32px));height:min(780px,calc(100dvh - 32px));overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:34px;background:#111;color:#fff;box-shadow:0 34px 110px rgba(0,0,0,.48);outline:0}
.otds-progress{position:absolute;top:13px;right:14px;left:14px;z-index:9;display:grid;grid-template-columns:repeat(var(--otds-count),minmax(0,1fr));gap:5px}
.otds-progress span{height:3px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.3)}
.otds-progress i{display:block;width:0;height:100%;border-radius:inherit;background:#fff}
.otds-viewer-header{position:absolute;top:25px;right:14px;left:14px;z-index:8;display:flex;align-items:center;gap:9px;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.5)}
.otds-viewer-header>img{width:34px;height:34px;border:2px solid var(--otds-verification-color,rgba(255,255,255,.75));border-radius:50%;object-fit:cover;box-shadow:0 0 14px var(--otds-verification-glow,rgba(255,255,255,.18))}
.otds-viewer-header>div{display:flex;min-width:0;flex:1;flex-direction:column;gap:1px}
.otds-viewer-header strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.otds-viewer-header span{color:rgba(255,255,255,.72);font-size:9px}
.otds-viewer-header form{margin:0}
.otds-delete,.otds-close{border:0;background:rgba(17,17,17,.38);color:#fff;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer}
.otds-delete{padding:7px 10px;border-radius:999px;font-size:9px;font-weight:700}
.otds-close{display:grid;width:31px;height:31px;place-items:center;border-radius:50%;font-size:23px;line-height:1}
.otds-slides,.otds-slide{position:absolute;inset:0}
.otds-slide{overflow:hidden;background:#0d0d0d}
.otds-slide[hidden]{display:none!important}
.otds-slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.015)}
.otds-slide.is-forward img{animation:otds-slide-forward .42s cubic-bezier(.2,.8,.2,1)}
.otds-slide.is-backward img{animation:otds-slide-backward .42s cubic-bezier(.2,.8,.2,1)}
@keyframes otds-slide-forward{from{opacity:.3;transform:translateX(5%) scale(1.045)}to{opacity:1;transform:translateX(0) scale(1.015)}}
@keyframes otds-slide-backward{from{opacity:.3;transform:translateX(-5%) scale(1.045)}to{opacity:1;transform:translateX(0) scale(1.015)}}
.otds-nav{position:absolute;top:78px;bottom:0;z-index:6;width:50%;border:0;background:transparent;cursor:pointer}
.otds-nav-prev{left:0}.otds-nav-next{right:0}
.otds-create{align-items:end}
.otds-create-sheet{position:relative;z-index:2;width:min(500px,calc(100vw - 24px));max-height:min(760px,calc(100dvh - 24px));overflow:auto;padding:23px;border:1px solid rgba(255,255,255,.78);border-radius:31px;background:rgba(250,250,250,.86);color:#111;box-shadow:0 30px 100px rgba(0,0,0,.28);backdrop-filter:blur(38px) saturate(145%);-webkit-backdrop-filter:blur(38px) saturate(145%);outline:0}
.otds-create-handle{display:none;width:42px;height:4px;margin:0 auto 17px;border-radius:999px;background:rgba(17,17,17,.22)}
.otds-create-close{position:absolute;top:14px;right:14px;display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(17,17,17,.09);border-radius:50%;background:rgba(255,255,255,.6);font-size:23px;cursor:pointer}
.otds-kicker{margin:0 0 7px;color:#777;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.otds-create h2{margin:0 46px 8px 0;font-size:30px;letter-spacing:-.05em}
.otds-create-intro{margin:0 0 19px;color:#666;font-size:13px;line-height:1.5}
.otds-picker{position:relative;display:flex;min-height:96px;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:16px;border:1px dashed #aaa;border-radius:19px;background:rgba(255,255,255,.58);text-align:center;cursor:pointer}
.otds-picker input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}
.otds-picker span{font-size:14px;font-weight:800}.otds-picker small{color:#777;font-size:10px}
.otds-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0 17px}
.otds-preview figure{position:relative;margin:0;overflow:hidden;border-radius:16px;background:#ddd;aspect-ratio:9/14}
.otds-preview img{width:100%;height:100%;object-fit:cover}.otds-preview b{position:absolute;top:7px;left:7px;display:grid;width:23px;height:23px;place-items:center;border-radius:50%;background:rgba(17,17,17,.7);color:#fff;font-size:9px;backdrop-filter:blur(10px)}
.otds-duration{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:16px 0;padding:0;border:0}
.otds-duration legend{grid-column:1/-1;margin-bottom:1px;font-size:11px;font-weight:800}
.otds-duration label{display:flex;min-height:65px;align-items:center;gap:9px;padding:11px;border:1px solid #d1d1d1;border-radius:15px;background:rgba(255,255,255,.62);cursor:pointer}
.otds-duration label:has(input:checked){border-color:#111;box-shadow:inset 0 0 0 1px #111}
.otds-duration span{display:flex;flex-direction:column;gap:2px}.otds-duration strong{font-size:12px}.otds-duration small{color:#777;font-size:9px}
.otds-client-error,.otds-server-error{margin:0 0 12px;padding:11px 13px;border-radius:13px;background:#fff0ef;color:#8b211a;font-size:11px;line-height:1.4}
.otds-publish{width:100%;min-height:50px;border:0;border-radius:999px;background:#111;color:#fff;font:800 13px/1 Arial,sans-serif;cursor:pointer}
@media(max-width:650px){.otds-avatar-button .otd-profile-avatar{width:calc(100% - 8px)!important;height:calc(100% - 8px)!important;margin:4px!important}.otds-avatar-count{right:-2px;bottom:3px;min-width:26px;height:26px;border-width:2px}.otds-viewer{padding:0}.otds-viewer-dialog{width:100vw;height:100dvh;border:0;border-radius:0}.otds-progress{top:calc(env(safe-area-inset-top) + 9px)}.otds-viewer-header{top:calc(env(safe-area-inset-top) + 21px)}.otds-create{padding:0;align-items:end}.otds-create-sheet{width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - 8px);padding:14px 18px calc(22px + env(safe-area-inset-bottom));border-right:0;border-bottom:0;border-left:0;border-radius:31px 31px 0 0}.otds-create-handle{display:block}.otds-create h2{font-size:27px}.otds-preview{gap:5px}}
@media(prefers-reduced-motion:reduce){.otds-slide.is-forward img,.otds-slide.is-backward img{animation:none}}

/* 1.0.2 — keep the Story wrapper inside the original profile avatar grid cell. */
.otd-profile-header > .otds-avatar-wrap{
  width:100%;
  height:auto;
  aspect-ratio:1/1;
  min-width:0;
  max-width:none;
  margin:0;
}
.otds-avatar-button{
  min-width:0;
  min-height:0;
}

.otds-avatar-wrap.has-story .otds-avatar-button:hover .otd-profile-avatar,.otds-avatar-wrap.has-story .otds-avatar-button:focus-visible .otd-profile-avatar{transform:scale(1.015)}
@keyframes otds-story-ring-pulse{0%,100%{transform:scale(1);filter:saturate(100%)}50%{transform:scale(1.018);filter:saturate(112%)}}
@media(prefers-reduced-motion:reduce){.otds-avatar-ring{animation:none}}


/* 1.0.6 — align Story-wrapped profile avatar with the creator-name line.
   The Story wrapper, not the theme image itself, owns the grid item. Keeping
   it bottom-aligned made the avatar follow the full identity stack (bio,
   audience and social links), which placed it too low. */
.otd-profile-header > .otds-avatar-wrap{
  align-self:start;
  justify-self:start;
  margin-top:-30px;
}
@media(max-width:650px){
  .otd-profile-header > .otds-avatar-wrap{
    align-self:start;
    margin-top:-27px;
  }
}
@media(max-width:430px){
  .otd-profile-header > .otds-avatar-wrap{
    margin-top:-24px;
  }
}
