:root{--bg:#f7f5f2;--bg2:#fff;--fg:#1b1a19;--muted:#77716b;--line:#e7e2dc;--accent:#c2185b;--accent2:#e91e63;--gold:#b8860b;
  --card:#fff;--chip:#efe9e3;--shadow:0 6px 24px rgba(0,0,0,.08);--radius:14px;--ok:#1b8a4b;--warn:#b26a00;--err:#c62828}
@media (prefers-color-scheme:dark){:root[data-theme=auto]{--bg:#0e0e10;--bg2:#17171a;--fg:#f1efec;--muted:#9a958f;--line:#2a2a2f;--card:#17171a;--chip:#232328;--shadow:0 6px 24px rgba(0,0,0,.5)}}
:root[data-theme=dark]{--bg:#0e0e10;--bg2:#17171a;--fg:#f1efec;--muted:#9a958f;--line:#2a2a2f;--card:#17171a;--chip:#232328;--shadow:0 6px 24px rgba(0,0,0,.5)}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans","Noto Sans CJK SC","Microsoft YaHei",sans-serif}
a{color:inherit;text-decoration:none}a:hover{color:var(--accent2)}
.muted{color:var(--muted)}.small{font-size:13px}.m0{margin:0}
.container{max-width:1200px;margin:0 auto;padding:12px 14px 90px}.container.wide{max-width:1400px}
/* top bar */
.topbar{position:sticky;top:0;z-index:20;display:flex;gap:10px;align-items:center;padding:10px 14px;background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:8px;font-weight:800;letter-spacing:.2px;white-space:nowrap}
.logo-mark{display:block;width:32px;height:32px;flex:none}
.logo-text{display:none}
.searchbox{flex:1;min-width:0}.searchbox input{width:100%;padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:var(--bg2);color:var(--fg);font-size:14px}
.actions{display:flex;align-items:center;gap:6px}
.icon-btn{background:none;border:1px solid var(--line);color:var(--fg);border-radius:999px;width:34px;height:34px;cursor:pointer;font-size:16px}
.menu{position:relative}.menu summary{list-style:none;cursor:pointer;display:grid;place-items:center;min-width:34px;height:34px;border-radius:999px;border:1px solid var(--line)}
.menu summary::-webkit-details-marker{display:none}.menu .me-chip{border:none}
.menu-pop{position:absolute;top:42px;inset-inline-end:0;background:var(--bg2);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:6px;min-width:170px;display:flex;flex-direction:column;z-index:30}
.menu-pop a,.menu-pop .linklike{padding:8px 12px;border-radius:8px;text-align:start}.menu-pop a:hover{background:var(--chip)}.menu-pop a.active{color:var(--accent2);font-weight:700}
.linklike{background:none;border:none;color:inherit;font:inherit;cursor:pointer;padding:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:var(--bg2);color:var(--fg);font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}
.btn.small{padding:6px 12px;font-size:13px}.btn.block{width:100%}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent2);color:#fff}
.btn.ghost{background:transparent}.btn.danger{color:var(--err);border-color:var(--err)}
.btn.support{background:linear-gradient(135deg,#2775ca,#4aa3ff);color:#fff;border:none}
.hide-sm{display:none}
/* feed */
.hero{padding:6px 0 4px}
.tabs{display:flex;gap:6px;margin:6px 0}
.tabs a{padding:7px 16px;border-radius:999px;font-weight:700;color:var(--muted)}.tabs a.on{background:var(--fg);color:var(--bg)}


/* home pitch: left-first, clearer step reveal (soft, not blinky) */
.hero-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:10px 16px;margin:8px 0 4px}
.hero-top .tabs{margin:0}
.home-pitch{
  display:flex;flex-wrap:wrap;align-items:center;gap:7px 10px;
  margin-inline-start:auto; /* push to right */
  max-width:100%;
  padding:8px 14px;border-radius:999px;
  background:color-mix(in srgb,var(--accent) 10%, var(--chip));
  border:1px solid color-mix(in srgb,var(--accent) 28%, var(--line));
  box-shadow:0 0 0 0 transparent;
  animation:hp-bar 10s ease-in-out infinite;
  font-size:14px;font-weight:750;letter-spacing:.02em;line-height:1.2;
}
.home-pitch > *{opacity:0; will-change:opacity,transform}
.home-pitch > *:nth-child(1){animation:hp-step 10s ease-in-out infinite; animation-delay:0s}
.home-pitch > *:nth-child(2){animation:hp-step 10s ease-in-out infinite; animation-delay:.75s}
.home-pitch > *:nth-child(3){animation:hp-step 10s ease-in-out infinite; animation-delay:1.5s}
.home-pitch > *:nth-child(4){animation:hp-step 10s ease-in-out infinite; animation-delay:2.25s}
.home-pitch > *:nth-child(5){animation:hp-step 10s ease-in-out infinite; animation-delay:3s}
.home-pitch > *:nth-child(6){animation:hp-step 10s ease-in-out infinite; animation-delay:3.75s}
.home-pitch > *:nth-child(7){animation:hp-step 10s ease-in-out infinite; animation-delay:4.5s}
.home-pitch .hp-step{color:var(--fg)}
.home-pitch .hp-arr{color:var(--accent);font-weight:800;font-size:15px}
.home-pitch .hp-step-fee{
  color:#fff; background:var(--accent); padding:3px 10px; border-radius:999px;
  box-shadow:0 2px 10px color-mix(in srgb,var(--accent) 35%, transparent);
}
@keyframes hp-step{
  0%,2%{opacity:0; transform:translateX(-10px) scale(.97)}
  9%{opacity:1; transform:none}
  78%{opacity:1; transform:none}
  90%,100%{opacity:.9; transform:none}
}
@keyframes hp-bar{
  0%,100%{box-shadow:0 0 0 0 transparent}
  45%{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%, transparent)}
  70%{box-shadow:0 0 0 0 transparent}
}
@media (prefers-reduced-motion:reduce){
  .home-pitch{animation:none}
  .home-pitch > *{animation:none!important;opacity:1;transform:none}
}
@media (max-width:640px){
  .home-pitch{font-size:13px;padding:7px 12px;gap:5px 7px;border-radius:16px}
}

.chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.chip{padding:5px 12px;border-radius:999px;background:var(--chip);font-size:13px;border:none;color:var(--fg);cursor:pointer;font-family:inherit}.chip:hover{color:var(--accent2)}
.creator-strip{display:flex;gap:10px;overflow-x:auto;padding:6px 0 12px;scrollbar-width:none}
.creator-pill{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:84px;text-align:center;font-size:13px}
.creator-pill span{max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.card{display:block;background:var(--card);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:transform .15s}
.card:hover{transform:translateY(-2px);color:inherit}
.thumb{position:relative;aspect-ratio:9/16;background:#000;overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover;display:block}
.card.locked .thumb img{filter:saturate(.7) brightness(.75)}
.lock{position:absolute;inset:auto 0 50% 0;text-align:center;color:#fff;font-weight:700;text-shadow:0 1px 6px #000}
.badge{position:absolute;font-size:12px;color:#fff;background:rgba(0,0,0,.55);padding:2px 8px;border-radius:999px;backdrop-filter:blur(4px)}
.badge.dur{top:8px;inset-inline-end:8px}.badge.stats{inset-inline-start:8px;bottom:8px}
.card-meta{padding:8px 10px 10px}
.card-title{font-weight:650;font-size:14px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}
.card-by{display:flex;align-items:center;gap:6px;font-size:12px;margin-top:5px;white-space:nowrap;overflow:hidden}
.avatar{border-radius:50%;object-fit:cover;flex:none;background:var(--chip)}
.avatar-fallback{display:inline-grid;place-items:center;color:#fff;font-weight:800;background:hsl(var(--h,330) 55% 48%)}
.more{text-align:center;margin:20px}.empty{text-align:center;color:var(--muted);padding:40px 0}
/* watch page */
.watch{display:flex;flex-direction:column;gap:16px}
.stage{position:relative;display:flex;justify-content:center;align-items:center;gap:12px}
.player{position:relative;background:#000;border-radius:18px;overflow:hidden;width:100%;max-width:min(100%,calc((100svh - 120px) * 9 / 16));aspect-ratio:9/16;box-shadow:var(--shadow)}
.player.landscape{aspect-ratio:16/9;max-width:100%}
.player video,.player .poster-locked{width:100%;height:100%;object-fit:contain;display:block;background:#000}
.poster-locked{filter:blur(2px) brightness(.6)}
.lock-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;gap:8px;text-align:center;padding:20px}
.lock-big{font-size:48px}
.unmute{position:absolute;top:12px;inset-inline-start:12px;background:rgba(0,0,0,.6);color:#fff;border:none;border-radius:999px;padding:6px 12px;cursor:pointer;font:inherit;font-size:13px}
.gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;height:100%}
.gallery img{flex:0 0 100%;width:100%;height:100%;object-fit:contain;scroll-snap-align:center}
.gallery-count{position:absolute;top:10px;inset-inline-end:10px;color:#fff;background:rgba(0,0,0,.55);border-radius:999px;padding:2px 10px;font-size:12px}
.rail{position:absolute;inset-inline-end:10px;bottom:70px;display:flex;flex-direction:column;gap:14px;z-index:3}
.rail-btn{display:flex;flex-direction:column;align-items:center;background:none;border:none;color:#fff;cursor:pointer;font:inherit;text-shadow:0 1px 4px #000}
.rail-btn .ico{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:rgba(0,0,0,.45);font-size:20px;backdrop-filter:blur(6px)}
.nav-arrow{display:none}
.rail-avatar .ico{padding:0;overflow:hidden;background:#fff;border:2px solid #fff;box-sizing:border-box}.rail-avatar .avatar{width:100%;height:100%;display:grid;place-items:center;font-size:20px}
.stage.landscape .rail-avatar{padding-inline:3px}
.rail-btn.on .ico{background:var(--accent2)}.rail-btn .n{font-size:12px;font-weight:700;margin-top:2px}

.info{background:var(--card);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);min-width:0}
.by{display:flex;justify-content:space-between;align-items:center;gap:10px}.by-link{display:flex;gap:10px;align-items:center}
.post-title{font-size:19px;margin:14px 0 4px;line-height:1.35}
.post-body{white-space:pre-wrap;margin:10px 0;line-height:1.65}
.support-cta{margin:10px 0;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,#2775ca 12%,transparent);font-size:14px}
.support-cta a{color:#2775ca;font-weight:700}
.comments h3{margin:16px 0 8px}.comment{display:flex;gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.c-main{flex:1;min-width:0}.c-body{white-space:pre-wrap;word-break:break-word}
.comment-form{display:flex;gap:8px;align-items:flex-end}.comment-form textarea{flex:1;min-height:42px}
.report{margin-top:14px}.report form{display:flex;gap:6px;margin-top:6px}.report input{flex:1}
form.inline{display:inline}
/* profile */
.profile{margin:-12px -14px 12px}
.cover{height:150px;background:linear-gradient(120deg,#5b2333,#c2185b 50%,#f7b267);background-size:cover;background-position:center}
.profile-head{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:0 16px;margin-top:-46px}
.profile-avatar .avatar{border:4px solid var(--bg);box-shadow:var(--shadow)}
.profile-id{flex:1;min-width:160px}.profile-id h1{margin:0;font-size:22px}
.profile-actions{display:flex;gap:8px;flex-wrap:wrap}
.stats-row{display:flex;flex-wrap:wrap;gap:16px;padding:12px 16px 0;font-size:14px}
.bio{padding:0 16px;white-space:pre-wrap;line-height:1.6}
.tagpill{font-size:11px;padding:1px 7px;border-radius:999px;background:var(--chip);color:var(--muted);vertical-align:middle}.tagpill.danger{background:var(--err);color:#fff}
.tag-h{margin:6px 0 0;font-size:28px}
/* forms / panels */
.panel{background:var(--card);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);max-width:760px;margin:10px auto}
.panel.narrow{max-width:420px}
.form{display:flex;flex-direction:column;gap:12px}.form label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:14px}
.form.row{flex-direction:row;flex-wrap:wrap}.form.row input{flex:1;min-width:220px}
.check{flex-direction:row!important;align-items:center;gap:8px!important}
input,textarea,select{font:inherit;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:9px 12px}
textarea{resize:vertical}
.alert{padding:10px 14px;border-radius:10px;background:color-mix(in srgb,var(--err) 14%,transparent);color:var(--fg);margin:10px 0}
.alert.ok{background:color-mix(in srgb,var(--ok) 16%,transparent)}.alert.warn{background:color-mix(in srgb,var(--warn) 16%,transparent)}
.upload-preview{display:flex;gap:8px;flex-wrap:wrap}.upload-preview>*{height:160px;aspect-ratio:9/16;object-fit:cover;border-radius:10px;background:#000}
hr{border:none;border-top:1px solid var(--line);margin:20px 0}
.search-big{display:flex;gap:8px;margin:10px 0 16px}.search-big input{flex:1;font-size:16px;border-radius:999px}
.creator-list{display:flex;flex-direction:column;gap:8px}.creator-row{display:flex;gap:12px;align-items:center;background:var(--card);padding:10px;border-radius:12px}
.clamp1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60vw}
.tbl-wrap{overflow-x:auto}.tbl{width:100%;border-collapse:collapse;font-size:13px;background:var(--card);border-radius:12px;overflow:hidden}
.tbl th,.tbl td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:start;vertical-align:middle}.tbl th{color:var(--muted);font-weight:600}
.prose{line-height:1.7}
/* payments */
.support-panel{max-width:900px}
.chain-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0}
.chain-tab{padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--bg);color:var(--fg);cursor:pointer;font:inherit;font-weight:600}
.chain-tab.on{background:#2775ca;border-color:#2775ca;color:#fff}
.pay-grid{display:grid;gap:14px}
.pay-card{border:1px solid var(--line);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:10px;background:var(--bg)}
.pay-card h2{margin:0;font-size:18px}.pay-card label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:14px}
.presets{display:flex;gap:6px;flex-wrap:wrap}
.price b{font-size:28px}
.linked-box{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px}
.addr{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;background:var(--chip);padding:2px 6px;border-radius:6px;word-break:break-all}
.addr.full{display:block;margin:6px 0;padding:8px;cursor:copy;font-size:13px}.addr.copied{outline:2px solid var(--ok)}
.manual{margin-top:14px}
.addr-grid{display:flex;flex-direction:column;gap:10px}
.addr-card{display:none;gap:14px;align-items:center}.addr-card.on{display:flex}
.qr{flex:none;width:150px;height:150px;background:#fff;border-radius:10px;padding:6px}.qr svg{width:100%;height:100%}
.pay-status{margin:14px 0;padding:12px 14px;border-radius:12px;background:var(--chip);word-break:break-word}
.pay-status.ok{background:color-mix(in srgb,var(--ok) 18%,transparent)}.pay-status.err{background:color-mix(in srgb,var(--err) 16%,transparent)}
.totals{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.total-card{background:var(--card);padding:14px 18px;border-radius:12px;box-shadow:var(--shadow);min-width:150px}.total-card b{font-size:22px}
.inline-row{display:flex;gap:8px;align-items:center;margin:4px 0}
/* bottom bar (mobile) */
.bottombar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;justify-content:space-around;align-items:center;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(12px);border-top:1px solid var(--line)}
.bottombar a{display:flex;flex-direction:column;align-items:center;font-size:20px;line-height:1.1;min-width:56px}
.bottombar small{font-size:10px;color:var(--muted)}.bottombar a.on{color:var(--accent2)}
.bottombar .plus{background:var(--accent);color:#fff;border-radius:12px;padding:4px 14px;min-width:0;font-size:22px}
.footer{text-align:center;color:var(--muted);font-size:12px;padding:20px 0 90px}
@media (min-width:640px){.grid{grid-template-columns:repeat(3,1fr)}.hide-sm{display:inline}.logo-text{display:inline}.pay-grid{grid-template-columns:1fr 1fr}}
@media (min-width:900px){
  .grid{grid-template-columns:repeat(4,1fr);gap:14px}
  .container{padding:16px 24px 40px}.bottombar{display:none}.footer{padding-bottom:20px}
  .searchbox{max-width:480px;margin:0 auto}
  .watch{flex-direction:row;align-items:flex-start}.stage{flex:1}.info{width:400px;flex:none;position:sticky;top:76px;max-height:calc(100vh - 92px);overflow:auto}
  .rail{inset-inline-end:auto;inset-inline-start:calc(50% + min(50%,calc((100svh - 120px) * 9 / 32)) + 12px);bottom:30px}
  .rail-btn{color:var(--fg);text-shadow:none}.rail-btn .ico{background:var(--chip)}
  .nav-arrow{display:grid;place-items:center;position:absolute;inset-inline-end:0;width:44px;height:44px;border-radius:50%;background:var(--chip);z-index:3}
  .nav-arrow.up{top:calc(50% - 54px)}.nav-arrow.down{top:calc(50% + 10px)}
  .profile{margin:0 0 16px;border-radius:var(--radius);overflow:hidden;background:var(--card);box-shadow:var(--shadow);padding-bottom:14px}
  .cover{height:240px}
}
@media (min-width:1200px){.grid{grid-template-columns:repeat(5,1fr)}}
.form label .tagpill{align-self:flex-start}
.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:#1f1f1f;border:1px solid #dadce0;font-weight:600;margin:6px 0 4px}
.google-btn:hover{background:#f7f8f8}
.center{text-align:center}

/* ---- i18n: 11 languages, RTL (ar), script-specific fonts (system fonts only; no external CDN) ---- */
:lang(ar){font-family:"Noto Sans Arabic","Noto Naskh Arabic","Segoe UI","Geeza Pro","Arabic UI Text",Tahoma,"Noto Sans",sans-serif}
:lang(hi){font-family:"Noto Sans Devanagari","Nirmala UI","Kohinoor Devanagari","Mangal","Lohit Devanagari","Noto Sans",sans-serif}
:lang(ar) body,:lang(hi) body{line-height:1.65}
:lang(ja){font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic UI","Noto Sans CJK JP","Meiryo",sans-serif}
:lang(zh-Hant){font-family:-apple-system,BlinkMacSystemFont,"PingFang TC","Noto Sans CJK TC","Microsoft JhengHei",sans-serif}
.lang-pop{max-height:min(75vh,520px);overflow-y:auto;overscroll-behavior:contain;min-width:190px}
.lang-pop a[dir=rtl]{text-align:left}
/* keep media, hashes, addresses and counters left-to-right inside RTL pages */
.player,video,.gallery{direction:ltr}
code,.addr,.badge,.n,.price b,.tagpill[dir=ltr],input[dir=ltr]{unicode-bidi:isolate}
[dir=rtl] .addr,[dir=rtl] code{direction:ltr;display:inline-block}
[dir=rtl] .addr.full{display:block;text-align:left}
.addr.copied::after{content:" ✓ " attr(data-copied-label);color:var(--ok);font-family:inherit}
.menu>summary{white-space:nowrap;display:inline-flex;align-items:center;gap:4px}
/* simple pay: step 1 card */
.steps{margin:0;padding-inline-start:20px}.alert.small{font-size:13px;padding:8px 10px;margin:0}
.chain-tab[hidden]{display:none}
.pay-card{min-width:0}.payaddr code,.pay-card input{word-break:break-all;min-width:0}.pay-card input{width:100%;box-sizing:border-box}
/* moderation */
.mod-notice{font-weight:600}.mod-notice.mod-pending{background:color-mix(in srgb,var(--warn) 18%,transparent)}
.badge.modst{top:8px;left:8px;right:auto;bottom:auto;background:rgba(0,0,0,.72);color:#ffd36b}
.modq{display:flex;flex-direction:column;gap:12px;margin-top:10px}
.moditem{display:flex;gap:14px;padding:12px;border:1px solid var(--line,#8883);border-radius:12px;align-items:flex-start}
.moditem.st-reported,.moditem.st-held{border-color:color-mix(in srgb,var(--err) 55%,transparent)}
.modthumb{flex:0 0 120px;height:160px;border-radius:10px;overflow:hidden;background:var(--chip);display:flex;align-items:center;justify-content:center}
.modthumb img{width:100%;height:100%;object-fit:cover}
.modbody{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.modreps{margin:0;padding-inline-start:18px}
.modacts{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.modacts form{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0}
.modacts select{padding:5px 8px;border-radius:8px}
.badge-st{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700;background:var(--chip);margin-inline-end:6px}
.badge-st.st-reported,.badge-st.st-held{background:color-mix(in srgb,var(--err) 25%,transparent)}
.badge-st.st-pending{background:color-mix(in srgb,var(--warn) 25%,transparent)}
.badge-st.st-removed{background:#555;color:#fff}
.danger-t{color:var(--err)}
.pill{display:inline-block;min-width:20px;padding:0 6px;border-radius:999px;background:var(--chip);font-size:12px;text-align:center}
.tabs a.on .pill{background:var(--bg);color:var(--fg)}
.report-open{margin-top:10px}
.report-dlg{max-width:440px;width:calc(100% - 32px);border:none;border-radius:16px;padding:20px;background:var(--bg);color:var(--fg);box-shadow:0 20px 60px rgba(0,0,0,.45)}
.report-dlg::backdrop{background:rgba(0,0,0,.55)}
.report-dlg h3{margin:0}
.report-dlg .reasons{border:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.report-dlg .radio{display:flex;gap:8px;align-items:center;padding:8px 10px;border-radius:10px;background:var(--chip);cursor:pointer;flex-direction:row}
.report-dlg .radio:has(input:checked){outline:2px solid var(--accent,#e33)}
.dlg-actions{display:flex;justify-content:flex-end;gap:8px}
.rules .rule{padding:10px 14px;border-radius:12px;background:var(--chip);margin:10px 0}.rules .rule h2{font-size:17px;margin:0 0 4px}
@media(max-width:600px){.moditem{flex-direction:column}.modthumb{width:100%;flex-basis:auto;height:200px}.report-dlg .reasons{grid-template-columns:1fr}}

/* landscape media: actions as a row below the player (portrait keeps the right-side overlay) */
.stage.landscape{flex-direction:column;align-items:stretch;gap:10px}
.stage.landscape .rail{position:static;inset:auto;flex-direction:row;flex-wrap:wrap;gap:8px;z-index:auto}
.stage.landscape .rail-btn{flex-direction:row;gap:6px;color:var(--fg);text-shadow:none;background:var(--chip);border-radius:999px;padding-block:3px;padding-inline:3px 14px}
.stage.landscape .rail-btn .ico{width:34px;height:34px;font-size:17px;background:transparent;backdrop-filter:none}
.stage.landscape .rail-btn.on .ico{background:var(--accent2);color:#fff}
.stage.landscape .rail-btn .n{margin-top:0;font-size:14px}
@media (min-width:900px){.stage.landscape{padding-inline-end:56px}}
.tagpill.ok{background:color-mix(in srgb,var(--ok) 22%,transparent);color:var(--fg)}
.retry-line{margin-top:6px;font-size:13px;opacity:.9}.retry-line a{font-weight:700}
.btn:disabled{opacity:.55;cursor:not-allowed}
.tagpill.warn{background:color-mix(in srgb,var(--warn) 25%,transparent);color:var(--fg)}
#toastBox{position:fixed;left:50%;bottom:84px;transform:translateX(-50%);z-index:1000;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
.toast{background:rgba(20,20,20,.92);color:#fff;padding:9px 16px;border-radius:999px;font-size:14px;box-shadow:0 6px 20px rgba(0,0,0,.3);max-width:min(92vw,520px);overflow-wrap:anywhere;animation:toastin .18s ease-out}
.toast.ok::before{content:"✓ ";color:#7be38f}.toast.warn{background:#7a5a00}
@keyframes toastin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.copied-btn{color:var(--ok)!important;border-color:var(--ok)!important}
@media (min-width:900px){#toastBox{bottom:32px}}
.bg-note{margin-bottom:8px;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--ok) 14%,transparent)}
/* visibility + inbox */
.badge.vis{top:8px;inset-inline-start:8px;background:rgba(0,0,0,.65);color:#fff}
.icon-btn.bell{position:relative;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.bell-n{position:absolute;top:-5px;inset-inline-end:-6px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--err,#e5484d);color:#fff;font-size:11px;font-weight:700;line-height:18px;text-align:center}
.owner-vis{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0;padding:10px;border:1px dashed var(--line);border-radius:12px}
.owner-vis select,.vis-form select{max-width:100%}
.vis-form{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.vis-tag{white-space:nowrap}.vis-tag.vis-members{color:#c28a00}.vis-tag.vis-followers{color:var(--accent,#3b82f6)}
.myposts .mp-thumb img{width:72px;height:48px;object-fit:cover;border-radius:8px;display:block}
.myposts tr.hl{background:color-mix(in srgb,var(--ok) 12%,transparent)}
.inbox-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}
.msglist{list-style:none;padding:0;margin:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.msglist li+li{border-top:1px solid var(--line)}
.msglist a{display:grid;grid-template-columns:14px 1fr auto;grid-template-areas:"dot t time" "dot sum sum";gap:2px 10px;padding:12px 14px;color:var(--fg);text-decoration:none}
.msglist a:hover{background:var(--chip)}
.msglist .dot{grid-area:dot;color:var(--err,#e5484d);font-size:10px;padding-top:4px}
.msglist .msg-t{grid-area:t;font-weight:400}.msglist .msg-sum{grid-area:sum}.msglist time{grid-area:time;white-space:nowrap}
.msglist li.unread .msg-t{font-weight:700}
.msg-open{border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.msg-note{background:var(--chip);border-radius:10px;padding:10px 12px;margin:10px 0}.msg-note .pre{white-space:pre-wrap;margin-top:4px}
details.hide-form,details.msg-form{display:inline-block}
details.hide-form[open],details.msg-form[open]{display:block;margin:6px 0}
.form.compact{display:flex;flex-direction:column;gap:6px;max-width:420px;margin-top:6px}
.form.compact textarea,.note-in{width:100%;max-width:420px}
.note-in{padding:4px 8px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg)}
/* delete-post dialogs */
.del-dlg .del-title{margin:0;word-break:break-word}
.del-dlg .danger-box{background:color-mix(in srgb,var(--err,#e33) 14%,transparent);border:1px solid color-mix(in srgb,var(--err,#e33) 45%,transparent);border-radius:10px;padding:10px 12px;margin:0}
.del-dlg select,.del-dlg textarea{width:100%}
.admin-box{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0;padding:10px;border:1px dashed color-mix(in srgb,var(--err,#e33) 50%,transparent);border-radius:12px}
.myposts td:last-child{white-space:nowrap}

/* ---- fluid full-width layout (uses the whole window; text blocks keep a readable measure) ---- */
.container,.container.wide{max-width:2400px;padding:12px 16px 90px}
.grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.panel{max-width:1280px;margin:10px auto}
.panel.narrow{max-width:440px}
.panel.prose,.panel.rules{max-width:920px}
.support-panel{max-width:1280px}
.form input,.form textarea,.form select{max-width:100%}
.split{display:grid;gap:16px 32px;grid-template-columns:minmax(0,1fr)}
.split>.col{display:flex;flex-direction:column;gap:12px;min-width:0}
.split>.col>h3:first-child,.split>.col>h2:first-child{margin-top:0}
.split .span-all{grid-column:1/-1}
@media (min-width:640px){.grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}}
@media (min-width:900px){
  .container,.container.wide{padding:16px 24px 40px}
  .grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
  .info{width:clamp(360px,24vw,400px)}
}
@media (min-width:1100px){.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (min-width:1600px){.grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}}
/* NSFW label: the feed image is already the server-blurred thumbnail; no hover preview / autoplay in grids */
.badge.nsfw-badge{top:8px;inset-inline-start:8px;background:#c62828;font-weight:800;letter-spacing:.5px}
.card.nsfw .thumb img{filter:brightness(.85)}
.nsfw-pill{background:#c62828;color:#fff;font-weight:700}
.owner-nsfw{margin:-4px 0 10px}
.nsfw-ctl{display:inline-flex;align-items:center;gap:6px}
.owner-vis label{display:flex;flex-wrap:wrap;align-items:center;gap:6px;flex:1 1 100%;min-width:0}.owner-vis select{flex:1;min-width:0}
/* compact receiving-address block inside each payment card */
.payaddr{display:flex;gap:12px;align-items:center;border:1px dashed var(--line);border-radius:12px;padding:10px;background:var(--card)}
.qr.qr-sm{width:96px;height:96px;padding:4px;border-radius:8px}
.payaddr-info{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}
.payaddr-info .tagpill{align-self:flex-start;font-size:11px}
.payaddr-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0}
.payaddr-row code.addr{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;word-break:break-all;min-width:0;flex:1 1 180px;cursor:pointer}
.payaddr-row .btn{flex:none}
.payaddr-warn{color:var(--warn);line-height:1.35}
@media (max-width:520px){.payaddr{flex-wrap:wrap;justify-content:center}.payaddr-info{flex:1 1 100%}.payaddr-row code.addr{font-size:12px}}
/* handle field: '@' shown as decoration, not part of the value */
.input-at{display:flex;align-items:stretch;min-width:0}
.input-at .at{display:flex;align-items:center;padding:0 10px;border:1px solid var(--line);border-inline-end:0;border-start-start-radius:10px;border-end-start-radius:10px;background:var(--chip);color:var(--muted);font-weight:600}
.input-at input{flex:1;min-width:0;border-start-start-radius:0;border-end-start-radius:0}
.input-at{direction:ltr}
.handle-hint{font-weight:400}.handle-status{font-weight:500;min-height:1em}.handle-status.ok{color:var(--ok)}.handle-status.bad{color:var(--err)}
/* cards: the cover + title link to the post, the creator line links to the profile (two separate links) */
.card-main{display:block;color:inherit}.card-main:hover{color:inherit}
.card-main .card-meta{padding:8px 10px 0}
.card>.card-by{padding:0 10px 10px}
.card-creator{display:inline-flex;align-items:center;gap:6px;min-width:0;overflow:hidden;color:inherit;font-weight:600}
.card-creator:hover bdi{text-decoration:underline}
/* home listing: fixed columns so a page of 60 is exactly 10 rows on desktop (>=1200px: 6 columns) */
.grid.home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:640px){.grid.home-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:900px){.grid.home-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (min-width:1200px){.grid.home-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
/* page navigation (above and below the grid); flex follows dir=rtl, the ‹ › glyphs mirror in RTL */
.pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin:14px 0}
.pager a,.pager span{min-width:36px;height:36px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-weight:600;font-size:14px}
.pager a{background:var(--chip);color:var(--fg)}.pager a:hover{background:var(--line)}
.pager .pg-num.on{background:var(--accent);color:#fff}
.pager .pg-step.off{color:var(--muted);opacity:.5}
.pager .pg-gap{min-width:20px;padding:0;color:var(--muted)}
@media (max-width:480px){.pager .pg-step{padding:0 8px}.pager a,.pager span{min-width:32px;height:32px;font-size:13px}}
.bump-form{display:inline-block;margin-inline-end:6px}
.my-stats{padding:0 0 10px;align-items:baseline}
.choose-grid .cur-card{display:flex;flex-direction:column;gap:8px}
.cur-badge{display:inline-block;padding:3px 12px;border-radius:999px;font-weight:800;color:#fff;letter-spacing:.5px}.cur-badge.usdc{background:#2775ca}.cur-badge.usdt{background:#26a17b}
.net-opt{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--bg2);color:var(--fg);text-decoration:none}
a.net-opt:hover{border-color:var(--accent);box-shadow:var(--shadow)}
.net-opt.off{opacity:.55;cursor:not-allowed}
.pay-grid.single{grid-template-columns:minmax(0,560px)}
/* contact form */
.contact{max-width:640px;margin:0 auto}
.contact-form label{display:block;margin:10px 0}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;box-sizing:border-box}
.contact-form .hp{position:absolute;inset-inline-start:-10000px;top:0;width:1px;height:1px;overflow:hidden}
.contact-tbl td.pre{white-space:pre-wrap;max-width:420px;word-break:break-word}
.tbl-wrap{overflow-x:auto}

/* no-download video context menu */
video.nodl{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.vctx{position:fixed;z-index:9999;background:#1f1f1f;color:#fff;border:1px solid #333;border-radius:8px;padding:4px;box-shadow:0 6px 24px rgba(0,0,0,.4);min-width:180px}
.vctx button{display:block;width:100%;text-align:left;background:none;border:0;color:inherit;padding:8px 12px;border-radius:6px;cursor:pointer;font:inherit}
.vctx button:hover{background:#333}

/* ---- YouTube-style watch page (ytlayout 2026-10-24) ---- */
.watch.yt{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
.watch.yt .stage{display:block;width:100%}
.watch.yt .player,.watch.yt .player.landscape,.watch.yt .player.portrait{width:100%;max-width:none;aspect-ratio:16/9;max-height:calc(100svh - 150px);border-radius:12px;background:#000;margin:0 auto}
.watch.yt .player video,.watch.yt .player .poster-locked,.watch.yt .player .gallery img{object-fit:contain;background:#000}
.yt-title{font-size:20px;font-weight:700;margin:12px 0 8px;line-height:1.35}
.yt-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px}
.yt-owner{display:flex;align-items:center;gap:14px;min-width:0}
.yt-owner .by-link{display:flex;gap:10px;align-items:center;min-width:0;color:inherit}
.yt-owner-txt{min-width:0}.yt-owner-txt b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}
.yt-sub{border-radius:999px;padding:8px 16px}
.yt-actions{display:flex;gap:8px;flex-wrap:wrap}
.yt-pill{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:999px;border:none;background:var(--chip);color:var(--fg);font:inherit;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none}
.yt-pill:hover{filter:brightness(.95);color:var(--fg)}
.yt-pill.on{background:var(--accent2);color:#fff}
.watch.yt .yt-desc{background:var(--chip);box-shadow:none;border-radius:12px;padding:12px 14px;margin-top:12px;position:static;max-height:none;width:auto;overflow:visible}
.yt-desc-meta{font-size:14px}.yt-tag{color:#3ea6ff;font-size:14px}
.watch.yt .post-body{margin:8px 0}
.yt-side{min-width:0}
.yt-chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:10px;scrollbar-width:none}
.yt-chip{flex:none;border:none;border-radius:8px;padding:6px 12px;background:var(--chip);color:var(--fg);font:inherit;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}
.yt-chip.on{background:var(--fg);color:var(--bg)}
.yt-recs{display:flex;flex-direction:column;gap:10px}
.yt-rec{display:flex;gap:8px;color:inherit;text-decoration:none}.yt-rec:hover{color:inherit}
.yt-rec[hidden]{display:none}
.yt-rec-thumb{position:relative;flex:0 0 168px;aspect-ratio:16/9;border-radius:8px;overflow:hidden;background:#000}
.yt-rec-thumb img{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-drag:none}
.yt-rec-thumb .nsfw-badge{top:4px;inset-inline-start:4px;font-size:11px;padding:1px 6px}
.yt-dur{position:absolute;bottom:4px;inset-inline-end:4px;background:rgba(0,0,0,.8);color:#fff;font-size:12px;font-weight:600;padding:1px 4px;border-radius:4px}
.yt-rec-meta{min-width:0;display:flex;flex-direction:column;gap:2px}
.yt-rec-title{font-size:14px;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:2px}
@media (max-width:899px){
  .watch.yt .yt-main{margin:0 -12px}.watch.yt .player{border-radius:0}
  .watch.yt .yt-title,.watch.yt .yt-bar,.watch.yt .yt-desc{margin-inline:12px}
  .yt-rec-thumb{flex-basis:44%}
}
@media (min-width:900px){
  .watch.yt{grid-template-columns:minmax(0,68fr) minmax(300px,32fr);gap:24px}
  .watch.yt .stage{flex:none}
}

/* ytlayout2: full width, bigger player */
.container.wide:has(.watch.yt){max-width:none;padding-inline:20px}
.watch.yt .player,.watch.yt .player.landscape,.watch.yt .player.portrait{max-height:none;width:min(100%,calc((100svh - 180px) * 16 / 9));margin:0}
@media (min-width:900px){.watch.yt{grid-template-columns:minmax(0,1fr) 300px;gap:20px}}
@media (min-width:1200px){.watch.yt{grid-template-columns:minmax(0,1fr) 380px;gap:24px}}
@media (max-width:899px){.container.wide:has(.watch.yt){padding-inline:12px}.watch.yt .player{width:100%}}

/* ytlayout3: narrow fixed sidebar, wrapping titles */
@media (min-width:900px){.watch.yt{grid-template-columns:minmax(0,1fr) 280px}}
@media (min-width:1200px){.watch.yt{grid-template-columns:minmax(0,1fr) 330px}}
.yt-side{width:100%;max-width:100%;overflow:hidden}
.yt-rec{min-width:0;max-width:100%}
.yt-rec-thumb{flex:0 0 168px;width:168px}
@media (max-width:1199px) and (min-width:900px){.yt-rec-thumb{flex-basis:130px;width:130px}}
.yt-rec-meta{flex:1 1 0;min-width:0;max-width:16ch}
.yt-rec-title{white-space:normal;overflow-wrap:anywhere;word-break:break-word;-webkit-line-clamp:3;line-clamp:3}
.yt-rec-meta .small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:899px){.yt-rec-meta{max-width:none}}

/* pins */
.badge.pin-badge{top:8px;inset-inline-start:8px;background:var(--accent,#e11d74);font-weight:700}
.card-pin{padding:0 10px 8px}.pin-form{display:inline-block;margin:6px 6px 0 0}

/* ---- mobile portrait auto fullscreen (mobilefs7 2026-10-24) ---- */
/* Portrait: CSS immersive + FS-on-tap. Landscape: hands off native video fullscreen. */
.mfs-exit{display:none;position:absolute;z-index:5;bottom:max(72px,calc(env(safe-area-inset-bottom,0px) + 56px));inset-inline-end:max(12px,env(safe-area-inset-right,0px));min-height:44px;min-width:44px;padding:10px 16px;border:none;border-radius:999px;background:rgba(0,0,0,.78);color:#fff;font:inherit;font-size:14px;font-weight:700;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 4px 14px rgba(0,0,0,.35);touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.mfs-exit:active{filter:brightness(1.15)}
html.mfs-on,html.mfs-on body{background:#000;color:#fff}
html.mfs-on{height:100%;height:100dvh}
body.mfs-on{
  overflow:hidden;overscroll-behavior:none;overscroll-behavior-y:none;
  min-height:100%;min-height:100svh;min-height:100dvh;
  padding:0;margin:0;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent
}
/* temporary tall page so Chrome can collapse its URL bar via scrollTo(0,1) */
body.mfs-on.mfs-scroll{
  overflow-y:auto!important;overflow-x:hidden;
  min-height:calc(100dvh + 120px);min-height:calc(100svh + 120px);
  overscroll-behavior-y:contain
}
body.mfs-on .topbar,body.mfs-on .bottombar{display:none!important}
body.mfs-on main{padding:0!important;margin:0!important;min-height:100dvh}
body.mfs-on .container.wide:has(.watch.yt){max-width:none;padding:0!important;margin:0!important;min-height:100dvh}
body.mfs-on .watch.yt{display:block;gap:0;margin:0;min-height:100dvh}
body.mfs-on .watch.yt .yt-main{margin:0!important;min-height:100dvh}
body.mfs-on .watch.yt .yt-title,
body.mfs-on .watch.yt .yt-bar,
body.mfs-on .watch.yt .yt-desc,
body.mfs-on .watch.yt .yt-side{display:none!important}
body.mfs-on .watch.yt .stage,
body.mfs-on .watch.yt .player,
body.mfs-on .watch.yt .player.portrait,
body.mfs-on .watch.yt .player.landscape{
  position:fixed;inset:0;
  width:100%!important;width:100dvw!important;
  height:100%!important;height:100svh!important;height:100dvh!important;
  max-width:none!important;max-height:none!important;
  aspect-ratio:auto!important;border-radius:0!important;margin:0!important;
  z-index:9000;background:#000;box-shadow:none;
  padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);
  box-sizing:border-box
}
body.mfs-on .watch.yt .player video{width:100%;height:100%;object-fit:contain;background:#000}
body.mfs-on .mfs-exit,.player:fullscreen .mfs-exit,.player:-webkit-full-screen .mfs-exit{display:inline-flex;align-items:center;gap:6px;z-index:9010}
body.mfs-on .unmute,.player:fullscreen .unmute,.player:-webkit-full-screen .unmute{z-index:9010;top:max(12px,env(safe-area-inset-top,0px));inset-inline-start:max(12px,env(safe-area-inset-left,0px))}
.player:fullscreen,.player:-webkit-full-screen{
  width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;
  aspect-ratio:auto!important;border-radius:0!important;background:#000;display:flex;align-items:center;justify-content:center;
  padding:0
}
.player:fullscreen video,.player:-webkit-full-screen video{width:100%;height:100%;object-fit:contain;background:#000}
@media (min-width:769px){
  html.mfs-on,html.mfs-on body{background:revert;color:revert}
  body.mfs-on .topbar,body.mfs-on .bottombar{display:revert!important}
  body.mfs-on .watch.yt .yt-title,body.mfs-on .watch.yt .yt-bar,body.mfs-on .watch.yt .yt-desc,body.mfs-on .watch.yt .yt-side{display:revert!important}
  body.mfs-on .watch.yt .stage,body.mfs-on .watch.yt .player,body.mfs-on .watch.yt .player.portrait,body.mfs-on .watch.yt .player.landscape{position:relative;inset:auto;z-index:auto;padding:0;height:auto!important;width:auto!important}
  body.mfs-on .mfs-exit{display:none!important}
}
