:root{--bg:#070813;--card:rgba(255,255,255,.07);--card-border:rgba(255,255,255,.14);--text:#f8f7ff;--muted:rgba(248,247,255,.72);--primary:#8b5cf6;--secondary:#22d3ee;--radius:24px}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:"Vazirmatn",Tahoma,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden;padding:16px}
body.center{display:grid;place-items:center}
a{color:inherit}
.bg{position:fixed;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(circle at 20% 20%,color-mix(in srgb,var(--b1,#8b5cf6) 28%,transparent),transparent 30%),radial-gradient(circle at 80% 70%,color-mix(in srgb,var(--b2,#22d3ee) 24%,transparent),transparent 32%),var(--bg)}
.blob{position:absolute;width:42vmax;height:42vmax;border-radius:50%;filter:blur(90px);opacity:.3;animation:float 14s ease-in-out infinite alternate}
.blob.one{background:var(--b1,#7c3aed);top:-12%;right:-10%}.blob.two{background:var(--b2,#06b6d4);bottom:-14%;left:-12%;animation-delay:-5s}.blob.three{background:var(--b3,#f43f5e);top:35%;left:25%;animation-delay:-9s;opacity:.18}
@keyframes float{to{transform:translate3d(30px,-40px,0) scale(1.12)}}

.stage{perspective:1100px;width:min(360px,100%);transform-style:preserve-3d;transition:transform .25s ease}
.card{width:100%;border-radius:var(--radius);background:var(--card);border:1px solid var(--card-border);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 24px 80px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.12);overflow:hidden;opacity:0;transform:translateY(42px) scale(.96);animation:cardIn .95s cubic-bezier(.2,.8,.2,1) .12s forwards}
@keyframes cardIn{to{opacity:1;transform:none}}
.cover{height:120px;background:linear-gradient(135deg,color-mix(in srgb,var(--b1,#7c3aed) 72%,transparent),color-mix(in srgb,var(--b2,#06b6d4) 62%,transparent)),var(--cover,none) center/cover no-repeat;position:relative}
.cover::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,8,19,.78),transparent 45%)}
.avatar{width:96px;height:96px;margin:-48px auto 10px;border-radius:50%;border:4px solid rgba(255,255,255,.92);background:var(--av,linear-gradient(135deg,color-mix(in srgb,var(--b1,#a855f7) 90%,transparent),color-mix(in srgb,var(--b2,#22d3ee) 90%,transparent))) center/cover no-repeat;display:grid;place-items:center;font-size:36px;font-weight:900;box-shadow:0 16px 40px rgba(0,0,0,.35);position:relative;z-index:1}
.info{padding:0 18px 14px;text-align:center}
.name{font-size:1.35rem;font-weight:900;letter-spacing:-.4px}
.role{margin-top:6px;color:#c7d2fe;font-size:.9rem;font-weight:600}
.custom-text{margin-top:11px;color:var(--muted);line-height:1.85;font-size:.9rem;white-space:pre-line}
.badges{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:10px}
.badge{font-size:.74rem;font-weight:800;padding:3px 10px;border-radius:99px;color:var(--b);border:1px solid var(--b);background:color-mix(in srgb,var(--b) 16%,transparent);white-space:nowrap}
.socials{padding:0 16px 14px;display:grid;gap:9px}
.social{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.11);color:var(--text);text-decoration:none;transition:.25s}
.social:hover{transform:translateY(-3px);background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.25);box-shadow:0 14px 34px rgba(0,0,0,.28)}
.icon{width:40px;height:40px;flex:0 0 40px;border-radius:13px;display:grid;place-items:center;background:var(--c,#6366f1);box-shadow:0 10px 24px rgba(0,0,0,.28);color:#fff;font-weight:900}
.icon svg{width:20px;height:20px;fill:#fff}
.txt{display:flex;flex-direction:column;line-height:1.3;min-width:0}
.label{font-weight:800;font-size:.92rem}
.sub{color:rgba(248,247,255,.64);font-size:.78rem;margin-top:2px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.copyright{display:block;text-align:center;margin-top:18px;color:rgba(248,247,255,.55);font-size:.78rem}
.copyright a{text-decoration:none;font-weight:800}
.empty{color:var(--muted);text-align:center;font-size:.85rem;padding:6px 0}

.pad{padding:26px 22px}.narrow{width:min(420px,100%)}.tc{text-align:center}
.card.pad{opacity:1;transform:none;animation:none}
form.stack{display:grid;gap:12px;margin-top:18px;text-align:left}
.field{display:grid;gap:6px}
.field>span{font-size:.82rem;color:var(--muted);font-weight:700}
input,select,textarea{width:100%;font:inherit;font-size:.92rem;color:var(--text);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:11px 13px;outline:none;transition:.2s}
input:focus,select:focus,textarea:focus{border-color:var(--secondary);box-shadow:0 0 0 3px rgba(34,211,238,.16)}
select option{background:#14152a;color:#fff}
input[type=file]{padding:8px}input[type=checkbox]{width:auto}
input.ltr,.ltr{direction:ltr;text-align:left}
textarea{resize:vertical;min-height:84px;line-height:1.7}
.btn{display:inline-block;border:0;cursor:pointer;border-radius:14px;padding:11px 18px;background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;font:inherit;font-weight:800;font-size:.9rem;text-decoration:none;box-shadow:0 10px 26px rgba(139,92,246,.35);transition:.2s;text-align:center}
.btn:hover{transform:translateY(-2px);filter:brightness(1.08)}
.btn.ghost{background:rgba(255,255,255,.08);box-shadow:none;border:1px solid rgba(255,255,255,.18)}
.btn.danger{background:linear-gradient(135deg,#f43f5e,#be123c);box-shadow:none}
.btn.sm{padding:6px 12px;font-size:.78rem;border-radius:10px}
.alert{padding:10px 14px;border-radius:14px;font-size:.86rem;margin:14px 0 0;text-align:left}
.alert.ok{background:rgba(34,197,94,.14);border:1px solid rgba(34,197,94,.4)}
.alert.err{background:rgba(244,63,94,.14);border:1px solid rgba(244,63,94,.45)}
.hint{font-size:.8rem;color:var(--muted);margin-top:16px}
.hint a{color:var(--secondary);font-weight:800;text-decoration:none}
.muted{color:var(--muted)}

.wrap{max-width:1000px;margin:0 auto}
.topbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:16px}
.topbar .brand{font-weight:900;font-size:1.25rem}
.topbar nav{display:flex;gap:8px;flex-wrap:wrap}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
@media(max-width:820px){.grid2{grid-template-columns:1fr}}
.panel{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:20px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 24px 80px rgba(0,0,0,.3);margin-bottom:16px}
.grid2 .panel{margin-bottom:0}
.panel h2{font-size:1.05rem;font-weight:900;margin-bottom:4px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:16px}
.stat{background:var(--card);border:1px solid var(--card-border);border-radius:18px;padding:14px;text-align:center}
.stat b{display:block;font-size:1.6rem;font-weight:900}.stat span{font-size:.78rem;color:var(--muted)}
.linkrow{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.linkrow:last-child{border:0}.linkrow .txt{flex:1}
.preview-img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.5)}
.preview-cover{width:100%;height:70px;border-radius:12px;object-fit:cover}
.media{display:flex;gap:12px;align-items:center}
table{width:100%;border-collapse:collapse;font-size:.85rem}
th,td{padding:10px 8px;text-align:left;border-bottom:1px solid rgba(255,255,255,.09);vertical-align:top}
th{color:var(--muted);font-weight:700;font-size:.78rem}
.tablewrap{overflow-x:auto}
.tag{font-size:.72rem;padding:2px 8px;border-radius:99px;background:rgba(244,63,94,.2);border:1px solid rgba(244,63,94,.5)}
.tag.adm{background:rgba(245,158,11,.18);border-color:rgba(245,158,11,.5)}
details summary{cursor:pointer;color:var(--secondary);font-weight:800;font-size:.8rem}
details form{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;align-items:center}
details form input,details form select{width:auto;flex:1;min-width:110px;padding:6px 9px;font-size:.8rem}
.badge form{display:inline}.badge button{background:none;border:0;color:inherit;cursor:pointer;font-weight:900;padding:0 0 0 4px}
.pager{display:flex;gap:8px;justify-content:center;margin-top:14px}
.hero h1{font-size:2.1rem;font-weight:900;line-height:1.5}
.hero p{margin:12px 0 22px;color:var(--muted);line-height:1.9}
.claim{display:flex;gap:8px;direction:ltr}.claim span{align-self:center;color:var(--muted);font-weight:700;white-space:nowrap}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.card{opacity:1;transform:none}}

.nbs{display:inline-flex;gap:5px;vertical-align:middle;margin-inline-start:7px}
.nb{position:relative;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:var(--b);cursor:help;outline:none;z-index:5}
.nb svg{width:22px;height:22px;display:block;fill:currentColor;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--b) 70%,transparent))}
.nb .emo{font-size:18px;line-height:1}
.nb::after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,-4px);background:rgba(10,10,25,.96);color:#fff;border:1px solid color-mix(in srgb,var(--b) 60%,transparent);font-size:.72rem;font-weight:800;letter-spacing:0;padding:4px 10px;border-radius:10px;white-space:nowrap;opacity:0;pointer-events:none;transition:.18s}
.nb:hover::after,.nb:focus::after{opacity:1;transform:translate(-50%,0)}
.badge svg,.badge img{width:15px;height:15px;vertical-align:-3px}.badge svg{fill:currentColor}
.iconpick{display:flex;flex-wrap:wrap;gap:6px}.iconpick label{cursor:pointer}.iconpick input{display:none}
.iconpick span{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06)}
.iconpick svg{width:20px;height:20px;fill:#fff}
.iconpick input:checked+span{border-color:var(--secondary);background:rgba(34,211,238,.22)}

.badgelist{display:grid;gap:8px;margin:12px 0}
.badgerow{border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:8px 12px;background:rgba(255,255,255,.04)}
.badgehead{display:flex;align-items:center;justify-content:space-between;gap:8px}
.badgehead form{display:block}
.editbadge input[type=color]{flex:0 0 52px;min-width:52px;height:38px;padding:3px}
.editbadge input[name=label]{flex:1 1 160px}
.hr{border:0;border-top:1px solid rgba(255,255,255,.1);margin:14px 0}

.name .nm{position:relative;display:inline-block;max-width:100%;overflow-wrap:anywhere}
.name .nbs{position:absolute;left:100%;top:50%;transform:translateY(-50%);margin:0 0 0 8px;white-space:nowrap}

.icon img{width:22px;height:22px;object-fit:contain;display:block}.icon img.w{filter:brightness(0) invert(1)}
.chk{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--muted);cursor:pointer}
details form input[type=checkbox]{flex:0 0 auto;min-width:0;width:auto}

.info>.nbs{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:8px 0 0}

.more-links{display:grid;gap:9px}
button.social.more{width:100%;font:inherit;text-align:left;cursor:pointer;color:var(--text)}

/* ── Profile header polish ── */
.info{padding:2px 20px 16px}
.info .name{font-size:1.6rem;line-height:1.3;letter-spacing:-.5px;background:linear-gradient(180deg,#fff,#d9d4ff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;overflow-wrap:anywhere}
.info .role{display:inline-block;margin-top:8px;padding:4px 14px;border-radius:99px;font-size:.78rem;font-weight:700;letter-spacing:.03em;color:#ddd6fe;background:linear-gradient(135deg,color-mix(in srgb,var(--b1,#8b5cf6) 30%,transparent),color-mix(in srgb,var(--b2,#22d3ee) 18%,transparent));border:1px solid color-mix(in srgb,var(--b1,#8b5cf6) 40%,rgba(255,255,255,.2))}
.info>.nbs{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.info .nb{width:32px;height:32px;border-radius:50%;background:color-mix(in srgb,var(--b) 16%,rgba(255,255,255,.04));border:1px solid color-mix(in srgb,var(--b) 50%,transparent);box-shadow:0 6px 18px color-mix(in srgb,var(--b) 25%,transparent);transition:transform .2s ease,box-shadow .2s ease}
.info .nb:hover,.info .nb:focus{transform:translateY(-2px) scale(1.08);box-shadow:0 10px 24px color-mix(in srgb,var(--b) 40%,transparent)}
.info .nb svg,.info .nb img{width:18px;height:18px;filter:none}
.info .nb .emo{font-size:16px}
.info .custom-text{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);font-size:.88rem}

/* ── Footer stays at the bottom of the page ── */
body.profile{display:grid;grid-template-rows:1fr auto;justify-items:center;align-items:center}
body.profile .copyright{margin:16px 0 4px}

/* ── Pro: name gradient + effects ── */
.info .name.grad{background:var(--g);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.name.fx-shimmer{animation:shim 4s linear infinite}
.name.fx-glow{animation:glowp 2.6s ease-in-out infinite}
.name.fx-both{animation:shim 4s linear infinite,glowp 2.6s ease-in-out infinite}
@keyframes shim{to{background-position:200% 0}}
@keyframes glowp{0%,100%{filter:drop-shadow(0 0 5px var(--g1))}50%{filter:drop-shadow(0 0 16px var(--g1))}}

/* ── Pro: avatar rings ── */
@property --ang{syntax:"<angle>";inherits:false;initial-value:0deg}
.avatar.ring-gradient,.avatar.ring-spin{border-color:transparent;border-width:5px;background:var(--av,linear-gradient(135deg,color-mix(in srgb,var(--b1,#a855f7) 90%,transparent),color-mix(in srgb,var(--b2,#22d3ee) 90%,transparent))) center/cover no-repeat padding-box,linear-gradient(135deg,var(--b1,#8b5cf6),var(--b2,#22d3ee)) border-box}
.avatar.ring-spin{background:var(--av,linear-gradient(135deg,color-mix(in srgb,var(--b1,#a855f7) 90%,transparent),color-mix(in srgb,var(--b2,#22d3ee) 90%,transparent))) center/cover no-repeat padding-box,conic-gradient(from var(--ang),var(--b1,#8b5cf6),var(--b2,#22d3ee),var(--b3,#f43f5e),var(--b1,#8b5cf6)) border-box;animation:ringspin 3.5s linear infinite}
@keyframes ringspin{to{--ang:360deg}}
.avatar.ring-glow{animation:ringglow 2.4s ease-in-out infinite}
@keyframes ringglow{0%,100%{box-shadow:0 0 0 0 color-mix(in srgb,var(--b1,#8b5cf6) 60%,transparent),0 16px 40px rgba(0,0,0,.35)}50%{box-shadow:0 0 22px 6px color-mix(in srgb,var(--b2,#22d3ee) 70%,transparent),0 16px 40px rgba(0,0,0,.35)}}

/* ── Pro: link styles + page effects ── */
.ls-outline .social{background:transparent;border:1px solid var(--c)}
.ls-outline .social:hover{background:color-mix(in srgb,var(--c) 14%,transparent)}
.ls-solid .social{background:linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 55%,#000));border-color:transparent}
.ls-solid .icon{background:rgba(255,255,255,.2);box-shadow:none}
.ls-solid .sub{color:rgba(255,255,255,.82)}
#fx{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}

/* ── Pro: option pickers (dashboard) ── */
.optgrid{display:flex;flex-wrap:wrap;gap:8px}
.opt{cursor:pointer}.opt input{display:none}
.opt span{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);font-size:.82rem;font-weight:700}
.opt input:checked+span{border-color:var(--secondary);background:rgba(34,211,238,.18)}
.gtxt{background:var(--g);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-size:1.05rem;font-weight:900}
.dots{display:inline-flex;font-style:normal}.dots u{width:12px;height:12px;border-radius:50%;margin-inline-end:-3px;border:1px solid rgba(0,0,0,.3);display:inline-block}
.tag.pro{background:linear-gradient(135deg,rgba(245,158,11,.3),rgba(168,85,247,.3));border-color:rgba(245,158,11,.6)}

.alert.warn{background:rgba(245,158,11,.14);border:1px solid rgba(245,158,11,.5);margin:10px 0 0}

/* ── Tabs / layout polish ── */
.tabs{display:flex;gap:6px;overflow-x:auto;padding:5px;margin:0 0 16px;background:var(--card);border:1px solid var(--card-border);border-radius:16px;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tabs button{flex:1 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:7px;font:inherit;font-size:.86rem;font-weight:800;color:var(--muted);background:transparent;border:0;padding:10px 16px;border-radius:12px;cursor:pointer;transition:.2s;white-space:nowrap}
.tabs button:hover{color:var(--text);background:rgba(255,255,255,.06)}
.tabs button.on{color:#fff;background:linear-gradient(135deg,var(--primary),var(--secondary));box-shadow:0 8px 22px rgba(139,92,246,.35)}
.tabs .count{font-size:.7rem;min-width:20px;padding:1px 7px;border-radius:99px;background:rgba(255,255,255,.14);text-align:center}
.tabs .count.warn{background:#f59e0b;color:#111}
.pane-narrow{max-width:760px;margin-inline:auto}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{font-size:.78rem;font-weight:800;padding:5px 12px;border-radius:99px;text-decoration:none;color:var(--muted);border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);transition:.2s}
.chip:hover{color:var(--text)}.chip.on{color:#fff;border-color:var(--secondary);background:rgba(34,211,238,.18)}
.stats{margin-top:16px}
@media(max-width:560px){.row2{grid-template-columns:1fr}.tabs button{padding:10px 12px}}

/* ── Searchable dropdown ── */
.combo{position:relative}
.combo-input{cursor:pointer}
.combo-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);max-height:240px;overflow:auto;background:#14152a;border:1px solid rgba(255,255,255,.18);border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.45);padding:6px}
.combo-item{padding:8px 10px;border-radius:10px;cursor:pointer;font-size:.88rem}
.combo-item:hover,.combo-item.act{background:rgba(139,92,246,.28)}
.combo-item.sel{font-weight:900;color:var(--secondary)}
.combo-empty{padding:10px;color:var(--muted);font-size:.84rem}

/* ── Pro: more link card styles ── */
.ls-neon .social{background:rgba(0,0,0,.35);border-color:var(--c);box-shadow:0 0 0 1px color-mix(in srgb,var(--c) 40%,transparent),0 0 14px color-mix(in srgb,var(--c) 55%,transparent),inset 0 0 14px color-mix(in srgb,var(--c) 18%,transparent)}
.ls-neon .social:hover{background:rgba(0,0,0,.45);box-shadow:0 0 0 1px var(--c),0 0 28px var(--c),inset 0 0 20px color-mix(in srgb,var(--c) 30%,transparent)}
.ls-neon .icon{background:transparent;box-shadow:none;border:1px solid var(--c)}
.ls-neon .icon svg{filter:drop-shadow(0 0 5px var(--c))}
.ls-gradient .social{--bgc:color-mix(in srgb,var(--c) 14%,#0b0c1f);border:2px solid transparent;background:linear-gradient(var(--bgc),var(--bgc)) padding-box,conic-gradient(from var(--ang),var(--c),rgba(255,255,255,.1) 30%,var(--c) 60%,rgba(255,255,255,.1) 90%,var(--c)) border-box;animation:ringspin 4s linear infinite}
.ls-gradient .social:hover{background:linear-gradient(var(--bgc),var(--bgc)) padding-box,conic-gradient(from var(--ang),var(--c),rgba(255,255,255,.1) 30%,var(--c) 60%,rgba(255,255,255,.1) 90%,var(--c)) border-box}
.ls-shine .social{position:relative;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--c) 28%,transparent),rgba(255,255,255,.05))}
.ls-shine .social::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.3) 50%,transparent 65%);transform:translateX(-120%);animation:shine 3.8s ease-in-out infinite;pointer-events:none}
.ls-shine .social:nth-child(2n)::after{animation-delay:.7s}.ls-shine .social:nth-child(3n)::after{animation-delay:1.4s}
@keyframes shine{0%,55%{transform:translateX(-120%)}100%{transform:translateX(120%)}}
.ls-light .social{background:rgba(255,255,255,.95);border-color:transparent;color:#14152a;box-shadow:0 8px 22px rgba(0,0,0,.22)}
.ls-light .social:hover{background:#fff;box-shadow:0 14px 30px rgba(0,0,0,.32)}
.ls-light .sub{color:#5b5d78}
.ls-brutal .social{background:#fff;color:#111;border:2px solid #111;border-radius:10px;box-shadow:4px 4px 0 var(--c)}
.ls-brutal .social:hover{background:#fff;transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--c)}
.ls-brutal .icon{border:2px solid #111;border-radius:8px;box-shadow:none}
.ls-brutal .sub{color:#444}
.ls-pill .social{border-radius:99px;padding:8px 14px 8px 8px}
.ls-pill .icon{border-radius:50%}
.ls-minimal .social{background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.18);border-radius:0;box-shadow:none;padding:12px 4px}
.ls-minimal .social:hover{background:transparent;box-shadow:none;border-bottom-color:var(--c);transform:translateX(4px)}
.ls-minimal .icon{background:transparent;box-shadow:none}
.ls-minimal .icon svg{fill:var(--c)}
.ls-minimal .icon b{color:var(--c)}

/* ── Pro: link layouts ── */
.socials.lay-grid,.socials.lay-grid .more-links{grid-template-columns:1fr 1fr}
.lay-grid .more-wrap,.lay-grid .social.more{grid-column:1/-1}
.lay-grid .social{flex-direction:column;text-align:center;padding:14px 8px;gap:8px}
.lay-grid .txt{align-items:center;width:100%}
.lay-grid .sub{text-align:center;max-width:100%}
.socials.lay-tiles,.socials.lay-tiles .more-links{grid-template-columns:repeat(4,1fr);gap:10px}
.lay-tiles .more-wrap,.lay-tiles .social.more{grid-column:1/-1}
.lay-tiles .social{aspect-ratio:1;justify-content:center;padding:8px}
.lay-tiles .social .txt{display:none}
.lay-tiles .social.more{aspect-ratio:auto;justify-content:flex-start;padding:10px 12px}
.lay-tiles .social.more .txt{display:flex}
.lay-tiles .icon{width:44px;height:44px;flex-basis:44px}
.socials .empty{grid-column:1/-1}
.lay-compact .social{padding:6px 10px;gap:10px;border-radius:12px}
.lay-compact .icon{width:32px;height:32px;flex-basis:32px;border-radius:10px}
.lay-compact .icon svg{width:16px;height:16px}.lay-compact .icon img{width:18px;height:18px}
.lay-compact .social:not(.more) .sub{display:none}

/* ── Pro: plans + redeem (dashboard) ── */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.plan{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:18px 10px 14px;border-radius:18px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14)}
.plan .pn{font-size:1rem;font-weight:900}.plan .pd{font-size:.78rem;color:var(--muted)}
.plan .pp{font-weight:800;font-size:.95rem;line-height:1.5}.plan .pp s{font-size:.76rem;color:var(--muted);font-weight:600}
.plan .btn{margin-top:4px}
.plan .ribbon{position:absolute;top:-9px;inset-inline-end:10px;font-size:.7rem;font-weight:900;padding:2px 9px;border-radius:99px;background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff}
.redeem{display:flex;gap:8px}.redeem input{flex:1}
.tag.ok{background:rgba(34,197,94,.18);border-color:rgba(34,197,94,.5)}


/* ── No page scrollbar (scrolling still works) ── */
html{scrollbar-width:none;-ms-overflow-style:none}
html::-webkit-scrollbar,body::-webkit-scrollbar{width:0;height:0;display:none}

/* ── Smooth "Show more" ── */
.socials{--gap:9px;--ease:cubic-bezier(.22,1,.36,1)}
.socials.lay-tiles{--gap:10px}
.socials>*{min-width:0}
.more-wrap{display:grid;grid-template-rows:0fr;margin-top:calc(var(--gap) * -1);opacity:0;transition:grid-template-rows .65s var(--ease),margin-top .65s var(--ease),opacity .4s ease}
.more-wrap.open{grid-template-rows:1fr;margin-top:0;opacity:1}
.more-wrap>.more-links{min-height:0;overflow:hidden}
.more-wrap.open>.more-links{animation:moreIn .65s var(--ease) backwards}
.more-wrap.done>.more-links{overflow:visible}
@keyframes moreIn{from{opacity:0;transform:translateY(-10px)}}
button.social.more{transition:height .55s var(--ease),padding .55s var(--ease),margin-top .55s var(--ease),border-width .55s var(--ease),opacity .3s ease,transform .25s,background .25s,box-shadow .25s,border-color .25s}
button.social.more.gone{height:0;padding-top:0;padding-bottom:0;margin-top:calc(var(--gap) * -1);border-width:0;opacity:0;overflow:hidden;pointer-events:none}
@media(prefers-reduced-motion:reduce){.more-wrap,button.social.more{transition:none!important}.more-wrap.open>.more-links{animation:none!important}}

/* ── Admin: long lists (platforms / titles) ── */
.listbar{display:flex;align-items:center;gap:10px;margin:6px 0 12px}
.listbar .listsearch{flex:1;padding:9px 13px}
.listcount{font-size:.76rem;white-space:nowrap}
details.addbox{margin:0 0 12px;border:1px dashed rgba(255,255,255,.2);border-radius:14px;padding:10px 14px;background:rgba(255,255,255,.03)}
details.addbox[open]{border-style:solid;border-color:rgba(34,211,238,.35)}
details.addbox>summary{font-size:.86rem}
details.addbox form input:not([type=checkbox]):not([type=color]):not([type=file]){padding:10px 13px;font-size:.88rem}
.listbox{max-height:min(64vh,600px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.25) transparent;padding-inline-end:4px;margin:0;align-content:start}
.listbox::-webkit-scrollbar{display:block;width:6px}
.listbox::-webkit-scrollbar-thumb{background:rgba(255,255,255,.25);border-radius:99px}
@media(min-width:700px){.listbox{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));align-items:start}}
.listbox .badgerow[hidden]{display:none}
.listbox .badgehead{flex-wrap:wrap}
.listbox .badgehead>span:first-child{min-width:0;flex:1 1 150px}
.listempty{text-align:center;font-size:.84rem;padding:14px 0}

/* Stable card width: the grid column no longer depends on the content's intrinsic width */
body.profile{grid-template-columns:minmax(0,1fr)}
