@font-face{
    font-family:KvntYekan;
    src:url('../AIranianSans.woff') format('woff');
    font-display:swap;
}
:root{
    --page-bg:url('../images/bg.jpg');
    --accent:#4f7cff;
    --accent2:#9b7cff;
    --text:#20304b;
    --muted:#71809a;
    --line:rgba(109,132,177,.18);
    --glass:rgba(255,255,255,.78);
    --blur:24px;
    --radius:25px;
    --page-width:760px;
    --shadow:0 22px 60px rgba(56,76,117,.16);
}
*{
    box-sizing:border-box;
    -webkit-tap-highlight-color:transparent;
}
html{
    min-height:100%;
    scroll-behavior:smooth;
}
body{
    margin:0;
    min-height:100vh;
    direction:rtl;
    color:var(--text);
    font:16px/1.8 KvntYekan,Tahoma,sans-serif;
    background:#eef5ff var(--page-bg) center/cover fixed no-repeat;
    -webkit-font-smoothing:antialiased;
}
body::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-1;
    background:linear-gradient(135deg,rgba(239,246,255,.76),rgba(255,247,255,.68));
    backdrop-filter:blur(1px);
    -webkit-backdrop-filter:blur(1px);
}
button,input{
    font:inherit;
}
a{
    color:inherit;
    text-decoration:none;
}
img{
    max-width:100%;
}
.pagecontainer{
    width:100%;
    padding:34px 14px 55px;
}
.pinner{
    width:100%;
    max-width:calc(var(--page-width) + 28px);
    margin:0 auto;
}
.cont{
    width:100%;
    margin:0 auto;
}
.profilehead,
.search-box,
.tabholderParent,
.contentholder,
.footer{
    background:var(--glass);
    border:1px solid rgba(255,255,255,.78);
    backdrop-filter:blur(var(--blur)) saturate(145%);
    -webkit-backdrop-filter:blur(var(--blur)) saturate(145%);
    box-shadow:var(--shadow);
}
.profilehead{
    position:relative;
    overflow:hidden;
    border-radius:calc(var(--radius) + 3px);
    padding:26px 24px 23px;
}
.profilehead::before{
    content:"";
    position:absolute;
    top:-110px;
    right:-80px;
    width:250px;
    height:250px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(79,124,255,.22),transparent 67%);
    pointer-events:none;
}
.profilehead::after{
    content:"";
    position:absolute;
    left:-90px;
    bottom:-130px;
    width:270px;
    height:270px;
    border-radius:50%;
    background:radial-gradient(circle,rgba(155,124,255,.18),transparent 67%);
    pointer-events:none;
}
.window-dots{
    position:relative;
    z-index:2;
    display:flex;
    justify-content:flex-end;
    gap:7px;
    direction:ltr;
    margin-bottom:17px;
}
.window-dots i{
    width:11px;
    height:11px;
    border-radius:50%;
    background:#ff6b6b;
    box-shadow:0 1px 2px rgba(0,0,0,.08);
}
.window-dots i:nth-child(2){background:#ffd166}
.window-dots i:nth-child(3){background:#57cc99}
.profile-main{
    position:relative;
    z-index:2;
    display:grid;
    grid-template-columns:104px minmax(0,1fr);
    align-items:center;
    gap:20px;
}
.profileimage{
    width:104px;
    height:104px;
}
.profileimage img{
    display:block;
    width:100%;
    height:100%;
    border:5px solid rgba(255,255,255,.94);
    border-radius:27px;
    background:#fff;
    object-fit:cover;
    box-shadow:0 14px 34px rgba(70,90,130,.18);
}
.profileinfo{
    min-width:0;
    text-align:right;
}
.profileinfo h1{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    margin:0 0 4px;
    color:var(--text);
    font-size:23px;
    font-weight:800;
    line-height:1.6;
}
.verified{
    display:inline-grid;
    place-items:center;
    width:20px;
    height:20px;
    flex:0 0 20px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--accent),var(--accent2));
    color:#fff;
    font-size:11px;
    box-shadow:0 7px 16px rgba(79,124,255,.24);
}
.profileinfo h2{
    margin:0 0 8px;
    color:#4d65a1;
    font-size:13px;
    font-weight:500;
    line-height:1.8;
}
.profileinfo p{
    margin:0;
    color:var(--muted);
    font-size:11px;
    line-height:2;
}
.profile-actions{
    position:relative;
    z-index:2;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:20px;
    padding-top:18px;
    border-top:1px solid var(--line);
}
.profile-action{
    appearance:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-height:41px;
    border:1px solid rgba(83,109,164,.18);
    border-radius:13px;
    background:rgba(255,255,255,.72);
    color:#40506b;
    padding:8px 13px;
    cursor:pointer;
    transition:transform .2s,background .2s,box-shadow .2s;
}
.profile-action:hover{
    transform:translateY(-1px);
    background:#fff;
    box-shadow:0 8px 18px rgba(57,78,120,.12);
}
.profile-action.primary{
    border:0;
    color:#fff;
    background:linear-gradient(135deg,var(--accent),var(--accent2));
    box-shadow:0 10px 24px rgba(79,124,255,.24);
}
.search-box{
    margin-top:14px;
    border-radius:18px;
    padding:10px;
}
.search-box input{
    width:100%;
    height:46px;
    border:1px solid rgba(105,127,170,.20);
    border-radius:13px;
    outline:0;
    background:rgba(255,255,255,.80);
    color:var(--text);
    padding:0 14px;
    transition:border-color .2s,box-shadow .2s;
}
.search-box input:focus{
    border-color:rgba(79,124,255,.55);
    box-shadow:0 0 0 3px rgba(79,124,255,.09);
}
.search-box input::placeholder{
    color:#8b98ad;
}
.tabholderParent{
    margin-top:14px;
    overflow:hidden;
    border-radius:20px;
    padding:8px;
}
.tabholder{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(118px,1fr));
    gap:7px;
    width:100%;
    overflow:visible;
    padding:1px;
}
.tab{
    min-width:0;
    min-height:44px;
    appearance:none;
    border:1px solid rgba(83,109,164,.14);
    border-radius:14px;
    background:rgba(255,255,255,.58);
    color:#53627d;
    padding:9px 11px;
    text-align:center;
    white-space:normal;
    overflow-wrap:anywhere;
    line-height:1.65;
    cursor:pointer;
    transition:transform .2s,background .2s,color .2s,box-shadow .2s;
}
.tab .ccn{
    display:block;
    width:100%;
}
.tab:hover{
    transform:translateY(-1px);
    background:rgba(255,255,255,.90);
}
.tab.active{
    border-color:transparent;
    color:#fff;
    background:linear-gradient(135deg,var(--accent),var(--accent2));
    box-shadow:0 10px 24px rgba(79,124,255,.24);
}
.contentholder{
    margin-top:14px;
    border-radius:var(--radius);
    padding:18px;
}
.tab-panel{
    display:none;
    animation:fadeTab .18s ease;
}
.tab-panel.active{
    display:block;
}
@keyframes fadeTab{
    from{opacity:0;transform:translateY(4px)}
    to{opacity:1;transform:none}
}
.tab-description{
    margin:0 0 14px;
    border:1px solid rgba(79,124,255,.12);
    border-radius:14px;
    background:rgba(232,241,255,.82);
    color:#4e638e;
    padding:11px 13px;
    font-size:10px;
    line-height:1.9;
}
.category{
    margin:0 0 18px;
}
.category:last-child{
    margin-bottom:0;
}
.category-head{
    margin:0 0 9px;
    padding:0 4px;
}
.category-title{
    margin:0;
    color:var(--text);
    font-size:14px;
    font-weight:800;
    line-height:1.8;
}
.category-desc{
    margin:3px 0 0;
    color:var(--muted);
    font-size:10px;
    line-height:1.8;
}
.cards{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}
.useritem{
    position:relative;
    display:grid;
    grid-template-columns:44px minmax(0,1fr) 18px;
    align-items:center;
    gap:10px;
    min-height:72px;
    overflow:hidden;
    border:1px solid rgba(100,123,169,.12);
    border-radius:17px;
    background:rgba(255,255,255,.72);
    color:var(--text);
    padding:10px 11px;
    box-shadow:0 8px 20px rgba(57,78,120,.07);
    transition:transform .2s,background .2s,box-shadow .2s,border-color .2s;
}
.useritem:hover{
    transform:translateY(-2px);
    border-color:rgba(79,124,255,.20);
    background:#fff;
    box-shadow:0 13px 30px rgba(57,78,120,.12);
}
.useritem::after{
    content:"›";
    display:grid;
    place-items:center;
    width:18px;
    height:18px;
    border-radius:50%;
    background:rgba(79,124,255,.09);
    color:#5573c7;
    font:700 19px/1 Arial,sans-serif;
    transform:rotate(180deg);
}
.link-icon,
.link-icon-text{
    width:44px;
    height:44px;
    flex:0 0 44px;
    border-radius:14px;
    background:#fff;
    box-shadow:0 7px 17px rgba(70,90,130,.10);
}
.link-icon{
    object-fit:contain;
    padding:7px;
}
.link-icon-text{
    display:grid;
    place-items:center;
    font-size:22px;
}
.link-copy{
    display:block;
    min-width:0;
}
.link-title{
    display:block;
    overflow:hidden;
    color:#2f3f5b;
    font-size:12px;
    font-weight:700;
    line-height:1.7;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.link-subtitle{
    display:block;
    overflow:hidden;
    margin-top:2px;
    color:var(--muted);
    font-size:9px;
    line-height:1.7;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.badge{
    position:absolute;
    top:7px;
    left:7px;
    max-width:74px;
    overflow:hidden;
    border-radius:8px;
    background:rgba(79,124,255,.10);
    color:#4b69bd;
    padding:2px 6px;
    font-size:8px;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.empty,
.no-results{
    padding:25px 15px;
    border:1px solid var(--line);
    border-radius:17px;
    background:rgba(255,255,255,.62);
    color:var(--muted);
    text-align:center;
}
.no-results{
    display:none;
}
.footer{
    margin-top:14px;
    border-radius:18px;
    padding:13px 15px;
    color:#62718c;
    font-size:10px;
    line-height:2;
    text-align:center;
}
.footer a{
    color:#4d65a1;
    text-decoration:underline;
}
.toast{
    position:fixed;
    left:50%;
    bottom:24px;
    z-index:50;
    opacity:0;
    transform:translate(-50%,25px);
    border:1px solid rgba(255,255,255,.78);
    border-radius:14px;
    background:rgba(255,255,255,.90);
    color:#40506b;
    padding:10px 15px;
    font-size:11px;
    box-shadow:var(--shadow);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    transition:.22s;
}
.toast.show{
    opacity:1;
    transform:translate(-50%,0);
}
@media(max-width:760px){
    body{background-attachment:scroll}
    .pagecontainer{padding:18px 9px 35px}
    .profilehead{padding:20px 17px}
    .profile-main{grid-template-columns:86px minmax(0,1fr);gap:14px}
    .profileimage{width:86px;height:86px}
    .profileimage img{border-radius:23px}
    .profileinfo h1{font-size:19px}
    .profile-actions{gap:7px}
    .profile-action{flex:1 1 135px;padding:8px 10px;font-size:11px}
    .tabholder{grid-template-columns:repeat(2,minmax(0,1fr))}
    .tab{font-size:11px;padding:9px 8px}
    .contentholder{padding:13px;border-radius:20px}
    .cards{grid-template-columns:1fr}
}
@media(max-width:440px){
    .pagecontainer{padding-right:6px;padding-left:6px}
    .profile-main{grid-template-columns:1fr;text-align:center}
    .profileimage{margin:0 auto}
    .profileinfo{text-align:center}
    .profileinfo h1{justify-content:center}
    .profile-actions{justify-content:center}
    .profile-action{flex:1 1 calc(50% - 7px)}
    .tabholderParent{padding:7px}
    .tabholder{gap:6px}
    .tab{min-height:42px;font-size:10px;padding:8px 6px}
    .useritem{min-height:66px;grid-template-columns:40px minmax(0,1fr) 18px}
    .link-icon,.link-icon-text{width:40px;height:40px;border-radius:12px}
}
@media(prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important}
}

/* KVNT 1.5 — public theme presets */
body.theme-full_glass::before{
    background:linear-gradient(135deg,rgba(236,245,255,.44),rgba(255,241,255,.34));
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
}
body.theme-full_glass .profilehead,
body.theme-full_glass .search-box,
body.theme-full_glass .tabholderParent,
body.theme-full_glass .contentholder,
body.theme-full_glass .footer{
    background:rgba(255,255,255,var(--full-glass-opacity,.42));
    border-color:rgba(255,255,255,.70);
    box-shadow:0 24px 65px rgba(45,66,110,.14),inset 0 1px 0 rgba(255,255,255,.52);
}
body.theme-full_glass .tab,
body.theme-full_glass .useritem,
body.theme-full_glass .profile-action:not(.primary),
body.theme-full_glass .search-box input,
body.theme-full_glass .tab-description,
body.theme-full_glass .empty,
body.theme-full_glass .no-results{
    background:rgba(255,255,255,.38);
    border-color:rgba(255,255,255,.62);
    backdrop-filter:blur(var(--blur));
    -webkit-backdrop-filter:blur(var(--blur));
}
body.theme-full_glass .useritem:hover,
body.theme-full_glass .tab:hover,
body.theme-full_glass .profile-action:not(.primary):hover{
    background:rgba(255,255,255,.62);
}
body.theme-full_glass .link-icon,
body.theme-full_glass .link-icon-text{
    background:rgba(255,255,255,.58);
    border:1px solid rgba(255,255,255,.68);
}
