:root{
  --bg:#fafafa;--surface:#fff;--text:#111318;--muted:#6b7280;--line:#e5e7eb;
  --accent:#e1306c;--accent2:#f77737;--link:#2563eb;--danger:#dc2626;
  --ring:linear-gradient(45deg,#f9a825,#f77737,#e1306c,#833ab4);
  --radius:12px;--nav:244px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b0b0d;--surface:#141418;--text:#f3f4f6;--muted:#9ca3af;--line:#26262c;--link:#60a5fa;color-scheme:dark}}
:root[data-theme=dark]{--bg:#0b0b0d;--surface:#141418;--text:#f3f4f6;--muted:#9ca3af;--line:#26262c;--link:#60a5fa;color-scheme:dark}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--text);font:15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a.tag,.link{color:var(--link)}
img{display:block;max-width:100%}
button{font:inherit;cursor:pointer}
.brand{font-family:"Grand Hotel","Brush Script MT","Segoe Script",cursive;font-size:32px;letter-spacing:.5px;background:var(--ring);-webkit-background-clip:text;background-clip:text;color:transparent}

/* layout */
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--nav);border-right:1px solid var(--line);background:var(--surface);padding:24px 12px;display:flex;flex-direction:column;gap:4px;z-index:20;overflow-y:auto;overscroll-behavior:contain}
.sidebar .brand{padding:6px 12px 22px}
.nav-item{display:flex;align-items:center;gap:14px;padding:12px;border-radius:10px;font-size:15px}
.nav-item:hover{background:var(--bg)}
.nav-item.active{font-weight:700}
.nav-item svg{width:26px;height:26px;flex:none}
.nav-item img{width:26px;height:26px;border-radius:50%}
.sidebar .spacer{flex:1}
.sidebar form button{all:unset;cursor:pointer;display:flex;align-items:center;gap:14px;padding:12px;border-radius:10px;width:calc(100% - 24px)}
.sidebar form button:hover{background:var(--bg)}
main{margin-left:var(--nav);padding:28px 16px 80px;min-height:100vh}
.wrap{max-width:935px;margin:0 auto}
.narrow{max-width:470px;margin:0 auto}
.topbar,.bottombar{display:none}
@media (max-width:820px){
  .sidebar{display:none}
  main{margin-left:0;padding:64px 0 72px}
  .topbar{display:flex;position:fixed;top:0;left:0;right:0;height:54px;align-items:center;justify-content:space-between;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--line);z-index:20}
  .topbar .brand{font-size:26px}
  .topbar svg{width:26px;height:26px}
  .bottombar{display:flex;position:fixed;bottom:0;left:0;right:0;height:56px;justify-content:space-around;align-items:center;background:var(--surface);border-top:1px solid var(--line);z-index:20}
  .bottombar svg{width:26px;height:26px}
  .bottombar img{width:28px;height:28px;border-radius:50%}
}

/* generic */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:8px;padding:8px 16px;font-weight:600;background:var(--accent);color:#fff;font-size:14px}
.btn:hover{filter:brightness(1.07)}
.btn.secondary{background:var(--line);color:var(--text)}
.btn.ghost{background:none;color:var(--link);padding:0}
.btn.danger{background:var(--danger)}
.btn.block{width:100%}
.muted{color:var(--muted)}
.small{font-size:13px}
.flash{max-width:470px;margin:0 auto 16px;padding:10px 14px;border-radius:10px;background:var(--surface);border:1px solid var(--line);text-align:center}
.errors{color:var(--danger);font-size:13px;margin:4px 0 0}
input[type=text],input[type=email],input[type=password],input[type=url],input[type=search],textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font:inherit}
textarea{resize:vertical;min-height:90px}
label{display:block;font-weight:600;font-size:14px;margin:14px 0 6px}
.avatar{border-radius:50%;object-fit:cover;background:var(--line);flex:none;aspect-ratio:1}
.row{display:flex;align-items:center;gap:10px}
.between{justify-content:space-between}
.page-title{font-size:20px;font-weight:700;margin:0 0 18px}

/* auth */
.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.auth .card{width:100%;max-width:360px;padding:36px 32px;text-align:center}
.auth .brand{font-size:44px;margin-bottom:22px}
.auth input{margin-bottom:8px}
.auth .alt{width:100%;max-width:360px;margin-top:10px;padding:18px;text-align:center}

/* stories */
.stories{display:flex;gap:14px;overflow-x:auto;padding:14px 12px;margin-bottom:18px;scrollbar-width:none}
.story-bubble{display:flex;flex-direction:column;align-items:center;gap:5px;width:70px;flex:none;font-size:12px}
.story-bubble .ring{padding:3px;border-radius:50%;background:var(--ring)}
.story-bubble .ring.add{background:var(--line)}
.story-add span{color:var(--muted)}
.story-bubble .ring img{width:60px;height:60px;border:3px solid var(--surface)}
.story-bubble span{max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.story-add{position:relative}
.story-add input{position:absolute;inset:0;opacity:0;cursor:pointer}

/* feed post */
.feed-grid{display:grid;grid-template-columns:minmax(0,470px) 300px;gap:56px;justify-content:center}
@media (max-width:1100px){.feed-grid{grid-template-columns:minmax(0,470px)}.aside{display:none}}
.post{margin-bottom:22px;overflow:hidden}
@media (max-width:820px){.post{border-radius:0;border-left:0;border-right:0}}
.post-head{padding:10px 12px}
.post-head .avatar{width:34px;height:34px}
.post-img{width:100%;background:#000;aspect-ratio:auto;max-height:640px;object-fit:contain}
.actions{display:flex;align-items:center;gap:14px;padding:8px 12px 4px}
.actions button,.actions a{background:none;border:0;padding:0;color:var(--text);display:flex}
.actions svg{width:26px;height:26px}
.actions .save{margin-left:auto}
.liked svg{fill:var(--accent);stroke:var(--accent)}
.saved svg{fill:currentColor}
.pop{animation:pop .35s ease}
@keyframes pop{50%{transform:scale(1.25)}}
.post-body{padding:0 12px 12px}
.post-body p{margin:4px 0}
.comment-form{display:flex;border-top:1px solid var(--line);padding:6px 12px}
.comment-form input{border:0;background:none;padding:8px 0}
.comment-form input:focus{outline:none}
.comment-form button{background:none;border:0;color:var(--link);font-weight:600}
.heart-burst{position:absolute;left:50%;top:50%;width:110px;height:110px;margin:-55px;fill:#fff;opacity:0;pointer-events:none;filter:drop-shadow(0 4px 12px rgba(0,0,0,.35))}
.heart-burst.go{animation:burst .8s ease}
@keyframes burst{15%{opacity:.95;transform:scale(1.15)}30%{transform:scale(.95)}70%{opacity:.95}100%{opacity:0;transform:scale(1)}}

/* suggestions */
.aside .me{margin-bottom:20px}
.aside .avatar{width:44px;height:44px}
.aside h4{margin:0 0 12px;color:var(--muted);font-size:14px}
.person{display:flex;align-items:center;gap:12px;padding:6px 0}
.person .avatar{width:44px;height:44px}
.person .who{flex:1;min-width:0;line-height:1.25}
.person .who b,.person .who span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.person .who span{color:var(--muted);font-size:13px}

/* profile */
.profile-head{display:grid;grid-template-columns:auto 1fr;gap:28px 70px;padding:8px 24px 34px;border-bottom:1px solid var(--line);align-items:center}
.profile-head .avatar{width:150px;height:150px;min-width:150px}
.profile-head h1{font-size:20px;font-weight:400;margin:0}
.profile-stats{display:flex;gap:36px;margin:18px 0}
.profile-stats b{font-weight:700}
.profile-bio{white-space:pre-line}
@media (max-width:820px){
  .profile-head{grid-template-columns:auto 1fr;gap:16px 24px;padding:12px 16px 20px}
  .profile-head .avatar{width:80px;height:80px;min-width:80px}
  .profile-stats{gap:20px;margin:12px 0}
}
@media (max-width:480px){
  .profile-head > div{min-width:0}
  .profile-stats{gap:12px;font-size:13px}
  .profile-stats span{text-align:center;display:flex;flex-direction:column}
}
.tabs{display:flex;justify-content:center;gap:56px;font-size:12px;letter-spacing:1px;text-transform:uppercase;font-weight:600}
.tabs a{padding:16px 0;color:var(--muted);border-top:1px solid transparent;margin-top:-1px}
.tabs a.active{color:var(--text);border-top-color:var(--text)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.grid a{position:relative;aspect-ratio:1;overflow:hidden;background:var(--line)}
.grid img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.grid .overlay{position:absolute;inset:0;background:rgba(0,0,0,.35);color:#fff;display:flex;align-items:center;justify-content:center;gap:22px;font-weight:700;opacity:0;transition:opacity .2s}
.grid a:hover .overlay{opacity:1}
.grid .overlay svg{width:20px;height:20px;fill:#fff;vertical-align:-4px;margin-right:4px}
.explore .grid a:nth-child(10n+3){grid-row:span 2;aspect-ratio:auto}
.empty{text-align:center;padding:60px 20px;color:var(--muted)}

/* single post */
.single{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);overflow:hidden}
.single .media{background:#000;display:flex;align-items:center;justify-content:center;position:relative}
.single .media img{max-height:85vh;width:100%;object-fit:contain}
.single .side{display:flex;flex-direction:column;min-height:0;max-height:85vh;border-left:1px solid var(--line)}
.single .comments{flex:1;overflow-y:auto;padding:12px 14px}
.single .comment{display:flex;gap:10px;margin-bottom:14px;align-items:flex-start}
.single .comment .avatar{width:32px;height:32px}
.single .comment .del{background:none;border:0;color:var(--muted);font-size:12px;padding:0;margin-left:8px}
@media (max-width:820px){.single{grid-template-columns:1fr;border-radius:0}.single .side{max-height:none;border-left:0}}
.menu{position:relative}
.menu summary{list-style:none;cursor:pointer;padding:4px 8px;font-weight:700}
.menu summary::-webkit-details-marker{display:none}
.menu .items{position:absolute;right:0;top:100%;background:var(--surface);border:1px solid var(--line);border-radius:10px;min-width:180px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:5;overflow:hidden}
.menu .items a,.menu .items button{display:block;width:100%;text-align:left;padding:12px 14px;background:none;border:0;color:var(--text)}
.menu .items .danger{color:var(--danger)}
.menu .items>*+*{border-top:1px solid var(--line)}

/* upload */
.drop{border:2px dashed var(--line);border-radius:var(--radius);aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer;position:relative;overflow:hidden;background:var(--surface)}
.drop.over{border-color:var(--accent)}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.drop img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.drop svg{width:72px;height:72px;stroke:var(--muted)}

/* story viewer */
.viewer{position:fixed;inset:0;background:#111;display:flex;align-items:center;justify-content:center;z-index:50}
.viewer .frame{position:relative;width:min(420px,100vw);height:min(92vh,100dvh);background:#000;border-radius:12px;overflow:hidden}
.viewer .frame img{width:100%;height:100%;object-fit:contain}
.viewer .bars{position:absolute;top:10px;left:10px;right:10px;display:flex;gap:4px;z-index:2}
.viewer .bars i{flex:1;height:3px;background:rgba(255,255,255,.35);border-radius:2px;overflow:hidden}
.viewer .bars i b{display:block;height:100%;width:0;background:#fff}
.viewer .who{position:absolute;top:22px;left:12px;right:52px;color:#fff;z-index:2;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.viewer .who .avatar{width:32px;height:32px}
.viewer .tap{position:absolute;top:0;bottom:0;width:40%;z-index:1}
.viewer .tap.prev{left:0}.viewer .tap.next{right:0}
.viewer .close{position:absolute;top:16px;right:20px;color:#fff;font-size:30px;z-index:3}
@media (max-width:820px){.viewer .frame{border-radius:0;height:100dvh}}

/* activity */
.activity-item{display:flex;align-items:center;gap:12px;padding:10px 0}
.activity-item .avatar{width:44px;height:44px}
.activity-item .text{flex:1}
.activity-item .thumb{width:44px;height:44px;object-fit:cover;border-radius:4px}

.pager{display:flex;justify-content:center;gap:10px;margin:24px 0}
.search-box{position:relative;margin-bottom:16px}

/* ===== v3: CMS, ads, chat, video, admin ===== */
.brand-logo{height:34px;width:auto;display:block}
.auth-brand{display:block;font-size:44px;margin-bottom:22px}
.auth-brand .brand-logo{height:56px;margin:0 auto}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.locale-picker select{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:8px;padding:6px 8px;font:inherit;font-size:13px}
.nav-locale{padding:6px 12px}
.auth-locale{margin:16px auto 0;text-align:center}
.badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;margin-left:auto}
.with-badge{position:relative}.with-badge .badge{position:absolute;top:-6px;right:-8px}
.demo-badge{display:inline-block;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 6px;border-radius:4px;background:#fde68a;color:#78350f;vertical-align:middle}
.pill{display:inline-block;font-size:12px;padding:2px 8px;border-radius:999px;background:var(--line);color:var(--text);white-space:nowrap}
.pill.ok{background:#dcfce7;color:#166534}.pill.warn{background:#fee2e2;color:#991b1b}
.pill.admin{background:#ede9fe;color:#5b21b6}.pill.moderator{background:#dbeafe;color:#1e40af}
.pill.ghost{background:none;border:1px dashed var(--line);color:var(--muted)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pill.ok{background:#14532d;color:#bbf7d0} :root:not([data-theme=light]) .pill.warn{background:#7f1d1d;color:#fecaca} :root:not([data-theme=light]) .pill.admin{background:#3b0764;color:#e9d5ff} :root:not([data-theme=light]) .pill.moderator{background:#1e3a8a;color:#dbeafe} :root:not([data-theme=light]) .demo-badge{background:#78350f;color:#fde68a}}
[data-theme=dark] .pill.ok{background:#14532d;color:#bbf7d0}[data-theme=dark] .pill.warn{background:#7f1d1d;color:#fecaca}[data-theme=dark] .pill.admin{background:#3b0764;color:#e9d5ff}[data-theme=dark] .pill.moderator{background:#1e3a8a;color:#dbeafe}[data-theme=dark] .demo-badge{background:#78350f;color:#fde68a}
.online-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:#22c55e;border:2px solid var(--surface);vertical-align:middle}
.ring.plain{background:none;position:relative}.ring.plain .online-dot{position:absolute;right:4px;bottom:4px;width:13px;height:13px}
.plus-dot{position:absolute;right:2px;bottom:2px;width:20px;height:20px;border-radius:50%;background:var(--link);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--surface);font-size:14px}
.story-add .ring{position:relative}
.story-turnstile{position:absolute;left:-9999px}
.ok-text{color:#16a34a}
.btn.big{padding:12px 22px;font-size:15px}
.btn.loading{opacity:.6;pointer-events:none}
.hide-xs{}
@media (max-width:480px){.hide-xs{display:none}}

/* guest header + footer */
.guestbar{display:flex!important;position:fixed;top:0;left:0;right:0;height:58px;align-items:center;justify-content:space-between;padding:0 16px;background:var(--surface);border-bottom:1px solid var(--line);z-index:20}
.guest-main{margin-left:0!important;padding-top:76px!important}
.site-footer{max-width:935px;margin:48px auto 0;padding:20px 16px;text-align:center;display:flex;flex-direction:column;gap:10px;color:var(--muted)}
.footer-links{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:center;font-size:13px;color:var(--muted)}
.footer-links a:hover{text-decoration:underline}

/* landing */
.hero{margin:-28px -16px 0;padding:72px 16px;text-align:center;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 85%,#000),var(--accent2));background-image:var(--hero-bg,linear-gradient(135deg,var(--accent),var(--accent2)));background-size:cover;background-position:center;position:relative;color:#fff}
.hero::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.35)}
.hero-inner{position:relative;max-width:640px;margin:0 auto}
.hero h1{font-size:clamp(28px,5vw,44px);margin:0 0 12px;text-wrap:balance}
.hero p{font-size:17px;margin:0 0 24px;opacity:.95}
.hero .btn.secondary{background:rgba(255,255,255,.9);color:#111}
@media (max-width:820px){.hero{margin:-12px 0 0}}

/* ads */
.ad{position:relative;margin:16px auto;max-width:970px;text-align:center;overflow:hidden}
.ad img{margin:0 auto;border-radius:8px}
.ad-label{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);margin-bottom:4px}
.ad-feed{max-width:470px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:10px}
.ad-sidebar{margin:20px 0}
@media (max-width:767px){.ad-hide-mobile{display:none!important}}
@media (min-width:768px) and (max-width:1100px){.ad-hide-tablet{display:none!important}}
@media (min-width:1101px){.ad-hide-desktop{display:none!important}}

/* video */
video.post-img{width:100%;max-height:640px;background:#000;display:block}
.single .media video{max-height:85vh;width:100%}
.tile-badge{position:absolute;top:8px;right:8px;width:22px;height:22px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.5))}
.tile-badge svg{fill:#fff;width:22px;height:22px}
.tile-hidden{position:absolute;left:6px;bottom:6px;background:rgba(0,0,0,.65);color:#fff;font-size:11px;padding:2px 6px;border-radius:4px}
.drop video,.drop img.pv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.camera-row{margin-top:10px;flex-wrap:wrap}
.camera-row .btn{cursor:pointer}
@media (hover:hover) and (pointer:fine){.camera-row{display:none}}
.viewer video{width:100%;height:100%;object-fit:contain}
.viewer .sound{position:absolute;bottom:18px;right:16px;z-index:3;background:rgba(0,0,0,.45);border:0;color:#fff;border-radius:50%;width:38px;height:38px;font-size:18px}

/* report */
.menu.report summary{color:var(--muted);font-size:18px;font-weight:400}
.report-form{min-width:230px;padding-bottom:6px}
.menu .items .report-reason{display:flex;gap:8px;align-items:center;padding:7px 14px;font-weight:400;margin:0;border:0}
.menu .items .report-form button{color:var(--danger);font-weight:600}
.menu .items .cf-turnstile{padding:6px 10px}

/* chat */
.section-label{text-transform:uppercase;letter-spacing:.6px;font-weight:600;margin:0 0 10px}
.conv{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.conv:last-child{border-bottom:0}
.conv .avatar{width:48px;height:48px}
.conv .who{flex:1;min-width:0;display:flex;flex-direction:column}
.conv .who .small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat{display:flex;flex-direction:column;gap:10px;height:calc(100dvh - 130px);min-height:420px}
.chat-head{padding:10px 14px}
.chat-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:6px}
.bubble{max-width:78%;align-self:flex-start;background:var(--bg);border:1px solid var(--line);border-radius:18px;padding:8px 12px;word-wrap:break-word;overflow-wrap:anywhere}
.bubble.mine{align-self:flex-end;background:var(--accent);color:#fff;border-color:transparent}
.bubble.mine a.tag{color:#fff;text-decoration:underline}
.bubble time{display:block;font-size:10.5px;opacity:.7;margin-top:2px;text-align:right}
.chat-form{display:flex;gap:8px;flex-wrap:wrap}
.chat-form input{flex:1;min-width:0}
.chat-form .cf-turnstile{flex-basis:100%}
@media (max-width:820px){.chat{height:calc(100dvh - 150px);padding:0 10px}}

/* CMS pages */
.cms-page h1{font-size:28px;margin:0 0 18px;text-wrap:balance}
.prose{line-height:1.65}
.prose h2{font-size:21px;margin:26px 0 10px}.prose h3{font-size:17px;margin:20px 0 8px}
.prose a{color:var(--link);text-decoration:underline}
.prose img{border-radius:8px;margin:12px 0}
.prose table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--line);padding:6px 10px;text-align:left}
.faq{margin-bottom:10px;padding:0}
.faq summary{padding:14px 16px;font-weight:600;cursor:pointer}
.faq .prose{padding:0 16px 14px}
@media (max-width:820px){.cms-page{padding:0 16px}}

/* ===== Admin ===== */
.admin .sidebar{overflow-y:auto}
.admin-nav .nav-item{padding:8px 12px;font-size:14px}
.admin-nav .nav-item svg{width:20px;height:20px}
.nav-sep{font-size:11px;font-weight:700;letter-spacing:1px;color:var(--muted);padding:14px 12px 4px}
.admin-main{max-width:1180px}
.admin-top{display:none}
@media (max-width:820px){.admin-top{display:flex}.admin-main{padding:70px 14px 40px}}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:18px}
.stat{padding:16px;display:flex;flex-direction:column;gap:2px}
.stat span{font-size:13px;color:var(--muted)}
.stat b{font-size:28px;font-variant-numeric:tabular-nums}
.stat small{color:var(--muted)}
.stat.alert{border-color:var(--danger)}.stat.warn{border-color:#f59e0b}
.chart-card{padding:16px;margin-bottom:18px}
.bars-chart{display:flex;align-items:flex-end;gap:6px;height:160px;padding-top:8px}
.bars-chart .day{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;height:100%}
.bars-chart .pair{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:2px;border-bottom:1px solid var(--line)}
.bars-chart i{width:40%;max-width:14px;border-radius:3px 3px 0 0;min-height:1px}
.bars-chart .u,.key.users{background:var(--accent)}.bars-chart .p,.key.posts{background:var(--link)}
.bars-chart small{font-size:10.5px;color:var(--muted);font-variant-numeric:tabular-nums}
.key{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:middle}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.two-col.tight{gap:12px}
@media (max-width:820px){.two-col{grid-template-columns:1fr}}
.list-card{padding:14px 16px}
.form-card{padding:20px;margin-bottom:16px}
.form-card.wide{max-width:860px}
.form-card label{margin-top:12px}
.form-card .check{display:flex;align-items:center;gap:8px;font-weight:400;margin:8px 0}
.form-card select,.toolbar select,.form-card input[type=number],.form-card input[type=datetime-local]{padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font:inherit}
.form-card select{width:100%}
textarea.code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:13px;min-height:140px}
.field{border-bottom:1px solid var(--line);padding-bottom:12px}
.field:last-of-type{border-bottom:0}
.help{margin:6px 0 0}
.checks{display:flex;flex-wrap:wrap;gap:4px 18px}
.setting-img{max-height:64px;width:auto;border-radius:6px;background:repeating-conic-gradient(var(--line) 0 25%,transparent 0 50%) 0 0/12px 12px}
.sticky-save{position:sticky;bottom:0;background:var(--surface);padding:12px 0 2px;margin-top:10px;border-top:1px solid var(--line)}
.loc-buttons{display:flex;gap:4px;margin-bottom:6px;flex-wrap:wrap}
.loc-buttons button{border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:6px;padding:3px 8px;font-size:12px;font-weight:600}
.loc-buttons button.on{background:var(--text);color:var(--surface)}
.toolbar{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.toolbar input[type=search]{flex:1;min-width:200px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text)}
.table-wrap{overflow-x:auto}
.admin-table{width:100%;border-collapse:collapse;font-size:14px}
.admin-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.admin-table td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.admin-table tr:last-child td{border-bottom:0}
.admin-table .num{text-align:right;font-variant-numeric:tabular-nums}
.admin-table form{display:inline}
.texts-table td:first-child{width:45%;color:var(--muted)}
.tabs.left{justify-content:flex-start;gap:24px;border-bottom:1px solid var(--line);margin-bottom:16px;flex-wrap:wrap}
.tabs.left a{border-top:0;border-bottom:2px solid transparent;padding:10px 0;margin:0}
.tabs.left a.active{border-bottom-color:var(--text)}
.mod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.mod-item{display:flex;gap:10px;padding:10px}
.mod-thumb{position:relative;flex:none;width:90px;height:90px;border-radius:8px;overflow:hidden;background:var(--line)}
.mod-thumb img{width:100%;height:100%;object-fit:cover}
.mod-body{min-width:0;flex:1}
.mod-body p{margin:4px 0}
.small-grid{grid-template-columns:repeat(6,1fr)}
@media (max-width:820px){.small-grid{grid-template-columns:repeat(3,1fr)}}
.choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin-bottom:8px}
.choice{display:flex!important;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--line);border-radius:10px;cursor:pointer;font-weight:400!important;margin:0!important}
.choice:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.choice input{align-self:flex-start}
fieldset{border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:14px 0}
legend{font-weight:700;padding:0 6px}
progress{width:100%;margin-top:10px}
.editor{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.editor-bar{display:flex;flex-wrap:wrap;gap:4px;padding:6px;background:var(--bg);border-bottom:1px solid var(--line)}
.editor-bar button{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:6px;padding:4px 9px;font-size:13px}
.editor-area{min-height:280px;padding:14px;outline:none;background:var(--surface)}
.editor textarea.code{border:0;border-radius:0;min-height:280px}
.seo-box{margin-top:14px;border:1px solid var(--line);border-radius:10px;padding:10px 14px}
.seo-box summary{cursor:pointer;font-weight:600}
.faq-edit textarea{min-height:90px;margin-top:8px}
[hidden]{display:none!important}
@media (max-width:820px){.narrow{padding:0 12px}.wrap{padding:0 4px}.page-title{padding:0 2px}}

/* ===== v4: premium, galleries, age gate, home rails ===== */
.warn-flash{border-color:#f59e0b}
.auth-title{font-size:18px;margin:0 0 8px}
.verify-card{padding:28px;text-align:center}
.verify-icon{font-size:44px;margin-bottom:6px;display:flex;justify-content:center}
.consent{gap:8px}
.premium-badge{font-size:12px;font-weight:700;color:#92400e;background:linear-gradient(90deg,#fde68a,#fbbf24);padding:2px 8px;border-radius:999px}
.locked-row{align-items:center;gap:6px;color:var(--muted);padding:12px}
.btn.ghost-light{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.6)}

/* premium page */
.premium-head{text-align:center;max-width:620px;margin:0 auto 22px}
.premium-head h1{font-size:30px;margin:0 0 6px}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;align-items:start}
.plan{padding:22px;position:relative;display:flex;flex-direction:column;gap:8px}
.plan.featured{border:2px solid var(--accent);box-shadow:0 10px 30px color-mix(in srgb,var(--accent) 18%,transparent)}
.plan-flag{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--accent);color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap}
.plan h2{margin:0;font-size:19px}
.plan-price b{font-size:28px;font-variant-numeric:tabular-nums}
.plan-features{list-style:none;padding:0;margin:6px 0}
.plan-features li{padding:4px 0 4px 22px;position:relative}
.plan-features li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700}
.pay-buttons{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.pay-paypal{background:#ffc439;color:#111}
.pay-ccbill{background:#1f4e8c}.pay-verotel{background:#0f766e}.pay-stripe{background:#635bff}.pay-manual{background:var(--line);color:var(--text)}
.center{text-align:center}
pre.transfer{white-space:pre-wrap;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:14px;font-family:ui-monospace,Menlo,Consolas,monospace}

/* galleries */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px}
.gallery-card{overflow:hidden;display:flex;flex-direction:column}
.gallery-cover{position:relative;aspect-ratio:4/3;background:linear-gradient(135deg,var(--line),var(--bg));display:flex;align-items:center;justify-content:center}
.gallery-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gallery-cover.locked{background:repeating-linear-gradient(45deg,var(--line) 0 10px,var(--bg) 10px 20px)}
.lock-icon svg{width:40px;height:40px;stroke:var(--muted)}
.pending-badge{position:absolute;top:8px;right:8px}
.gallery-meta{padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.vis-public{background:#dcfce7;color:#166534}.vis-friends{background:#dbeafe;color:#1e40af}.vis-private{background:#fee2e2;color:#991b1b}
.small-drop{aspect-ratio:auto;padding:22px}
.gallery-items{margin-top:14px}
.g-item{position:relative;aspect-ratio:1;overflow:hidden;background:var(--line)}
.g-item a{display:block;width:100%;height:100%}
.g-item img{width:100%;height:100%;object-fit:cover}
.g-del{position:absolute;top:6px;left:6px}
.g-del button{width:26px;height:26px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:#fff;font-size:16px;line-height:1}
.choice.disabled{opacity:.55}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:60;display:flex;align-items:center;justify-content:center}
.lightbox .lb-body{max-width:94vw;max-height:90vh}
.lightbox img,.lightbox video{max-width:94vw;max-height:90vh;object-fit:contain}
.lb-close{position:absolute;top:12px;right:18px;background:none;border:0;color:#fff;font-size:34px}

/* home rails */
.home-section{margin:28px 0}
.section-title{font-size:19px;margin:0 0 12px}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,200px);gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
.rail-item{position:relative;aspect-ratio:4/5;border-radius:10px;overflow:hidden;background:var(--line);scroll-snap-align:start}
.rail-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.rail-item:hover img{transform:scale(1.04)}
.rail-stats{position:absolute;left:0;right:0;bottom:0;padding:18px 8px 6px;font-size:12px;font-weight:600;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.6))}
.hero-age{display:inline-block;font-weight:800;border:2px solid #fff;border-radius:999px;padding:2px 12px;margin-bottom:12px;letter-spacing:1px}

/* 18+ entry gate (design: accueil-libertingaybi.html) */
body.xg-lock{overflow:hidden}
.xg{position:fixed;inset:0;z-index:100;overflow-y:auto;color:#fff;background:radial-gradient(70% 60% at 50% 35%,#5a0f30 0%,transparent 70%),radial-gradient(50% 50% at 0% 100%,#3a0d50 0%,transparent 70%),#12040c;padding:env(safe-area-inset-top,0px) 16px calc(24px + env(safe-area-inset-bottom,0px))}
.xg[hidden]{display:none}
.xg-in{max-width:960px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:22px;padding-top:14px}
.xg-top{width:100%;display:flex;justify-content:space-between;align-items:center}
.xg-top .brand{font-size:30px}
.xg-top .locale-picker select{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:8px}
.xg-top .locale-picker option{color:#111}
.xg-ad a{display:block}
.xg-btns form{display:contents}
.xg-lang{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:6px 8px;font:inherit;font-size:13px}
.xg-lang option{color:#111}
.xg-ad{position:relative;display:block;border-radius:10px;overflow:hidden;outline:1px solid rgba(255,255,255,.14);background:#000}
.xg-ad small{position:absolute;left:6px;top:4px;z-index:2;font-size:10px;font-weight:600;color:#fff;background:rgba(0,0,0,.55);padding:1px 6px;border-radius:4px}
.xg-ad img{display:block;max-width:100%;height:auto}
.xg-ad-lead{width:min(728px,100%)}
.xg-ad-lead .xg-m{display:none}
@media (max-width:640px){.xg-ad-lead{width:min(320px,100%)}.xg-ad-lead img:not(.xg-m){display:none}.xg-ad-lead .xg-m{display:block}}
.xg-band{width:100%;display:flex;flex-direction:column;gap:24px;padding:24px 28px 28px;border-radius:24px;background:linear-gradient(135deg,rgba(225,48,108,.22),rgba(131,58,180,.18));border:2px solid #e0244f;box-shadow:0 0 0 6px rgba(224,36,79,.15),0 30px 80px -30px rgba(0,0,0,.9)}
.xg-sign{width:150px;height:150px;border-radius:50%;border:14px solid #e0244f;background:#fff;display:grid;place-items:center;position:relative}
.xg-sign span{font-size:64px;font-weight:900;color:#111;letter-spacing:-.04em}
.xg-sign span::after{content:"+";font-size:40px;vertical-align:top;margin-left:2px}
.xg h1{font-size:clamp(30px,5.4vw,54px);line-height:1.02;margin:0 0 12px;text-transform:uppercase;letter-spacing:-.01em}
.xg-copy p{margin:0 0 18px;color:#f3d6e3;font-size:16px;line-height:1.5;max-width:60ch}
.xg-copy a{color:#ff9ec0;text-decoration:underline}
.xg-btns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.xg-yes{border:0;border-radius:999px;padding:15px 26px;font-size:17px;font-weight:800;color:#fff;background:linear-gradient(90deg,#e1306c,#f77737);box-shadow:0 10px 30px -8px rgba(225,48,108,.8)}
.xg-yes:hover{filter:brightness(1.08)}
.xg-no{display:inline-flex;align-items:center;border-radius:999px;padding:15px 22px;font-size:15px;font-weight:700;color:#fff!important;text-decoration:none!important;border:1px solid rgba(255,255,255,.35)}
.xg-small{font-size:13px!important;color:#c79bb0!important;margin:0!important}
@media (max-width:720px){.xg-band{text-align:center;padding:18px 14px;gap:18px}.xg-mid{grid-template-columns:1fr!important;justify-items:center}.xg-sign{width:110px;height:110px;border-width:11px;margin:0 auto}.xg-sign span{font-size:46px}.xg-sign span::after{font-size:28px}.xg-btns{justify-content:center}.xg-yes,.xg-no{width:100%;justify-content:center}}
.xg-ads{display:grid;grid-template-columns:repeat(3,300px);gap:16px;justify-content:center;width:100%}
@media (max-width:980px){.xg-ads{grid-template-columns:repeat(2,300px)}}
@media (max-width:640px){.xg-ads{grid-template-columns:min(300px,100%)}}
.xg-free{aspect-ratio:300/250;background:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0 12px,transparent 12px 24px);outline:2px dashed rgba(255,255,255,.35)}
.xg-free span{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:16px;font-size:13px;color:#e8c9d6}
.xg-free b{font-size:20px;color:#fff}
.xg-free em{font-style:normal;margin-top:8px;font-weight:700;color:#fff;background:#e1306c;padding:6px 14px;border-radius:999px}

.xg-band-ad{display:flex;justify-content:center;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.14)}
.xg-mid{display:grid;grid-template-columns:auto 1fr 300px;gap:26px;align-items:center}
.xg-side{width:300px}
@media (max-width:1000px){.xg-mid{grid-template-columns:auto 1fr}.xg-side{display:none}}
.xg-band .xg-ads{padding-top:22px;border-top:1px solid rgba(255,255,255,.14)}
.xg-band .xg-ads{grid-template-columns:repeat(auto-fit,minmax(0,300px))}
@media (max-width:1000px){.xg-band .xg-ads{grid-template-columns:repeat(2,minmax(0,300px))}}
@media (max-width:640px){.xg-band .xg-ads{grid-template-columns:minmax(0,300px)}}
.xg-in{max-width:1100px}
.adult-locked .grid img,.adult-locked .rail img,.adult-locked .post-img,.adult-locked .single-media{filter:blur(22px)}

/* ===== lives ===== */
.live-dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.25);vertical-align:middle}
.live-pill{display:inline-block;background:#ef4444;color:#fff;font-size:11px;font-weight:800;letter-spacing:.6px;padding:3px 8px;border-radius:6px;white-space:nowrap}
.live-cover{background:linear-gradient(135deg,#1f1f2b,#3b0a1e)}
.live-avatar{position:static!important;width:84px!important;height:84px!important;border-radius:50%;border:3px solid #ef4444}
.live-cover .live-pill{position:absolute;top:10px;left:10px}
.live-lock{position:absolute;right:10px;bottom:10px}
.live-strip{display:flex;align-items:center;gap:14px;padding:10px 14px;margin-bottom:16px;overflow-x:auto;white-space:nowrap}
.lv-room{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;max-width:1200px;margin:0 auto}
@media (max-width:980px){.lv-room{grid-template-columns:1fr}}
.lv-stage{position:relative;border-radius:20px;overflow:hidden;background:#000;aspect-ratio:16/9;max-width:100%;box-shadow:0 30px 70px -30px rgba(0,0,0,.6);color:#fff}
@media (max-width:640px){.lv-stage{aspect-ratio:3/4;border-radius:16px}}
.lv-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000}
.lv-stage video.mirror{transform:scaleX(-1)}
.lv-top{position:absolute;left:0;right:0;top:0;z-index:2;display:flex;align-items:center;gap:10px;padding:14px;background:linear-gradient(rgba(0,0,0,.65),transparent)}
.lv-top img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid #e0244f}
.lv-who{min-width:0;flex:1}
.lv-who small{display:block;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv-badge{display:inline-flex;align-items:center;gap:6px;background:#e0244f;font-size:11px;font-weight:800;letter-spacing:.05em;padding:3px 8px;border-radius:6px;margin-left:6px;vertical-align:2px}
.lv-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;animation:lvp 1.3s infinite}
@keyframes lvp{50%{opacity:.25}}
.lv-rec{font-size:12px;opacity:.85}
.lv-viewers{font-size:13px;font-weight:700;background:rgba(0,0,0,.5);padding:5px 10px;border-radius:999px;white-space:nowrap}
.lv-state{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:70px 20px;text-align:center;background:radial-gradient(60% 70% at 50% 40%,rgba(107,20,66,.55),transparent 70%),#14060f}
.lv-state[hidden]{display:none}
.lv-state p{margin:0;font-size:16px;max-width:40ch}
.lv-controls{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:16px;background:linear-gradient(transparent,rgba(0,0,0,.6))}
.lv-ctl{border:0;border-radius:999px;padding:10px 16px;font-weight:700;font-size:14px;color:#fff;background:rgba(255,255,255,.16);backdrop-filter:blur(6px);display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.lv-ctl svg{width:18px;height:18px}
.lv-ctl.off{background:rgba(224,36,79,.85)}
.lv-ctl:disabled{opacity:.6}
.lv-end{background:#e0244f}
.lv-sound,.lv-go{background:linear-gradient(90deg,#e1306c,#f77737);box-shadow:0 8px 30px -8px rgba(225,48,108,.8)}
.lv-go{padding:14px 24px;font-size:16px}
.lv-side{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden;min-height:0;height:min(72vh,620px)}
@media (max-width:980px){.lv-side{height:420px}}
.lv-side h2{margin:0;padding:14px 16px;font-size:15px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:8px}
.lv-side h2>span{font-size:13px;color:var(--muted);font-weight:600}
.lv-log{flex:1;overflow-y:auto;padding:12px 16px;display:flex;flex-direction:column;gap:8px;min-height:0}
.lv-msg{margin:0;overflow-wrap:anywhere}
.lv-msg b{margin-right:6px}
.lv-hostname{color:var(--accent)}
.lv-tag{font-size:10px;font-weight:800;color:#fff;background:var(--accent);border-radius:4px;padding:1px 5px;margin-right:6px;vertical-align:1px}
.lv-sys{margin:0;font-size:13px;color:var(--muted)}
.lv-side .ad{margin:0 12px 10px}
.lv-form{display:flex;gap:8px;padding:12px;margin:0;border-top:1px solid var(--line)}
.lv-form input{flex:1;min-width:0;border-radius:999px;padding:10px 14px}
.lv-form .btn{border-radius:999px;background:linear-gradient(90deg,#e1306c,#f77737)}
.lv-side-foot{display:flex;justify-content:flex-end;padding:0 12px 8px}
.lv-side-foot:empty{display:none}
.lv-error{grid-column:1/-1;margin:0}
.lv-ended{max-width:640px;margin:0 auto;text-align:center;padding:48px 20px;border-radius:24px;color:#fff;background:radial-gradient(70% 120% at 50% 0%,#7a1a4c,transparent 70%),#14060f}
.lv-ended h1{margin:12px 0 8px;font-size:clamp(24px,4vw,34px)}
.lv-ended p{color:#f3d6e3;margin:0 0 20px}
.lv-ended img{width:84px;height:84px;border-radius:50%;object-fit:cover;border:3px solid #e0244f}
.lv-ended .btn{border-radius:999px;margin:4px}
.replay-video{width:100%;max-height:80vh;border-radius:20px;background:#000;display:block}
@media (prefers-reduced-motion:reduce){.lv-badge::before{animation:none}}
.lv-reacts{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}
.lv-react{position:absolute;bottom:70px;font-size:44px;animation:lvfloat 2.6s ease-out forwards;filter:drop-shadow(0 4px 10px rgba(0,0,0,.4))}
@keyframes lvfloat{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:1;transform:translateY(-20px) scale(1.15)}100%{transform:translateY(-320px) scale(1);opacity:0}}
.lv-cams{padding:6px 10px}
.lv-cams select{background:transparent;color:#fff;border:0;font:inherit;font-weight:700;max-width:160px}
.lv-cams option{color:#111}
.lv-palette{border-top:1px solid var(--line);padding:8px 12px;max-height:220px;overflow-y:auto}
.lv-tabs{display:flex;gap:6px;margin-bottom:8px}
.lv-tabs button{border:1px solid var(--line);background:var(--surface);color:var(--text);font-weight:700;font-size:13px;padding:5px 12px;border-radius:999px;cursor:pointer}
.lv-tabs button[aria-selected="true"]{background:linear-gradient(90deg,#e1306c,#f77737);color:#fff;border-color:transparent}
.lv-emojis{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:4px}
.lv-emojis button{border:0;background:none;font-size:26px;line-height:1;padding:6px;border-radius:10px;cursor:pointer}
.lv-emojis button:hover,.lv-emojis button:focus-visible{background:color-mix(in srgb,var(--accent) 14%,transparent)}
.lv-gifs{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px}
.lv-gifs button{border:0;padding:0;background:#14060f;border-radius:10px;overflow:hidden;cursor:pointer;aspect-ratio:1}
.lv-gifs img{width:100%;height:100%;object-fit:cover;display:block}
.lv-gif{display:block;width:120px;max-width:100%;border-radius:10px;margin-top:4px}
.lv-emoji-btn{border:0;background:none;font-size:24px;cursor:pointer;padding:0 4px}

/* SEO tools */
.seo-score{width:96px;height:96px;border-radius:50%;display:flex;align-items:baseline;justify-content:center;padding-top:28px;border:8px solid #16a34a;flex:none}
.seo-score b{font-size:30px;font-variant-numeric:tabular-nums}.seo-score span{font-size:12px;color:var(--muted)}
.seo-score.mid{border-color:#f59e0b}.seo-score.bad{border-color:var(--danger)}
.seo-checks{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:10px}
.seo-checks li{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid var(--line);border-radius:10px}
.seo-checks li.error{border-color:var(--danger)}.seo-checks li .pill{min-width:26px;text-align:center}
.seo-tool{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--line);margin-top:14px}
.seo-tool p{margin:2px 0 0}
.seo-suggest fieldset{margin:10px 0}.seo-suggest textarea{min-height:64px}
.seo-advice{margin-top:14px;padding:12px;border-radius:10px;background:var(--line)}
.seo-advice .pre{white-space:pre-line;font-size:14px;line-height:1.5}

/* Blog */
.blog{max-width:1000px;margin:0 auto}.blog-lead{margin:-6px 0 16px}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;margin-bottom:18px}
.blog-card{display:flex;flex-direction:column;overflow:hidden;color:inherit;text-decoration:none;transition:transform .15s}
.blog-card:hover{transform:translateY(-2px)}
.blog-card img,.blog-cover-ph{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.blog-card-media{display:block;overflow:hidden}
.blog-blur{position:relative;overflow:hidden;display:block}
.blog-blur img{filter:blur(18px) saturate(1.1);transform:scale(1.12)}
.blog-blur::after{content:"🔒";position:absolute;inset:0;display:grid;place-items:center;font-size:26px;background:rgba(20,6,15,.25)}
.blog-blurnote{margin:12px 0}
.blog-cover-ph{display:flex;align-items:center;justify-content:center;font-size:40px;color:var(--accent);background:var(--line)}
.blog-card-body{display:flex;flex-direction:column;gap:6px;padding:12px 14px 16px}.blog-card-body b{font-size:17px;line-height:1.3}
.blog-post{max-width:720px}.blog-post h1{font-size:30px;line-height:1.2;margin:8px 0}
.blog-cover{margin:16px 0}.blog-cover img{width:100%;border-radius:12px;max-height:460px;object-fit:cover}
.blog-items{list-style:none;padding:0;display:grid;gap:14px;counter-reset:bi}
.blog-items li{display:flex;gap:14px;padding:12px;align-items:flex-start;counter-increment:bi;position:relative}
.blog-items li::before{content:counter(bi);position:absolute;top:8px;left:8px;background:var(--accent);color:#fff;border-radius:50%;width:24px;height:24px;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;z-index:1}
.blog-item-media{position:relative;flex:none;width:150px}.blog-item-media img{width:150px;height:150px;object-fit:cover;border-radius:8px;display:block}
.blog-items h2{font-size:17px;margin:2px 0 4px}.blog-items p{margin:4px 0}
.blog-tags{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0}
.blog-cta{padding:16px;text-align:center;margin:18px 0;display:flex;flex-direction:column;gap:6px;align-items:center}
.blog-related{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}
@media (max-width:560px){.blog-items li{flex-direction:column}.blog-item-media,.blog-item-media img{width:100%;height:auto;aspect-ratio:1}.blog-post h1{font-size:24px}}

/* AI team */
.team-org{margin:14px 0 18px}
.team-boss{max-width:360px;margin:0 auto}
.team-line{width:2px;height:18px;background:var(--line);margin:0 auto}
.team-staff{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.team-depts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));gap:14px;border-top:2px solid var(--line);padding-top:14px}
.team-dept{padding:14px;min-width:0}
.team-dept .team-card{border:1px solid var(--line);box-shadow:none}
.team-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:14px;margin-bottom:14px}
.team-two>.card{min-width:0;margin:0}
.team-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:8px;margin:8px 0 12px}
.team-stats div{border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:2px}
.team-stats b{font-size:24px;line-height:1.1}
.team-stats b.ok{color:#16a34a}.team-stats b.bad{color:var(--danger)}
.team-stats span{font-size:12px;color:var(--muted)}
.team-list{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:8px}
.team-list li{border-left:4px solid var(--line);padding:6px 10px;border-radius:6px;background:var(--bg);display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere}
.team-list li.ok{border-left-color:#16a34a}.team-list li.warn{border-left-color:#d97706}.team-list li.crit{border-left-color:var(--danger)}
.team-list small{color:var(--muted);font-size:13px}
.team-ips{list-style:none;padding:0;margin:8px 0;display:flex;flex-direction:column;gap:6px}
.team-ips li{display:flex;justify-content:space-between;align-items:center;gap:8px}
.lea-chat{display:flex;flex-direction:column;gap:8px;max-height:340px;min-height:160px;overflow-y:auto;padding:4px 2px;margin:8px 0}
.lea-bubble{max-width:85%;padding:8px 12px;border-radius:14px;white-space:pre-line;overflow-wrap:anywhere;font-size:14px}
.lea-bubble.me{align-self:flex-end;background:var(--accent);color:#fff;border-bottom-right-radius:4px}
.lea-bubble.ai{align-self:flex-start;background:var(--bg);border:1px solid var(--line);border-bottom-left-radius:4px}
.lea-bubble.wait{color:var(--muted)}
.lea-form{display:flex;gap:8px}
.lea-form input{flex:1;min-width:0}
.team-card{padding:14px;display:flex;flex-direction:column;gap:6px}
.team-card.off{opacity:.55}
.team-avatar{font-size:28px;width:46px;height:46px;border-radius:50%;background:var(--line);display:flex;align-items:center;justify-content:center}
.team-name{font-weight:700;font-size:16px;border:1px solid transparent;background:transparent;padding:4px 6px;margin-left:-6px;border-radius:8px}
.team-name:hover,.team-name:focus{border-color:var(--line)}
.seg{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.seg label{flex:1;text-align:center;padding:6px 8px;font-size:13px;cursor:pointer;display:flex;gap:4px;justify-content:center;align-items:center}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label:has(input:checked){background:var(--text);color:var(--bg,#fff)}
.team-task{border:1px solid var(--line);border-radius:12px;padding:12px;margin-top:10px}
.team-task.urgent{border-color:var(--danger)}
.team-task-head{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.team-task textarea{width:100%;margin-top:4px}
.pre{white-space:pre-line;overflow-wrap:anywhere}
.ai-badge{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.04em;padding:1px 6px;border-radius:999px;background:linear-gradient(135deg,#6366f1,#a855f7);color:#fff;vertical-align:middle;line-height:16px}
.impersonate-bar{position:sticky;top:0;z-index:60;background:#111;color:#fff;padding:8px 14px;font-size:14px;display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}
.impersonate-bar a,.impersonate-bar button{color:#fff;text-decoration:underline;background:none;border:0;font:inherit;cursor:pointer}
.host-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.host-card{padding:14px;display:flex;flex-direction:column;gap:6px}
.host-card.off{opacity:.55}
.ai-label{font-size:12px;font-weight:500;color:var(--muted);margin-left:2px;white-space:nowrap}
.tr-btn{background:none;border:0;padding:0 2px;font:inherit;font-size:12px;color:var(--muted);cursor:pointer;text-decoration:underline}
.tr-out{display:block;margin-top:4px;padding:6px 8px;border-left:3px solid var(--line);font-size:14px;color:var(--text)}
.bubble .tr-btn{display:block;margin-top:2px}
.bubble.mine .tr-btn{color:#fff}
/* Marketing */
.mk-nets{display:flex;flex-wrap:wrap;gap:6px}
.mk-post{display:flex;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.mk-post img{width:96px;height:96px;object-fit:cover;border-radius:8px;flex:none}
.mk-post textarea{width:100%;margin:6px 0}
.mk-banners{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;align-items:start}
.mk-banners img,.mk-banners video{width:100%;border-radius:6px;border:1px solid var(--line);display:block}
.mk-banners a{display:flex;flex-direction:column;gap:2px}
.mk-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:6px;max-height:220px;overflow:auto}
.mk-pick label{position:relative;display:block}.mk-pick img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;opacity:.5}
.mk-pick input{position:absolute;top:4px;left:4px}.mk-pick input:checked+img{opacity:1;outline:3px solid var(--accent)}
.mk-stage{display:flex;justify-content:center;align-items:flex-start}.mk-stage canvas{max-width:100%;max-height:520px;background:#111;border-radius:10px}
.mk-kit{border-top:1px solid var(--line);padding:10px 0}
@media (max-width:560px){.mk-post{flex-direction:column}.mk-post img{width:100%;height:auto}}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.stats-grid .stat{border:1px solid var(--line);border-radius:8px;text-align:center}.stats-grid .stat b{font-size:1.4em}
.partner-req{display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line);flex-wrap:wrap}.partner-req img{max-width:300px;max-height:250px;border-radius:6px;border:1px solid var(--line)}
.mk-banners img{max-height:240px;width:auto;max-width:100%;object-fit:contain;background:var(--bg)}
.mk-banners video{max-height:320px}
/* phones: the language menu stays in the footer, the top bar keeps the buttons */
@media (max-width:520px){.guestbar .locale-picker{display:none}.guestbar .row{gap:8px}.guestbar .btn{padding:8px 12px}}

/* ===== Chat: emojis, GIFs, photos, voice (from Instapl) ===== */
.chat{position:relative}
.chat-form{flex-direction:column;align-items:stretch}
.chat-input{display:flex;gap:8px}
.chat-input input{flex:1;min-width:0}
.chat-tools{display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.icon-btn{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:999px;min-width:40px;height:40px;padding:0 10px;font-size:19px;cursor:pointer;line-height:1}
.icon-btn:hover{border-color:var(--accent)}
.call-btn{background:linear-gradient(90deg,var(--accent),var(--accent2));border:0}
.gif-btn{font-size:12px;font-weight:800;letter-spacing:.5px;color:var(--accent)}
.picker{margin-top:8px;padding:10px;max-height:320px;overflow:auto}
.picker-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px;position:sticky;top:-10px;background:inherit;padding-top:2px;z-index:1}
.picker-tabs button{border:0;background:transparent;border-radius:999px;padding:5px 11px;font-size:13px;cursor:pointer;color:var(--muted)}
.picker-tabs button.on{background:var(--accent);color:#fff}
.picker-tabs button:not(.on):hover{background:var(--line)}
.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:2px}
.emoji-grid button{border:0;background:transparent;font-size:24px;line-height:1;padding:6px 0;border-radius:10px;cursor:pointer}
.emoji-grid button:hover{background:var(--line)}
.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;align-content:start}
.media-pick{position:relative;border:0;padding:0;border-radius:12px;overflow:hidden;cursor:pointer;aspect-ratio:1;background:#000}
.media-pick img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.media-pick:hover img{transform:scale(1.06)}
.prem-badge{position:absolute;top:6px;left:6px;font-size:10px;font-weight:800;padding:1px 6px;border-radius:6px;background:#f7b267;color:#111}
.media-pick.locked img{filter:blur(6px) brightness(.6)}
.media-pick.locked::after{content:"🔒";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:26px}
.bubble .chat-media{display:block;max-width:220px;width:100%;height:auto;border-radius:12px}
.bubble.has-media{background:transparent;border:0;padding:0}
.bubble.has-media time{color:var(--muted)}
.bubble.mine.has-media{color:var(--text)}
.presence.is-online{color:#1f9d55}
.presence.is-online::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#22c55e;margin-right:5px;box-shadow:0 0 0 2px rgba(34,197,94,.25)}
.voice-msg{display:inline-flex;align-items:center;gap:6px;max-width:100%}
.voice-msg audio{height:34px;max-width:230px}
[data-voice].recording{color:#fff;background:var(--accent);border-radius:50%;animation:pulse 1s infinite}
@keyframes pulse{50%{opacity:.6}}
.voice-timer{align-self:center;font-variant-numeric:tabular-nums}
.chat-photo{position:relative;display:inline-block;max-width:240px;border-radius:12px;overflow:hidden;vertical-align:top}
.chat-photo img{display:block;width:100%;height:auto;cursor:zoom-in}
.chat-photo.blurred img{filter:blur(28px) brightness(.8);transform:scale(1.1);cursor:default}
.chat-photo-reveal{position:absolute;inset:0;background:transparent;color:#fff;border:0;font-weight:600;padding:12px;text-shadow:0 1px 3px #000;cursor:pointer}
.chat-photo-once{display:inline-block;padding:10px 12px;border-radius:12px;border:1px dashed var(--accent);background:transparent;color:inherit;font:inherit;cursor:pointer}
.chat-photo-once.done{opacity:.6;cursor:default}
.photo-viewer{position:fixed;inset:0;z-index:80;background:#000e;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px}
.photo-viewer[hidden]{display:none}
.photo-viewer img{max-width:100%;max-height:80vh;border-radius:8px;user-select:none;-webkit-user-drag:none}
.photo-picker{padding:12px 14px}
.chat-blur-pref{margin:0}
.tiny{font-size:11.5px}
/* Video calls */
.call-stage{position:relative;aspect-ratio:3/4;max-height:72vh;width:100%;overflow:hidden;background:#000;border-radius:var(--radius)}
.call-remote{width:100%;height:100%;object-fit:cover;background:#000}
.call-local{position:absolute;right:10px;bottom:10px;width:28%;max-width:160px;aspect-ratio:3/4;object-fit:cover;border-radius:10px;border:2px solid #fff3;background:#111}
.call-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#fff;text-align:center;padding:16px}
.call-state[hidden]{display:none}
.call-controls{display:flex;gap:10px;justify-content:center;margin:12px 0;flex-wrap:wrap}
.call-toast{position:fixed;left:12px;right:12px;top:calc(12px + env(safe-area-inset-top,0px));z-index:90;max-width:440px;margin:auto;display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--surface);border:2px solid var(--accent);border-radius:var(--radius);box-shadow:0 10px 30px #0006}
.call-toast span{flex:1}
.call-toast .avatar{width:40px;height:40px}
/* Notifications */
.push-card{padding:14px 16px;margin-bottom:12px;background:linear-gradient(135deg,rgba(225,48,108,.12),rgba(247,119,55,.08)),var(--surface)}
.push-card.is-on{background:var(--surface)}
.push-head{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.push-ico{font-size:26px}
.push-txt{flex:1;min-width:200px;display:flex;flex-direction:column;gap:2px}
.push-btns{gap:6px;flex-wrap:wrap}
.push-prefs{margin-top:10px}
.push-prefs summary{cursor:pointer;color:var(--link)}
.push-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2px 12px;margin:8px 0}
.act-filters{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 12px}
.act-filters a{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 12px;font-size:13px;color:var(--text);text-decoration:none}
.act-filters a.on{background:var(--text);color:var(--bg);border-color:var(--text)}
.activity .activity-item{padding:10px 16px}
.activity-item.unread{background:rgba(225,48,108,.07)}
.act-lives{padding:8px 12px;margin-bottom:12px;display:flex;flex-direction:column;gap:6px}
.act-live{display:flex;gap:10px;align-items:center;color:inherit;text-decoration:none}
.act-live .avatar{width:38px;height:38px;box-shadow:0 0 0 2px var(--accent)}
.act-live-tag{font-size:10px;font-weight:800;background:#e11d48;color:#fff;border-radius:4px;padding:1px 5px;margin-left:4px}
/* Créer : où publier ? */
.where-pick{border:0;padding:0;margin:16px 0 0;display:flex;flex-direction:column;gap:8px}
.where-pick legend{font-weight:600;margin-bottom:6px}
.where-opt{display:flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--surface);cursor:pointer;margin:0;font-weight:400}
.where-opt:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
.where-opt.disabled{opacity:.5;cursor:not-allowed}
.where-opt small{display:block;color:var(--muted);font-size:12.5px}
.where-ico{font-size:20px}
.consent-check{display:flex;gap:8px;align-items:flex-start;margin-top:14px;font-weight:400}
/* Vidéos */
.videos-note{margin:6px 0 12px;padding:10px 14px;border-radius:12px;background:color-mix(in srgb,#e11d48 10%,var(--surface));border:1px solid color-mix(in srgb,#e11d48 35%,var(--line));font-size:14px}
.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:18px}
.video-card{display:flex;flex-direction:column;overflow:hidden;color:inherit;text-decoration:none}
.video-thumb{position:relative;display:block;aspect-ratio:9/12;background:#14060f;overflow:hidden}
.video-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.video-thumb.live img{filter:saturate(1.2)}
.video-tag{position:absolute;left:8px;bottom:8px;font-size:11px;font-weight:800;background:rgba(0,0,0,.65);color:#fff;border-radius:6px;padding:2px 7px}
.video-tag.live{background:#e11d48}
.video-lock{position:absolute;top:8px;right:8px;font-size:18px}
.video-meta{display:flex;flex-direction:column;gap:2px;padding:8px 10px 10px;min-width:0}
.video-meta b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rec-notice{margin-top:14px;padding:10px 12px;border-radius:12px;border:1px solid color-mix(in srgb,#e11d48 40%,var(--line));background:color-mix(in srgb,#e11d48 10%,var(--surface));font-size:14px}
/* Profile: cover and "who I am" */
.profile-cover{height:clamp(120px,22vw,220px);border-radius:var(--radius);background:#14060f center/cover no-repeat;margin-bottom:-36px}
.profile-head.has-cover .avatar{box-shadow:0 0 0 4px var(--bg)}
.profile-chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}
.profile-chips span{font-size:13px;border:1px solid var(--line);border-radius:999px;padding:2px 10px;background:var(--surface)}
.profile-chips span.muted{border-style:dashed}
.locked-profile{padding:30px 16px}
/* ===== Paramètres du compte ===== */
.acc{max-width:1040px;margin:0 auto}
.acc-lay{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px;align-items:start}
.acc-menu{position:sticky;top:16px;display:flex;flex-direction:column;gap:2px;padding:8px}
.acc-menu a{padding:9px 12px;border-radius:10px;color:var(--text);text-decoration:none;font-size:14px}
.acc-menu a:hover{background:var(--bg)}.acc-menu a.on{background:var(--bg);font-weight:700}
.acc-menu a.del{color:#ef4444}
.acc-cards{display:flex;flex-direction:column;gap:16px;min-width:0}
.acc-sec{padding:18px 20px;scroll-margin-top:70px}
.acc-sec h2{margin:0 0 4px;font-size:17px}
.acc-sub{margin:0 0 12px;color:var(--muted);font-size:13px}
.acc-h3{font-size:14px;margin:18px 0 6px}
.acc-sec label{display:block}
.acc-sec input[type=text],.acc-sec input[type=email],.acc-sec input[type=url],.acc-sec input[type=password],.acc-sec select,.acc-sec textarea{width:100%}
.acc-sec select{padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:inherit;font-size:15px}
.acc-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 14px}
.acc-grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.acc-cover{height:120px;border-radius:14px;background:radial-gradient(60% 120% at 80% 20%,#6b1442,transparent 60%),radial-gradient(60% 90% at 10% 100%,#4a1060,transparent 60%),#14060f center/cover no-repeat;display:flex;align-items:flex-end;justify-content:flex-end;padding:10px;margin-bottom:12px}
.acc-cover label.btn,.acc-photo label.btn{display:inline-flex;margin:0;cursor:pointer}
.acc-photo{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.acc-av{width:86px;height:86px;border-radius:50%;padding:3px;background:var(--ring);flex:none}
.acc-av img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid var(--surface);display:block}
.acc-chips{display:flex;gap:6px;flex-wrap:wrap}
.acc-chip{display:inline-flex !important;gap:6px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:var(--bg);cursor:pointer;font-size:13px;font-weight:400;margin:0}
.acc-chip:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--bg))}
.acc-opt{display:flex !important;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line);font-weight:400;margin:0;cursor:default}
.acc-opt b{display:block;font-size:14px}.acc-opt span:not(.acc-sw):not(.btn):not(.pill){color:var(--muted);font-size:12.5px}
.acc-opt select{width:auto;min-width:180px}
.acc-sw{position:relative;width:44px;height:26px;flex:none;cursor:pointer}
.acc-sw input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer;z-index:1}
.acc-sw i{position:absolute;inset:0;border-radius:999px;background:#3a3a44;transition:.2s}
.acc-sw i::after{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}
.acc-sw input:checked+i{background:var(--accent)}.acc-sw input:checked+i::after{transform:translateX(18px)}
.acc-sw input:focus-visible+i{outline:2px solid var(--accent);outline-offset:2px}
.acc-opt-details summary{list-style:none;cursor:pointer}.acc-opt-details summary::-webkit-details-marker{display:none}
.acc-blocked{display:flex;gap:10px;align-items:center;padding:6px 0}.acc-blocked span{flex:1}.acc-blocked .avatar{width:32px;height:32px}
.acc-dev{display:flex;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.acc-dev>div{flex:1;min-width:0}.acc-dev-ico{font-size:22px}.acc-now{color:#22c55e;font-size:12px;font-weight:700}
.acc-danger{border-color:rgba(239,68,68,.45)}.acc-danger h2{color:#f87171}
.acc-license{margin-top:4px}
.crop-box{position:fixed;inset:0;z-index:95;background:#000c;display:grid;place-items:center;padding:16px}
.crop-box[hidden]{display:none}
.crop-card{padding:16px;display:flex;flex-direction:column;gap:10px;width:min(360px,100%)}
.crop-frame{position:relative;width:100%;aspect-ratio:1;overflow:hidden;border-radius:50%;background:#000;touch-action:none;cursor:grab}
.crop-frame img{position:absolute;left:0;top:0;max-width:none;user-select:none}
.crop-card input[type=range]{width:100%}
@media (max-width:820px){.acc-lay{grid-template-columns:1fr}.acc-menu{position:static;flex-direction:row;overflow-x:auto}.acc-menu a{white-space:nowrap}}
@media (max-width:480px){.tabs{gap:0;justify-content:space-around;letter-spacing:.3px}}
/* Admin → Paiements */
.bl-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);margin:0 0 18px;scrollbar-width:none}
.bl-tabs a{white-space:nowrap;padding:10px 14px;color:var(--muted);font-weight:600;font-size:14px;border-bottom:2px solid transparent;margin-bottom:-1px}
.bl-tabs a.on{color:var(--text);border-bottom-color:var(--accent)}
.bl-tabs .n{font-size:11px;background:var(--accent);color:#fff;border-radius:999px;padding:0 6px;margin-left:4px}
.bl-lead{color:var(--muted);margin:-6px 0 14px}
.bl-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:14px}
.bl-kpi{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;color:var(--text)}
.bl-kpi .l{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.bl-kpi .v{font-size:26px;font-weight:800;margin-top:4px;font-variant-numeric:tabular-nums}
.bl-kpi .d{font-size:12.5px;color:#22c55e}.bl-kpi .d.w{color:#f59e0b}.bl-kpi .d.m{color:var(--muted)}
.bl-grid2{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:14px;margin-bottom:14px}
.bl-card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px 20px;min-width:0;margin-bottom:14px}
.bl-card h2{font-size:16px;margin:0 0 4px}.bl-card .sub{color:var(--muted);font-size:13px;margin:0 0 14px}
.bl-grid2 .bl-card{margin-bottom:0}
.bl-bars{display:flex;align-items:flex-end;gap:10px;height:170px}
.bl-bars div{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;justify-content:flex-end}
.bl-bars i{display:block;width:100%;max-width:38px;min-height:2px;border-radius:8px 8px 3px 3px;background:linear-gradient(180deg,var(--accent2),var(--accent))}
.bl-bars span{font-size:11.5px;color:var(--muted)}.bl-bars b{font-size:11px;font-variant-numeric:tabular-nums}
.bl-split{display:flex;flex-direction:column;gap:10px}
.bl-split .row{display:grid;grid-template-columns:120px minmax(0,1fr) 80px;gap:10px;align-items:center;font-size:13px}
.bl-split .track{height:8px;border-radius:999px;background:var(--line);overflow:hidden}
.bl-split .track i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2))}
.bl-split b{text-align:right;font-variant-numeric:tabular-nums}
.bl-todo{display:flex;flex-direction:column;gap:8px}
.bl-todo div{display:flex;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);font-size:13.5px}
.bl-todo .grow{flex:1;min-width:0}
.bl-info{border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:10px 12px;font-size:13px;color:var(--muted);margin-bottom:14px}
.bl-warn{border:1px solid rgba(245,158,11,.4);background:rgba(245,158,11,.08);border-radius:12px;padding:10px 12px;font-size:13px}
.bl-gws{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;margin-bottom:14px;align-items:start}
.bl-gw{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;scroll-margin-top:20px}
.bl-gw.on{border-color:rgba(34,197,94,.45)}.bl-gw.bad{border-color:rgba(239,68,68,.4)}
.bl-gw-h{display:flex;gap:12px;align-items:center;padding:16px}
.bl-logo{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:13px;flex:none}
.bl-gw-h .t{flex:1;min-width:0}.bl-gw-h .t b{display:block;font-size:15px}.bl-gw-h .t span{font-size:12px;color:var(--muted)}
.bl-pills{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 12px}
.bl-pill{font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}
.bl-pill.ok{color:#22c55e;border-color:rgba(34,197,94,.4);background:rgba(34,197,94,.08)}
.bl-pill.no{color:#ef4444;border-color:rgba(239,68,68,.4);background:rgba(239,68,68,.08)}
.bl-pill.w{color:#f59e0b;border-color:rgba(245,158,11,.4);background:rgba(245,158,11,.08)}
.bl-pill.new{color:#fff;border:0;background:linear-gradient(90deg,var(--accent),var(--accent2))}
.bl-gw details{border-top:1px solid var(--line)}
.bl-gw summary{list-style:none;cursor:pointer;display:flex;gap:8px;align-items:center;padding:10px 16px;font-size:12.5px;color:var(--muted)}
.bl-gw summary::-webkit-details-marker{display:none}
.bl-gw summary .grow{flex:1}
.bl-gw summary .btn{pointer-events:none}
.bl-gw-b{padding:4px 16px 16px;display:flex;flex-direction:column;gap:10px}
.bl-gw-b .field{margin:0}
.bl-copy{display:flex;gap:6px;align-items:center}
.bl-copy code{flex:1;min-width:0;overflow-x:auto;white-space:nowrap;background:var(--bg);border:1px dashed var(--line);border-radius:10px;padding:8px 10px;font-size:12px}
.bl-sw{position:relative;display:inline-block;width:42px;height:24px;flex:none}
.bl-sw input{opacity:0;width:0;height:0;position:absolute}
.bl-sw i{position:absolute;inset:0;border-radius:999px;background:#3a3a44;transition:.2s;cursor:pointer}
.bl-sw i::after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}
.bl-sw input:checked+i{background:#22c55e}.bl-sw input:checked+i::after{transform:translateX(18px)}
.bl-sw input:focus-visible+i{outline:2px solid var(--accent);outline-offset:2px}
.bl-member{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.bl-member .m{border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--bg);text-align:center;font-size:13px}
.bl-member .m .bl-logo{margin:0 auto 6px;width:40px;height:40px}
.bl-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:14px}
.bl-plan{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:8px;position:relative}
.bl-plan.feat{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.bl-plan.off{opacity:.65}
.bl-plan .top{position:absolute;top:-10px;right:14px;font-size:11px;font-weight:800;padding:2px 10px;border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent2));color:#fff}
.bl-plan .nm{font-weight:800;font-size:16px}
.bl-plan .pr{font-size:28px;font-weight:800;font-variant-numeric:tabular-nums}.bl-plan .pr small{font-size:13px;color:var(--muted);font-weight:600}
.bl-plan ul{margin:4px 0 8px;padding-left:18px;font-size:13px}
.bl-plan .meta{display:flex;flex-wrap:wrap;gap:6px}
.bl-plan .acts{display:flex;gap:6px;margin-top:auto;flex-wrap:wrap}
.bl-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.bl-bar input[type=search]{max-width:240px}
.bl-seg{display:flex;gap:4px;flex-wrap:wrap}
.bl-seg a{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:12.5px;color:var(--muted)}
.bl-seg a.on{background:rgba(225,48,108,.16);border-color:var(--accent);color:var(--text)}
.bl-st{font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:999px;white-space:nowrap}
.bl-st.paid{background:rgba(34,197,94,.12);color:#16a34a}.bl-st.pending{background:rgba(245,158,11,.14);color:#d97706}
.bl-st.review{background:rgba(245,158,11,.22);color:#d97706}.bl-st.refunded{background:rgba(96,165,250,.14);color:#3b82f6}
.bl-st.failed,.bl-st.canceled{background:rgba(239,68,68,.12);color:#ef4444}.bl-st.chargeback{background:rgba(239,68,68,.25);color:#ef4444}
:root[data-theme=dark] .bl-st.paid{color:#86efac}:root[data-theme=dark] .bl-st.pending,:root[data-theme=dark] .bl-st.review{color:#fcd34d}:root[data-theme=dark] .bl-st.refunded{color:#93c5fd}:root[data-theme=dark] .bl-st.failed,:root[data-theme=dark] .bl-st.chargeback{color:#fca5a5}
.bl-grant{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end}
.bl-grant label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:600}
.bl-acts{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.btn.green{background:rgba(34,197,94,.15);color:#16a34a;border:1px solid rgba(34,197,94,.35)}
:root[data-theme=dark] .btn.green{color:#86efac}
@media (max-width:900px){.bl-grid2{grid-template-columns:1fr}.bl-grant{grid-template-columns:1fr}.bl-gws{grid-template-columns:1fr}}
.bl-bar select,.bl-grant select,.bl-grant input{padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:inherit;font-size:14px;width:100%}
.bl-bar select{width:auto}
/* Identity / age checks */
.verify-card{padding:18px;display:flex;flex-direction:column;gap:12px;margin-bottom:14px}
.verify-text{line-height:1.6}
.verify-form{display:flex;flex-direction:column;gap:10px}
.badge-verified{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:800;color:#3b82f6;background:rgba(96,165,250,.12);border:1px solid rgba(96,165,250,.35);border-radius:999px;padding:1px 8px;vertical-align:middle;white-space:nowrap}
:root[data-theme=dark] .badge-verified{color:#93c5fd}
/* Copy protection (Admin → Protection) */
.protect-media main img:not(.avatar),.protect-media main video,.protect-media .photo-viewer img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none}
.wm-overlay{position:relative}
.wm-overlay::after{content:"";position:absolute;inset:0;background-image:var(--wm-tile);background-repeat:repeat;opacity:.16;pointer-events:none;z-index:2;mix-blend-mode:overlay}
.protect-hide main img:not(.avatar),.protect-hide main video,.protect-hide .photo-viewer{filter:blur(28px) brightness(.4)!important}
.protect-blur main img:not(.avatar),.protect-blur main video,.protect-blur .photo-viewer{filter:blur(22px)!important;transition:filter .1s}
/* Admin → Protection */
.pr-queue{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.pr-qi{border:1px solid var(--line);border-radius:14px;background:var(--bg);overflow:hidden;display:flex;flex-direction:column}
.pr-ph{position:relative;display:block;padding:0;border:0;background:#1b1b21;cursor:pointer;aspect-ratio:4/3;overflow:hidden}
.pr-ph img{width:100%;height:100%;object-fit:contain;filter:blur(24px);transition:filter .2s}
.pr-ph span{position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:700;font-size:13px;text-shadow:0 1px 3px #000}
.pr-ph.on img{filter:none}.pr-ph.on span{display:none}
.pr-bd{padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.pr-f{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.pr-f select{flex:1;min-width:0;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;font-size:13px}
.pr-wm{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:20px;align-items:start}
.pr-stage{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:4/3;background:radial-gradient(circle at 30% 30%,#7a1f45,#2a0f1e 60%,#120810);border:1px solid var(--line)}
.pr-stage::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.08) 35%,transparent 50%),radial-gradient(ellipse at 70% 70%,rgba(247,119,55,.35),transparent 55%)}
.pr-stage .wm{position:absolute;color:#fff;font-weight:800;text-shadow:0 1px 3px rgba(0,0,0,.6);white-space:nowrap;pointer-events:none}
.pr-stage .wm.bottom-right{right:12px;bottom:10px}.pr-stage .wm.bottom-left{left:12px;bottom:10px}.pr-stage .wm.top-right{right:12px;top:10px}.pr-stage .wm.top-left{left:12px;top:10px}.pr-stage .wm.center{left:50%;top:50%;transform:translate(-50%,-50%)}
.pr-stage .wm.tiled{inset:-40%;display:flex;flex-wrap:wrap;gap:40px 60px;align-content:center;justify-content:center;transform:rotate(-30deg)}
.pr-tpl{border:1px solid var(--line);border-radius:16px;background:var(--surface);margin-bottom:10px;scroll-margin-top:20px}
.pr-tpl summary{list-style:none;cursor:pointer;padding:14px 18px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pr-tpl summary::-webkit-details-marker{display:none}
.pr-tpl summary b{flex:1;min-width:200px}
.pr-tpl[open] summary{border-bottom:1px solid var(--line)}
.pr-tpl-b{padding:14px 18px;display:flex;flex-direction:column;gap:10px}
.pr-pane{display:flex;flex-direction:column;gap:10px}
.pr-pane label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:600}
.pr-pane input,.pr-pane textarea,.pr-reasons input{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:inherit;font-size:14px}
.pr-langs{display:flex;gap:4px;flex-wrap:wrap}
.pr-langs button{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:4px 9px;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer}
.pr-langs button.on{background:rgba(225,48,108,.16);border-color:var(--accent);color:var(--text)}
.pr-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:12.5px;color:var(--muted)}
.pr-chips button{background:var(--bg);border:1px dashed var(--line);border-radius:999px;padding:3px 10px;font-size:12px;color:var(--accent);cursor:pointer}
.pr-reasons{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.pr-reasons .row{gap:6px}
@media (max-width:900px){.pr-wm{grid-template-columns:1fr}}
.pr-reasons [data-add]{align-self:flex-start}
/* Premium page: plan → payment method → pay */
.pm-form{display:flex;flex-direction:column;gap:14px}
.pm-step{margin:6px 0 0;font-size:15px}
.pm-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;align-items:stretch}
.pm-plan{position:relative;display:flex;flex-direction:column;gap:6px;background:var(--surface);border:2px solid var(--line);border-radius:18px;padding:18px;cursor:pointer}
.pm-plan:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 3px rgba(225,48,108,.18)}
.pm-plan input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.pm-plan:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:3px}
.pm-name{font-weight:800;font-size:16px}
.pm-price b{font-size:26px}
.pm-per{font-size:12.5px;color:#16a34a}
:root[data-theme=dark] .pm-per{color:#86efac}
.pm-pays{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.pm-pay{display:flex;gap:10px;align-items:center;border:2px solid var(--line);border-radius:14px;background:var(--surface);padding:12px 14px;cursor:pointer}
.pm-pay:has(input:checked){border-color:var(--accent)}
.pm-pay input{accent-color:var(--accent)}
.pm-pay small{display:block;color:var(--muted);font-size:12px}
.pm-sum{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.pm-pay-go{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.pm-total{font-size:22px}
.pm-promo{display:flex;gap:8px;max-width:420px;margin:14px auto}
.pm-promo input{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);font:inherit}
.pm-faq{padding:16px 18px;margin-top:16px}
.pm-faq details{border-top:1px solid var(--line);padding:10px 0}.pm-faq summary{cursor:pointer;font-weight:600}
@media (max-width:600px){.pm-pay-go{align-items:stretch;width:100%}}
.pm-stop{margin-top:12px}
.pm-stop summary{list-style:none;display:inline-block;cursor:pointer}
.pm-stop summary::-webkit-details-marker{display:none}
.pm-stop-box{margin-top:10px;border:2px solid var(--danger);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px}
.pm-stop-box label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600}
.pm-stop-box select{padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:inherit}
.receipt{max-width:560px;margin:20px auto;background:#fff;color:#111;border-radius:12px;padding:28px;font-size:14px}
.receipt h1{font-size:20px;margin:0 0 4px}.receipt table{width:100%;border-collapse:collapse;margin:16px 0}
.receipt td{padding:8px 0;border-bottom:1px solid #e5e7eb}.receipt td:last-child{text-align:right}
@media print{body *{visibility:hidden}.receipt,.receipt *{visibility:visible}.receipt{position:absolute;left:0;top:0;margin:0;box-shadow:none}.no-print{display:none}}
/* Maintenance page */
.maint-body{background:var(--bg);color:var(--text);min-height:100vh;display:grid;place-items:center;margin:0;padding:20px}
.maint{max-width:460px;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:32px 26px}
.maint-brand{font-family:"Grand Hotel",cursive;font-size:32px;margin:0;background:var(--ring);-webkit-background-clip:text;background-clip:text;color:transparent}
.maint-ico{font-size:46px;margin:10px 0}
.maint h1{margin:0 0 10px}
/* Admin → Paiements → Gratuit / Payant */
.md-card{border:1px solid var(--line);border-radius:20px;padding:20px 22px;display:flex;flex-direction:column;gap:14px;margin-bottom:16px;background:linear-gradient(135deg,rgba(34,197,94,.10),var(--surface) 60%)}
.md-card.paid{background:linear-gradient(135deg,rgba(225,48,108,.14),var(--surface) 60%)}
.md-card.works{background:linear-gradient(135deg,rgba(245,158,11,.16),var(--surface) 60%)}
.md-head{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.md-ico{font-size:36px}.md-t{flex:1;min-width:200px;display:flex;flex-direction:column}.md-t b{font-size:19px}
.md-switch{width:58px;height:32px;border-radius:999px;background:#3a3a44;position:relative;flex:none}
.md-switch i{position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:#fff;transition:.2s}
.md-switch.on{background:#22c55e}.md-switch.on i{left:30px}.md-switch.works{background:#f59e0b}
.md-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.md-checks div{border:1px solid var(--line);border-radius:12px;background:var(--bg);padding:10px 12px;font-size:13px}.md-checks b{display:block;margin-bottom:2px}
.md-confirm summary{list-style:none;display:inline-block;cursor:pointer}.md-confirm summary::-webkit-details-marker{display:none}
.md-form{margin-top:12px;border:2px solid var(--accent);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px;background:var(--surface)}
.md-form h3{margin:0}
.md-form label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:600}
.md-form label.check{flex-direction:row;font-weight:400}
.md-form select,.md-form input[type=text],.md-form input[type=datetime-local],.md-form textarea{padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:inherit}
.md-l{font-size:13.5px;font-weight:600;display:block;margin-bottom:6px}
.md-radios{display:flex;flex-direction:column;gap:6px;font-size:13.5px}.md-radios label{flex-direction:row;align-items:center;font-weight:400}
.btn.md-free{background:linear-gradient(90deg,#16a34a,#22c55e);color:#fff}
.md-hist{display:flex;gap:10px;flex-wrap:wrap;padding:8px 0;border-top:1px solid var(--line);align-items:baseline}
.md-hist:first-of-type{border-top:0}
.pm-qa{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;border:1px solid var(--line);border-radius:12px;padding:8px}
.pm-qa textarea{grid-column:1}.pm-qa button{grid-row:1/3;grid-column:2;align-self:start}
.md-sw-l{font-size:12.5px;color:var(--muted)}.md-sw-l b{color:var(--text)}

/* Admin → Gagner plus: announcement band */
.announce{margin:0 0 14px;padding:10px 14px;border-radius:12px;background:linear-gradient(90deg,rgba(225,48,108,.18),rgba(247,119,55,.14));border:1px solid rgba(225,48,108,.35);font-size:14px;font-weight:600}
.announce a{color:inherit;text-decoration:none}

.bl-pre{white-space:pre-wrap;word-break:break-word;overflow-x:auto;max-width:100%;font-size:12px;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px;margin:0}
.bl-grid2>*{min-width:0}
