@font-face{font-family:'Vazirmatn';src:local('Vazirmatn'),url('/fonts/Vazirmatn.woff2') format('woff2');font-weight:100 900;font-display:swap}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%}
html{background:#0f172a}body{min-height:100vh;min-height:100dvh;background:transparent;overflow-x:hidden}
.bg{position:fixed;inset:0;z-index:-1;background-size:cover;background-position:center}
.bg::after{content:"";position:absolute;inset:0;background:#000;opacity:var(--bg-overlay,0)}
.app{--text:#fff;--btn:#818cf8;--btn2:#c084fc;--btn-text:#fff;--radius:16px;--cover-h:190px;--font:'Vazirmatn',Tahoma,sans-serif;
  font-family:var(--font);color:var(--text);min-height:100vh;min-height:100dvh;line-height:1.7}
.wrap{max-width:560px;margin:0 auto;padding:0 18px 36px}
a{color:inherit;text-decoration:none}

/* ---- cover & profile ---- */
.cover{position:relative;height:var(--cover-h);margin:0 -18px;background-size:cover;background-position:center;
  border-radius:0 0 34px 34px;overflow:hidden}
.cover.empty{background-image:linear-gradient(135deg,var(--btn),var(--btn2))}
.cover::after{content:"";position:absolute;inset:0;background:#000;opacity:var(--cover-ov,.3)}
.layout-center .cover{display:none}
.layout-center .profile{padding-top:46px}
.profile{text-align:center;position:relative;padding-bottom:6px}
.layout-cover .profile{margin-top:calc(-1 * 54px)}
.avatar{width:108px;height:108px;margin:0 auto 12px;border:4px solid rgba(255,255,255,.9);background:rgba(255,255,255,.18);
  box-shadow:0 10px 30px rgba(0,0,0,.28);overflow:hidden;display:flex;align-items:center;justify-content:center;
  font-size:44px;font-weight:800;backdrop-filter:blur(8px)}
.av-circle .avatar{border-radius:50%}.av-rounded .avatar{border-radius:30px}.av-square .avatar{border-radius:10px}
.avatar img{width:100%;height:100%;object-fit:cover;display:block}
.profile h1{font-size:23px;font-weight:800;letter-spacing:-.2px}
.bio{margin:6px auto 0;max-width:440px;opacity:.88;font-size:14.5px;white-space:pre-line}

/* ---- socials ---- */
.socials{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:18px 0 4px}
.socials.bottom{margin:26px 0 0}
.soc{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;transition:transform .2s,box-shadow .2s;color:#fff;font-weight:700}
.soc:hover{transform:translateY(-3px)}
.soc .glyph{font-weight:800;line-height:1}
.sc-brand .soc{background:var(--c);border-radius:50%;box-shadow:0 6px 16px rgba(0,0,0,.22)}
.sc-brandicon .soc{color:var(--c);background:rgba(255,255,255,.92);border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.sc-circle .soc{background:var(--btn);color:var(--btn-text);border-radius:50%}
.sc-square .soc{background:var(--btn);color:var(--btn-text);border-radius:6px}
.sc-rounded .soc{background:var(--btn);color:var(--btn-text);border-radius:16px}
.sc-outline .soc{border:2px solid currentColor;color:var(--text);border-radius:14px}
.sc-glass .soc{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.32);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text);border-radius:50%}
.sc-plain .soc{color:var(--text);width:38px;height:38px}
.sc-pill .soc{width:auto;height:42px;padding:0 16px 0 14px;gap:8px;border-radius:30px;background:var(--c);font-size:13.5px}
.soc .lbl{display:none}.sc-pill .soc .lbl{display:inline}

/* ---- items ---- */
.items{display:flex;flex-direction:column;gap:12px;margin-top:22px}
.item{opacity:1}
.an-up .item,.an-up .soc,.an-up .profile{animation:up .55s both cubic-bezier(.2,.8,.2,1)}
.an-fade .item{animation:fade .7s both}
.an-zoom .item{animation:zoom .5s both cubic-bezier(.2,.8,.2,1)}
@keyframes up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes zoom{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.item,.soc,.profile{animation:none!important}}

.link{position:relative;display:flex;align-items:center;gap:12px;min-height:58px;padding:12px 16px;border-radius:var(--radius);
  transition:transform .2s,box-shadow .25s,filter .2s;font-weight:600;font-size:15.5px;overflow:hidden}
.btn-sm .link{min-height:48px;padding:8px 14px;font-size:14.5px}
.btn-lg .link{min-height:70px;padding:16px 20px;font-size:17px}
.link:hover{transform:translateY(-2px)}.link:active{transform:scale(.985)}
.link .ic{flex:none;width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:22px;border-radius:10px}
.link .ic .glyph{font-weight:800}
.link .thumb{flex:none;width:44px;height:44px;border-radius:calc(var(--radius) * .6);object-fit:cover}
.link .tx{flex:1;min-width:0;text-align:center}
.link.has-ic .tx,.link.has-th .tx{text-align:right}
.link .tt{display:block;line-height:1.5}
.link .ds{display:block;font-size:12.5px;font-weight:400;opacity:.78;line-height:1.5;margin-top:1px}
.link .ar{flex:none;opacity:.55;font-size:18px;transform:scaleX(-1)}
.link.card{flex-direction:column;align-items:stretch;padding:0;gap:0}
.link.card .cimg{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.link.card .tx{padding:12px 16px;text-align:right}

.bs-solid{background:var(--btn);color:var(--btn-text)}
.bs-shadow{background:var(--btn);color:var(--btn-text);box-shadow:0 14px 34px -8px rgba(0,0,0,.4)}
.bs-outline{border:2px solid var(--btn);color:var(--btn);background:transparent}
.bs-outline:hover{background:var(--btn);color:var(--btn-text)}
.bs-glass{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--text);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.bs-glass:hover{background:rgba(255,255,255,.22)}
.bs-soft{background:rgba(128,128,128,.18);background:color-mix(in srgb,var(--btn) 16%,transparent);color:var(--text);border:1px solid rgba(128,128,128,.2);border:1px solid color-mix(in srgb,var(--btn) 35%,transparent)}
.bs-gradient{background:linear-gradient(135deg,var(--btn),var(--btn2));color:var(--btn-text);box-shadow:0 10px 26px -8px var(--btn)}
.bs-neon{border:2px solid var(--btn);color:var(--btn);background:rgba(0,0,0,.18);box-shadow:0 0 14px var(--btn),inset 0 0 12px rgba(255,255,255,.04);text-shadow:0 0 8px var(--btn)}
.bs-neon:hover{box-shadow:0 0 26px var(--btn),0 0 4px var(--btn2),inset 0 0 14px var(--btn)}
.bs-brutal{background:var(--btn);color:var(--btn-text);border:2.5px solid #111;box-shadow:5px 5px 0 #111;font-weight:800}
.bs-brutal:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 #111}.bs-brutal:active{transform:translate(3px,3px);box-shadow:2px 2px 0 #111}
.bs-minimal{background:transparent;color:var(--text);border-radius:0!important;border-bottom:1.5px solid var(--btn);padding-inline:4px}
.bs-minimal:hover{background:rgba(128,128,128,.1)}

/* text / header / divider */
.item.text{padding:16px 18px;border-radius:var(--radius);background:rgba(128,128,128,.14);border:1px solid rgba(255,255,255,.12);text-align:center;font-size:14.5px;white-space:pre-line}
.item.text b{display:block;font-size:16px;margin-bottom:4px}
.item.head{text-align:center;font-size:15px;font-weight:800;letter-spacing:.2px;margin-top:10px;opacity:.95;display:flex;align-items:center;gap:12px}
.item.head::before,.item.head::after{content:"";flex:1;height:1px;background:currentColor;opacity:.25}
.item.hr{height:1px;background:currentColor;opacity:.2;margin:6px 24px}
.foot{margin-top:34px;text-align:center;font-size:12.5px;opacity:.65;white-space:pre-line}
.empty-msg{text-align:center;opacity:.7;margin-top:30px}

/* ---- search ---- */
.wrap{position:relative}
.search{position:absolute;top:14px;left:18px;right:18px;z-index:6;display:flex;align-items:center;gap:8px;padding:0 14px;height:44px;border-radius:30px;
  background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.38);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;box-shadow:0 6px 20px rgba(0,0,0,.15)}
.search span{opacity:.85;font-size:15px}
.search input{flex:1;min-width:0;background:none;border:0;outline:0;color:#fff;font:inherit;font-size:14.5px;height:100%;-webkit-appearance:none}
.search input::placeholder{color:rgba(255,255,255,.75)}
.search input::-webkit-search-cancel-button{-webkit-appearance:none}
.layout-center .has-search .profile{padding-top:70px}
.layout-center .search{background:rgba(128,128,128,.16);color:var(--text)}
.layout-center .search input{color:var(--text)}.layout-center .search input::placeholder{color:var(--text);opacity:.6}
[hidden]{display:none!important}
