/* v0.2: full-screen reels feed, owner centre, privacy rows, boot landing */
.boot{max-width:520px;margin:18vh auto 0;text-align:center;padding:0 20px}
.boot h1{font-size:44px;margin:0 0 8px}.boot-links{font-size:13px;color:var(--muted,#9a9ab5)}.boot-links a{color:inherit;margin:0 4px}
.brand{display:flex;align-items:center;gap:8px}.brandlogo{width:30px;height:30px;border-radius:8px;object-fit:cover}
.navlegal{display:flex;flex-wrap:wrap;gap:4px 10px;padding:10px 12px 0;font-size:11px}.navlegal a{color:var(--muted);text-decoration:none}.navlegal a:hover{text-decoration:underline}
body.fullbleed .main{padding:0}body.fullbleed .col{max-width:none}body.fullbleed .topbar{display:none!important}
:root{--navh:62px}
/* feed container */
.rvwrap{position:fixed;top:0;bottom:0;left:var(--nav-w);right:0;background:#000;z-index:5}
.rv{position:absolute;inset:0;overflow-y:auto;scroll-snap-type:y mandatory;scrollbar-width:none;overscroll-behavior:contain;outline:0}
.rv::-webkit-scrollbar{display:none}
.rs{position:relative;height:100%;scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#fff}
.rbg{position:absolute;inset:-30px;background-size:cover;background-position:center;filter:blur(36px) brightness(.45);transform:scale(1.1)}
.rbox{position:relative;height:100%;max-height:100%;aspect-ratio:9/16;max-width:100%;background:#000;overflow:hidden;opacity:0;transform:translateY(26px) scale(.96);transition:opacity .45s ease,transform .45s ease}
.rs.on .rbox{opacity:1;transform:none}
.rs.rend{background:var(--bg)}
.rmedia,.rmedia>*{position:absolute;inset:0;width:100%;height:100%}
.rmedia>video,.rmedia>img{object-fit:contain;background:#000}
.rs .rbox .rmedia>video{object-fit:cover}
.rshade{position:absolute;inset:auto 0 0 0;height:46%;background:linear-gradient(transparent,rgba(0,0,0,.72));pointer-events:none}
.rinfo{position:absolute;left:14px;right:86px;bottom:calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:6px;opacity:0;transform:translateY(14px);transition:.5s .15s}
.rs.on .rinfo{opacity:1;transform:none}
.rwho{display:flex;align-items:center;gap:8px}.rwho .avatar{width:34px;height:34px;border:2px solid #fff}
.rtitle{font-weight:700;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.rcap{font-size:14px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.rcap.open{-webkit-line-clamp:unset;max-height:34vh;overflow:auto;display:block}
.rmeta{font-size:12px;opacity:.8}
.rail{position:absolute;right:8px;bottom:calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px;align-items:center}
.rbtn{background:none;border:0;color:#fff;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;padding:4px;filter:drop-shadow(0 1px 4px rgba(0,0,0,.6));transition:transform .15s}
.rbtn:active{transform:scale(.85)}.rbtn.on{color:#ff3b6b}.rcount{font-size:12px;font-weight:700;min-height:14px}
.rmute{position:absolute;top:14px;right:12px;background:rgba(0,0,0,.5);color:#fff;border:0;border-radius:99px;width:38px;height:38px;font-size:18px;cursor:pointer}
.rprog{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.25)}.rprog i{display:block;height:100%;width:0;background:#fff}
.rheart{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#ff3b6b;pointer-events:none;opacity:0}
.rheart svg{width:110px;height:110px}.rheart.pop{animation:pop .8s ease}
@keyframes pop{0%{opacity:0;transform:scale(.3)}25%{opacity:1;transform:scale(1.15)}70%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.2)}}
.rpause{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:64px;color:#fff;opacity:0;pointer-events:none;transition:opacity .2s;text-shadow:0 2px 14px rgba(0,0,0,.6)}
.rs.paused .rpause{opacity:.9}
.rlock{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;gap:10px;align-items:center;justify-content:center;background:rgba(10,10,20,.5);text-align:center;padding:20px}
.rlock .big{font-size:40px}
.rendin{text-align:center;padding:30px;color:var(--text)}.rendin .big{font-size:42px}
.rnav{position:absolute;right:14px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:8}
.rnav button{width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.16);color:#fff;font-size:16px;cursor:pointer;backdrop-filter:blur(6px)}
.rnav button:hover{background:rgba(255,255,255,.3)}
.rstories{position:absolute;top:10px;left:12px;display:flex;gap:10px;z-index:8;max-width:calc(100% - 90px);overflow-x:auto;scrollbar-width:none}
.rstories .story{width:52px}.rstories .ring{width:50px;height:50px;padding:2px}
.rhead{position:absolute;top:14px;left:16px;z-index:8;color:#fff;font-weight:800;font-size:18px;text-shadow:0 1px 6px rgba(0,0,0,.6)}
.rjoin{position:absolute;top:12px;right:70px;z-index:9}
/* comment sheet */
.sheet{position:absolute;left:50%;bottom:0;transform:translate(-50%,100%);width:min(100%,520px);height:62%;background:var(--card);color:var(--text);border-radius:20px 20px 0 0;z-index:12;display:flex;flex-direction:column;transition:transform .25s ease;padding:14px;box-shadow:0 -10px 40px rgba(0,0,0,.5)}
.sheet.up{transform:translate(-50%,0)}.shead{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.slist{flex:1;overflow:auto}.sform{flex-wrap:nowrap;margin-top:8px}.sform input{margin:0}
/* owner centre + forms */
.ownertabs{flex-wrap:wrap}.kv{display:grid;grid-template-columns:max-content 1fr;gap:6px 14px;margin:8px 0;align-items:center}
.privrow{display:flex;gap:10px;align-items:flex-start;margin:12px 0;color:var(--text);font-size:14px}.privrow input{margin-top:4px}.privrow small{display:block;font-size:12px;margin-top:2px}
.legalrow{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px}
.prow{cursor:pointer;margin-bottom:10px}.prow:hover{background:var(--card2)}
@media (max-width:820px){
  .rvwrap{left:0;bottom:calc(var(--navh) + env(safe-area-inset-bottom))}
  .rbox{aspect-ratio:auto;width:100%}
  .rnav{display:none}
  .nav .navlegal{display:none}
  .nav button.item{padding:6px}
}

/* stories: single bubble + 9:16 viewer (phone = full screen, desktop = centred 9:16 frame) */
.ring.seen{background:var(--border,#444);opacity:.75}
.rstories .story{color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.7)}.rstories{padding:0;margin:0}
body.noscroll{overflow:hidden}
.sv{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.88);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center}
.svbox{position:relative;background:#000;overflow:hidden;color:#fff;height:min(94vh,980px);aspect-ratio:9/16;max-width:100vw;border-radius:16px;box-shadow:0 20px 70px rgba(0,0,0,.7)}
.svstage,.svmedia{position:absolute;inset:0;width:100%;height:100%}.svmedia{object-fit:cover;background:#000;user-select:none}
.svbars{position:absolute;top:8px;left:10px;right:10px;display:flex;gap:4px;z-index:5}
.svbar{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.35);overflow:hidden}.svbar i{display:block;height:100%;background:#fff}
.svhead{position:absolute;top:18px;left:10px;right:10px;display:flex;align-items:center;gap:8px;z-index:5;text-shadow:0 1px 5px rgba(0,0,0,.7)}
.svhead .avatar{width:34px;height:34px}.svbtn{background:rgba(0,0,0,.4);color:#fff;border:0;border-radius:50%;width:34px;height:34px;font-size:16px;cursor:pointer}
.svtap{position:absolute;top:70px;bottom:70px;width:38%;z-index:4;cursor:pointer;-webkit-tap-highlight-color:transparent}.svtap.l{left:0}.svtap.r{right:0;width:62%}
.svcap{position:absolute;left:14px;right:14px;bottom:22px;z-index:5;text-shadow:0 1px 6px rgba(0,0,0,.8);background:linear-gradient(transparent,rgba(0,0,0,.55));padding:30px 0 0}
@media (max-width:820px){.sv{background:#000}.svbox{height:100dvh;width:100vw;max-width:none;aspect-ratio:auto;border-radius:0}}
/* post manager */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-top:10px}
.pcard{position:relative;background:var(--card);border:1px solid var(--border,#272738);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.pcard.dim{opacity:.6}.pcard img{width:100%;aspect-ratio:9/12;object-fit:cover;background:#111;display:block}
.pcard .pmeta{padding:8px 10px;font-size:13px;flex:1;word-break:break-word}.pcard .btn{margin:0 10px 10px}
.pcheck{position:absolute;top:8px;left:8px;background:rgba(0,0,0,.55);border-radius:8px;padding:4px 6px;margin:0}.pcheck input{width:18px;height:18px;margin:0}
